@charset "utf-8";

/*共通枠*/

* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #46423A;
}

img {
	border:0;
	vertical-align:bottom;
}

a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	text-decoration: none;
}

.nolink {
	pointer-events: none;
}



/* 共通
======================================================*/

.f_zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}
.f_biz {
  font-family: "BIZ UDPGothic", sans-serif;
  font-style: normal;
}

.container_wrap {
	padding: 0 37px;
}
.container {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

@media screen and (max-width: 599px) {
.container_wrap {
	padding: 0 37px;
}
}

@media screen and (max-width: 374px) {
.container_wrap {
	padding: 0 15px;
}
}

.block1700 { display: none; }
@media screen and (max-width: 1700px) {
.block1700 { display: block; }
}
.block1500 { display: none; }
@media screen and (max-width: 1500px) {
.block1500 { display: block; }
}
.block1400 { display: none; }
@media screen and (max-width: 1400px) {
.block1400 { display: block; }
}
.block1300 { display: none; }
@media screen and (max-width: 1300px) {
.block1300 { display: block; }
}
.block1200 { display: none; }
@media screen and (max-width: 1200px) {
.block1200 { display: block; }
}
.block1100 { display: none; }
@media screen and (max-width: 1100px) {
.block1100 { display: block; }
}
.block1024 { display: none; }
@media screen and (max-width: 1024px) {
.block1024 { display: block; }
}
.block999 { display: none; }
@media screen and (max-width: 999px) {
.block999 { display: block; }
}
.block900 { display: none; }
@media screen and (max-width: 900px) {
.block900 { display: block; }
}
.block800 { display: none; }
@media screen and (max-width: 800px) {
.block800 { display: block; }
}

.block768 { display: none; }
@media screen and (max-width: 768px) {
.block768 { display: block; }
}

.block599 { display: none; }
@media screen and (max-width: 599px) {
.block599 { display: block; }
}

.block374 { display: none; }
@media screen and (max-width: 374px) {
.block374 { display: block; }
}

.block359 { display: none; }
@media screen and (max-width: 359px) {
.block359 { display: block; }
}

@media screen and (max-width: 1600px) {
.none1600 { display: none; }
}

@media screen and (max-width: 1200px) {
.none1200 { display: none; }
}

@media screen and (max-width: 1100px) {
.none1100 { display: none; }
}

@media screen and (max-width: 1024px) {
.none1024 { display: none; }
}

@media screen and (max-width: 999px) {
.none999 { display: none; }
}

@media screen and (max-width: 900px) {
.none900 { display: none; }
}

@media screen and (max-width: 860px) {
.none860 { display: none; }
}

@media screen and (max-width: 800px) {
.none800 { display: none; }
}

@media screen and (max-width: 768px) {
.none768 { display: none; }
}

@media screen and (max-width: 599px) {
.none599 { display: none; }
}

@media screen and (max-width: 374px) {
.none374 { display: none; }
}

.anchor {
	padding-top: 140px;
	margin-top: -140px;
	display: block;
	position: relative;
	z-index: -1;
}

@media screen and (max-width: 1400px) {

.anchor {
	padding-top: 100px;
	margin-top: -100px;
}

}



/* clearfix：float対策
======================================================*/

.clear:after {
	content: "";
	display: block;
	clear: both;
}
 
.clear:before {
　　　　content: "";
	display: block;
	clear: both;
}
 
.clear {
	display: block;
}


/* header
======================================================*/

.header {
	width: 100%;
	height: 100px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background-color: #fff;
	box-shadow: 3px 3px 6px rgba(0,0,0,0.16);
}
.header_content {
	position: relative;
	height: 100px;
	padding: 0 30px;
}
.header_content h1 {
	width: 450px;
	height: 100%;
	display: flex;
	align-items: center;
}

.header_nav {
	position: absolute;
	bottom: 20px;
	right: 630px;
}
.header_nav ul {
	display: flex;
	align-items: center;
	list-style: none;
}
.header_nav li a {
	font-weight: 700;
	font-size: 18px;
	color: #46423A;
	display: block;
	padding: 10px 15px;
	transition: color 0.3s;
}
.header_nav li a:hover {
	color: #FF6C00;
}

.header_contact {
	width: 576px;
	height: 100px;
	position: absolute;
	top: 0;
	right: 30px;
}
.header_contact ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	gap: 0 18px;
	margin-top: 20px;
}
.header_contact ul li:nth-of-type(1) {
	width: calc(( 100% - 18px ) / 3 );
}
.header_contact ul li:nth-of-type(2) {
	width: calc((( 100% - 18px ) / 3 ) * 2 );
}
.header_contact ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	border-radius: 20px;
	width: 100%;
	height: 60px;
	color: #fff;
	transition: color 0.3s, background-color 0.3s;
}
.header_contact ul li:nth-of-type(1) a {
	background-color: #FF4444;
	border: solid 1px #FF4444;
}
.header_contact ul li:nth-of-type(2) a {
	background-color: #FF6C00;
	border: solid 1px #FF6C00;
}
.header_contact ul li:nth-of-type(3) a {
	background-color: #449F00;
	border: solid 1px #449F00;
}
.header_contact ul li:nth-of-type(1) a:hover {
	background-color: #fff;
	color: #FF4444
}
.header_contact ul li:nth-of-type(2) a:hover {
	background-color: #fff;
	color: #FF6C00;
}
.header_contact ul li:nth-of-type(3) a:hover {
	background-color: #fff;
	color: #449F00;
}

@media screen and (max-width: 1900px) {

.header_content {
	padding: 0 15px;
}

.header_nav {
	right: 530px;
}

.header_contact {
	width: 500px;
	right: 15px;
}
.header_contact ul {
	gap: 0 10px;
	margin-top: 20px;
}
.header_contact ul li:nth-of-type(1) {
	width: calc(( 100% - 10px ) / 3 );
}
.header_contact ul li:nth-of-type(2) {
	width: calc((( 100% - 10px ) / 3 ) * 2 );
}
.header_contact ul li a {
	font-size: 18px;
}

}

@media screen and (max-width: 1800px) {

.header_nav li a {
	font-size: 16px;
	padding: 10px 15px;
}

}

@media screen and (max-width: 1700px) {

.header_nav {
	right: 470px;
}
.header_nav li a {
	font-size: 16px;
	padding: 10px 10px;
}

.header_contact {
	width: 440px;
	right: 15px;
}
.header_contact ul li a {
	font-size: 16px;
}
}

@media screen and (max-width: 1600px) {

.header_nav {
	right: 330px;
}
.header_nav li a {
	font-size: 15px;
	padding: 14px 10px;
}

.header_contact {
	width: 300px;
	right: 15px;
}
.header_contact ul li a {
	font-size: 18px;
}
.header_contact ul li a span {
	display: none;
}

}

@media screen and (max-width: 1400px) {

.header {
	width: 100%;
	height: 78px;
	box-shadow: 0px 3px 6px rgba(0,0,0,0.16);
}
.header_content {
	height: 78px;
	padding: 0 0 0 20px;
}
.header_content h1 {
	width: 270px;
	height: 100%;
}
.header_content h1 img {
	width: 100%;
	height: auto;
}

.header_nav {
	display: none;
}
.header_contact {
	display: none;
}
}

@media screen and (max-width: 374px) {

.header_content {
	padding: 0 0 0 5px;
}
.header_content h1 {
	width: 260px;
	height: 100%;
}

}


/* g_nav
======================================================*/

.sp_header,
.g_nav {
	display: none;
}


@media screen and (max-width: 1400px) {

.openbtn-wrap {
	display: block;
	width: 50px;
	height: 50px;
	position: fixed;
	top: 12px;
	right: 24px;
	z-index: 9999;
	cursor: pointer;
	background-color: #FF6C00;
	transition: background-color 0.2s;
	border-radius: 100%;
}
.openbtn {
	display: block;
	width: 50px;
	height: 50px;
	cursor: pointer;
	position: relative;
	box-sizing: border-box;
}


/* ハンバーガーSET */

.openbtn span {
	display: inline-block;
	position: absolute;
	transition: all .2s;
	background: #fff;
  	width: 24px; /* line-width */
	height: 4px; /* line-height */
	transition: all 0.3s;
	background-color: #fff;
	opacity: 1;
	left: 13px;
}

.openbtn span:nth-of-type(1) { top: 13px; }
.openbtn span:nth-of-type(2) { top: 23px; }
.openbtn span:nth-of-type(3) { top: 33px; }


/* 3line - active */

.openbtn-wrap.active .openbtn span:nth-of-type(1) {
	top: 23px;
	left: 13px;
	transform: rotate(45deg);
}
.openbtn-wrap.active .openbtn span:nth-of-type(2) {
	opacity: 0;
}
.openbtn-wrap.active .openbtn span:nth-of-type(3) {
	top: 23px;
 	left: 13px;
	transform: rotate(-45deg);
}

/* Gナビ */

.g_nav {
	display: block;
	position: fixed;
	z-index: 99;
	opacity: 0;
	top: -100vh;
	left: 0;
	width: 100%;
	height: auto;
	max-height: 100vh;
	transition: all 0.5s;
	box-sizing: border-box;
	background-color: #fff;
	overflow: auto;
	box-shadow: 0px 3px 6px rgba(0,0,0,0.35);
}

.g_nav.panelactive {
	top: 0px;
	opacity: 1;
}

.g_nav_inner {
	width: 100%;
	box-sizing: border-box;
	padding-top: 95px;
	padding-bottom: 60px;
}
/* スクロールバー */
.g_nav::-webkit-scrollbar {
   width: 2px;
   opacity: 0.5;
}
.g_nav::-webkit-scrollbar-track {
   background-color: #eee;
}
.g_nav::-webkit-scrollbar-thumb {
   background-color: #8B8B8B;
}


/* スクロールバー */
.g_nav::-webkit-scrollbar {
   width: 2px;
   opacity: 0.5;
}
.g_nav::-webkit-scrollbar-track {
   background-color: #eee;
}
.g_nav::-webkit-scrollbar-thumb {
   background-color: #8B8B8B;
}

/* Gナビ リスト */

.g_nav nav {
	width: 100%;
	max-width: 303px;
	margin: 0 auto;
}
.g_nav ul {
	list-style: none;
}

.g_nav ul li a {
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #46423A;
	display: block;
	padding: 23px 0px 23px 0px;
	box-sizing: border-box;
}
.g_nav .sp_tel {
	margin-top: 30px;
}
.g_nav .sp_tel dl dt {
	font-weight: 700;
	font-size: 14px;
}
.g_nav .sp_tel dl dd:nth-of-type(1) a {
	display: block;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: 0.05em;
	padding-left: 28px;
	background: url("../img/tel_g.png") left center no-repeat;
	background-size: 23px auto;
	color: #449F00;
}
.g_nav .sp_tel dl:nth-of-type(2) {
	margin-top: 23px;
}
.g_nav .sp_tel dl:nth-of-type(2) dd:nth-of-type(1) a {
	background: url("../img/tel_o.png") left center no-repeat;
	color: #FF6C00;
}
.g_nav .sp_tel dl dd:nth-of-type(2) {
	font-weight: 500;
	font-size; 12px;
	line-height: 1;
	color: #333;
}

}


@media screen and (max-width: 374px) {

.openbtn-wrap {
	top: 12px;
	right: 12px;
}

.g_nav_bg {
	padding: 0px 15px 0px 15px;
}

}





/* footer_contact
======================================================*/

.footer_contact {
	padding: 70px 0;
	background: url("../img/ft_contact_back.png") center top no-repeat;
	background-size: cover;
}
.footer_contact h2 {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	text-align: center;
}
.ft_contact_box {
	border: solid 2px #FF6C00;
	background-color: #fff;
	border-radius: 10px;
	padding: 40px 0 25px 0;
	margin-top: 36px;
}
.ft_contact_box_t {
	text-align: center;
}
.ft_contact_box h3 {
	display: inline-block;
	font-weight: 700px;
	font-size: 36px;
	line-height: 1.38;
	text-align: center;
	color: #FF6C00;
	padding: 0 108px 0 125px;
	min-height: 91px;
	background-image: url("../img/ft_contact01.png"), url("../img/ft_contact02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right top;
}
.ft_contact_box .txt {
	text-align: center;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.6;
	margin-top: 12px;
}
.ft_contact_info:nth-of-type(2) {
	margin-top: 15px;
}
.ft_contact_info {
	width: 984px;
	margin: 0 auto 0 auto;
}
.ft_contact_info dl {
	display: flex;
	align-items: center;
}
.ft_contact_info dt {
	width: 290px;
	position: relative;
}
.ft_contact_info dt span {
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	display: block;
	text-align: right;
	position: relative;
	z-index: 2;
	top: -10px;
	right: 30px;
}
.ft_contact_info dd.tel {
	width: 380px;
	font-weight: 700;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0.05em;
	
}
.ft_contact_info dd.tel_g a {
	display: block;
	padding-left: 33px;
	background: url("../img/tel_g.png") left center no-repeat;
	background-size: 25px auto;
	color: #449F00;
}
.ft_contact_info dd.tel_o a {
	display: block;
	padding-left: 33px;
	background: url("../img/tel_o.png") left center no-repeat;
	background-size: 25px auto;
	color: #FF6C00;
}
.ft_contact_info dd.btn {
	width: 314px;
}
.ft_contact_info dd.btn a {
	display: block;
	height: 60px;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 26px;
	text-align: center;
	line-height: 56px;
	transition: background-color 0.3s, color 0.3s;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
}
.ft_contact_info dd.btn_g a {
	background-color: #449F00;
	border: solid 2px #449F00;
}
.ft_contact_info dd.btn_o a {
	background-color: #FF6C00;
	border: solid 2px #FF6C00;
}
.ft_contact_info dd.btn_g a:hover {
	background-color: #fff;
	color: #449F00;
}
.ft_contact_info dd.btn_o a:hover {
	background-color: #fff;
	color: #FF6C00;
}

@media screen and (max-width: 1200px) {

.ft_contact_box {
	padding: 40px 0 40px 0;
}

.ft_contact_box h3 {
	background-image: url("../img/ft_contact01.png"), url("../img/ft_contact02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top 30px, right top 30px;
}
.ft_contact_info_labo {
	margin-top: 20px;
}
.ft_contact_info dl {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 694px;
	margin: 0 auto;
}
.ft_contact_info dt {
	width: 100%;
	position: relative;
	text-align: center;
	margin-bottom: 14px;
}
.ft_contact_info dt span {
	display: block;
	text-align: center;
	top: -4px;
	right: auto;
}

}

@media screen and (max-width: 1024px) {

.footer_contact {
	padding: 50px 0;
	background: url("../img/ft_contact_back.png") center top no-repeat;
	background-size: cover;
}

.footer_contact h2 {
	font-size: 27px;
}
.ft_contact_box {
	padding: 30px 0 40px 0;
	margin-top: 25px;
}
.ft_contact_box h3 {
	background-image: url("../img/ft_contact01.png"), url("../img/ft_contact02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top 30px, right top 30px;
	background-size: 60px auto;
	font-size: 28px;
	padding: 0 70px 0 70px;
}
.ft_contact_box .txt {
	font-size: 17px;
	margin-top: 10px;
}
.ft_contact_info {
	width: 100%;
}
.ft_contact_info_labo {
	margin-top: 20px;
}
.ft_contact_info dl {
	width: 100%;
	max-width: 314px;
}
.ft_contact_info dt img {
	width: auto;
	height: 70px;
}
.ft_contact_info_labo dt img {
	width: auto;
	height: 77px;
}
.ft_contact_info dt span {
	font-size: 15px;
	top: auto;
}
.ft_contact_info dd.tel {
	width: 270px;
	font-size: 32px;
	margin: 0 auto;
}
.ft_contact_info dd.tel_g a {
	display: block;
	padding-left: 32px;
	background: url("../img/tel_g.png") left center no-repeat;
	background-size: 23px auto;
	color: #449F00;
}
.ft_contact_info dd.tel_o a {
	display: block;
	padding-left: 32px;
	background: url("../img/tel_o.png") left center no-repeat;
	background-size: 23px auto;
	color: #FF6C00;
}

.ft_contact_info dd.btn {
	width: 100%;
	margin-top: 13px;
}
.ft_contact_info dd.btn a {
	height: 54px;
	font-size: 23px;
	line-height: 50px;
}

}

@media screen and (max-width: 599px) {

.footer_contact {
	padding: 30px 0 50px 0;
	background: url("../img/ft_contact_back_sp.png") center top no-repeat;
	background-size: cover;
}
.footer_contact h2 {
	font-size: 24px;
	line-height: 1.66;
}
.ft_contact_box {
	padding: 17px 0 40px 0;
	margin-top: 10px;
}
.ft_contact_box h3 {
	background-image: url("../img/ft_contact01_sp.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 125px auto;
	padding: 55px 0 0 0;
	font-size: 20px;
	line-height: 1.5;
}
.ft_contact_box .txt {
	font-size: 16px;
	line-height: 1.5;
	margin-top: 8px;
}
.ft_contact_info {
	width: 100%;
}
.ft_contact_info_labo {
	margin-top: 20px;
}
.ft_contact_info dl {
	width: 100%;
	max-width: 240px;
}
.ft_contact_info dt img {
	width: auto;
	height: 60px;
}
.ft_contact_info_labo dt img {
	width: auto;
	height: 67px;
}
.ft_contact_info dt span {
	font-size: 14px;
	top: auto;
}
.ft_contact_info dd.tel {
	width: 210px;
	font-size: 24px;
	margin: 0 auto;
}
.ft_contact_info dd.tel_g a {
	display: block;
	padding-left: 28px;
	background: url("../img/tel_g.png") left center no-repeat;
	background-size: 23px auto;
	color: #449F00;
}
.ft_contact_info dd.tel_o a {
	display: block;
	padding-left: 28px;
	background: url("../img/tel_o.png") left center no-repeat;
	background-size: 23px auto;
	color: #FF6C00;
}

.ft_contact_info dd.btn {
	width: 100%;
	margin-top: 13px;
}
.ft_contact_info dd.btn a {
	height: 44px;
	font-size: 20px;
	line-height: 40px;
}
}


/* footer
======================================================*/

.footer01 h1 {
	text-align: center;
	padding: 60px 0 0 0;
}
.ft01_content {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 584px;
	margin: 30px auto 0 auto;
	padding: 20px 0 10px 0;
	background: url("../img/ft_line.png") center top repeat-y;
}
.ft01_content div {
	width: 244px;
}
.ft01_content dl dt {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
}
.ft01_content dl dd {
	font-weight: 500;
	font-size: 20px;
	line-height: 1;
}
.ft01_content dl dd:nth-of-type(1) {
	padding: 12px 0 15px 0;
}
.ft01_content dl dd a {
	display: block;
	padding-left: 29px;
	font-weight: 700;
	font-size: 30px;
	letter-spacing: 0.05em;
}
.ft01_content dl:nth-of-type(1) dd a {
	color: #449F00;
	background: url("../img/tel_g.png") left top 6px no-repeat;
	background-size: 21px auto;
}
.ft01_content dl:nth-of-type(2) dd a {
	color: #FF6C00;
	background: url("../img/tel_o.png") left top 6px no-repeat;
	background-size: 21px auto;
}
.ft02_content {
	text-align: center;
	margin: 25px 0 60px 0;
}
.ft02_content dl dt {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
}
.ft02_content dl dd {
	font-weight: 500;
	font-size: 20px;
	line-height: 1;
	margin-top: 20px;
}
.ft_bn_list {
	list-style: none;
	display: flex;
	gap: 0 25px;
}
.ft_menu_list {
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin: 50px auto;
	width: 1100px;
	transition: width 0.2s;
}
.ft_menu_list a {
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #46423A;
	transition: color 0.3s;
}
.ft_menu_list a:hover {
	color: #FF6C00;
}
.copy {
	width: 100%;
	height: 60px;
	line-height: 60px;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
	background-color: #FF6C00;
	color: #fff;
}
.sp_ft_nav {
	display: none;
}
@media screen and (max-width: 1700px) {

.ft_bn_list {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 25px;
	width: 650px;
	margin: 50px auto;
}
.ft_bn_list li:nth-of-type(1),
.ft_bn_list li:nth-of-type(2) {
	width: calc(( 100% - 25px ) / 2 );
}
.ft_bn_list li:nth-of-type(1) {
	text-align: right;
}
}

@media screen and (max-width: 1400px) {

.copy {
	margin-bottom: 63px;
}

.sp_ft_nav {
	display: block;
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 62px;
	z-index: 89;
}
.sp_ft_nav ul {
	width: 100%;
	height: 62px;
	display: flex;
	align-items: center;
	list-style: none;
}
.sp_ft_nav ul li:nth-of-type(1) {
	width: 62px;
}
.sp_ft_nav ul li:nth-of-type(2) {
	width: calc( 100% - 62px );
}

.sp_ft_nav ul li:nth-of-type(1) a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	background-color: #FF4444;
}
.sp_ft_nav ul li:nth-of-type(2) a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 62px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	color: #fff;
}
.sp_ft_nav ul li:nth-of-type(2) a {
	background-color: #FF6C00;
}

}

@media screen and (max-width: 1200px) {

.ft_menu_list {
	width: 900px;
}
.ft_menu_list a {
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #46423A;
	transition: color 0.3s;
}

}

@media screen and (max-width: 1024px) {

.ft_menu_list {
	display: none;
}

.footer01 h1 {
	padding: 45px 0 0 0;
}
.footer01 h1 img {
	width: 400px;
	height: auto;
}

}

@media screen and (max-width: 800px) {

.ft02_content {
	text-align: center;
	margin: 25px 0 45px 0;
}
.ft_bn_list {
	list-style: none;
	display: block;
	width: 200px;
	margin: 30px auto 40px auto;
}
.ft_bn_list li:nth-of-type(1),
.ft_bn_list li:nth-of-type(2) {
	width: 100%;
}
.ft_bn_list li:nth-of-type(1) {
	text-align: center;
}
.ft_bn_list li:not(:first-child) {
	margin-top: 5px;
}

}

@media screen and (max-width: 599px) {

.footer01 h1 {
	padding: 30px 0 0 0;
}
.footer01 h1 img {
	width: 270px;
	height: auto;
}
.ft01_content {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 30px auto 0 auto;
	padding: 0px 0 0px 0;
	background: none;
}
.ft01_content dl:nth-of-type(2) {
	margin-top: 30px;
}
.ft01_content dl {
	width: 200px;
	margin: 0 auto;
}
.ft01_content dl dt {
	font-size: 20px;
	text-align: center;
}
.ft01_content dl dd {
	font-size: 16px;
	text-align: center;
}
.ft01_content dl dd:nth-of-type(1) {
	padding: 15px 0 10px 0;
}
.ft01_content dl dd a {
	padding-left: 16px;
	font-size: 24px;
}
.ft01_content dl:nth-of-type(1) dd a {
	color: #449F00;
	background: url("../img/tel_g.png") left top 3px no-repeat;
	background-size: 18px auto;
}
.ft01_content dl:nth-of-type(2) dd a {
	color: #FF6C00;
	background: url("../img/tel_o.png") left top 3px no-repeat;
	background-size: 18px auto;
}
.ft02_content {
	text-align: center;
	margin: 25px 0 30px 0;
}
.ft02_content dl dt {
	font-size: 20px;
}
.ft02_content dl dd {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 10px;
}

}


/* page_top
======================================================*/

.page_top {
	width: 196px;
	height: 193px;
	display: block;
	background: url("../img/page_top.png") center bottom no-repeat;
	background-size: cover;
	position: fixed;
	right: 0;
	bottom: 80px;
	transition: bottom 0.3s;
}
.page_top:hover {
	bottom: 90px;
}
.page_top span {
	display: inline-block;
	text-align: center;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.3;
	color: #FFF500;
	padding: 72px 0 0 20px;
}

@media screen and (max-width: 1400px) {

.page_top {
	width: 150px;
	height: 147px;
	display: block;
	background: url("../img/page_top.png") center bottom no-repeat;
	background-size: cover;
	position: fixed;
	right: 0;
	bottom: 150px;
	transition: bottom 0.3s;
}
.page_top:hover {
	bottom: 160px;
}
.page_top span {
	font-size: 20px;
	line-height: 1.3;
	color: #FFF500;
	padding: 54px 0 0 15px;
}
}

@media screen and (max-width: 1024px) {

.page_top {
	display: none;
}
}


/* main
======================================================*/

.main {
	padding-top: 100px;
}
@media screen and (max-width: 1400px) {

.main {
	padding-top: 78px;
}

}

/* top_view
======================================================*/

.top_view {
	display: flex;
	width: 100%;
	height: auto;
	aspect-ratio: 1920 / 600;
	background: url("../img/top_view_back.jpg") center center no-repeat;
	background-size: cover;
}
.top_view .txt {
	width: 37.1%;
	height: 100%;
	position: relative;
}
.top_view .img {
	width: 62.9%;
	height: 100%;
	background: url("../img/top_view.jpg") center center no-repeat;
	background-size: cover;
}
.top_view .txt .inner {
	padding-left: 124px;
	padding-left: 17.3%;
	box-sizing: border-box;
	position: relative;
}

.top_view .txt .inner .space {
	display: block;
	width: 9.83%;
	height: auto;
	aspect-ratio: 1 / 1;
}
.top_view .txt p:nth-of-type(1) {
	font-weight: 700;
	font-size: 60px;
	font-size: 3.125vw;
	line-height: 1.33;
}
.top_view .txt p:nth-of-type(1) span {
	color: #FF6C00;
}
.top_view .txt p:nth-of-type(1)::before {
	content:"";
	display: block;
	position: absolute;
	width: 77px;
	width: 4vw;
	height: auto;
	aspect-ratio: 77 / 69;
	background: url("../img/top_v_onpu.png") center center no-repeat;
	background-size: cover;
	top: 4.5%;
	left: 8%;
}

.top_view .txt p:nth-of-type(2) {
	font-weight: 700;
	font-size: 20px;
	font-size: 1.04vw;
	line-height: 1.7;
	margin-top: 1em;
	margin-bottom: 1.5em;
}
.top_view .txt ul {
	list-style: none;
	font-size: 20px;
	font-size: 1.04vw;
	width: 25.83vw;
}
.top_view .txt ul li {
	position: relative;
}
.top_view .txt ul li:not(:first-child) {
	margin-top: 1em;
}
.top_view .txt ul li a img {
	width: 100%;
	height: auto;
	position: relative;
	top: 0;
	transition: top 0.2s;
}
.top_view .txt ul li a:hover img {
	top: -0.5em;
}
.top_view .inblock599 {
	display: none;
}

@media screen and (max-width: 1024px) {

.top_view {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	background: url("../img/top_view_back_sp.jpg") top center no-repeat;
	background-size: cover;
}
.top_view .txt {
	width: 100%;
	height: auto;
}
.top_view .img {
	aspect-ratio: 375 / 254;
	width: 100%;
	height: auto;
	background: url("../img/top_view_sp.jpg") center center no-repeat;
	background-size: cover;
}
.top_view .txt .inner {
	padding: 40px 0 43px 0;
	width: 541px;
	margin: 0 auto;
}

.top_view .txt .inner .space {
	display:none;
}
.top_view .txt p:nth-of-type(1) {
	font-size: 45px;
	line-height: 1.33;
	text-align: center;
}
.top_view .txt p:nth-of-type(1)::before {
	width: 50px;
	top: 20px;
	left: 70px;
}

.top_view .txt p:nth-of-type(2) {
	font-size: 17px;
	text-align: center;
}
.top_view .txt ul {
	width: 400px;
	margin: 0 auto;
}
.top_view .txt ul li:not(:first-child) {
	margin-top: 10px;
}
}

@media screen and (max-width: 599px) {

.top_view .txt .inner {
	padding: 40px 0 20px 0;
	width: 100%;
	max-width: 302px;
}

.top_view .txt p:nth-of-type(1) {
	font-size: 30px;
}
.top_view .txt p:nth-of-type(1)::before {
	width: 43px;
	top: 20px;
	left: 5px;
}
.top_view .txt p:nth-of-type(2) {
	font-size: 14px;
}
.top_view .txt ul {
	width: 302px;
	margin: 0 auto;
}
.top_view .inblock599 {
	display: inline-block;
}
}

@media screen and (max-width: 359px) {

.top_view .txt p:nth-of-type(2) {
	font-size: 13px;
}
.top_view .txt ul {
	width: 280px;
	margin: 0 auto;
}

}


/* toppage
======================================================*/

.toppage h3 {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	width: 800px;
	margin: 0 auto;
	padding: 84px 0 16px 0;
	border-bottom: dashed 2px #FF6C00;
	background: url("../img/top_onpu.png") center top no-repeat;
}

@media screen and (max-width: 1024px) {

.toppage h3 {
	width: 100%;
	max-width: 700px;
	font-size: 30px;
	padding: 70px 0 14px 0;
	background: url("../img/top_onpu.png") center top no-repeat;
	background-size: 60px auto;
}

}

@media screen and (max-width: 599px) {

.toppage h3 {
	font-size: 24px;
	width: 100%;
	padding: 60px 0 12px 0;
	border-bottom: dashed 2px #FF6C00;
	background: url("../img/top_onpu.png") center top no-repeat;
	background-size: 48px auto;
}

}

/* sc_top01
======================================================*/

.sc_top01 {
	padding: 60px 0 80px 0;
}
.sc_top01 h2 {
	width: 800px;
	margin: 0 auto;
	border-top: dashed 2px #FF6C00;
	border-bottom: dashed 2px #FF6C00;
	font-weight: 700;
	font-size: 50px;
	line-height: 1.4;
	text-align: center;
	padding: 6px 0;
}
.sc_top01 h2 span {
	color: #FF6C00;
}
.sc_top01 .head_txt {
	margin-top: 30px;
	margin-bottom: 100px;
}
.sc_top01 .head_txt p {
	font-size: 24px;
	line-height: 1.66;
	text-align: center;
	font-weight: 500;
}
.sc_top01 .head_txt ul {
	width: 100%;
	max-width: 800px;
	margin: 30px auto 0 auto;
	list-style: none;
	display: flex;
	justify-content: space-between;
	font-size: 24px;
	font-weight: 700;
	color: #FF6C00;
	gap: 0 16px;
}
.sc_top01 .head_txt ul li {
	background-color: #FFF5BF;
	border: solid 1px #FF6C00;
	border-radius: 16px;
	box-sizing: border-box;
	text-align: center;
	height: 54px;
	line-height: 52px;
}
.sc_top01 .head_txt ul li:nth-of-type(1) {
	width: 204px;
}
.sc_top01 .head_txt ul li:nth-of-type(2) {
	width: 160px;
}
.sc_top01 .head_txt ul li:nth-of-type(3) {
	width: 402px;
}

.top01_txt {
	font-size: 18px;
	line-height: 1.75;
	font-weight: 500;
	text-align: center;
	margin-top: 18px;
}
.gaikan_photo {
	display: flex;
	gap: 34px;
	margin: 30px 0 20px 0;
}
.gaikan_photo p {
	width: calc(( 100% - 34px ) / 2 );
}
.gaikan_photo p img {
	border-radius: 16px;
	width: 100%;
	height: auto;
}
.sc_top01 .sl_contact {
	margin-top: 30px;
	margin-bottom: 0;
}

@media screen and (max-width: 1024px) {

.sc_top01 {
	padding: 45px 0 65px 0;
}
.sc_top01 h2 {
	width: 100%;
	max-width: 700px;
	font-size: 40px;
	line-height: 1.33;
	padding: 6px 0;
}
.sc_top01 .head_txt {
	margin-top: 30px;
	margin-bottom: 75px;
}
.sc_top01 .head_txt p {
	font-size: 20px;
}
.sc_top01 .head_txt ul {
	width: 100%;
	max-width: 400px;
	margin: 25px auto 0 auto;
	display: block;
	font-size: 20px;
}
.sc_top01 .head_txt ul li {
	background-color: #FFF5BF;
	height: 47px;
	line-height: 45px;
}
.sc_top01 .head_txt ul li:not(:first-child) {
	margin-top: 10px;
}
.sc_top01 .head_txt ul li:nth-of-type(1) {
	width: 100%;
}
.sc_top01 .head_txt ul li:nth-of-type(2) {
	width: 100%;
}
.sc_top01 .head_txt ul li:nth-of-type(3) {
	width: 100%;
}

}

@media screen and (max-width: 699px) {

.sc_top01 h2 {
	font-size: 35px;
}

}

@media screen and (max-width: 599px) {

.sc_top01 {
	padding: 30px 0 50px 0;
}
.sc_top01 h2 {
	width: 100%;
	font-size: 30px;
	line-height: 1.33;
	padding: 5px 0;
}
.sc_top01 .head_txt {
	margin-top: 20px;
	margin-bottom: 50px;
}
.sc_top01 .head_txt p {
	font-size: 16px;
	line-height: 1.75;
}
.sc_top01 .head_txt ul {
	width: 100%;
	max-width: 248px;
	margin: 20px auto 0 auto;
	font-size: 16px;
}
.sc_top01 .head_txt ul li {
	height: 40px;
	line-height: 38px;
}
.sc_top01 .head_txt ul li:not(:first-child) {
	margin-top: 10px;
}
.top01_txt {
	font-size: 16px;
	margin-top: 18px;
}
.sc_top01 .sl_contact {
	margin-top: 20px;
	margin-bottom: 0;
}
}

@media screen and (max-width: 359px) {
.sc_top01 h2 {
	font-size: 28px;
}
}


/* sc_top02
======================================================*/

.sc_top02 {
	padding: 60px 0 65px 0;
	background-image: url("../img/about02_back01.png"), url("../img/about02_back02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 100% auto, 100% auto;
	background-color: #FFF7E6;
}
.top02_title {
	font-size: 38px;
	line-height: 1.44;
	text-align: center;
	font-weight: 700;
}
.top02_box {
	width: 100%;
	max-width: 750px;
	border-radius: 10px;
	border: solid 3px #FF6C00;
	background-color: #fff;
	margin: 35px auto 0 auto;
	padding: 25px 0 33px 0;
	box-sizing: border-box;
	position: relative;
}
.top02_box dl dt {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	color: #FF6C00;
	text-align: center;
}
.top02_box dl dd {
	font-weight: 700;
	font-size: 25px;
	line-height: 1.8;
	text-align: center;
	margin-top: 10px;
}
.top02_box .img01 {
	width: 92px;
	height: 153px;
	background: url("../img/top_sc02_01.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	left: -34px;
	bottom: -25px;
}
.top02_box .img02 {
	width: 104px;
	height: 153px;
	background: url("../img/top_sc02_02.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	right: -31px;
	bottom: -25px;
}
.top02_box .arrow {
	width: 100%;
	height: 42px;
	background: url("../img/top_sc02_03.svg") center top no-repeat;
	background-size: auto 42px;
	position: absolute;
	left: 0;
	bottom: -42px;
}
.top02_box2 {
	margin-top: 70px;
}
.top02_box2 p:nth-of-type(1) {
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	text-align: center;
	color: #FF6C00;
}
.top02_box2 p:nth-of-type(2) {
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
	text-align: center;
	margin-top: 28px;
}
.top02_box2 p:nth-of-type(2) span {
	font-weight: 700;
	font-size: 24px;
}

@media screen and (max-width: 1024px) {

.sc_top02 {
	padding: 50px 0 52px 0;
	background-image: url("../img/about02_back01.png"), url("../img/about02_back02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 150% auto, 150% auto;
	background-color: #FFF7E6;
}
.top02_title {
	font-size: 29px;
	line-height: 1.5;
}
.top02_box dl dt {
	font-size: 24px;
}
.top02_box dl dd {
	font-size: 20px;
	margin-top: 10px;
}
.top02_box .img01 {
	left: -5px;
	bottom: -25px;
}
.top02_box .img02 {
	right: -10px;
	bottom: -25px;
}
.top02_box2 {
	margin-top: 65px;
}
.top02_box2 p:nth-of-type(1) {
	font-size: 25px;
}
.top02_box2 p:nth-of-type(2) {
	font-size: 17px;
	margin-top: 19px;
}
.top02_box2 p:nth-of-type(2) span {
	font-size: 21px;
}

}

@media screen and (max-width: 599px) {

.sc_top02 {
	padding: 40px 0 40px 0;
	background-image: url("../img/about02_back01_sp.png"), url("../img/about02_back02_sp.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left -65px top -33px, right bottom;
	background-size: 318px auto, 375px auto;
	background-color: #FFF7E6;
}
.top02_title {
	font-size: 20px;
	line-height: 1.5;
}
.top02_box {
	margin: 16px auto 0 auto;
	padding: 20px 0 126px 0;
	background: url("../img/top_sc02_04.svg") center bottom 12px no-repeat;
	background-color: #fff;
}
.top02_box dl dt {
	font-size: 18px;
}
.top02_box dl dd {
	font-size: 16px;
	line-height: 1.75;
	margin-top: 10px;
}
.top02_box .img01,
.top02_box .img02 {
	display: none;
}
.top02_box2 {
	margin-top: 60px;
}
.top02_box2 p:nth-of-type(1) {
	font-size: 20px;
}
.top02_box2 p:nth-of-type(2) {
	font-size: 16px;
	line-height: 1.75;
	margin-top: 10px;
}
.top02_box2 p:nth-of-type(2) span {
	font-size: 18px;
}
}

/* sc_top03
======================================================*/

.sc_top03 {
	padding: 60px 0 68px 0;
}
.sc_top03 h4 {
	width: 100%;
	height: 66px;
	max-width: 866px;
	border-radius: 100vh;
	background-color: #FF6C00;
	font-weight: 700;
	font-size: 24px;
	text-align: center;
	padding: 0;
	margin: 36px auto 20px auto;
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sc_top03 h4::before {
	content:"";
	display: block;
	position: absolute;
	top: 1px;
	left: 1px;
	width: 64px;
	height: 64px;
	background-color: #FFF5BF;
	z-index: 2;
	border-radius: 100%;
}
.sc_top03 h4::after {
	content:"";
	display: block;
	position: absolute;
	top: 1px;
	right: 1px;
	width: 64px;
	height: 64px;
	background-color: #FFF5BF;
	z-index: 2;
	border-radius: 100%;
}
.sc_top03 p {
	font-weight: 700;
	font-size: 24px;
	line-height: 1.6;
	text-align: center;
	margin-top: 20px;
}
.sc_top03 ul {
	width: 100%;
	max-width: 614px;
	list-style: none;
	display: flex;
	gap: 0 31px;
	margin: 30px auto 0 auto;
}
.sc_top03 ul li {
	width: calc(( 100% - 93px ) / 4 );
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	box-sizing: border-box;
	padding-top: 56px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	line-height: 1.6;
	text-align: center;
	color: #fff;
}
.sc_top03 ul li:nth-of-type(1) {
	background: url("../img/top03_01.svg") center top 12px no-repeat;
	background-color: #3EA0DD;
}
.sc_top03 ul li:nth-of-type(2) {
	background: url("../img/top03_02.svg") center top 16px no-repeat;
	background-color: #3EA0DD;
}
.sc_top03 ul li:nth-of-type(3) {
	background: url("../img/top03_03.svg") center top 14px no-repeat;
	background-color: #3EA0DD;
}
.sc_top03 ul li:nth-of-type(4) {
	background: url("../img/top03_04.svg") center top 16px no-repeat;
	background-color: #3EA0DD;
}

.page_link_btn {
	display: block;
	width: 300px;
	height: 60px;
	border-radius: 20px;
	border: solid 2px #FF6C00;
	background-color: #FF6C00;
	color: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #fff;
	text-align: center;
	line-height: 56px;
	font-size: 24px;
	position: relative;
	transition: background-color 0.3s, color 0.3s;
}
.page_link_btn:hover {
	background-color: #fff;
	color: #FF6C00;
}
.page_link_btn::before {
	content:"";
	display: block;
	position: absolute;
	top: 20px;
	right: 36px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_w.svg") center center no-repeat;
	z-index: 2;
	opacity: 1;
	transition: opacity 0.3s;
}
.page_link_btn::after {
	content:"";
	display: block;
	position: absolute;
	top: 20px;
	right: 36px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_o.svg") center center no-repeat;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s;
}
.page_link_btn:hover::after {
	opacity: 1;
}

.sc_top03 .page_link_btn {
	margin: 37px auto 0 auto;
}

@media screen and (max-width: 1024px) {

.sc_top03 {
	padding: 50px 0 54px 0;
}

.sc_top03 h4 {
	width: 100%;
	height: auto;
	border-radius: 30px;
	font-size: 22px;
	line-height: 1.5;
	text-align: center;
	padding: 20px 0;
	margin: 30px auto 20px auto;
	background-image: url("../img/maru.svg"), url("../img/maru.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left -31px top -31px, right -31px bottom -31px;
	background-color: #FF6C00;
	box-sizing: border-box;
	border: solid 1px #FF6C00;
}
.sc_top03 h4::before {
	display: none;
}
.sc_top03 h4::after {
	display: none;
}
.sc_top03 p {
	font-size: 22px;
	margin-top: 20px;
}
.sc_top03 .page_link_btn {
	margin: 28px auto 0 auto;
}

}

@media screen and (max-width: 768px) {

.sc_top03 ul {
	max-width: 290px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px 30px;
	margin: 30px auto 0 auto;
}
.sc_top03 ul li {
	width: calc(( 100% - 30px ) / 2 );
}

}

@media screen and (max-width: 599px) {

.sc_top03 {
	padding: 40px 0 40px 0;
}

.sc_top03 h4 {
	font-size: 20px;
	margin: 23px auto 16px auto;
}
.sc_top03 p {
	font-size: 20px;
	line-height: 1.5;
	margin-top: 16px;
}

.sc_top03 ul {
	max-width: 270px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 10px;
	margin: 16px auto 0 auto;
}
.sc_top03 ul li {
	width: calc(( 100% - 10px ) / 2 );
	padding-top: 56px;
	font-size: 20px;
	line-height: 1.6:
}

.page_link_btn {
	display: block;
	width: 100%;
	max-width: 300px;
	height: 44px;
	line-height: 40px;
	font-size: 20px;
}
.page_link_btn::before {
	top: 11px;
}
.page_link_btn::after {
	top: 11px;
}

.sc_top03 .page_link_btn {
	margin: 20px auto 0 auto;
}

}

/* sc_top04
======================================================*/

.sc_top04 {
	padding: 0px 0 68px 0;
}
.sc_top04 .txt {
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	margin-top: 20px;
}
.sc_top04 h4 {
	text-align: center;
	margin-top: 26px;
}
.sc_top04 .flow_set ul {
	list-style: none;
	width: 100%;
	display: flex;
	justify-content: space-between;
	max-width: 865px;
	margin: 16px auto 0 auto;
}
.sc_top04 .flow_set.flow_set_labo ul {
	max-width: 1100px;
}
.sc_top04 .flow_set ul li {
	width: 160px;
	height: 160px;
	position: relative;
	background-color: #EDF4E6;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	line-height: 1.3;
	border-radius: 100%;
}
.sc_top04 .flow_set ul li span {
	font-size: 16px;
	display: block;
}
.sc_top04 .flow_set ul li:not(:last-child)::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	right: -75px;
	width: 75px;
	height: 160px;
	background: url("../img/flow_g2.svg") center center no-repeat;
}
.sc_top04 .flow_set.flow_set_labo ul li {
	background-color: #FDF5EE;
}
.sc_top04 .flow_set.flow_set_labo ul li:not(:last-child)::after {
	background: url("../img/flow_o2.svg") center center no-repeat;
}
.sc_top04 .page_link_btn {
	margin: 50px auto 0 auto;
}

@media screen and (max-width: 1200px) {

.sc_top04 .flow_set ul {
	max-width: 680px;
}
.sc_top04 .flow_set.flow_set_labo ul {
	max-width: 860px;
}
.sc_top04 .flow_set ul li {
	width: 140px;
	height: 140px;
	font-size: 18px;
}
.sc_top04 .flow_set ul li span {
	font-size: 14px;
}
.sc_top04 .flow_set ul li:not(:last-child)::after {
	right: -40px;
	width: 40px;
	height: 140px;
	background-size: 20px auto;
}
.sc_top04 .flow_set.flow_set_labo ul li:not(:last-child)::after {
	background-size: 20px auto;
}
}

@media screen and (max-width: 1024px) {

.sc_top04 {
	padding: 0px 0 60px 0;
}
.sc_top04 .txt {
	font-size: 17px;
}

.sc_top04 .flow_set ul {
	width: 100%;
	display: block;
	max-width: 680px;
	margin: 16px auto 0 auto;
}
.sc_top04 .flow_set.flow_set_labo ul {
	max-width: 680px;
}
.sc_top04 .flow_set ul li {
	width: 100%;
	height: 66px;
	font-size: 20px;
	line-height: 1.3;
	border-radius: 10px;
}
.sc_top04 .flow_set ul li:not(:last-child) {
	margin-bottom: 22px;
}
.sc_top04 .flow_set ul li:not(:last-child)::after {
	content:"";
	display: block;
	position: absolute;
	top: auto;
	bottom: -22px;
	right: 0;
	width: 100%;
	height: 22px;
	background: url("../img/flow_g.svg") center top no-repeat;
	background-size: auto 18px;
}
.sc_top04 .flow_set.flow_set_labo ul li:not(:last-child)::after {
	background: url("../img/flow_o.svg") center top no-repeat;
	background-size: auto 18px;
}
.sc_top04 .page_link_btn {
	margin: 45px auto 0 auto;
}
}

@media screen and (max-width: 599px) {

.sc_top04 {
	padding: 0px 0 50px 0;
}
.sc_top04 .txt {
	font-size: 16px;
	line-height: 1.75;
	margin-top: 10px;
}
.sc_top04 .page_link_btn {
	margin: 40px auto 0 auto;
}

}

/* sc_top05
======================================================*/

.sc_top05 {
	padding: 47px 0 56px 0;
	background-image: url("../img/about02_back01.png"), url("../img/about02_back02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 100% auto, 100% auto;
	background-color: #FFF7E6;
}
.top05_box {
	width: 100%;
	max-width: 930px;
	margin: 36px auto 0 auto;
	background-color: #fff;
	border-radius: 20px;
	padding: 80px 0;
}
.top05_box ol {
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
	position: relative;
	list-style: none;
	counter-reset: number 0;
}
.top05_box ol li {
	padding-left: 109px;
	position: relative;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.33;
}
.top05_box ol li:not(:first-child) {
	margin-top: 38px;
}
.top05_box ol li::before {
	display: block;
	position: absolute;
	top: -5px;
	left: 0px;
	width: 100px;
	height: 1em;
	counter-increment: number 1;
	content: "0"counter(number) "｜";
	font-size: 50px;
	color: #FF6C00;
	line-height: 1;
}
.top05_box ol li span {
	background-color: #FFF0AF;
}
.sc_top05 .page_link_btn {
	margin: 50px auto 0 auto;
}

@media screen and (max-width: 1024px) {

.sc_top05 {
	padding: 47px 0 56px 0;
	background-image: url("../img/about02_back01.png"), url("../img/about02_back02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 150% auto, 150% auto;
	background-color: #FFF7E6;
}
.top05_box {
	margin: 30px auto 0 auto;
	padding: 45px 0;
}
.top05_box ol {
	box-sizing: border-box;
	padding: 0 30px;
}
.top05_box ol li {
	padding-left: 60px;
	font-size: 25px;
	line-height: 1.33;
}
.top05_box ol li:not(:first-child) {
	margin-top: 30px;
}
.top05_box ol li::before {
	top: 0px;
	width: 100px;
	height: 1em;
	counter-increment: number 1;
	content: "0"counter(number) "｜";
	font-size: 30px;
}
.sc_top05 .page_link_btn {
	margin: 45px auto 0 auto;
}

}


@media screen and (max-width: 599px) {

.sc_top05 {
	padding: 40px 0 53px 0;
	background-image: url("../img/about02_back01_sp.png"), url("../img/about02_back02_sp.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left -65px top -33px, right bottom;
	background-size: 318px auto, 375px auto;
	background-color: #FFF7E6;
}
.top05_box {
	margin: 20px auto 0 auto;
	padding: 30px 0;
}
.top05_box ol li {
	padding-left: 60px;;
	font-size: 20px;
	line-height: 1.33;
}
.sc_top05 .page_link_btn {
	margin: 30px auto 0 auto;
}
}


/* page_header
======================================================*/

.page_header {
	width: 100%;
	height: 366px;
	background: url("../img/page_header_back.jpg") center center no-repeat;
	background-size: cover;
	padding: 0 95px;
	box-sizing: border-box;
}
.page_header_inner {
	padding-top: 102px;
}
.page_header_poco {
	width: 100%;
	height: 100%;
	background: url("../img/page_header_poco.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_labo {
	width: 100%;
	height: 100%;
	background: url("../img/page_header_labo.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_blog {
	width: 100%;
	height: 100%;
	background: url("../img/page_header_blog.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_contact {
	width: 100%;
	height: 100%;
	background: url("../img/page_header_contact.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_join {
	width: 100%;
	height: 100%;
	background: url("../img/page_header_join.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_about {
	width: 100%;
	height: 100%;
	background: url("../img/page_header_about.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}

.page_header h1 {
	width: 445px;
	height: 109px;
	border-radius: 10px;
	background-color: rgba(255,255,255,0.9);
	margin: 0 auto 0 auto;
	position: relative;
	text-align: center;
	padding-top: 25px;
}
.page_header h1::after {
	content:"";
	display: block;
	position: absolute;
	top: -6px;
	right: 23px;
	width: 80px;
	height: 60px;
	z-index: 1;
	background: url("../img/onpu.png") center center no-repeat;
}
.page_header h1 span:nth-of-type(1) {
	display: block;
	text-align: center;
	font-weight: 700;
	line-height: 1;
	font-size: 20px;
	letter-spacing: 0.03em;
	text-indent: 0.03em;
	color: #FF6C00;
}
.page_header h1 span:nth-of-type(2) {
	display: block;
	text-align: center;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #46423A;
	font-size: 30px;
	margin-top: 3px;
}
.page_header h1 span:nth-of-type(2) i {
	font-style: normal;
	font-size: 20px;
}

.page_header_poco h1,
.page_header_labo h1 {
	padding: 0;
	background-color: rgba(255,255,255,1.0);
}
.page_header_poco h1::after,
.page_header_labo h1::after {
	display: none;
}

@media screen and (max-width: 1400px) {

.page_header {
	height: 280px;
	padding: 0 60px;
}
.page_header_inner {
	padding-top: 80px;
}
.page_header h1 {
	width: 420px;
	height: 100px;
}
.page_header h1::after {
	content:"";
	display: block;
	position: absolute;
	top: -3px;
	right: 18px;
	width: 60px;
	height: 50px;
	z-index: 1;
	background: url("../img/onpu.png") center center no-repeat;
	background-size: cover;
}
.page_header_poco h1::after,
.page_header_labo h1::after {
	display: none;
}
.page_header h1 span:nth-of-type(1) {
	font-size: 18px;
}
.page_header h1 span:nth-of-type(2) {
	font-size: 28px;
	margin-top: 3px;
}
.page_header h1 span:nth-of-type(2) i {
	font-size: 18px;
}
.page_header_poco h1 img,
.page_header_labo h1 img {
	width: auto;
	height: 100px;
}
}

@media screen and (max-width: 1024px) {

.page_header {
	height: 230px;
	padding: 0 30px;
}
.page_header_inner {
	padding-top: 60px;
}
.page_header h1 {
	width: 340px;
	height: 85px;
}
.page_header h1 span:nth-of-type(1) {
	font-size: 16px;
}
.page_header h1 span:nth-of-type(2) {
	font-size: 22px;
}
.page_header h1 span:nth-of-type(2) i {
	font-size: 16px;
}
.page_header_poco h1 img,
.page_header_labo h1 img {
	width: auto;
	height: 85px;
}
}

@media screen and (max-width: 768px) {

.page_header {
	width: 100%;
	height: auto;
	background: url("../img/page_header_back_sp.jpg") center center no-repeat;
	background-size: cover;
	padding: 0;
	box-sizing: border-box;
	aspect-ratio: 375 / 228;
	display: flex;
	align-items: center;
}
.page_header_inner {
	width: 100%;
	height: auto;
	padding-top: 0;
	box-sizing: border-box;
	aspect-ratio: 375 / 196;
	display: flex;
	align-items: center;
}
.page_header_poco {
	width: 100%;
	height: auto;
	background: url("../img/page_header_poco_sp.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_labo {
	width: 100%;
	height: auto;
	background: url("../img/page_header_labo_sp.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_blog {
	width: 100%;
	height: auto;
	background: url("../img/page_header_blog_sp.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_contact {
	width: 100%;
	height: auto;
	background: url("../img/page_header_contact_sp.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_join {
	width: 100%;
	height: auto;
	background: url("../img/page_header_join_sp.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}
.page_header_about {
	width: 100%;
	height: auto;
	background: url("../img/page_header_about_sp.jpg") center center no-repeat;
	background-size: cover;
	box-sizing: border-box;
}

.page_header h1 {
	width: 238px;
	height: 64px;
	border-radius: 10px;
	background-color: rgba(255,255,255,1.0);
	margin: 0 auto 0 auto;
	position: relative;
	text-align: center;
	padding-top: 10px;
}
.page_header .page_heade_l h1 {
	height: 82px;
	line-height: 1.3;
}
.page_header h1 span:nth-of-type(1) {
	font-size: 14px;
}
.page_header h1 span:nth-of-type(2) {
	font-size: 24px;
	margin-top: 0px;
}
.page_header h1 span:nth-of-type(2) i {
	font-size: 14px;
	display: block;
}
.page_header h1::after {
	content:"";
	display: block;
	position: absolute;
	top: -13px;
	right: 4px;
	width: 44px;
	height: 33px;
	z-index: 1;
	background: url("../img/onpu.png") center center no-repeat;
	background-size: cover;
}
.page_header_poco h1,
.page_header_labo h1 {
	padding: 0;
}
.page_header_poco h1::after,
.page_header_labo h1::after {
	display: none;
}
.page_header_poco h1 img,
.page_header_labo h1 img {
	width: auto;
	height: 64px;
}
}


/* page_join
======================================================*/

.page_join {
	padding: 90px 0 90px 0;
}
.page_join.page_join_labo {
	padding: 0px 0 70px 0;
}
.page_join .sl_contact {
	margin-top: 0;
}
.page_join h2 {
	font-weight: 700;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	padding: 16px 0;
	background-color: #ECF5E5;
	border-radius: 10px;
	position: relative;
}
.page_join h2::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 20px;
	height: 100%;
	background-color: #449F00;
	border-radius: 10px;
}
.page_join h2::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
	width: 20px;
	height: 100%;
	background-color: #449F00;
	border-radius: 10px;
}

.page_join h3 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	font-weight: 700;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	position: relative;
	padding: 0 0 12px 0;
	position: relative;
	border-bottom: dashed 2px #449F00;
}

.page_join_labo h2 {
	background-color: #FFF0E2;
}
.page_join_labo h2::before,
.page_join_labo h2::after {
	background-color: #FF6C00;
}
.page_join_labo h3,
.page_join_flow_labo h3,
.page_join_faq_labo h3 {
	border-bottom: dashed 2px #FF6C00;
}

.join_riyo {
	margin-top: 70px;
}
.join_riyo table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 30px;
}
.join_riyo table th {
	border-top: solid 1px #449F00;
	border-bottom: solid 1px #449F00;
	background-color: #ECF5E5;
	font-weight: 700;
	text-align: center;
	line-height: 2;
	font-size: 20px;
	padding: 28px 0;
	vertical-align: top;
	width: 353px;
}
.join_riyo table td {
	border-top: solid 1px #449F00;
	border-bottom: solid 1px #449F00;
	background-color: #fff;
	font-weight: 500;
	font-size: 20px;
	line-height: 2;
	padding: 28px 38px;
	vertical-align: top;
}
.join_riyo table td span {
	display: inline-block;
	width: 2em;
}
.join_riyo table td .add_kome {
	padding-left:1em;
	text-indent:-1em;
}
.join_riyo table td dl {
	display: flex;
	justify-content: space-between;
	width: 328px;
}

.join_riyo .kome {
	font-weight: 500;
	font-size: 18px;
	position: relative;
	line-height: 1.4;
	padding-left: 1em;
	margin-top: 30px;
}
.join_riyo .kome:not(:nth-of-type(1)) {
	margin-top: 10px;
}
.join_riyo .kome span {
	position: absolute;
	top: 0;
	left: 0;
}

.page_join_labo .join_riyo table th {
	border-top: solid 1px #FF6C00;
	border-bottom: solid 1px #FF6C00;
	background-color: #FFF0E5;
}
.page_join_labo .join_riyo table td {
	border-top: solid 1px #FF6C00;
	border-bottom: solid 1px #FF6C00;
}

@media screen and (max-width: 1024px) {

.page_join {
	padding: 68px 0 68px 0;
}

.page_join h2 {
	font-size: 30px;
	padding: 13px 0;
}
.page_join h2::before {
	width: 15px;
}
.page_join h2::after {
	width: 15px;
}
.join_riyo {
	margin-top: 53px;
}
.page_join h3 {
	font-size: 30px;
}

.join_riyo table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 30px;
}
.join_riyo table th {
	padding: 20px 0;
	font-size: 16px;
	width: 200px;
}
.join_riyo table td {
	padding: 20px 20px 20px 20px;
	font-size: 16px;
	line-height: 1.75;
	position: relative;
}
.join_riyo .kome {
	font-size: 14px;
	margin-top: 20px;
}
.join_riyo table td span {
	display: none;
}
}

@media screen and (max-width: 768px) {

.join_riyo table {
	border-bottom: 1px solid #449F00;
}
.join_riyo table th {
	display: block;
	padding: 10px 14px 14px 14px;
	font-size: 16px;
	width: 100%;
	text-align: left;
	border-bottom: 0px solid #449F00;
}

.join_riyo table td {
	display: block;
	width: 100%;
	padding: 10px 14px 14px 14px;
	font-size: 16px;
	line-height: 2;
	top: auto;
	position: relative;
	border: 0px solid #FF6C00;
}
.page_join_labo .join_riyo table {
	border-bottom: solid 1px #FF6C00;
}
.page_join_labo .join_riyo table th {
	border-top: solid 1px #FF6C00;
	border-bottom: solid 0px #FF6C00;
}
.page_join_labo .join_riyo table td {
	border-top: solid 0px #FF6C00;
	border-bottom: solid 0px #FF6C00;
}
}

@media screen and (max-width: 599px) {

.page_join {
	padding: 45px 0 45px 0;
}

.page_join h2 {
	font-size: 24px;
	padding: 10px 0;
}
.page_join h2::before {
	width: 10px;
}
.page_join h2::after {
	width: 10px;
}
.join_riyo {
	margin-top: 35px;
}
.page_join h3 {
	font-size: 24px;
	padding: 0 0 10px 0;
	position: relative;
}
.join_riyo table td dl {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
}


/* page_join_flow
======================================================*/

.page_join_flow {
	padding: 170px 0 170px 0;
	background-color: #FFF7E6;
}
.page_join_flow ol {
	list-style: none;
	width: 100%;
	max-width: 850px;
	margin: 27px auto 0 auto;
}
.page_join_flow ol li:not(:first-child) {
	margin-top: 20px;
}
.page_join_flow dl {
	display: flex;
	background: url("../img/flow_g.svg") left 59px bottom no-repeat;
	padding-bottom: 70px;
}
.page_join_flow ol li:last-child dl {
	background: none;
	padding-bottom: 0px;
}
.page_join_flow dl dt {
	width: 160px;
	height: 160px;
	border: solid 1px #449F00;
	background-color: #FFFFFF;
	text-align: center;
	line-height: 1.6;
	font-weight: 700;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
}
.page_join_flow dl dt i {
	display: block;
	font-size: 16px;
	font-style: normal;
}
.page_join_flow dl dd {
	width: calc( 100% - 160px );
	padding: 10px 0 0 47px;
	font-weight: 500;
	font-size: 18px;
	line-height: 2;
}

.page_join_flow_labo dl {
	background: url("../img/flow_o.svg") left 59px bottom no-repeat;
}
.page_join_flow_labo dl dt {
	border: solid 1px #FF6C00;
}

.kengaku_btn {
	display: block;
	width: 300px;
	height: 60px;
	font-weight: 700;
	font-size: 24px;
	color: #fff;
	padding: 0 0 0 37px;
	line-height: 56px;
	border: solid 2px #FF6C00;
	background-color: #FF6C00;
	border-radius: 10px;
	position: relative;
	transition: background-color 0.3s, color 0.3s;
	margin-top: 20px;
}
.kengaku_btn:hover {
	background-color: #fff;
	color: #FF6C00;
}
.kengaku_btn::before {
	content:"";
	display: block;
	position: absolute;
	top: 20px;
	right: 10px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_o.svg") center center no-repeat;
	opacity: 0;
	transition: opacity 0.3s;
}
.kengaku_btn:hover::before {
	opacity: 1;
}
.kengaku_btn::after {
	content:"";
	display: block;
	position: absolute;
	top: 20px;
	right: 10px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_w.svg") center center no-repeat;
	opacity: 1;
	transition: opacity 0.3s;
}
.kengaku_btn:hover::after {
	opacity: 0;
}

.page_join_flow.page_join_flow_labo {
	background-color: #FFF7E6;
}

@media screen and (max-width: 1024px) {

.page_join_flow {
	padding: 127px 0 127px 0;
}
.page_join_flow dl dd {
	font-size: 16px;
}

}

@media screen and (max-width: 768px) {

.page_join_flow dl {
	display: block;
	background: url("../img/flow_g.svg") center top 66px no-repeat;
	background-size: 22px auto;
	padding-bottom: 0;
}
.page_join_flow.page_join_flow_labo dl {
	background: url("../img/flow_o.svg") center top 66px no-repeat;
	background-size: 22px auto;
}

.page_join_flow dl dt {
	width: 100%;
	height: 66px;
	font-size: 20px;
	border-radius: 10px;
	line-height: 1.4;
}
.page_join_flow dl dd {
	width: 100%;
	padding: 28px 0 0 0;
	font-size: 16px;
	line-height: 1.625;
}
.kengaku_btn {
	width: 100%;
	max-width: 300px;
	height: 44px;
	font-size: 20px;
	padding: 0 0 0 0;
	text-align: center;
	line-height: 40px;
	margin: 14px auto 0 auto;
}
.kengaku_btn::before {
	top: 14px;
	right: 35px;
	width: 11px;
	height: 14px;
	background: url("../img/ar_o.svg") center center no-repeat;
	opacity: 0;
	transition: opacity 0.3s;
}
.kengaku_btn::after {
	top: 14px;
	right: 35px;
	width: 11px;
	height: 14px;
	background: url("../img/ar_w.svg") center center no-repeat;
	opacity: 1;
	transition: opacity 0.3s;
}
}

@media screen and (max-width: 599px) {

.page_join_flow {
	padding: 85px 0 85px 0;
}
.page_join_flow h3 {
	line-height: 1.4;
}
.page_join_flow ol {
	margin: 20px auto 0 auto;
}
.page_join_flow ol li:not(:first-child) {
	margin-top: 24px;
}
}

/* page_join_contact
======================================================*/

.page_join_contact {
	padding: 45px 0 50px 0;
	background-color: #CEFFA9;
	text-align: center;
}
.page_join_contact .txt {
	font-weight: 700;
	font-size: 26px;
	padding: 0 12px 12px 12px;
	display: inline-block;
	border-bottom: dashed 2px #449F00;
}
.page_join_contact_btn {
	width: 612px;
	height: 94px;
	position: relative;
	margin: 30px auto 0 auto;
}
.page_join_contact_btn a {
	display: block;
	width: 602px;
	height: 84px;
	background-color: #fff;
	border-radius: 10px;
	text-align: center;
	line-height: 84px;
	color: #46423A;
	font-weight: 700;
	font-size: 26px;
	position: relative;
	z-index: 1;
	top: 0;
	left: 0;
	transition: top 0.2s, left 0.2s;
}
.page_join_contact_btn a:hover {
	top: 10px;
	left: 10px;
}

.page_join_contact_btn::before {
	content:"";
	display: block;
	position: absolute;
	display: block;
	background-color: #449F00;
	border-radius: 10px;
	width: 602px;
	height: 84px;
	bottom: 0px;
	right: 0px;
	z-index: 0;
}

.page_join_contact_labo {
	background-color: #FFF7C3;
}
.page_join_contact .txt {
	border-bottom: dashed 2px #FF6C00;
}
.page_join_contact_labo .page_join_contact_btn::before {
	background-color: #FF6C00; 0;
}

@media screen and (max-width: 1024px) {

.page_join_contact {
	padding: 40px 0 40px 0;
}

}

@media screen and (max-width: 768px) {

.page_join_contact_btn {
	width: 100%;
	max-width: 300px;
	height: 51px;
	position: relative;
	margin: 20px auto 0 auto;
	box-sizing: border-box;
}
.page_join_contact_btn a {
	display: block;
	width: calc( 100% - 5px );
	height: 46px;
	line-height: 46px;
	font-size: 18px;
}
.page_join_contact_btn a:hover {
	top: 5px;
	left: 5px;
}
.page_join_contact_btn::before {
	width: calc( 100% - 5px );
	height: 46px;
	bottom: 0px;
	right: 0px;
	z-index: 0;
}

}

@media screen and (max-width: 599px) {

.page_join_contact {
	padding: 30px 0 30px 0;
}
.page_join_contact .txt {
	font-size: 20px;
	padding: 0 10px 8px 10px;
	line-height: 1.6;
}
}


/* page_join_faq
======================================================*/

.page_join_faq {
	padding: 100px 0 140px 0;
}

.faq_set {
	margin-top: 30px;
}

.faq_set .accordion:not(:first-child) {
	margin-top: 40px;
}

.faq_set .accordion__summary {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.44;
	position: relative;
	color: #FF4444;
	list-style: none; /* 矢印を消す */
	background: url("../img/line01.svg") right 20px top 38px no-repeat;
	background-color: #ECF5E5;
	padding: 30px 70px 20px 115px;
	cursor: pointer;
}
.page_join_faq_labo .faq_set .accordion__summary {
	background-color: #FFF0E5;
}
.faq_set .accordion__summary::-webkit-details-marker {
	display: none;
}

.faq_set .accordion__summary::before {
	content:"Q";
	display: block;
	position: absolute;
	top: 20px;
	left: 26px;
	width: 1em;
	height: 1em;
	font-size: 36px;
	line-height: 1;
}
.faq_set .accordion__summary::after {
	content:"";
	display: block;
	position: absolute;
	top: 25px;
	right: 21px;
	width: 30px;
	height: 30px;
	line-height: 1;
	background: url("../img/line01.svg") center center no-repeat;
	transform: rotate(90deg);
	transition: transform 0.2s, opacity 0.2s;
	opacity: 1;
}

.faq_set .accordion[open] .accordion__summary::after {
	transform: rotate(0deg);
	opacity: 0;
}

.faq_set .accordion__detail {
	padding: 25px 0 25px 0px;
	background-color: #F8F8F8;
}
.faq_set .accordion__detail .accordion__text {
	font-weight: 500;
	font-size: 18px;
	line-height: 2;
	position: relative;
	color: #46423A;
	padding: 0px 45px 0 115px;
}
.faq_set .accordion__detail .accordion__text::before {
	content:"A";
	display: block;
	position: absolute;
	top: 0px;
	left: 26px;
	width: 1em;
	height: 1em;
	font-size: 36px;
	line-height: 1;
	color: #BF2625;
	font-weight: 700;
}
.faq_set .accordion__detail .accordion__text .kome {
	font-size: 14px;
	display: block;
}
.faq_set .accordion__detail .accordion__text .red {
	color: #BF2625;
}
.faq_set .accordion__detail .accordion__text a {
	color: #BF2625;
	text-decoration: underline;
}

@media screen and (max-width: 1024px) {

.page_join_faq {
	padding: 75px 0 105px 0;
}
.faq_set .accordion:not(:first-child) {
	margin-top: 30px;
}
.faq_set .accordion__summary {
	font-size: 16px;
	background: url("../img/line01.svg") right 20px top 24px no-repeat;
	background-size: 20px auto;
	background-color: #ECF5E5;
	padding: 15px 53px 15px 46px;
}
.faq_set .accordion__summary::after {
	top: 16px;
	right: 20px;
	width: 20px;
	height: 20px;
	line-height: 1;
	background: url("../img/line01.svg") center center no-repeat;
	background-size: 20px auto;
}
.faq_set .accordion__summary::before {
	top: 12px;
	left: 16px;
	font-size: 24px;
}
.faq_set .accordion__detail {
	padding: 15px 0 15px 0px;
	background-color: #F8F8F8;
}
.faq_set .accordion__detail .accordion__text {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.8;
	position: relative;
	color: #46423A;
	padding: 0px 15px 0 46px;
}
.faq_set .accordion__detail .accordion__text::before {
	left: 16px;
	font-size: 24px;
}
}

@media screen and (max-width: 599px) {

.page_join_faq {
	padding: 50px 0 70px 0;
}
.faq_set {
	margin-top: 20px;
}
.faq_set .accordion:not(:first-child) {
	margin-top: 20px;
}

.faq_set .accordion__summary {
	font-size: 16px;
	background: url("../img/line01.svg") right 8px top 25px no-repeat;
	background-size: 14px auto;
	background-color: #ECF5E5;
	padding: 15px 26px 15px 36px;
}
.faq_set .accordion__summary::after {
	top: 19px;
	right: 8px;
	width: 14px;
	height: 14px;
	line-height: 1;
	background: url("../img/line01.svg") center center no-repeat;
	background-size: 14px auto;
}
.faq_set .accordion__summary::before {
	top: 15px;
	left: 10px;
	font-size: 20px;
}
.faq_set .accordion__detail .accordion__text {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.8;
	position: relative;
	color: #46423A;
	padding: 0px 15px 0 36px;
}
.faq_set .accordion__detail .accordion__text::before {
	left: 10px;
	font-size: 20px;
}
}



/* page_about
======================================================*/

.page_about h3 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	font-weight: 700;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	position: relative;
	padding: 0 0 12px 0;
	position: relative;
	border-bottom: dashed 2px #FF6C00;
}

@media screen and (max-width: 1024px) {

.page_about h3 {
	font-size: 30px;
}

}

@media screen and (max-width: 599px) {

.page_about h3 {
	font-size: 24px;
	padding: 0 0 10px 0;
	position: relative;
}

}


/* sc_about01
======================================================*/

.sc_about01 {
	padding: 100px 0 80px 0;
}
.sc_about01 .cc {
	font-weight: 700;
	font-size: 36px;
	line-height: 1.55;
	text-align: center;
}
.about01_01 {
	margin-top: 80px;
}
.about01_01_txt p:nth-of-type(1) {
	width: 100%;
	height: 66px;
	max-width: 866px;
	border-radius: 100vh;
	background-color: #FF6C00;
	font-weight: 700;
	font-size: 24px;
	text-align: center;
	padding: 0;
	margin: 36px auto 20px auto;
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.about01_01_txt p:nth-of-type(1)::before {
	content:"";
	display: block;
	position: absolute;
	top: 1px;
	left: 1px;
	width: 64px;
	height: 64px;
	background-color: #FFF5BF;
	z-index: 2;
	border-radius: 100%;
}
.about01_01_txt p:nth-of-type(1)::after {
	content:"";
	display: block;
	position: absolute;
	top: 1px;
	right: 1px;
	width: 64px;
	height: 64px;
	background-color: #FFF5BF;
	z-index: 2;
	border-radius: 100%;
}

.about01_01_txt p:nth-of-type(2) {
	font-weight: 700;
	font-size: 24px;
	line-height: 1.66;
	color: #333;
	text-align: center;
}
.about01_01 dl {
	border-radius: 10px;
	padding: 40px 40px 40px 180px;
	margin: 30px auto 0 auto;
	width: 100%;
	max-width: 860px;
}
.about01_01 dl:nth-of-type(1) {
	background: url("../img/about01_01.svg") left 49px center no-repeat;
	background-color: #FFF7E6;
}
.about01_01 dl:nth-of-type(2) {
	background: url("../img/about01_02.svg") left 30px center no-repeat;
	background-color: #FFF7E6;
}
.about01_01 dl:nth-of-type(3) {
	background: url("../img/about01_03.svg") left 42px center no-repeat;
	background-color: #FFF7E6;
}
.about01_01 dl:nth-of-type(4) {
	background: url("../img/about01_04.svg") left 44px center no-repeat;
	background-color: #FFF7E6;
}


.about01_01 dl dt {
	font-weight: 700;
	color: #3EA0DD;
	font-size: 30px;
	line-height: 1;
}
.about01_01 dl dd {
	font-weight: 500;
	color: #333;
	font-size: 18px;
	line-height: 1.4;
	margin-top: 18px;
}

.about01_02 {
	margin-top: 90px;
	display: flex;
	justify-content: space-between;
}
.about01_02 .img {
	width: 310px;
	padding-top: 80px;
}
.about01_02 .img img {
	border-radius: 10px;
}
.about01_02 .txt {
	width: calc( 100% - 365px );
}
.page_about .about01_02 h3 {
	width: 100%;
	text-align: left;
}
.page_about .about01_02 h3.sp {
	display: none;
}
.about01_02 .ms {
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
	margin-top: 26px;
}
.about01_02 .sg {
	text-align: right;
	font-weight: 500;
	font-size: 26px;
	margin-top: 60px;
}
.about01_02 .sg span {
	font-size: 18px;
	display: inline-block;
	margin-right: 22px;
}

@media screen and (max-width: 1024px) {

.sc_about01 {
	padding: 75px 0 60px 0;
}
.sc_about01 .cc {
	font-size: 27px;
}
.about01_01 {
	margin-top: 60px;
}
.about01_01_txt p:nth-of-type(1) {
	width: 100%;
	height: auto;
	border-radius: 30px;
	font-size: 22px;
	line-height: 1.5;
	text-align: center;
	padding: 20px 0;
	margin: 30px auto 20px auto;
	background-image: url("../img/maru.svg"), url("../img/maru.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left -31px top -31px, right -31px bottom -31px;
	background-color: #FF6C00;
	box-sizing: border-box;
	border: solid 1px #FF6C00;
}
.about01_01_txt p:nth-of-type(1)::before {
	display: none;
}
.about01_01_txt p:nth-of-type(1)::after {
	display: none;
}
.about01_01_txt p:nth-of-type(2) {
	font-size: 20px;
}
.about01_01 dl {
	border-radius: 10px;
	padding: 30px 30px 30px 100px;
	margin: 30px auto 0 auto;
}
.about01_01 dl:nth-of-type(1) {
	background: url("../img/about01_01.svg") left 40px center no-repeat;
	background-color: #FFF7E6;
	background-size: 30px auto;
}
.about01_01 dl:nth-of-type(2) {
	background: url("../img/about01_02.svg") left 30px center no-repeat;
	background-color: #FFF7E6;
	background-size: 50px auto;
}
.about01_01 dl:nth-of-type(3) {
	background: url("../img/about01_03.svg") left 30px center no-repeat;
	background-color: #FFF7E6;
	background-size: 40px auto;
}
.about01_01 dl:nth-of-type(4) {
	background: url("../img/about01_04.svg") left 30px center no-repeat;
	background-color: #FFF7E6;
	background-size: 40px auto;
}
.about01_01 dl dt {
	font-size: 24px;
}
.about01_01 dl dd {
	font-size: 16px;
	margin-top: 14px;
}

.about01_02 {
	margin-top: 60px;
	display: block;
}
.page_about .about01_02 h3.sp {
	display: block;
	text-align: center;
}
.page_about .about01_02 .txt h3 {
	display: none;
}
.about01_02 .img {
	width: 100%;
	padding-top: 40px;
	text-align: center;
}
.about01_02 .img img {
	border-radius: 10px;
	max-width: 100%;
	height: auto;
}
.about01_02 .txt {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
}
.about01_02 .ms {
	font-size: 16px;
	line-height: 1.8;
	margin-top: 18px;
}
.about01_02 .sg {
	font-size: 20px;
	margin-top: 30px;
}
.about01_02 .sg span {
	font-size: 16px;
	margin-right: 18px;
}

}

@media screen and (max-width: 768px) {

.about01_01_txt p:nth-of-type(2) {
	text-align: left;
}

}

@media screen and (max-width: 599px) {

.sc_about01 {
	padding: 50px 0 40px 0;
}
.sc_about01 .cc {
	font-size: 22px;
}
.about01_01 {
	margin-top: 40px;
}
.about01_01_txt p:nth-of-type(1) {
	font-size: 20px;
}
.about01_01_txt p:nth-of-type(2) {
	font-size: 16px;
}
.about01_01 dl {
	padding: 90px 20px 20px 20px;
	margin: 20px auto 0 auto;
}
.about01_01 dl:nth-of-type(1) {
	background: url("../img/about01_01.svg") center top 20px no-repeat;
	background-color: #FFF7E6;
	background-size: 40px auto;
}
.about01_01 dl:nth-of-type(2) {
	background: url("../img/about01_02.svg") center top 20px no-repeat;
	background-color: #FFF7E6;
	background-size: 70px auto;
}
.about01_01 dl:nth-of-type(3) {
	background: url("../img/about01_03.svg") center top 20px no-repeat;
	background-color: #FFF7E6;
	background-size: 60px auto;
}
.about01_01 dl:nth-of-type(4) {
	background: url("../img/about01_04.svg") center top 20px no-repeat;
	background-color: #FFF7E6;
	background-size: 50px auto;
}
.about01_01 dl dt {
	font-size: 20px;
	text-align: center;
}
.about01_01 dl dd {
	font-size: 16px;
	margin-top: 10px;
}
.about01_02 .img {
	padding-top: 20px;
}
.about01_02 .sg {
	margin-top: 20px;
}
}

@media screen and (max-width: 359px) {

.about01_01_txt p:nth-of-type(1) {
	font-size: 18px;
}

}

/* sc_about02
======================================================*/

.sc_about02 {
	padding: 60px 0 65px 0;
	background-image: url("../img/about02_back01.png"), url("../img/about02_back02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 100% auto, 100% auto;
	background-color: #FFF7E6;
}
.about02_content {
	border-radius: 50px;
	background-color: #FFFFFF;
	padding: 70px 80px 60px 137px;
	margin-top: 40px;
}
.about02_content dl:not(:first-child) {
	margin-top: 40px;
}
.about02_content dl dt {
	position: relative;
	font-weight: 700;
	font-size: 30px;
	color: #FF6C00;
	line-height: 1.33;
	padding-left: 67px;
}
.about02_content dl dt span {
	position: absolute;
	left: 0;
	top: 0;
}
.about02_content dl dd {
	position: relative;
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
	margin-top: 20px;
}

@media screen and (max-width: 1024px) {

.sc_about02 {
	padding: 50px 0 52px 0;
	background-image: url("../img/about02_back01.png"), url("../img/about02_back02.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 150% auto, 150% auto;
	background-color: #FFF7E6;
}
.about02_content {
	padding: 50px 60px 45px 60px;
	margin-top: 30px;
}
.about02_content dl:not(:first-child) {
	margin-top: 30px;
}
.about02_content dl dt {
	font-size: 24px;
	padding-left: 56px;
}
.about02_content dl dd {
	font-size: 16px;
	line-height: 1.8;
	margin-top: 15px;
}

}

@media screen and (max-width: 599px) {

.sc_about02 {
	padding: 40px 0 40px 0;
	background-image: url("../img/about02_back01_sp.png"), url("../img/about02_back02_sp.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left -65px top -33px, right bottom;
	background-size: 318px auto, 375px auto;
	background-color: #FFF7E6;
}
.sc_about02 h3 {
	line-height: 1.4;
}
.about02_content {
	padding: 35px 40px 30px 40px;
	margin-top: 30px;
}
.about02_content dl:not(:first-child) {
	margin-top: 20px;
}
.about02_content dl dt {
	font-size: 20px;
	padding-left: 50px;
}
}


/* sc_about03
======================================================*/

.sc_about03 {
	padding: 100px 0 146px 0;
}
.cp_info {
	border-collapse: collapse;
	width: 100%;
	margin-top: 30px;
}
.cp_info th {
	padding: 30px 0;
	border-top: 1px solid #FF6C00;
	border-bottom: 1px solid #FF6C00;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	width: 388px;
	background-color: #fff0e5;
	vertical-align: top;
}

.cp_info td {
	padding: 30px 0 30px 77px;
	border-top: 1px solid #FF6C00;
	border-bottom: 1px solid #FF6C00;
	font-weight: 500;
	font-size: 20px;
	line-height: 2;
	top: -5px;
	position: relative;
}
.cp_info td a {
	color: #46423A;
}
.page_poco .cp_info th {
	border-top: 1px solid #449F00;
	border-bottom: 1px solid #449F00;
	background-color: #ECF5E5;
}
.page_poco .cp_info td {
	border-top: 1px solid #449F00;
	border-bottom: 1px solid #449F00;
}
.cp_info td .kuwashiku {
	display: inline-block;
	width: 200px;
	height: 44px;
	line-height: 40px;
	text-align: center;
	border: solid 2px #FF6C00;
	border-radius: 10px;
	background-color: #FF6C00;
	color: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	position: relative;
	transition: background-color 0.3s, color 0.3s;
	margin-left: 25px;
}
.cp_info td .kuwashiku:hover {
	background-color: #fff;
	color: #FF6C00;
}
.cp_info td .kuwashiku::before {
	content:"";
	display: block;
	position: absolute;
	top: 12px;
	right: 21px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_o.svg") center center no-repeat;
	background-size: 11px auto;
	transition: opacity 0.3s;
}
.cp_info td .kuwashiku::after {
	content:"";
	display: block;
	position: absolute;
	top: 12px;
	right: 21px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_w.svg") center center no-repeat;
	background-size: 11px auto;
}
.cp_info td .kuwashiku:hover::after {
	opacity: 0;
}

.sc_about03 .link_btn {
	text-align: center;
	margin-top: 46px;
}
.sc_about03 .link_btn p {
	text-align: center;
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #FF4444;
}
.sc_about03 .link_btn a {
	display: block;
	width: 540px;
	height: 100px;
	background: url("../img/about03_01.png") center center no-repeat;
	background-color: #F9BE00;
	margin: 10px auto 0 auto;
}
.sc_about03 .link_btn a span {
	display: none;
}

@media screen and (max-width: 1024px) {

.sc_about03 {
	padding: 75px 0 109px 0;
}
.cp_info th {
	padding: 20px 0;
	font-size: 16px;
	width: 260px;
}

.cp_info td {
	padding: 20px 20px 20px 20px;
	font-size: 16px;
	line-height: 1.75;
	top: -5px;
	position: relative;
}
.cp_info td .kuwashiku {
	display: inline-block;
	width: 160px;
	height: 34px;
	line-height: 30px;
	font-size: 16px;
}
.cp_info td .kuwashiku::before {
	content:"";
	display: block;
	position: absolute;
	top: 7px;
	right: 12px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_o.svg") center center no-repeat;
	background-size: 8px auto;
	transition: opacity 0.3s;
}
.cp_info td .kuwashiku::after {
	content:"";
	display: block;
	position: absolute;
	top: 7px;
	right: 12px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_w.svg") center center no-repeat;
	background-size: 8px auto;
}
.sc_about03 .link_btn {
	margin-top: 35px;
}
.sc_about03 .link_btn p {
	font-size: 22px;
}
.sc_about03 .link_btn a {
	display: block;
	width: 100%;
	max-width: 450px;
	height: 80px;
	background: url("../img/about03_01.png") center center no-repeat;
	background-size: 250px auto;
	background-color: #F9BE00;
	margin: 10px auto 0 auto;
}
}

@media screen and (max-width: 768px) {

.cp_info {
	border-bottom: 1px solid #FF6C00;
}
.cp_info th {
	display: block;
	padding: 10px 14px 14px 14px;
	font-size: 16px;
	width: 100%;
	text-align: left;
	border-bottom: 0px solid #449F00;
}

.cp_info td {
	display: block;
	width: 100%;
	padding: 10px 14px 14px 14px;
	font-size: 16px;
	line-height: 2;
	top: auto;
	position: relative;
	border-bottom: 0px solid #FF6C00;
}
.page_poco .cp_info {
	border-bottom: 1px solid #449F00;
}
.page_poco .cp_info th {
	border-bottom: 0px solid #449F00;
}
.page_poco .cp_info td {
	border-top: 0px solid #449F00;
	border-bottom: 0px solid #449F00;
}

}



@media screen and (max-width: 599px) {

.sc_about03 {
	padding: 50px 0 73px 0;
}
.cp_info td .kuwashiku {
	display: block;
	margin-left: 0;
	margin-top: 4px;
}
.sc_about03 .link_btn {
	margin-top: 23px;
}
.sc_about03 .link_btn p {
	font-size: 20px;
}
.sc_about03 .link_btn a {
	display: block;
	width: 100%;
	max-width: 300px;
	height: 60px;
	background: url("../img/about03_01.png") center center no-repeat;
	background-size: 200px auto;
	background-color: #F9BE00;
	margin: 10px auto 0 auto;
}
}


/* support program
======================================================*/

.support_program {
	padding: 100px 0;
}
.support_program .txt {
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
	margin-top: 30px;
}
.support_program ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 872px;
	margin: 50px auto 0 auto;
}
.support_program ul li {
	width: 420px;
	position: relative;
}
.support_program ul li a {
	display: block;
	width: 100%;
	height: 70px;
	line-height: 70px;
	text-align: center;
	border-radius: 16px;
	font-size: 24px;
	font-weight: 700;
	position: relative;
	top: 0;
	transition: top 0.3s;
}
.support_program ul li a:hover {
	top: -10px;
}
.support_program ul li:nth-of-type(1) a {
	background-image: url("../img/i_pdf.svg"), url("../img/sankaku_g.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left 14px center, right 29px center;
	background-color: #CBF0B0;
	color: #347700;
}
.support_program ul li:nth-of-type(2) a {
	background-image: url("../img/i_pdf.svg"), url("../img/sankaku_w.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left 14px center, right 29px center;
	background-color: #449F00;
	color: #fff;
}

@media screen and (max-width: 1024px) {

.support_program {
	padding: 75px 0;
}
.support_program .txt {
	font-size: 16px;
	line-height: 1.8;
	max-width: 700px;
	margin: 20px auto 0 auto;
	text-align: left;
}
.support_program ul {
	display: block;
	width: 100%;
	max-width: 420px;
	margin: 32px auto 0 auto;
}
.support_program ul li:nth-of-type(2) {
	margin-top: 20px;
}

}

@media screen and (max-width: 599px) {

.support_program {
	padding: 50px 0;
}
.support_program ul {
	width: 100%;
	max-width: 300px;
	margin: 25px auto 0 auto;
}
.support_program ul li {
	width: 100%;
	position: relative;
}
.support_program ul li:nth-of-type(2) {
	margin-top: 15px;
}
.support_program ul li a {
	display: block;
	width: 100%;
	height: 50px;
	line-height: 50px;
	font-size: 18px;
}
.support_program ul li:nth-of-type(1) a {
	background-image: url("../img/i_pdf.svg"), url("../img/sankaku_g.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left 8px center, right 20px center;
	background-size: 36px auto, 10px auto;
	background-color: #CBF0B0;
	color: #347700;
}
.support_program ul li:nth-of-type(2) a {
	background-image: url("../img/i_pdf.svg"), url("../img/sankaku_w.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left 8px center, right 20px center;
	background-size: 36px auto, 10px auto;
	background-color: #449F00;
	color: #fff;
}
}


/* voice
======================================================*/

.voice {
	padding: 90px 0;
	background-color: #FFF7E6;
}
.voice_list {
	margin-top: 40px;
}
.voice_single {
	padding: 37px 80px;
	background-color: #fff;
	border-radius: 10px;
}
.voice_single:not(:first-child) {
	margin-top: 26px;
}
.voice_single h3 {
	font-weight: 700;
	font-size: 26px;
	line-height: 1;
}
.voice_single dl dt {
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
}
.voice_single dl dd {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.6;
	margin-top: 15px;
}
.voice_single dl:nth-of-type(1) {
	margin-top: 30px;
	color: #333;
}
.voice_single dl:nth-of-type(2) {
	margin-top: 15px;
	color: #FF4444;
}

@media screen and (max-width: 1024px) {

.voice {
	padding: 68px 0;
}
.voice_list {
	margin-top: 30px;
}
.voice_single {
	padding: 20px 30px;
}
.voice_single h3 {
	font-size: 23px;
}
.voice_single dl dt {
	font-size: 16px;
}
.voice_single dl dd {
	font-size: 16px;
	margin-top: 10px;
}
.voice_single dl:nth-of-type(1) {
	margin-top: 20px;
}
.voice_single dl:nth-of-type(2) {
	margin-top: 10px;
}
.voice_single:not(:first-child) {
	margin-top: 20px;
}
}

@media screen and (max-width: 599px) {

.voice {
	padding: 45px 0;
}
.voice_list {
	margin-top: 20px;
}
.voice_single {
	padding: 20px 20px;
}
.voice_single h3 {
	font-size: 20px;
}
.voice_single dl dt {
	font-size: 16px;
}
.voice_single dl dd {
	font-size: 16px;
	margin-top: 7px;
}
.voice_single dl:nth-of-type(1) {
	margin-top: 15px;
}
.voice_single dl:nth-of-type(2) {
	margin-top: 7px;
}
.voice_single:not(:first-child) {
	margin-top: 13px;
}
}


/* muse_slide
======================================================*/

.muse_slide {
	padding: 90px 0 40px 0;
}
#muse-splide {
	margin-top: 90px;
}
#muse-splide img {
	width: 100%;
	max-width: 300px;
	height: auto;
	border-radius: 20px;
}

@media screen and (max-width: 1024px) {

.muse_slide {
	padding: 68px 0 30px 0;
}
#muse-splide {
	margin-top: 68px;
}
#muse-splide img {
	width: 100%;
	max-width: 200px;
	height: auto;
}
}

@media screen and (max-width: 599px) {

.muse_slide {
	padding: 45px 0 20px 0;
}
#muse-splide {
	margin-top: 45px;
}
#muse-splide img {
	width: 100%;
	max-width: 150px;
	height: auto;
}
}

/* page_contact
======================================================*/

.page_contact {
	padding: 120px 0 100px 0;
}
.page_contact h2 {
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
}

.page_contact .head_txt {
	margin-top: 47px;
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	color: #FF4444;
}
.sl_contact {
	display: flex;
	justify-content: space-between;
	margin-top: 47px;
	margin-bottom: 110px;
}
.sl_contact .img {
	display: block;
	margin-bottom: 20px;
}
.sl_contact .img img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.sl_contact div p {
	width: 300px;
	height: 51px;
	background: url("../img/fuki01.png") center center no-repeat;
	text-align: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 36px;
	margin: 0 auto;
}
.sl_contact div:nth-of-type(2) p {
	background: url("../img/fuki02.png") center center no-repeat;
	opacity: 0;
}
.sl_contact div {
	width: calc(( 100% - 38px ) / 2 );
}
.sl_contact div dl {
	width: 100%;
	margin-top: 10px;
}
.sl_contact div dl dt {
	width: 100%;
	height: 43px;
	border-radius: 10px;
	background-color: #ddeed1;
	font-weight: 700;
	font-size: 24px;
	line-height: 43px;
	text-align: center;
}
.sl_contact div:nth-of-type(2) dl dt {
	background-color: #fff0e2;
}
.sl_contact div dl dd {
	margin-top: 20px;
}
.sl_contact div dl dd a {
	display: block;
	margin: 0 auto;
	width: 300px;
	height: 60px;
	border: solid 2px #449F00;
	background-color: #449F00;
	padding-left: 74px;
	line-height: 54px;
	color: #fff;
	font-weight: 700;
	font-size: 24px;
	box-sizing: border-box;
	border-radius: 20px;
	position: relative;
	transition: background-color 0.3s, color 0.3s;
}
.sl_contact div:nth-of-type(2) dl dd a {
	border: solid 2px  #FF6C00;
	background-color: #FF6C00;
}
.sl_contact div dl dd a:hover {
	background-color: #fff;
	color: #449F00;
}
.sl_contact div:nth-of-type(2) dl dd a:hover {
	background-color: #fff;
	color: #FF6C00;
}

.sl_contact div dl dd a::before {
	content:"";
	display: block;
	position: absolute;
	top: 20px;
	right: 36px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_w.svg") center center no-repeat;
	z-index: 2;
	opacity: 1;
	transition: opacity 0.3s;
}
.sl_contact div dl dd a::after {
	content:"";
	display: block;
	position: absolute;
	top: 20px;
	right: 36px;
	width: 11px;
	height: 17px;
	background: url("../img/ar_g.svg") center center no-repeat;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s;
}
.sl_contact div:nth-of-type(2) dl dd a::after {
	background: url("../img/ar_o.svg") center center no-repeat;
}
.sl_contact div dl dd a:hover::after {
	opacity: 1;
}

.tel_info {
	width: 100%;
	max-width: 708px;
	border-radius: 33px;
	background-color: #F8F8F8;
	margin: 37px auto 0 auto;
	padding: 30px 0 50px 0;
}
.tel_info .txt {
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 45px;
}
.tel_info dl {
	width: 100%;
	max-width: 530px;
	margin: 0 auto;
}
.tel_info dl:nth-of-type(2) {
	margin-top: 35px;
}
.tel_info dl dt {
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
}
.tel_info dl dd {
	margin-top: 10px;
	display: flex;
	align-items: center;
}
.tel_info dl dd span {
	width: 182px;
}
.tel_info dl dd a {
	width: calc( 100% - 182px );
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 40px;
	letter-spacing: 0.05em;
	padding-left: 50px;
	color: #449F00;
	background: url("../img/tel_g.png") left 17px center no-repeat;
}
.tel_info dl:nth-of-type(2) dd a {
	color: #FF6C00;
	background: url("../img/tel_o.png") left 17px center no-repeat;
}
.tel_info .txt2 {
	text-align: center;
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	margin-top: 32px;
}

@media screen and (max-width: 1024px) {

.page_contact {
	padding: 90px 0 75px 0;
}
.page_contact h2 {
	font-size: 30px;
}
.page_contact .head_txt {
	margin-top: 30px;
	font-size: 20px;;
}

.sl_contact {
	margin-top: 38px;
	margin-bottom: 83px;
}

}

@media screen and (max-width: 768px) {

.sl_contact {
	display: block;
}
.sl_contact div {
	width: 100%;
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
}
.sl_contact div:nth-of-type(2) {
	margin-top: 45px;
}
.sl_contact div dl dt {
	font-size: 22px;
}
.tel_info dl dd {
	width: 90%;
	margin: 10px auto 0 auto;
}
.tel_info dl dd a {
	font-size: 30px;
	letter-spacing: 0.05em;
	padding-left: 40px;
	color: #449F00;
	background: url("../img/tel_g.png") left 17px top 14px no-repeat;
	background-size: 20px auto;
}
.tel_info dl:nth-of-type(2) dd a {
	color: #FF6C00;
	background: url("../img/tel_o.png") left 17px top 14px no-repeat;
	background-size: 20px auto;
}

}

@media screen and (max-width: 599px) {

.page_contact {
	padding: 60px 0 50px 0;
}
.page_contact h2 {
	font-size: 24px;
}
.page_contact .head_txt {
	margin-top: 30px;
	font-size: 16px;;
}

.sl_contact {
	display: block;
	margin-top: 25px;
	margin-bottom: 55px;
}
.sl_contact div:nth-of-type(2) {
	margin-top: 20px;
}
.sl_contact .img {
	margin-bottom: 10px;
}
.sl_contact div p {
	width: 228px;
	height: 43px;
	background: url("../img/fuki01_sp.png") center center no-repeat;
	background-size: cover;
	font-size: 16px;
	line-height: 32px;
	margin: 0 auto;
}
.sl_contact div:nth-of-type(2) p {
	display: none;;
}
.sl_contact div dl dt {
	width: 100%;
	height: 40px;
	font-size: 20px;
	line-height: 40px;
}
.sl_contact div dl dd {
	margin-top: 12px;
}
.sl_contact div dl dd a {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 300px;
	height: 44px;
	padding-left: 0;
	text-align: center;
	line-height: 40px;
	color: #fff;
	font-size: 20px;
}
.sl_contact div dl dd a::before {
	top: 11px;
}
.sl_contact div dl dd a::after {
	top: 11px;
}

.tel_info {
	margin: 20px auto 0 auto;
	padding: 20px 0 30px 0;
}
.tel_info .txt {
	font-size: 16px;
	margin-bottom: 20px;
}
.tel_info dl:nth-of-type(2) {
	margin-top: 30px;
}
.tel_info dl dt {
	font-size: 16px;
	line-height: 1.4;
}
.tel_info dl dd {
	margin-top: 10px;
	display: block;
	text-align: center;
}
.tel_info dl dd span {
	width: 100%;
	display: block;
}
.tel_info dl dd a {
	display: inline-block;
	width: auto;
	font-size: 26px;
	letter-spacing: 0.05em;
	padding: 0 0 5px 26px;
	color: #449F00;
	background: url("../img/tel_g.png") left 0px top 5px no-repeat;
	background-size: 20px auto;
	line-height: 1;
	margin-top: 10px;
}
.tel_info dl:nth-of-type(2) dd a {
	color: #FF6C00;
	background: url("../img/tel_o.png") left 0px top 5px no-repeat;
	background-size: 20px auto;
}
.tel_info .txt2 {
	font-size: 14px;
	line-height: 1.4;
	margin-top: 20px;
}

}


/* page_pp
======================================================*/

.page_pp {
	padding: 100px 0 160px 0;
}
.page_pp h2 {
	width: 100%;
	margin: 0 auto;
	font-weight: 700;
	font-size: 36px;
	text-align: left;
	line-height: 1;
	position: relative;
	padding: 0 0 12px 0;
	position: relative;
	border-bottom: dashed 2px #FF6C00;
}
.page_pp h2 + p {
	margin-top: 2em;
}

.page_pp h3 {
	font-weight: 700;
	font-size: 24px;
	color: #FF6C00;
	margin-top: 1.5em;
}
.page_pp p {
	font-size: 18px;
	line-height: 2.2;
	font-weight: 500;
	margin-top: 0.5em;
}
.page_pp p a {
	color: #46423A;
}

@media screen and (max-width: 1024px) {

.page_pp {
	padding: 75px 0 120px 0;
}
.page_pp h2 {
	font-size: 30px;
}
.page_pp h3 {
	font-size: 22px;
}
.page_pp p {
	font-size: 16px;
	line-height: 1.8;
}
}

@media screen and (max-width: 599px) {

.page_pp {
	padding: 50px 0 80px 0;
}
.page_pp h2 {
	font-size: 24px;
	padding: 0 0 10px 0;
	position: relative;
}
.page_pp h3 {
	font-size: 20px;
}

}

/* page_thanks page_404
======================================================*/

.page_thanks,
.page_404 {
	padding: 100px 0 90px 0;
}
.page_thanks h2,
.page_404 h2 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	font-weight: 700;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	position: relative;
	padding: 0 0 12px 0;
	position: relative;
	border-bottom: dashed 2px #FF6C00;
}
.page_thanks a,
.page_404 a {
	margin: 77px auto 0 auto;
}
@media screen and (max-width: 1024px) {

.page_thanks,
.page_404 {
	padding: 75px 0 68px 0;
}
.page_thanks h2,
.page_404 h2 {
	font-size: 30px;
}
.page_thanks a,
.page_404 a {
	margin: 57px auto 0 auto;
}
}

@media screen and (max-width: 599px) {

.page_thanks,
.page_404 {
	padding: 50px 0 45px 0;
}
.page_thanks h2 {
	font-size: 24px;
	padding: 0 0 10px 0;
	position: relative;
	line-height: 1.4;
}
.page_404 h2 {
	font-size: 24px;
	padding: 0 0 10px 0;
	position: relative;
	line-height: 1;
}
.page_thanks a,
.page_404 a {
	margin: 38px auto 0 auto;
}
}



/* page_muse
======================================================*/

.page_muse {
	padding: 100px 0 0 0;
}
.page_muse.page_poco {
	padding: 200px 0 0 0;
}

.page_muse h2 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	font-weight: 700;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	position: relative;
	padding: 0 0 12px 0;
	position: relative;
}
.page_poco h2 {
	border-bottom: dashed 2px #449F00;
}
.page_labo h2 {
	border-bottom: dashed 2px #FF6C00;
}
.page_poco .poco_top_h2::before {
	content:"6ヶ月～小学6年生";
	display: block;
	position: absolute;
	top: -100px;
	left: calc(( 100% - 400px ) / 2 );;
	width: 400px;
	height: 68px;
	text-align: center;
	line-height: 48px;
	font-weight: 700;
	font-size: 22px;
	background: url("../img/waku_poco.png") center top no-repeat;
}

.muse_h3 {
	width: 100%;
	height: 66px;
	max-width: 866px;
	border-radius: 100vh;
	background-color: #FF6C00;
	font-weight: 700;
	font-size: 24px;
	text-align: center;
	padding: 0;
	margin: 36px auto 20px auto;
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.muse_h3::before {
	content:"";
	display: block;
	position: absolute;
	top: 1px;
	left: 1px;
	width: 64px;
	height: 64px;
	background-color: #FFF5BF;
	z-index: 2;
	border-radius: 100%;
}
.muse_h3::after {
	content:"";
	display: block;
	position: absolute;
	top: 1px;
	right: 1px;
	width: 64px;
	height: 64px;
	background-color: #FFF5BF;
	z-index: 2;
	border-radius: 100%;
}
.page_poco .muse_h3 {
	background-color: #449F00;
}
.page_poco .muse_h3::before,
.page_poco .muse_h3::after {
	background-color: #CBF0B0;
}
.muse_head_txt {
	text-align: center;
	font-weight: 700;
	font-size: 24px;
	line-height: 2;
}

@media screen and (max-width: 1100px) {

.muse_head_txt {
	font-size: 20px;
}

}

@media screen and (max-width: 1024px) {

.page_muse {
	padding: 75px 0 0 0;
}
.page_muse.page_poco {
	padding: 135px 0 0 0;
}

.page_muse h2 {
	font-size: 30px;
}
.page_poco .poco_top_h2::before {
	top: -60px;
	left: calc(( 100% - 280px ) / 2 );;
	width: 280px;
	height: 50px;
	line-height: 34px;
	font-size: 18px;
	background: url("../img/waku_poco.png") center top no-repeat;
	background-size: 280px auto;;
}

.muse_h3 {
	width: 100%;
	height: auto;
	border-radius: 30px;
	font-size: 22px;
	line-height: 1.5;
	text-align: center;
	padding: 20px 0;
	margin: 30px auto 20px auto;
	background-image: url("../img/maru.svg"), url("../img/maru.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left -31px top -31px, right -31px bottom -31px;
	background-color: #FF6C00;
	box-sizing: border-box;
	border: solid 1px #FF6C00;
}
.page_poco .muse_h3 {
	background-image: url("../img/maru2.svg"), url("../img/maru2.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left -31px top -31px, right -31px bottom -31px;
	background-color: #449F00;
	border: solid 1px #449F00;
}
.muse_h3::before {
	display: none;
}
.muse_h3::after {
	display: none;
}

.muse_head_txt {
	width: 100%;
	max-width: 866px;
	text-align: left;
	margin: 0 auto;
}


}

@media screen and (max-width: 599px) {

.page_muse {
	padding: 50px 0 0 0;
}
.page_muse.page_poco {
	padding: 110px 0 0 0;
}

.page_muse h2 {
	font-size: 24px;
	padding: 0 0 10px 0;
	position: relative;
}
.muse_head_txt {
	text-align: left;
	font-size: 18px;
	line-height: 1.8;
}

}


/* muse_message
======================================================*/

.muse_message {
	padding: 90px 0 0 0;
}
.muse_message h3 {
	font-weight: 700;
	text-align: center;
	font-size: 26px;
	line-height: 1;
	color: #449F00;
	margin: 37px 0 30px 0;
}
.page_labo .muse_message h3 {
	color: #FF6C00;
}

.muse_message .txt {
	font-weight: 500;
	font-size: 18px;
	line-height: 2;
}
.muse_message .txt:not(:first-child) {
	margin-top: 1.7em;
}
.muse_message .sign {
	text-align: right;
	font-weight: 500;
	font-size: 26px;
	margin-top: 34px;
}
.muse_message .sign span {
	font-size: 18px;
	display: inline-block;
	margin-right: 1em;
}

.muse_message .riyo_link {
	margin-top: 70px;
}

.riyo_link {
	position: relative;
}
.riyo_link a {
	display: block;
	width: 780px;
	height: 144px;
	border-radius: 20px;
	background: url("../img/riyo_link_back.png") center center no-repeat;
	background-size: cover;
	padding: 17px 20px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
	top: 0;
	transition: top 0.3s;
}
.riyo_link a:hover {
	top: -10px;
}
.riyo_link a span {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	border-radius: 20px;
	background-color: rgba(255,255,255,0.82);
	font-weight: 700;
	font-size: 36px;
	color: #46423A;
}
@media screen and (max-width: 1024px) {

.muse_message {
	padding: 68px 0 0 0;
}
.muse_message h3 {
	font-size: 23px;
	margin: 25px 0 25px 0;
}
.muse_message .txt {
	font-size: 17px;
}
.muse_message .sign {
	text-align: right;
	font-weight: 500;
	font-size: 20px;
	margin-top: 26px;
}
.muse_message .sign span {
	font-size: 16px;
}
.muse_message .riyo_link {
	margin-top: 50px;
}
.riyo_link a {
	width: 460px;
	height: 90px;
	padding: 10px 10px;
}
.riyo_link a:hover {
	top: -10px;
}
.riyo_link a span {
	font-size: 24px;
}

}

@media screen and (max-width: 768px) {

.muse_message h3 {
	line-height: 1.4;
}

}

@media screen and (max-width: 599px) {

.muse_message {
	padding: 45px 0 0 0;
}
.muse_message h3 {
	font-size: 20px;
	margin: 20px 0 20px 0;
}
.muse_message .txt {
	font-size: 16px;
}
.muse_message .sign {
	font-size: 18px;
	margin-top: 17px;
}
.muse_message .sign span {
	font-size: 14px;
}
.muse_message .riyo_link {
	margin-top: 35px;
}
.riyo_link a {
	width: 100%;
	height: 90px;
	padding: 10px 10px;
}
.riyo_link a:hover {
	top: -10px;
}
.riyo_link a span {
	font-size: 18px;
}

}

@media screen and (max-width: 599px) {
.muse_message h3 {
	font-size: 18px;
}
}


/* muse_activity
======================================================*/

.muse_activity {
	padding: 90px 0 0 0;
}
.page_poco .muse_activity h3 {
	height: 55px;
	border-radius: 20px;
	background-color: #CBF0B0;
	text-align: center;
	font-weight: 700;
	font-size: 26px;
	line-height: 55px;
	color: #347700;
	margin-top: 40px;
}
.page_poco .muse_activity h3:nth-of-type(2) {
	background-color: #449F00;
	color: #fff;
	margin-top: 70px;
}
.page_labo .muse_activity h3 {
	height: 55px;
	border-radius: 20px;
	text-align: center;
	font-weight: 700;
	font-size: 26px;
	line-height: 53px;
	color: #FF6C00;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
}
.page_labo .muse_activity h3 span {
	width: calc(( 100% - 80px ) / 3 );
	height: 55px;
	box-sizing: border-box;
	border-radius: 20px;
	border: solid 1px #FF6C00;
	text-align: center;
	background-color: #FFF5BF;
}
.muse_activity .txt {
	font-weight: 700;
	font-size: 26px;
	line-height: 1.7;
	text-align: center;
	margin-top: 30px;
}
.activity_content {
	margin-top: 50px;
}
.activity_content div {
	background-color: #E4FFB6;
	border-radius: 10px;
	padding: 60px 50px;
}
.activity_content div:not(:first-child) {
	margin-top: 36px;
}
.page_labo .activity_content div {
	background-color: #FFFAD9;
}

.activity_content div.img_txt {
	display: flex;
	justify-content: space-between;
}
.activity_content div.txt_img {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.activity_content div p {
	width: 460px;
}
.activity_content div p img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.activity_content div dl {
	width: calc( 100% - 497px );
}
.activity_content div dl dt {
	font-weight: 700;
	font-size: 26px;
	color: #449F00;
	position: relative;
	padding: 2px 0 2px 15px;
}
.activity_content div dl dt::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 5px;
	height: 100%;
	border-radius: 5px;
	background-color: #449F00;
}
.activity_content div.txt_img dl dt {
	color: #FF6C00;
}
.activity_content div.txt_img dl dt::before {
	background-color: #FF6C00;
}

.page_labo .activity_content div dl dt {
	color: #449F00;
}
.page_labo .activity_content div.txt_img dl dt {
	color: #FF6C00;
}
.page_labo .activity_content div.txt_img dl dt::before {
	background-color: #FF6C00;
}

.activity_content div dl dd {
	margin-top: 20px;
}
.activity_content div dl dd span {
	display: block;
	font-weight: 700;
	font-size: 22px;
	color: #449F00;
	line-height: 1.8;
	margin-bottom: 0.5em;
}
.activity_content div dl dd {
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
}

.activity_content div.txt_img dl dd span {
	color: #FF6C00;
}

@media screen and (max-width: 1200px) {

.muse_activity .txt {
	font-size: 22px;
}

}

@media screen and (max-width: 1024px) {
.muse_activity {
	padding: 68px 0 0 0;
}

.page_labo .muse_activity h3 {
	height: 46px;
	border-radius: 20px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	line-height: 44px;
	color: #FF6C00;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
}
.page_labo .muse_activity h3 span {
	width: calc(( 100% - 20px ) / 3 );
	height: 46px;
	box-sizing: border-box;
	border-radius: 20px;
	border: solid 1px #FF6C00;
	text-align: center;
	background-color: #FFF5BF;
}

.muse_activity .txt {
	text-align: left;
}
.activity_content {
	margin-top: 30px;
}
.activity_content div:not(:first-child) {
	margin-top: 20px;
}
.activity_content div p {
	width: 300px;
}
.activity_content div dl {
	width: calc( 100% - 320px );
}
.activity_content div dl dt {
	font-size: 20px;
	padding: 2px 0 2px 12px;
}
.activity_content div dl dd span {
	font-size: 18px;
	line-height: 1.4;
}
.activity_content div dl dd {
	font-size: 16px;
	line-height: 1.8;
}

}

@media screen and (max-width: 900px) {

.activity_content div {
	padding: 30px 30px;
}
.activity_content div.img_txt {
	display: block;
}
.activity_content div.txt_img {
	display: block;
}
.activity_content div p {
	width: 100%;
}
.activity_content div p img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.activity_content div dl {
	width: 100%;
	margin-top: 20px;
}

.activity_content div dl dd {
	margin-top: 10px;
}
.activity_content div dl dd span {
	font-size: 18px;
	line-height: 1.4;
}

}

@media screen and (max-width: 768px) {

.page_labo .muse_activity h3 {
	height: auto;
	font-size: 20px;
	line-height: 44px;
	margin-top: 20px;
	display: block;
}
.page_labo .muse_activity h3 span {
	width: 100%;
	height: 46px;
	display: block;
}
.page_labo .muse_activity h3 span:not(:first-child) {
	margin-top: 10px;
}

}

@media screen and (max-width: 599px) {
.muse_activity {
	padding: 45px 0 0 0;
}
.page_poco .muse_activity h3 {
	height: 46px;
	font-size: 20px;
	line-height: 46px;
	margin-top: 20px;
}
.page_poco .muse_activity h3:nth-of-type(2) {
	margin-top: 35px;
}

.muse_activity .txt {
	font-size: 18px;
	margin-top: 15px;
}
.activity_content {
	margin-top: 25px;
}
.activity_content div {
	padding: 20px 20px;
}
}


/* poco_1day
======================================================*/

.poco_1day {
	padding: 70px 0 0 0;
}
.poco_1day_h4 {
	text-align: center;
}
.poco_1day h4 {
	font-size: 26px;
	font-weight: 700;
	color: #333;
	text-align: center;
	line-height: 1;
	display: inline-block;
	position: relative;
	padding: 2px 38px;
}
.poco_1day h4::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 5px;
	height: 100%;
	border-radius: 10px;
	background-color: #449F00;
}
.poco_1day h4::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
	width: 5px;
	height: 100%;
	border-radius: 10px;
	background-color: #449F00;
}
.poco_1day .day_flow {
	margin-top: 40px;
}
.day_flow dl {
	display: flex;
	width: 409px;
	position: relative;
	margin: 0 auto;
}
.day_flow dl:not(:last-child) {
	padding-bottom: 40px;
}
.day_flow dl:not(:last-child)::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 113px;
	width: 3px;
	height: 100%;
	background-color: #FF6C00;
}
.day_flow dl::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 107px;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	background-color: #FF6C00;
}
.day_flow dt {
	width: 107px;
	line-height: 1;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	color: #FF6C00;
	position: relative;
	top: -3px;
}
.day_flow dd {
	width: auto;
	line-height: 1;
	font-weight: 500;
	font-size: 18px;
	padding: 0 0 0 50px;
	position: relative;
	top: -3px;
}
.day_flow dd p:not(:first-child) {
	margin-top: 20px;
}

.page_labo .day_flow dl {
	width: 100%;
	max-width: 430px;
}
.page_labo .day_flow dl:not(:last-child)::before {
	left: 76px;
}
.page_labo .day_flow dl:nth-of-type(1)::before {
	top: -20px;
	left: 76px;
	width: 3px;
	height: calc( 100% + 20px );
}
.page_labo .day_flow dl::after {
	left: 70px;
}
.page_labo .day_flow dt {
	width: 80px;
}
.page_labo .day_flow dd {
	padding: 0 0 0 40px;
}

.poco_sogei {
	width: 100%;
	max-width: 780px;
	box-sizing: border-box;
	margin: 45px auto 0 auto;
	border: solid 3px #449F00;
	border-radius: 20px;
	padding: 20px 0 20px 0;
	text-align: center;
}
.poco_sogei dl dt {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
}
.poco_sogei dl dd {
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
	margin-top: 13px;
}

@media screen and (max-width: 1024px) {

.poco_1day {
	padding: 53px 0 0 0;
}

}

@media screen and (max-width: 599px) {

.poco_1day {
	padding: 35px 0 0 0;
}
.poco_1day h4 {
	font-size: 18px;
	padding: 2px 30px;
	line-height: 1.4;
}
.poco_1day .day_flow {
	margin-top: 30px;
}
.day_flow dl {
	width: 100%;
	max-width: 360px;
}
.day_flow dl:not(:last-child) {
	padding-bottom: 20px;
}
.day_flow dl:not(:last-child)::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 80px;
	width: 3px;
	height: 100%;
	background-color: #FF6C00;
}
.day_flow dl::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 74px;
	width: 15px;
	height: 15px;
	border-radius: 100%;
	background-color: #FF6C00;
}
.day_flow dt {
	width: 90px;
	font-size: 18px;
	top: -3px;
}
.day_flow dd {
	width: calc( 100% - 90px );
	font-size: 16px;
	padding: 0 0 0 20px;
	top: -5px;
	line-height: 1.4;
	box-sizing: border-box;
}
.day_flow dd p:not(:first-child) {
	margin-top: 20px;
}

.page_labo .day_flow dl:not(:last-child)::before {
	left: 66px;
}
.page_labo .day_flow dl:nth-of-type(1)::before {
	top: -10px;
	left: 66px;
	height: calc( 100% + 10px );
}
.page_labo .day_flow dl::after {
	left: 60px;
}
.page_labo .day_flow dd {
	width: calc( 100% - 0px );
}

.poco_sogei {
	margin: 20px auto 0 auto;
	border-radius: 20px;
	padding: 15px 10px 15px 10px;
}
.poco_sogei dl dt {
	font-size: 20px;
}
.poco_sogei dl dd {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 13px;
	text-align: left;
}

}

/* labo_1day
======================================================*/

.labo_1day {
	padding: 90px 0 0 0;
}
.labo_1day .day_flow {
	margin-top: 40px;
}

@media screen and (max-width: 1024px) {

.labo_1day {
	padding: 68px 0 0 0;
}

}

@media screen and (max-width: 599px) {

.labo_1day {
	padding: 45px 0 0 0;
}
.labo_1day .day_flow {
	margin-top: 30px;
}
}

/* poco_event
======================================================*/

.poco_event {
	background-color: #FFF7E6;
	padding: 38px 0;
	margin-top: 70px;
}

.poco_event h3 {
	text-align: center;
	font-size: 24px;
	color: #FF6C00;
}
.poco_event .cc {
	width: 100%;
	max-width: 666px;
	display: flex;
	align-items: center;
	margin: 24px auto 0 auto;
}
.poco_event .cc p:nth-of-type(1) {
	width: 300px;
	height: 55px;
	line-height: 55px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	background-color: #CBF0B0;
	color: #347700;
	border-radius: 20px;
}
.poco_event .cc p:nth-of-type(2) {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 30px;
	color: #333;
	width: 66px;
	text-align: center;
}
.poco_event .cc p:nth-of-type(3) {
	width: 300px;
	height: 55px;
	line-height: 55px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	background-color: #449F00;
	color: #fff;
	border-radius: 20px;
}
.poco_event_content {
	display: flex;
	gap: 0 37px;
	margin-top: 36px;
}
.poco_event_content .img {
	width: 434px;
}
.poco_event_content .img img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.poco_event_content .txt {
	width: calc( 100% - 470px );
}
.poco_event_content .txt p {
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2;
}
.poco_event_content .txt a {
	display: inline-block;
	margin-top: 20px;
}

@media screen and (max-width: 1024px) {

.poco_event_content {
	display: flex;
	gap: 0 20px;
	margin-top: 30px;
}
.poco_event_content .img {
	width: 320px;
}
.poco_event_content .img img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}
.poco_event_content .txt {
	width: calc( 100% - 340px );
}
.poco_event_content .txt p {
	font-size: 16px;
	line-height: 1.8;
}
.poco_event_content .txt a {
	margin-top: 10px;
}

}


@media screen and (max-width: 768px) {

.poco_event_content {
	display: block;
}
.poco_event_content .img {
	width: 100%;
}
.poco_event_content .txt {
	width: 100%;
	margin-top: 20px;
}

}


@media screen and (max-width: 599px) {

.poco_event {
	padding: 30px 0;
	margin-top: 40px;
}
.poco_event h3 {
	font-size: 18px;
}
.poco_event .cc {
	display: block;
	margin: 24px auto 0 auto;
}
.poco_event .cc p:nth-of-type(1),
.poco_event .cc p:nth-of-type(3) {
	width: 100%;
	height: 46px;
	line-height: 46px;
	font-size: 18px;
}
.poco_event .cc p:nth-of-type(2) {
	font-size: 24px;
	width: 100%;
	line-height: 1;
	padding: 4px 0;
}
}


/* cp_info_set
======================================================*/

.cp_info_set {
	padding: 100px 0 0 0;
}
.page_labo .cp_info_set {
	padding: 110px 0 80px 0;
}

.cp_info_set .riyo_link {
	margin-top: 60px;
}

@media screen and (max-width: 1024px) {

.cp_info_set {
	padding: 75px 0 0 0;
}
.page_labo .cp_info_set {
	padding: 83px 0 60px 0;
}
.cp_info_set .riyo_link {
	margin-top: 45px;
}

}

@media screen and (max-width: 599px) {

.cp_info_set {
	padding: 50px 0 0 0;
}
.page_labo .cp_info_set {
	padding: 55px 0 40px 0;
}
.cp_info_set .riyo_link {
	margin-top: 30px;
}

}


/* blog-list
======================================================*/

.blog-list {
    padding: 100px 0 170px;
}

/* タブ */
.blog__tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
    gap: 20px;
}

.blog__tab {
    border: 1px solid #707070;
    border-radius: 10px;
    font-size: 22px;
    font-weight: 700;
    color: #46423A;
    width: calc(( 100% - 75px ) / 3 );
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.blog__tab.is-active {
    background: #46423A;
    border-color: #46423A;
    color: #fff;
}

.blog__tab:hover {
    background: #46423A;
    border-color: #46423A;
    color: #fff;
}

/* 記事一覧 */
.blog__lists {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 115px;
}

.blog__item {
    display: flex;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
}

.blog__item:hover {
    opacity: 0.7;
}

.blog__img-wrap {
    width: 320px;
    aspect-ratio: 8 / 5;
    border-radius: 30px;
    overflow: hidden;
}

.blog__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog__body {
    flex: 1;
}

.blog__cat {
    display: inline-block;
    background-color: #F8F8F8;
    color: #46423A;
    font-size: 18px;
    padding: 2px 26px;
    border-radius: 10px;
    border: 1px solid #707070;
    margin-bottom: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.blog__title {
    font-size: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #46423A;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog__date {
    font-size: 20px;
    color: #46423A;
    font-weight: 500;
}

/* ページネーション */
.blog__pagination {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.blog__pagination .page-numbers {
    width: 65px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 40px;
    font-weight: 700;
    color: #46423A;
    background-color: #FFEEEE;
}

.blog__pagination .page-numbers.current {
    background: #FF6C00;
    color: #fff;
}

.blog__pagination .page-numbers:hover {
    background: #FF4444;
    color: #fff;
}

.blog__pagination .page-numbers.dots {
    background: none;
    color: #46423A;
    cursor: default;
}

.blog__pagination .page-numbers.dots:hover {
    background: none;
    color: #46423A;
}

/* アーカイブページ */
.blog__archive-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 40px;
    color: #46423A;
    text-align: center;
}

@media screen and (max-width: 1024px) {

    .blog__lists {
        margin-bottom: 80px;
    }

.blog__tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 60px;
    gap: 0 10px;
}

.blog__tab {
    font-size: 18px;
    font-weight: 700;
    color: #46423A;
    height: 55px;
}

    .blog__img-wrap {
        width: 220px;
    }

    .blog__pagination .page-numbers {
        width: 50px;
        height: 55px;
        font-size: 28px;
    }

}

@media screen and (max-width: 768px) {

    .blog-list {
        padding: 60px 0 100px;
    }

    .blog__tabs {
        display: block;
        margin: 0 auto 40px;
        max-width: 250px;
    }

    .blog__tab {
        font-size: 18px;
        width: 100%;
    }

    .blog__tab+.blog__tab {
        margin-top: 12px;
    }

    .blog__lists {
        gap: 30px;
        width: 100%;
        max-width: 450px;
        margin: 0 auto 60px;
    }

    .blog__item {
        gap: 16px;
    }

    .blog__img-wrap {
        width: 100%;
    }

    .blog__body {
        width: 100%;
    }

    .blog__cat {
        font-size: 16px;
        margin-bottom: 12px;
        margin-bottom: 8px;
    }

    .blog__title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .blog__date {
        font-size: 16px;
    }

    .blog__pagination {
        gap: 12px;
    }

    .blog__pagination .page-numbers {
        width: 45px;
        height: 50px;
        font-size: 26px;
    }

    /* アーカイブページ */
    .blog__archive-title {
        font-size: 28px;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 599px) {

    .blog-list {
        padding: 40px 0 80px;
    }

    .blog__lists {
        gap: 25px;
        margin: 0 auto 50px;
    }

    .blog__img-wrap {
        border-radius: 16px;
    }

    .blog__cat {
        font-size: 15px;
    }

    .blog__title {
        font-size: 16px;
    }

    .blog__date {
        font-size: 14px;
    }

    .blog__pagination .page-numbers {
        width: 40px;
        height: 45px;
        font-size: 22px;
    }

    /* アーカイブページ */
    .blog__archive-title {
        font-size: 26px;
        margin-bottom: 20px;
    }
}




/* post-single
======================================================*/

.post-single {
    padding: 100px 0 90px;
}

.post-single__wrap {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

/* メインコンテンツ */
.post-single__main {
    flex: 1;
    min-width: 0;
}

.post-single__meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 10px;
}

.post-single__cat {
    display: inline-block;
    background: #F8F8F8;
    color: #46423A;
    font-size: 22px;
    font-weight: 700;
    border-radius: 10px;
    border: 1px solid #707070;
    width: 250px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.post-single__date {
    font-size: 20px;
}

.post-single__title {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 32px;
}

/* 本文 */
.post-single__content {
    line-height: 2;
    margin-bottom: 60px;
}

.post-single__content h2 {
    font-size: 22px;
    font-weight: 700;
    margin: 40px 0 16px;
}

.post-single__content h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 32px 0 12px;
}

.post-single__content p {
    margin-bottom: 16px;
    font-size: 18px;
}

.post-single__content ul {
	margin-left: 1.5em;
    margin-bottom: 16px;
    font-size: 18px;
}

.post-single__content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 16px 0;
}

.post-single__content a {
    color: #FF4444;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.wp-block-image {
	padding: 0 30px;
}
.wp-block-gallery {
	padding: 0 30px;
}
.wp-block-gallery .wp-block-image {
	padding: 0 0px;
}

/* 著者 */
.post-single__author {
    display: flex;
    align-items: center;
    gap: 40px;
    padding-top: 40px;
    border-top: 2px dashed #FF4444;
}

.post-single__author-img-wrap {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.post-single__author-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-single__author-label {
    font-size: 22px;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 4px;
}

.post-single__author-name {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.post-single__author-bio {
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.8;
    color: #46423A;
}

/* サイドバー */
.post-single__sidebar {
    width: 240px;
    flex-shrink: 0;
}

.post-single__sidebar-block {
    background: #FDF5EE;
    border-radius: 10px;
    padding: 40px 30px 50px;
}

.post-single__sidebar-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 16px;
    text-align: center;
}

.post-single__sidebar-lists {
    display: flex;
    flex-direction: column;
    gap: 26px;
    margin-bottom: 40px;
    list-style: none;
}

.post-single__sidebar-link {
    display: block;
    background: #F8F8F8;
    border-radius: 10px;
    border: 1px solid #707070;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 700;
    color: #46423A;
    text-align: center;
}

.post-single__sidebar-link:hover {
    background: #46423A;
    color: #fff;
}

/* アーカイブ */
.post-single__sidebar-lists--archive {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
}

.post-single__sidebar-link--archive {
    background: none;
    border: none;
    text-align: left;
    position: relative;
    font-size: 18px;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 0 24px !important;
}

.post-single__sidebar-link--archive::before {
    content: '▼';
    position: absolute;
    left: 0;
    font-size: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #FF4444;
}

.post-single__sidebar-link--archive:hover {
    background: none;
    color: #FF4444;
}


@media screen and (max-width: 1400px) {

    .post-single__wrap {
        gap: 40px;
    }

    .post-single__cat {
        font-size: 20px;
        width: 200px;
        height: 50px;
    }

    .post-single__title {
        font-size: 28px;
    }

    .post-single__sidebar {
        width: 220px;
    }

    .post-single__sidebar-title {
        font-size: 22px;
    }

    .post-single__sidebar-lists {
        gap: 20px;
        margin-bottom: 30px;
    }

    .post-single__sidebar-link {
        padding: 10px 10px;
    }

    .post-single__author-img-wrap {
        width: 200px;
        height: 200px;
    }
}


@media screen and (max-width: 1024px) {

    .post-single__wrap {
        gap: 30px;
    }

    .post-single__cat {
        font-size: 18px;
        width: 170px;
        height: 40px;
    }

    .post-single__date {
        font-size: 18px;
    }

    .post-single__title {
        font-size: 22px;
    }

    .post-single__content img {
        margin: 12px 0;
    }

    .post-single__sidebar {
        width: 180px;
    }

    .post-single__sidebar-block {
        padding: 30px 20px 35px;
    }

    .post-single__sidebar-title {
        font-size: 20px;
    }

    .post-single__sidebar-lists {
        gap: 14px;
    }

    .post-single__sidebar-link {
        padding: 8px 10px;
        font-size: 14px;
    }
}


@media screen and (max-width: 768px) {

    .post-single {
        padding: 60px 0 80px;
    }

    .post-single__wrap {
        display: block;
    }

    .post-single__meta {
        gap: 12px;
    }

    .post-single__cat {
        font-size: 16px;
        width: 160px;
        height: 36px;
    }

    .post-single__date {
        font-size: 16px;
    }

    .post-single__title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .post-single__author {
        display: block;
        margin-bottom: 30px;
    }

    .post-single__author-img-wrap {
        margin: 0 auto 10px;
    }

    .post-single__author-label {
        font-size: 20px;
        text-align: center;
        margin-bottom: 0;
    }

    .post-single__author-name {
        text-align: center;
    }

    .post-single__sidebar {
        width: 100%;
    }

    .post-single__sidebar-lists {
        width: 260px;
        margin: 0 auto 30px;
    }
    .post-single__sidebar-link {
        font-size: 15px;
    }
.wp-block-image {
	padding: 0 0px;
}
.wp-block-gallery {
	padding: 0 0px;
}
.wp-block-gallery .wp-block-image {
	padding: 0 0px;
}

}


@media screen and (max-width: 599px) {

    .post-single {
        padding: 40px 0 60px;
    }

    .post-single__content {
        margin-bottom: 40px;
    }

    .post-single__title {
        margin-bottom: 16px;
    }

    .post-single__content h3 {
        margin: 20px 0 10px;
    }

    .post-single__author-img-wrap {
        width: 180px;
        height: 180px;
    }

    .post-single__author-label {
        font-size: 18px;
    }

    .post-single__author-name {
        font-size: 16px;
    }

    .post-single__sidebar-block {
        padding: 20px 20px 25px;
    }

    .post-single__sidebar-title {
        font-size: 18px;
    }

    .post-single__sidebar-lists {
        width: 200px;
    }

    .post-single__sidebar-link--archive {
        padding: 0 0 0 20px !important;
    }

    .post-single__sidebar-link--archive::before {
        font-size: 15px;
    }
}


/* contact-form
======================================================*/

.contact-form {
	padding: 130px 0 70px 0;
}
.contact-form h2 {
	font-weight: 700;
	font-size: 36px;
	line-height: 1;
	color: #46423A;
	text-align: center;
}
.contact-form p.head_txt {
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #46423A;
	text-align: center;
	margin-top: 46px;
}

@media screen and (max-width: 1024px) {

.contact-form {
	padding: 98px 0 60px 0;
}
.contact-form h2 {
	font-size: 30px;
}
.contact-form p.head_txt {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 30px;
}

}

@media screen and (max-width: 768px) {

.contact-form h2 {
	line-height: 1.4;
}

}

@media screen and (max-width: 599px) {

.contact-form {
	padding: 65px 0 40px 0;
}
.contact-form h2 {
	font-size: 24px;
}
}


/* フォーム */
.contact-form__body {
    width: 100%;
    max-width: 800px;
    margin: 80px auto 0 auto;
}

.cf7-field {
    margin-bottom: 60px;
    position: relative;
}

.cf7-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin-bottom: 10px;
}

.cf7-required {
    background: #FF4444;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 13px;
    border-radius: 20px;
}

.cf7-optional {
    background: #46423A;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 13px;
    border-radius: 20px;
}

/* ラジオボタン */
.wpcf7-list-item {
    margin: 0;
}

.wpcf7-radio .wpcf7-list-item {
    margin-right: 20px;
    font-size: 20px;
    font-family: 'Noto Sans JP', sans-serif;
}

/* テキスト・メール・電話 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"] {
    width: 100%;
    border: 1px solid #FF6C00;
    border-radius: 5px;
    padding: 12px 16px;
    font-size: 18px;
    line-height: 1.8;
    box-sizing: border-box;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
    outline: none;
    border: 2px solid #FF6C00;
    /* line-height: 1.8; */
}

.contact-form_poco .wpcf7-form input[type="text"],
.contact-form_poco .wpcf7-form input[type="email"],
.contact-form_poco .wpcf7-form input[type="tel"] {
    border: 1px solid #449F00;
}
.contact-form_poco .wpcf7-form input[type="text"]:focus,
.contact-form_poco .wpcf7-form input[type="email"]:focus,
.contact-form_poco .wpcf7-form input[type="tel"]:focus,
.contact-form_poco .wpcf7-form textarea:focus {
    border: 2px solid #449F00;
}

.wpcf7-form input:-webkit-autofill,
.wpcf7-form input:-webkit-autofill:hover,
.wpcf7-form input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #F5F5F5 inset;
    box-shadow: 0 0 0px 1000px #F5F5F5 inset;
}

/* テキストエリア */
.wpcf7-form textarea {
    width: 100%;
    border: 1px solid #FF6C00;
    border-radius: 4px;
    padding: 12px 16px;
    font-size: 18px;
    box-sizing: border-box;
    height: 210px;
    resize: vertical;
    line-height: 1.8;
}

.contact-form_poco .wpcf7-form textarea {
    border: 1px solid #449F00;
}
/* プライバシー */
.cf7-privacy {
    text-align: center;
    margin-bottom: 70px;
    font-size: 20px;
    font-weight: 700;
    font-family: 'Noto Sans JP', sans-serif;
}

.cf7-privacy a {
    color: #46423A;
    text-decoration: none;
    border-bottom: 1px solid #46423A;
}

/* チェックボックス */
.wpcf7-acceptance input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 28px;
    height: 28px;
    border: 1px solid #FF4444;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    vertical-align: middle;
    flex-shrink: 0;
    margin-right: 12px;
}

.wpcf7-acceptance input[type="checkbox"]:checked {
    background: #FF4444;
}

.wpcf7-acceptance input[type="checkbox"]:checked {
    background: #FF4444;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' d='M3 8l3.5 3.5L13 5'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* cloudflare */
.cf7-cf-turnstile {
    display: flex;
    justify-content: center;
    margin-bottom: 30px !important;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"] {
    display: block;
    width: 546px;
    height: 90px;
    margin: 0 auto;
	background: url("../img/i_send.svg") right 20px center no-repeat;
    background-color: #FF6C00;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    border: none;
    border-radius: 100vh;
    cursor: pointer;
    transition: opacity 0.2s ease;
    font-family: inherit;
}

.wpcf7-form input[type="submit"]:hover {
    opacity: 0.8;
}

/* 郵便番号 */

.wpcf7-form input.p_code {
	padding-left: 40px;
}
.yubin {
	display: block;
	position: absolute;
	top: 58px;
	left: 14px;
	width: 1em;
	height: 1em;
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	color: #46423A;
	z-index: 10;
}

.s_sp {
    display: none;
}

@media screen and (max-width: 1024px) {

.contact-form__body {
    margin: 60px auto 0 auto;
}

    .cf7-field {
        margin-bottom: 50px;
    }

    .cf7-privacy {
        margin-bottom: 50px;
    }

    .wpcf7-form input[type="submit"] {
        width: 350px;
        height: 70px;
        font-size: 24px;
	background: url("../img/i_send.svg") right 20px center no-repeat;
	background-size: 30px auto;
	background-color: #FF6C00;
    }
}


@media screen and (max-width: 768px) {

    .cf7-field {
        margin-bottom: 30px;
    }

    .cf7-label {
        font-size: 18px;
    }

    .wpcf7-radio .wpcf7-list-item {
        margin-right: 16px;
        font-size: 18px;
    }

    .cf7-privacy {
        margin-bottom: 40px;
        font-size: 18px;
    }

    .wpcf7-acceptance input[type="checkbox"] {
        width: 25px;
        height: 25px;
    }

    /* cloudflare */
    .cf7-cf-turnstile {
        margin-bottom: 10px !important;
    }

    .wpcf7-form input[type="submit"] {
        width: 330px;
        height: 60px;
        font-size: 22px;
    }

/* 郵便番号 */

.wpcf7-form input.p_code {
	padding-left: 36px;
}
.yubin {
	display: block;
	position: absolute;
	top: 54px;
	left: 14px;
	width: 1em;
	height: 1em;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #46423A;
	z-index: 10;
}

.cf7-label .s {
    display: none;
}

.s_sp {
    display: block;
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin-bottom: 10px;
}

}


@media screen and (max-width: 599px) {

.contact-form__body {
    margin: 40px auto 0 auto;
}

    .wpcf7-radio .wpcf7-list-item {
        display: block;
    }

    .wpcf7-radio .wpcf7-list-item+.wpcf7-list-item {
        margin-top: 5px;
    }

    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"] {
        font-size: 16px;
    }

    .wpcf7-form textarea {
        font-size: 16px;
        height: 180px;
    }

    .cf7-privacy {
        margin-bottom: 30px;
        font-size: 16px;
    }

    .wpcf7-acceptance input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin-right: 8px;
    }

    .wpcf7-form input[type="submit"] {
        width: 100%;
        height: 50px;
        font-size: 20px;
    }

.s_sp {
    line-height: 1.4;
}

}


/* contactform7設定
======================================================*/

.wpcf7-not-valid-tip{
   box-sizing: border-box;
   border-bottom: 1px dotted #CB4A2D;
   color: #CB4A2D;
   margin-top: 10px;
   margin-bottom: 10px;
   padding: 6px 6px 6px 40px;
   text-indent: -30px;
   font-size: 16px;
}
.wpcf7-not-valid-tip::before{
   content: "";
   background: url(../img/sankaku.png) no-repeat center/cover;
   display: inline-block;
   margin-right: 10px;
   margin-bottom: 4px;
   vertical-align: middle;
   width: 20px;
   height: 18px;
}

div.wpcf7 .wpcf7-spinner {
    display: none;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	color: #fff;
	font-weight: 700;
	border: 1px solid #FF4444;
	background-color: #FF4444;
	border-radius: 2px;
	margin: 40px 0 0 0;
	padding: 0.8em 1em;
	text-align: center;
	font-size: 16px;
	line-height: 1.4;
}
.wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #449F00;
	background-color: #449F00;
}
