@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: #333;
}

body.is-menuOpen {
	position: fixed;
	width: 100%;
}

img {
	border:0;
	vertical-align:bottom;
}

*:focus {
	outline: none;
}

a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor: pointer;
	text-decoration: none;
}
.nolink {
	pointer-events: none;
}

/* 共通
======================================================*/

.container {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
.container_wrap {
	padding: 0 36px;
}

@media screen and (max-width: 599px) {
.container_wrap {
	padding: 0 36px;
}
}

@media screen and (max-width: 374px) {
.container_wrap {
	padding: 0 20px;
}
}

.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: 1200px) {
.none1200 { 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: 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: 130px;
	margin-top: -130px;
	display: block;
	position: relative;
	z-index: -1;
}

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

.anchor {
	padding-top: 100px;
	margin-top: -100px;
}

}


/* header
======================================================*/

.header {
	width: 100%;
	height: 90px;
	position: fixed;
	background-color: #54674D;
	z-index: 100;
}
.header_wrap {
	position: relative;
	max-width: 1316px;
	margin: 0 auto;
}
.header h1 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 190px;
	height: 90px;
	font-size: 16px;
	font-weight: 700;
}
.header h1 a {
	display: block;
	color: #fff;
}
.header h1 a span {
	display: block;
}
.header h1 a span:nth-of-type(2) {
	margin-top: 6px;
}
.main_nav {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	list-style: none;
	width: 608px;
	height: 40px;
	box-sizing: border-box;
	position: absolute;
	top: 23px;
	right: 487px;
}
.main_nav a {
	display: block;
	height: 40px;
	padding: 0 24px;
	position: relative;
	font-size: 18px;
	font-weight: 700;
	font-family: "Zen Maru Gothic", sans-serif;
	font-style: normal;
	line-height: 1;
}
.main_nav a span {
	display: block;
	padding-top: 16px;
	color: #fff;
	transition: padding-top 0.4s;
}
.main_nav a:hover span {
	padding-top: 7px;
	color: #FFF079;
	transition: padding-top 0.2s;
}
.header .online {
	width: 174px;
	position: absolute;
	top: 24px;
	right: 286px;
}
.header .online a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 174px;
	height: 40px;
	background-color: #fff;
	border-radius: 12px;
	text-align: center;
	line-height: 1px;
	transition: background-color 0.2s, color 0.2s;
}
.header .online a:hover {
	background-color: #FFF079;
}
.header .online a span {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	display: inline-block;
	padding-left: 26px;
	background: url("../img/online.svg") left center no-repeat;
	min-height: 15px;
	line-height: 12px;
	color: #5F744F;
}
.header .inst {
	position: absolute;
	top: 24px;
	right: 230px;
}
.header .inst a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	line-height: 1;
	height: 40px;
	width: 40px;
	border: solid 1px #707070;
	background-color: #fff;
	box-sizing: border-box;
	border-radius: 100%;
	transition: background-color 0.2s;
}
.header .inst a:hover  {
	background-color: #FFF079;
}
.header .tel {
	width: 216px;
	position: absolute;
	top: 22px;
	right: 0px;
}
.header .tel a {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding-left: 30px;
	height: 40px;
	font-size: 32px;
	line-height: 1;
	background: url("../img/tel.svg") left center no-repeat;
	background-size: auto 29px;
	color: #fff;
}

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

.main_nav {
	width: 548px;
}
.main_nav a {
	padding: 0 18px;
	font-size: 18px;
}

}

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

.main_nav {
	width: 480px;
	top: 23px;
	right: 440px;
}
.main_nav a {
	padding: 0 16px;
	font-size: 16px;
}
.header .online {
	width: 160px;
	right: 260px;
}
.header .online a {
	width: 160px;
}
.header .online a span {
	font-size: 16px;
}
.header .inst {
	top: 24px;
	right: 204px;
}
.header .tel {
	width: 190px;
	top: 22px;
}
.header .tel a {
	padding-left: 26px;
	font-size: 28px;
	background: url("../img/tel.svg") left center no-repeat;
	background-size: auto 26px;
}

}

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

.main_nav {
	width: 380px;
	right: 410px;
}
.main_nav a {
	padding: 0 10px;
	font-size: 14px;
}
.header .online {
	width: 146px;
	right: 250px;
}
.header .online a {
	width: 146px;
}
.header .online a span {
	font-size: 14px;
}
.header .inst {
	right: 200px;
}
}

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

.main_nav {
	width: 340px;
}
.main_nav a {
	padding: 0 6px;
}

}

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

.header {
	width: 100%;
	height: 68px;
}
.header h1 {
	width: 150px;
	height: 68px;
	font-size: 12px;
}
.header h1 a {
	display: block;
	color: #fff;
}
.header h1 a span {
	display: block;
}
.header h1 a span:nth-of-type(2) {
	margin-top: 5px;
}
.header h1 a span:nth-of-type(2) img {
	width: 140px;
	height: auto;
}
.header_nav {
	display: none;
}

}


/* g_nav
======================================================*/

.g_nav,
.openbtn-wrap,
.g_nav_wrap {
	display: none;
}


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

.openbtn-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 78px;
	height: 78px;
	position: fixed;
	top: 10px;
	right: 36px;
	z-index: 9999;
	cursor: pointer;
	border-radius: 100%;
}
.openbtn {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
	position: relative;
	background-color: #fff;
	border: solid 1px #54674D;
	border-radius: 100%;
	box-sizing: border-box;
}

/* ハンバーガーSET */

.openbtn span {
	display: inline-block;
	position: absolute;
	transition: all .2s;
	border-radius: 1px;
	background: #fff;
  	width: 38px; /* line-width */
	height: 6px; /* line-height */
	border-radius: 100vh;
	transition: all 0.2s;
	left: 20px;
	background-color: #54674D;
}

.openbtn span:nth-of-type(1) { top: 24px; }
.openbtn span:nth-of-type(2) { top: 36px; }
.openbtn span:nth-of-type(3) { top: 48px; }

/* 3line - active */

.openbtn-wrap.active .openbtn span:nth-of-type(1) {
	top: 35px;
	left: 19px;
	transform: rotate(135deg);
}
.openbtn-wrap.active .openbtn span:nth-of-type(2) { opacity: 0; /*center*/ }
.openbtn-wrap.active .openbtn span:nth-of-type(3) {
	top: 35px;
 	left: 19px;
	transform: rotate(-135deg);
}


/* Gナビ 背景 */

.g_nav_wrap {
	display :none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
.g_nav_wrap.active {
	display: block;
	z-index: 98;
}

/* Gナビ */

.g_nav {
	display: block;
}

.g_nav {
	position: fixed;
	z-index: 99;
	opacity: 0;
	top: -1000px;
	left: 0;
	width: 100%;
	height: auto;
	max-height: 100%;
	overflow-y: auto;
	background-color: #EBE9DE;
	transition: opacity 1s, top 1s;
	box-sizing: border-box;
	padding: 130px 0px 0px 0px;
}

.g_nav.panelactive {
	top: 0;
	opacity: 1;
	width: 100%;
	transition: opacity 0.4s, top 0.5s;
}

.g_nav_inner {
	width: 100%;
	max-width: 375px;
	margin: 0 auto;
	padding: 0 36px 110px 36px;
	box-sizing: border-box;
}
/* スクロールバー */
.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 .g_nav_list {
	list-style: none;
}
.g_nav .g_nav_list li a {
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: #54674D;
	display: block;
	padding: 25px 0 25px 0px;
	transition: color 0.2s;
}
.g_nav .g_nav_list li a:hover {
	color: #54674D;
}
.g_nav_online {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	width: 174px;
	height: 40px;
	font-weight: 700;
	font-size: 18px;
	color: #5F744F;
	background-color: #fff;
	border-radius: 12px;
	margin-top: 30px;
	transition: background-color 0.2s;
}
.g_nav_online:hover {
	background-color: #FFF079;
}
.g_nav_online span {
	display: block;
	padding: 0 0 0 27px;
	min-height: 15px;
	background: url("../img/online.svg") left center no-repeat;
}

.g_nav_inst {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	height: 40px;
	font-weight: 700;
	font-size: 18px;
	color: #54674D;
	padding-left: 47px;
	margin-top: 24px;
	position: relative;
}
.g_nav_inst span {
	display: block;
	width: 40px;
	height: 40px;
	background: url("../img/gnav_inst.svg") center center no-repeat;
	background-color: #54674D;
	border-radius: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

}

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

.openbtn-wrap {
	top: 10px;
	right: 20px;
}

}

/* side_contact
======================================================*/

.side_contact {
	width: 94px;
	height: 194px;
	display: block;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	background-color: #54674D;
	position: fixed;
	right: 0px;
	bottom: 125px;
	z-index: 9999;
}
.side_contact span:nth-of-type(1) {
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
	font-size: 14px;
	line-height: 1;
	color: #EFE9DF;
	padding: 14px 0 0 0;
	padding-bottom: 32px;
	position: relative;
}
.side_contact span:nth-of-type(1)::before {
	content:"";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 28px;
	background: url("../img/side_mail.svg") center bottom no-repeat;
	opacity: 1;
}
.side_contact:hover span:nth-of-type(1)::before {
	opacity: 0;
}

.side_contact span:nth-of-type(1)::after {
	content:"";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 28px;
	background: url("../img/side_mail_y.svg") center bottom no-repeat;
	opacity: 0;
}
.side_contact:hover span:nth-of-type(1)::after {
	opacity: 1;
}

.side_contact span:nth-of-type(2) {
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	writing-mode: vertical-rl;
	margin-left: auto;
	margin-right: auto;
	margin-top: 9px;
	color: #fff;
	transition: color 0.2s;
}
.side_contact:hover span:nth-of-type(2) {
	color: #FFF079;
}

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

.side_contact {
	width: 70px;
	height: 194px;
}

}

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

.side_contact {
	display: none;
}

}

/* footer
======================================================*/

.footer {
	padding: 64px 0 84px 0;
	width: 100%;
	background: url("../img/footer_back.png") left top no-repeat;
	background-size: auto 100%;
	background-color: #54674D;
}
.footer_logo {
	text-align: center;
}
.footer h1 {
	text-align: center;
	margin-top: 28px;
}
.footer h1 span:nth-of-type(1) {
	text-align: center;
	display: block;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: #fff;
}
.footer h1 span:nth-of-type(2) {
	text-align: center;
	display: block;
	line-height: 1;
	margin-top: 3px;
}
.footer_add {
	text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	margin-top: 16px;
}
.footer_tel {
	text-align: center;
	margin-top: 19px;
}
.footer_tel a {
	color: #fff;
}
.footer_tel a span {
	display: inline-block;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 32px;
	line-height: 1;
	padding-left: 28px;
	background: url("../img/tel.svg") left top 3px no-repeat;
	background-size: auto 29px;
}
.footer_line {
	margin: 7px auto 0 auto;
	display: block;
	width: 100%;
	max-width: 1295px;
	background: url("../img/footer_line.svg") center bottom no-repeat;
}
.footer_line span {
	display: block;
	width: 100%;
	height: 44px;
	background: url("../img/footer_ha.svg") right 98px bottom 2px no-repeat;
	background-size: 59px auto;
}
.footer_nav {
	margin-top: 29px;
}
.footer_nav ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
}
.footer_nav ul li a {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	line-height: 1;
	padding: 10px 25px;
	color: #fff;
	display: block;
}
.footer_online {
	width: 313px;
	margin: 20px auto 0 auto;
}
.footer_online a {
	display: block;
	width: 313px;
	height: 57px;
	border-radius: 100vh;
	background-color: #EFE9DF;
	text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 26px;
	color: #54674D;
	border: solid 1px #707070;
}
.footer_online a:hover {
	background-color: #FFF079;
}
.footer_online a span {
	display: inline-block;
	line-height: 57px;
	padding-left: 40px;
	background: url("../img/footer_online_ha.svg") left center no-repeat;
}
.copy {
	width: 100%;
	height: 57px;
	background-color: #fff;
	text-align: center;
	line-height: 57px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 16px;
}

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

.footer_nav {
	display: none;
}
.footer_line span {
	background: url("../img/footer_ha.svg") right 36px bottom 2px no-repeat;
	background-size: 59px auto;
}
.copy {
	height: 97px;
}
}

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

.footer {
	padding: 40px 0 40px 0;
	width: 100%;
	background: url("../img/footer_back_sp.png") left -18px top 34px no-repeat;
	background-size: auto 100%;
	background-color: #54674D;
}
.footer_logo img {
	width: 156px;
	height: auto;
}
.footer_add {
	line-height: 1.5;
	margin-top: 16px;
}
.footer_tel {
	margin-top: 14px;
}
.footer_line {
	margin: 5px auto 0 auto;
	display: block;
	width: 100%;
	background: url("../img/footer_line_sp.svg") center bottom no-repeat;
}
.footer_line span {
	background: url("../img/footer_ha.svg") right 16px bottom 2px no-repeat;
	height: 40px;
	background-size: 46px auto;
}
.footer_online {
	width: 256px;
	margin: 30px auto 0 auto;
}
.footer_online a {
	display: block;
	width: 235px;
	height: 50px;
	font-size: 18px;
}
.footer_online a span {
	line-height: 48px;
	padding-left: 27px;
	background: url("../img/footer_online_ha.svg") left center no-repeat;
	background-size: 22px auto;
}
.copy {
	height: 87px;
	line-height: 47px;;
	font-size: 14px;
}
}

/* main
======================================================*/

.main {
	padding: 90px 0 0 0;
}

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

.main {
	padding: 68px 0 0 0;
}

}

/* top_view
======================================================*/

.top_view {
	padding: 52px 0 0 0;
	position: relative;
}
.top_logo {
	width: 100%;
	max-width: 1712px;
	position: absolute;
	top: 52px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	text-align: right;
	display: block;
	z-index: 10;
}
.top_cc {
	width: 100%;
	max-width: 1145px;
	height: 218px;
	margin: 0 auto;
	background: url("../img/top_cc_back.svg") left -71px top -33px no-repeat;
}
.top_cc p {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 50px;
	line-height: 1;
	color: #54674D;
	padding: 64px 0 0 147px;
}

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

.top_cc p {
	font-size: 3.125vw;
}

}

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

.top_view {
	padding: 42px 0 0 0;
	background: url("../img/top_cc_back.svg") left calc(( 100% - 360px ) / 2 ) top 60px no-repeat;
	background-size: 260px auto;
}
.top_logo {
	width: 100%;
	position: relative;
	top: auto;
	left: auto;
	text-align: center;
	transform: none;
	-webkit-transform: none;
}
.top_logo img {
	width: 200px;
	height: auto;
}
.top_cc {
	width: 100%;
	height: auto;
	margin: 20px auto 0 auto;
	background: none;
}
.top_cc p {
	font-size: 30px;
	line-height: 1.46;
	padding: 0px 0 0 0px;
	text-align: center;
}

}

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

.top_view {
	padding: 28px 0 0 0;
	background: url("../img/top_cc_back.svg") left calc(( 100% - 260px ) / 2 ) top 70px no-repeat;
	background-size: 230px auto;
}

.top_logo img {
	width: 144px;
	height: auto;
}
.top_cc {
	margin: 10px auto 0 auto;
}
}


/* product_info　スライド
======================================================*/

.top_slide_wrap {

}
#top-splide .splide__slide img {
	width: auto;
	height: 473px;
}

#top-splide_sp01,
#top-splide_sp02 {
	display: none;
}

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

.top_slide_wrap {
	margin-top: 33px;
}
#top-splide .splide__slide img {
	width: auto;
	height: 329px;
}

}

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

.top_slide_wrap {
	margin-top: 22px;
}
#top-splide {
	display: none;
}

#top-splide_sp01,
#top-splide_sp02 {
	display: block;
}

#top-splide_sp01 .splide__slide img,
#top-splide_sp02 .splide__slide img {
	width: auto;
	height: 185px;
}

#top-splide_sp02 {
	margin-top: 15px;
}

}

/* h2
======================================================*/

.h2 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 30px;
	line-height: 1;
	text-align: center;
	color: #54674D;
}

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

.h2 {
	font-size: 26px;
}

}


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

.h2 {
	font-size: 22px;
}

}

/* marugo
======================================================*/

.marugo {
	font-family: "Zen Maru Gothic", sans-serif;
	font-style: normal;
}

/* top_sc01
======================================================*/

.top_sc01 {
	background-color: #EFE9DF;
}

.top_sc01 .inner {
	width: 100%;
	max-width: 1960px;
	background: url("../img/top_sc01_back.svg") left bottom -50px no-repeat;
	padding: 103px 0 106px 0;
	margin: 0 auto;
}

.top_sc01 .head_txt {
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	line-height: 1.45;
	color: #FF6C00;
	margin-top: 33px;
}
.origin {
	position: relative;
	margin-top: 30px;
}

.origin div {
	position: relative;
	width: calc( 100% - 40px );
	margin: 0 0 0 auto;
	background-color: #FFFFFF;
	border-radius: 20px;
	padding: 30px 40px 30px 50px;
}
.origin div:not(:first-child) {
	margin-top: 18px;
}
.origin h3 {
	position: absolute;
	width: 77px;
	height: 77px;
	line-height: 73px;
	background-color: #fff;
	border-radius: 100%;
	display: block;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 40px;
	color: #54674D;
	top: calc(( 100% - 77px ) / 2 );
	left: -40px;
	text-align: center;
}
.origin dl dt {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	color: #FF6C00;
	line-height: 1;
}
.origin dl dd {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	margin-top: 9px;
	text-align: justify;
	word-break: break-all;
}

.about_sc01 {
	background-color: #ffffff;
}
.about_sc01 .origin div {
	background-color: #EFE9DF;
}
.origin h3 {
	background-color: #EFE9DF;
}

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

.top_sc01 .inner {
	background: url("../img/top_sc01_back.svg") left -120px bottom -50px no-repeat;
	background-size: 320px auto;
}

}

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

.top_sc01 .inner {
	background: none;
	padding: 80px 0 76px 0;
}

.top_sc01 .head_txt {
	font-size: 21px;
	margin-top: 28px;
}
.origin {
	position: relative;
	margin-top: 60px;
}
.origin div {
	width: 100%;
	margin: 0;
	border-radius: 15px;
	padding: 30px 30px 30px 30px;
}
.origin div:not(:first-child) {
	margin-top: 60px;
}
.origin h3 {
	position: absolute;
	width: 68px;
	height: 68px;
	line-height: 64px;
	font-size: 35px;
	top: -30px;
	left: calc(( 100% - 77px ) / 2 );
	text-align: center;
}

}

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

.top_sc01 .inner {
	padding: 50px 0 46px 0;
}
.top_sc01 .head_txt {
	font-size: 18px;
	line-height: 1.44;
	margin-top: 23px;
}
.origin {
	position: relative;
	margin-top: 50px;
}
.origin div {
	border-radius: 10px;
	padding: 30px 20px 30px 20px;
}
.origin div:not(:first-child) {
	margin-top: 50px;
}
.origin h3 {
	position: absolute;
	width: 60px;
	height: 60px;
	line-height: 56px;
	font-size: 30px;
	top: -30px;
	left: calc(( 100% - 60px ) / 2 );;
}
.origin dl dt {
	font-size: 18px;
}
.origin dl dd {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.875;
	margin-top: 9px;
}
}


/* top_sc02
======================================================*/

.top_sc02 {
	padding: 120px 0 240px 0;
	background-color: #fff;
	background: url("../img/top_sc02_back.svg") left bottom -1px repeat-x;
}
.top_sc02_01 {
	display: -webkit-flex;
	display: flex;
	width: 716px;
	gap: 0 52px;
	margin: 66px auto 0 auto;
}
.top_sc02_02 {
	display: -webkit-flex;
	display: flex;
	width: 1100px;
	gap: 0 52px;
	margin: 32px auto 0 auto;
}
.top_sc02_single {
	width: 332px;
	height: 310px;
	background: url("../img/top_sc02_en.png") center center no-repeat;
	background-size: cover;
	position: relative;
}
.top_sc02_single dl {
	text-align: center;
	padding: 67px 0 0 0;
}
.top_sc02_single dl dt {
	font-size: 20px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.45;
	color: #FF6C00;
}
.top_sc02_single dl dd {
	font-size: 16px;
	font-weight: 500;
	font-style: normal;
	line-height: 1.875;
	margin-top: 10px;
}

.top_sc02_single dl.type2 {
	padding: 88px 0 0 0;
}
.top_sc02_single dl.type2 dd {
	margin-top: 19px;
}

.sc02_img01 {
	display: block;
	width: 143px;
	height: 110px;
	background: url("../img/sc02_img01.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 11px;
	right: 4px;
}
.sc02_img02 {
	display: block;
	width: 111px;
	height: 96px;
	background: url("../img/sc02_img02.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 8px;
	right: -4px;
}
.sc02_img03 {
	display: block;
	width: 107px;
	height: 73px;
	background: url("../img/sc02_img03.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 28px;
	right: 0px;
}
.sc02_img04 {
	display: block;
	width: 97px;
	height: 73px;
	background: url("../img/sc02_img04.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 17px;
	right: 17px;
}
.sc02_img05 {
	display: block;
	width: 92px;
	height: 74px;
	background: url("../img/sc02_img05.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	bottom: 25px;
	right: 11px;
}

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

.top_sc02_02 {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 716px;
	gap: 32px 52px;
	margin: 32px auto 0 auto;
}

}

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

.top_sc02 {
	padding: 100px 0 220px 0;
	background: url("../img/top_sc02_back.svg") left bottom -10px repeat-x;
}
}

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

.top_sc02_01 {
	display: block;
	width: 332px;
	margin: 46px auto 0 auto;
}
.top_sc02_02 {
	display: block;
	width: 332px;
	margin: 0px auto 0 auto;
}
.top_sc02_single {
	margin-top: 30px;
}

}


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

.top_sc02 {
	padding: 80px 0 200px 0;
	background: url("../img/top_sc02_back.svg") left bottom -20px repeat-x;
}
.top_sc02_01 {
	width: 302px;
	margin: 34px auto 0 auto;
}
.top_sc02_02 {
	width: 302px;
	margin: 0px auto 0 auto;
}
.top_sc02_single {
	width: 302px;
	height: 282px;
	margin-top: 20px;
}
.top_sc02_single dl {
	text-align: center;
	padding: 67px 0 0 0;
}
.top_sc02_single dl dt {
	font-size: 18px;
	line-height: 1.44;
}
.top_sc02_single dl dd {
	font-size: 16px;;
	line-height: 1.5;
	margin-top: 15px;
}

.sc02_img01 {
	display: block;
	width: 130px;
	height: 100px;
	bottom: 10px;
	right: 4px;
}
.sc02_img02 {
	display: block;
	width: 100px;
	height: 86px;
	bottom: 7px;
	right: -3px;
}
.sc02_img03 {
	display: block;
	width: 97px;
	height: 66px;
	bottom: 25px;
	right: 0px;
}
.sc02_img04 {
	display: block;
	width: 89px;
	height: 66px;
	bottom: 15px;
	right: 15px;
}
.sc02_img05 {
	display: block;
	width: 84px;
	height: 67px;
	bottom: 23px;
	right: 10px;
}

}


/* link_btn
======================================================*/

.link_btn_top_sc01 {
	padding-top: 50px;
}
.link_btn_top_sc02 {
	padding-top: 90px;
}
.link_btn_top_inst {
	padding-top: 60px;
}
.link_btn_work_sc01 {
	padding-top: 40px;
}
.link_btn_thanks {
	padding-top: 70px;
}
.link_btn_404 {
	padding-top: 100px;
}
.link_btn_single {
	padding-top: 80px;
}

.link_btn a {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	width: 635px;
	height: 89px;
	border-radius: 100vh;
	background-color: #54674D;
	font-size: 24px;
	color: #fff;
	text-align: center;
	line-height: 89px;
	position: relative;
	transition: color 0.3s;
	margin: 0 auto;
}
.link_btn a:hover {
	color: #FFF079;
}

.link_btn a span {
	position: absolute;
	display: block;
	width: 64px;
	height: 89px;
	right: 66px;
	top: 0;
}
.link_btn a span::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 64px;
	height: 89px;
	background: url("../img/link_btn_on.svg") center bottom no-repeat;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.1s;
}
.link_btn a span::after {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 64px;
	height: 89px;
	background: url("../img/link_btn_off.svg") center bottom no-repeat;
	background-color: #54674D;
	z-index: 3;
	opacity: 1;
	transition: opacity 0.1s;
}
.link_btn a:hover span::before {
	opacity: 1;
}
.link_btn a:hover span::after {
	opacity: 0;
}

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

.link_btn_top_sc01 {
	padding-top: 40px;
}
.link_btn_top_sc02 {
	padding-top: 70px;
}
.link_btn_top_inst {
	padding-top: 45px;
}
.link_btn_work_sc01 {
	padding-top: 30px;
}
.link_btn_thanks {
	padding-top: 52px;
}
.link_btn_404 {
	padding-top: 75px;
}
.link_btn_single {
	padding-top: 60px;
}

.link_btn a {
	width: 468px;
	height: 74px;
	line-height: 74px;
	font-size: 20px;
}
.link_btn a span {
	position: absolute;
	display: block;
	width: 42px;
	height: 74px;
	right: 36px;
	top: 0;
}
.link_btn a span::before {
	width: 42px;
	height: 74px;
	background: url("../img/link_btn_on.svg") center bottom no-repeat;
	background-size: 42px auto;
}
.link_btn a span::after {
	width: 42px;
	height: 74px;
	background: url("../img/link_btn_off.svg") center bottom no-repeat;
	background-size: 42px auto;
	background-color: none;
}


}

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

.link_btn_top_sc01 {
	padding-top: 30px;
}
.link_btn_top_sc02 {
	padding-top: 50px;
}
.link_btn_top_inst {
	padding-top: 30px;
}
.link_btn_work_sc01 {
	padding-top: 20px;
}
.link_btn_thanks {
	padding-top: 35px;
}
.link_btn_404 {
	padding-top: 50px;
}
.link_btn_single {
	padding-top: 40px;
}

.link_btn a {
	width: 302px;
	height: 60px;
	font-size: 16px;
	line-height: 60px;
}
.link_btn a span {
	position: absolute;
	display: block;
	width: 42px;
	height: 60px;
	right: 18px;
	top: 0;
}
.link_btn a span::before {
	width: 42px;
	height: 60px;
	background: url("../img/link_btn_on.svg") center bottom no-repeat;
	background-size: 42px auto;
}
.link_btn a span::after {
	width: 42px;
	height: 60px;
	background: url("../img/link_btn_off.svg") center bottom no-repeat;
	background-size: 42px auto;
	background-color: none;
}

}

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

.link_btn a {
	width: 280px;
}

}


/* top_inst
======================================================*/

.top_inst {
	padding: 54px 0 72px 0;
	background-color: #EFE9DF;
}
.inst_timeline {
	margin-top: 60px;
}

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

.top_inst {
	padding: 30px 0 60px 0;
}
.inst_timeline {
	margin-top: 45px;
}

}

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

.top_inst {
	padding: 0px 0 49px 0;
}
.inst_timeline {
	margin-top: 30px;
}

}


/* top_blog blog_list
======================================================*/

.top_blog {
	padding: 110px 0 180px 0;
}

.top_blog_list {
	margin-top: 58px;
}
.page_blog_list {
	margin-top: 100px;
}

.blog_list ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 60px 16px;
}
.blog_list ul li {
	width: calc(( 100% - 32px ) / 3 );
}
.blog_list ul li .sn {
	display: block;
}
.blog_list ul li .sn img {
	aspect-ratio: 356 / 237;
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.blog_list ul li div {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	gap: 0 12px;
	margin-top: 15px;
}
.blog_list ul li div .ct {
	display: block;
	width: 122px;
	height: 28px;
	text-align: center;
	line-height: 28px;
	border-radius: 100vh;
	background-color: #54674D;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
}
.blog_list ul li div .date {
	font-weight: 700;
	font-size: 16px;
	color: #333333;
	line-height: 1;
}
.blog_list ul li p {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.45;
	color: #333333;
	margin-top: 12px;
}

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

.top_blog {
	padding: 95px 0 130px 0;
}
.top_blog_list {
	margin-top: 35px;
}
.page_blog_list {
	margin-top: 75px;
}

.blog_list ul {
	gap: 45px 10px;
}
.blog_list ul li div {
	gap: 0 12px;
	margin-top: 18px;
}
.blog_list ul li p {
	font-size: 18px;
	line-height: 1.44;
	margin-top: 16px;
}

}

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

.top_blog_list {
	margin: 35px auto 0 auto;
	width: 100%;
	max-width: 640px;
}

.blog_list ul {
	display: block;
}
.blog_list ul li {
	width: 100%;
}
.blog_list ul li:not(:first-child) {
	margin-top: 45px;
}

}


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

.top_blog {
	padding: 80px 0 80px 0;
}

.top_blog_list {
	margin-top: 35px;
}
.page_blog_list {
	margin-top: 50px;
}

.blog_list ul li:not(:first-child) {
	margin-top: 20px;
}
}


/* top_access
======================================================*/

.top_access {
	padding: 0px 0 200px 0;
}
.top_access .gmap {
	margin-top: 43px;
}
.top_access .gmap iframe {
	width: 100%;
	height: 356px;
}
.top_access p {
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	margin-top: 27px;
}


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

.top_access {
	padding: 0px 0 160px 0;
}
.top_access p {
	font-size: 16px;
	line-height: 1.875;
	margin-top: 22px;
}
}


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

.top_access {
	padding: 0px 0 120px 0;
}

}


/* page_header
======================================================*/

.page_header {
	width: 100%;
	height: 332px;
	background-color: #EFE9DF;
	position: relative;
}

.page_header_container_wrap {
	width: 100%;
}
.page_header_container_wrap div {
	width: calc( 100% - (( 100% - 1294px ) / 2 ));
	max-width: 100%;
	height: 44px;
	margin: 0 0 0 auto;
	background: url("../img/header_line.svg") left bottom repeat-x;
	position: relative;
}
.page_header_container_wrap div span {
	width: 59px;
	height: 41px;
	display: block;
	background: url("../img/page_hd_ha.svg") left bottom no-repeat;
	margin-left: 97px;
}

.topic_path {
	position: relative;
}
.topic_path p {
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
	color: #333333;
	padding-top: 24px;
}
.topic_path p a {
	color: #333333;
	transition: color 0.3s;
}
.topic_path p a:hover {
	color: #999;
}
.topic_path p .ar {
	position: relative;
	display: inline-block;
	padding: 0 0.3em;
	top: -2px;
}
.page_header h1 {
	padding: 110px 0 0 0;
	text-align: center;
	font-weight: 700;
	font-size: 36px;
	color: #54674D;
}
.page_header.page_header_thanks h1 br {
	display: none;
}
.page_header h1 .h1_blog_ct {
	font-size: 20px;
}
.header_img {
	width: 533px;
	height: 332px;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
}
.page_header_about .header_img {
	background: url("../img/header01.png") left top no-repeat;
	background-size: cover;
}
.page_header_guide .header_img {
	background: url("../img/header02.png") left top no-repeat;
	background-size: cover;
}
.page_header_work .header_img {
	background: url("../img/header03.png") left top no-repeat;
	background-size: cover;
}
.page_header_partner .header_img {
	background: url("../img/header04.png") left top no-repeat;
	background-size: cover;
}
.page_header_online .header_img {
	background: url("../img/header05.png") left top no-repeat;
	background-size: cover;
}
.page_header_contact .header_img {
	background: url("../img/header06.png") left top no-repeat;
	background-size: cover;
}
.page_header_pp .header_img {
	background: url("../img/header07.png") left top no-repeat;
	background-size: cover;
}
.page_header_404 .header_img {
	background: url("../img/header08.png") left top no-repeat;
	background-size: cover;
}
.page_header_blog .header_img {
	background: url("../img/header09.png") left top no-repeat;
	background-size: cover;
}

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

.page_header.page_header_thanks h1 {
	padding: 40px 0 0 0;
}
.page_header.page_header_thanks h1 br {
	display: block;
}

}

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

.header_img {
	width: 35.53%;
	height: 332px;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
}

}

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

.page_header {
	height: 280px;
}
.header_img {
	width: 35.53%;
	height: 280px;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
}

.page_header h1 {
	padding: 90px 0 0 0;
	font-size: 30px;
}
.page_header h1 .h1_blog_ct {
	font-size: 18px;
}
}

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

.page_header {
	height: 134px;
}
.topic_path {
	display: none;
}
.page_header h1 {
	padding: 33px 0 0 0;
	text-align: left;
	font-size: 24px;
}
.page_header.page_header_thanks h1 {
	padding: 33px 0 0 0;
}
.page_header.page_header_thanks h1 br {
	display: none;
}
.page_header_container_wrap div {
	width: 100%;
	height: 26px;
	margin: 20px 0 0 0;
	background: url("../img/header_line_sp.svg") left bottom no-repeat;
	position: relative;
}
.page_header_container_wrap div span {
	display: none;
}

.header_img {
	width: 146px;
	height: 134px;
	display: block;
}
.page_header_about .header_img {
	background: url("../img/header01_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_guide .header_img {
	background: url("../img/header02_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_work .header_img {
	background: url("../img/header03_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_partner .header_img {
	background: url("../img/header04_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_online .header_img {
	background: url("../img/header05_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_contact .header_img {
	background: url("../img/header06_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_pp .header_img {
	background: url("../img/header07_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_404 .header_img {
	background: url("../img/header08_sp.png") left top no-repeat;
	background-size: cover;
}
.page_header_blog .header_img {
	background: url("../img/header09_sp.png") left top no-repeat;
	background-size: cover;
}

}

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

.page_header.page_header_thanks h1 {
	padding: 20px 0 0 0;
	font-size: 16px;
}
.page_header.page_header_thanks h1 br {
	display: block;
}
.page_header.page_header_pp h1 {
	font-size: 18px;
}
.page_header h1 .h1_blog_ct {
	font-size: 16px;
}

}

/* about_sc02
======================================================*/

.about_sc02 {
	padding: 0 0 110px 0;
}
.about_sc02 h2 + h3 {
	margin-top: 54px;
}
.about_sc02 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	text-align: center;
	color: #FF6C00;
}
.about_sc02 .txt01 {
	font-weight: 500;
	text-align: center;
	font-size: 18px;
	line-height: 1.77;
	margin-top: 23px;
}
.about_sc02 .txt01 p:nth-of-type(2) {
	margin-top: 1.5em;
}
.about_sc02 h4 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	background-color: #EFE9DF;
	border-radius: 100vh;
	height: 42px;
	line-height: 42px;
	text-align: center;
	letter-spacing: 1em;
	text-indent: 1em;
	text-align: center;
	margin-top: 40px;
}
.about_sc02 ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	gap: 16px;
	margin-top: 20px;
}
.about_sc02 ul li {
	width: calc( 100% - 32px );
}
.about_sc02 ul li img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

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

.about_sc02 {
	padding: 0 0 100px 0;
}
.about_sc02 h2 + h3 {
	margin-top: 38px;
}
.about_sc02 h3 {
	font-size: 21px;
}
.about_sc02 .txt01 {
	font-size: 16px;
	line-height: 1.875;
	text-align: left;
}

}

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

.about_sc02 {
	padding: 0 0 90px 0;
}
.about_sc02 h2 + h3 {
	margin-top: 22px;
}
.about_sc02 h3 {
	font-size: 18px;
	line-height: 1.44;
}
.about_sc02 .txt01 {
	margin-top: 22px;
}
.about_sc02 h4 {
	font-size: 18px;
	height: 60px;
	line-height: 60px;
	margin-top: 40px;
}
.about_sc02 ul {
	display: block;
	margin-top: 0px;
}
.about_sc02 ul li {
	width: 100%;
	margin-top: 20px;
}
.about_sc02 ul li.gaikan01 {
	text-align: center;
}
.about_sc02 ul li.gaikan01 img {
	width: 66.56%;
	height: auto;
}

}


/* about_sc03
======================================================*/

.about_sc03 {
	padding: 0 0 110px 0;
}
.about_sc03 .img {
	margin-top: 47px;
}
.about_sc03 .img img {
	border-radius: 20px;
	width: 100%;
	height: auto;
}
.about_sc03 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1.66;
	text-align: center;
	color: #FF6C00;
	margin-top: 12px;
}
.about_sc03 .txt {
	margin-top: 15px;
}
.about_sc03 .txt p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	text-align: center;
}
.about_sc03 .txt p:nth-of-type(2) {
	margin-top: 1.5em;
}

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

.about_sc03 .txt p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	text-align: left;
}

}


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

.about_sc03 {
	padding: 0 0 95px 0;
}
.about_sc03 h3 {
	font-size: 21px;
}
.about_sc03 .img {
	margin-top: 38px;
}

.about_sc03 .txt p {
	font-size: 16px;
	line-height: 1.875;
}
}


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

.about_sc03 {
	padding: 0 0 80px 0;
}
.about_sc03 h3 {
	font-size: 18px;
	line-height: 1.44;
}
.about_sc03 .img {
	margin-top: 35px;
}

}


/* about_sc04
======================================================*/

.about_sc04 {
	padding: 70px 0 85px 0;
	background-color: #dce0da;
}
.about_sc04 .inner {
	max-width: 1920px;
	background: url("../img/bar_back.svg") right top 48px no-repeat;
	margin: 0 auto;
}
.about_sc04 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	text-align: center;
	color: #FF6C00;
	margin-top: 55px;
}
.about_sc04 .txt {
	margin-top: 23px;
}
.about_sc04 .txt p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	text-align: center;
}
.about_sc04 .txt p:nth-of-type(2) {
	margin-top: 1.5em;
}
.bar_info {
	display: -webkit-flex;
	display: flex;
	gap: 0 16px;
	margin-top: 45px;
}
.bar_info div {
	width: calc(( 100% - 32px ) / 3 );
}
.bar_info div .img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.bar_info div p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.88;
	margin-top: 27px;
}
.bar_info div p span {
	display: block;
	color: #FF6C00;
}
.bar_info div a {
	display: block;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	padding-left: 26px;
	background: url("../img/inst_list.svg") left center no-repeat;
	min-height: 22px;
	line-height: 22px;
}
.bar_info div a span {
	text-decoration: underline;
	color: #333;
}

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

.about_sc04 .inner {
	background-size: 30.9% auto;
}

}

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

.bar_info div p {
	font-size: 16px;
	line-height: 1.875;
}
.bar_info div a {
	font-size: 15px;
}

}

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

.about_sc04 {
	padding: 60px 0 0px 0;
}
.about_sc04 .inner {
	background: url("../img/bar_back.svg") center bottom 66px no-repeat;
	background-size: 390px auto;
	padding-bottom: 330px;
}

.about_sc04 h3 {
	font-size: 21px;
	margin-top: 37px;
}
.about_sc04 .txt {
	margin-top: 20px;
}
.about_sc04 .txt p {
	font-weight: 500;
	font-size: 16px;
	line-height: 1.77;
	text-align: center;
}
.bar_info {
	display: block;
	margin-top: 45px;
	width: 100%;
	max-width: 460px;
	margin: 45px auto 0 auto;
}
.bar_info div {
	width: 100%;
}
.bar_info div:not(:first-child) {
	margin-top: 45px;
}

.bar_info div p {
	margin-top: 5px;
}

}

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

.about_sc04 .txt p {
	text-align: left;
}

}

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

.about_sc04 {
	padding: 50px 0 0px 0;
}

.about_sc04 h3 {
	font-size: 18px;
	line-height: 1.44;
	margin-top: 20px;
}
.about_sc04 .txt {
	margin-top: 18px;
}

}


/* about_sc05
======================================================*/

.about_sc05 {
	padding: 100px 0 100px 0;
}
.cp_info {
	width: 100%;
	max-width: 640px;
	margin: 46px auto 0 auto;
	border-bottom: solid 1px #707070;
}
.cp_info dl {
	display: -webkit-flex;
	display: flex;
	border-top: solid 1px #707070;
}
.cp_info dl dt {
	width: 130px;
	background-color: #EFE9DF;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 18px;
	line-height: 1;
	padding: 20px 0 20px 20px;
}
.cp_info dl dd {
	width: calc( 100% - 130px );
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	padding: 20px 0 20px 20px;
}
.cp_info dl dd a {
	color: #333;
}
@media screen and (max-width: 1024px) {

.about_sc05 {
	padding: 80px 0 80px 0;
}
.cp_info dl dt {
	width: 120px;
	font-size: 16px;
}
.cp_info dl dd {
	width: calc( 100% - 120px );
	font-size: 16px;
}

}

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

.about_sc05 {
	padding: 60px 0 60px 0;
}
.cp_info {
	margin: 30px auto 0 auto;
}
.cp_info dl {
	display: block;
	border-top: solid 1px #707070;
}
.cp_info dl dt {
	width: 100%;
	line-height: 1;
	padding: 7px 0 7px 14px;
}
.cp_info dl dd {
	width: 100%;
	line-height: 1.875;
	padding: 5px 0 5px 14px;
}

}


/* guide_sc01
======================================================*/

.guide_sc01 {
	padding: 100px 0 120px 0;
}
.guide_sc01 p {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #FF6C00;
	text-align: center;
	margin-top: 40px;
}

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

.guide_sc01 {
	padding: 75px 0 90px 0;
}
.guide_sc01 p {
	font-size: 21px;
	line-height: 1.44;
	margin-top: 30px;
}
}

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

.guide_sc01 {
	padding: 50px 0 60px 0;
}
.guide_sc01 p {
	font-size: 18px;
	margin-top: 20px;
}

}


/* guide_sc02
======================================================*/

.guide_sc02 {
	padding: 0px 0 130px 0;
}
.guide_sc02 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #FF6C00;
	text-align: center;
	margin-top: 40px;
}
.guide_sc02 p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.66;
	text-align: center;
	margin-top: 20px;
}

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

.guide_sc02 {
	padding: 0px 0 98px 0;
}
.guide_sc02 h3 {
	font-size: 21px;
	margin-top: 30px;
}
.guide_sc02 p {
	font-size: 16px;
	margin-top: 15px;
}
}

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

.guide_sc02 {
	padding: 0px 0 65px 0;
}
.guide_sc02 h3 {
	font-size: 18px;
	margin-top: 20px;
}
.guide_sc02 p {
	margin-top: 10px;
}
}


/* guide_sc03
======================================================*/

.guide_sc03 {
	padding: 0px 0 140px 0;
}
.guide_sc03 .head_txt {
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	margin-top: 40px;
}
.one_day {
	margin-top: 30px;
}
.one_day dl {
	background-color: #EFE9DF;
	border-radius: 20px;
	display: -webkit-flex;
	display: flex;
	padding: 38px 0 38px 30px;
}
.one_day dl:not(:first-child) {
	margin-top: 20px;
}
.one_day dl dt {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	color: #54674D;
	line-height: 1;
	width: 120px;
}
.one_day dl dd {
	width: calc( 100% - 120px );
}
.one_day dl dd span {
	display: -webkit-flex;
	display: flex;
}
.one_day dl dd span:nth-of-type(1) {
	display: inline-block;
	font-weight: 700;
	color: #54674D;
	font-size: 18px;
}
.one_day dl dd span:nth-of-type(2) {
	display: inline-block;
	font-weight: 500;
	color: #333333;
	font-size: 18px;
}
.guide_sc03 ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 26px 23px;
	margin-top: 36px;
}
.guide_sc03 ul li {
	width: calc(( 100% - 46px ) / 3 );
}
.guide_sc03 ul li img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}
@media screen and (max-width: 1200px) {

.one_day dl dd {
	box-sizing: border-box;
	padding-right: 30px;
	padding-left: 3.3em;
	text-indent: -3.3em;
}
.one_day dl dd span:nth-of-type(1) {
	display: block;
}
.one_day dl dd span:nth-of-type(2) {
	display: block;
	margin-top: 10px;
}

}


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

.guide_sc03 {
	padding: 0px 0 105px 0;
}
.guide_sc03 .head_txt {
	font-size: 16px;
	margin-top: 30px;
}
.one_day dl {
	background-color: #EFE9DF;
	border-radius: 20px;
	display: -webkit-flex;
	display: flex;
	padding: 20px 0 20px 20px;
}
.one_day dl dt {
	font-size: 20px;
	width: 90px;
}
.one_day dl dd {
	width: calc( 100% - 90px );
	padding-right: 20px;
}
.one_day dl dd span:nth-of-type(1) {
	font-size: 16px;
}
.one_day dl dd span:nth-of-type(2) {
	font-size: 16px;
}
.guide_sc03 ul {
	gap: 12px 12px;
	margin-top: 27px;
}
.guide_sc03 ul li {
	width: calc(( 100% - 24px ) / 2 );
}
.guide_sc03 ul li img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

}

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

.guide_sc03 {
	padding: 0px 0 70px 0;
}
.guide_sc03 .head_txt {
	margin-top: 20px;
}
.one_day dl {
	display: block;
	padding: 16px 16px 16px 16px;
}
.one_day dl dt {
	font-size: 20px;
	width: 100%;
}
.one_day dl dd {
	width: 100%;
	padding-right: 0px;
	margin-top: 10px;
}
.one_day dl dd span:nth-of-type(2) {
	margin-top: 6px;
}

.guide_sc03 ul {
	gap: 12px 12px;
	margin-top: 18px;
}
.guide_sc03 ul li {
	width: 100%;
}
.guide_sc03 ul li img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

}


/* guide_sc04
======================================================*/

.guide_sc04 {
	padding: 0px 0 150px 0;
}
.flow {
	margin-top: 30px;
}
.flow ol {
	list-style: none;
	position: relative;
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	gap: 0 16px;
	counter-reset: number 0;
}
.flow ol li {
	width: calc(( 100% - 188px ) / 4 );
	box-sizing: border-box;
	border-radius: 20px;
	padding: 82px 0 30px 51px;
	margin-left: 35px;
	position: relative;
}
.flow ol li:nth-of-type(1) {
	background: url("../img/flow01.svg") center top 20px no-repeat;
	background-color: #FFF8C4;
}
.flow ol li:nth-of-type(2) {
	background: url("../img/flow02.svg") center top 20px no-repeat;
	background-color: #FFF49D;
}
.flow ol li:nth-of-type(3) {
	background: url("../img/flow03.svg") center top 20px no-repeat;
	background-color: #FFF079;
}
.flow ol li:nth-of-type(4) {
	background: url("../img/flow04.svg") center top 20px no-repeat;
	background-color: #FFE834;
}
.flow ol li .no {
	display: block;
	width: 77px;
	height: 77px;
	text-align: center;
	line-height: 77px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 34px;
	color: #54674D;
	background-color: #fff;
	border-radius: 100%;
	position: absolute;
	left: -35px;
	top: calc(( 100% - 77px ) / 2 );
}
.flow ol li .no:before {
	counter-increment: number 1;
	content: "0"counter(number) " ";
}
.flow ol li dl dt {
	font-size: 24px;
	line-height: 1;
	color: #333;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.flow ol li dl dd {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.66;
	margin-top: 7px;
}

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

.flow ol {
	width: 100%;
	max-width: 542px;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 50px 16px;
	margin: 0 auto 0 auto;
}
.flow ol li {
	width: calc(( 100% - 102px ) / 2 );
}

}

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

.guide_sc04 {
	padding: 0px 0 113px 0;
}
.flow ol li dl dt {
	font-size: 20px;
}
.flow ol li dl dd {
	font-size: 16px;
	margin-top: 7px;
}
}

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

.guide_sc04 {
	padding: 0px 0 75px 0;
}
.flow ol {
	width: 100%;
	max-width: 263px;
	gap: 20px 0px;
	margin: 0 auto 0 auto;
}
.flow ol li {
	width: 100%;
	padding: 82px 0 30px 60px;
}
}


/* guide_sc05
======================================================*/

.guide_sc05 {
	padding: 0px 0 200px 0;
}
.qa {
	border-top: solid 1px #333;
	margin-top: 36px;
}
.qa dl {
	border-bottom: solid 1px #333;
}
.qa dl dt {
	position: relative;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	padding: 34px 0 20px 47px;
}
.qa dl dd {
	position: relative;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	padding: 0px 0 20px 47px;
}
.qa dl dt::before {
	content:"Q.";
	display: block;
	position: absolute;
	top: 30px;
	left: 0px;
	width: 1em;
	height: 1em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	color: #54674D;
}
.qa dl dd::before {
	content:"A.";
	display: block;
	position: absolute;
	top: 4px;
	left: 0px;
	width: 1em;
	height: 1em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	color: #FF6C00;
}
.qa dl dd a {
	color: #333;
}

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

.guide_sc05 {
	padding: 0px 0 150px 0;
}
.qa {
	margin-top: 27px;
}
.qa dl dt {
	font-size: 16px;
	line-height: 1;
	padding: 24px 0 14px 36px;
}
.qa dl dd {
	font-size: 16px;
	padding: 0px 0 20px 36px;
}
.qa dl dt::before {
	top: 22px;
	font-size: 20px;
}
.qa dl dd::before {
	font-size: 20px;
}
}

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

.guide_sc05 {
	padding: 0px 0 100px 0;
}
.qa {
	margin-top: 18px;
}
.qa dl dt {
	font-size: 16px;
	line-height: 1.77;
	padding: 18px 0 10px 36px;
}

}


/* work_sc01
======================================================*/

.work_sc01 {
	padding: 110px 0 200px 0;
}

.work_sc01 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #FF6C00;
	text-align: center;
	margin-top: 40px;
}
.work_sc01 p.head_txt {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	text-align: center;
	margin-top: 23px;
}
.work_sc01 h4 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	line-height: 42px;
	height: 42px;
	border-radius: 100vh;
	background-color: #EFE9DF;
	text-align: center;
	margin-top: 50px;
}
.work_sc01 h4:nth-of-type(1) {
	margin-top: 43px;
}
.work_single {
	display: -webkit-flex;
	display: flex;
	gap: 0 40px;
	margin-top: 38px;
}
.work_single .img {
	display: block;
	width: 474px;
}
.work_single .img img {
	width: 474px;
	height: auto;
	border-radius: 20px;
}
.work_single dl dt {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	line-height: 1.45;
	color: #FF6C00;
	padding: 4px 0 0 0;
}
.work_single dl dd {
	margin-top: 20px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
}

.work_sc01 p.foot_txt {
	font-weight: 700;
	font-size: 20px;
	line-height: 2;
	text-align: center;
	margin-top: 120px;
}

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

.work_sc01 {
	padding: 83px 0 80px 0;
}
.work_sc01 h3 {
	font-size: 21px;
	margin-top: 30px;
}
.work_sc01 p.head_txt {
	font-size: 16px;
	margin-top: 20px;
}
.work_sc01 h4 {
	font-size: 22px;
	line-height: 40px;
	height: 40px;
	margin-top: 38px;
}
.work_single {
	gap: 0 20px;
	margin-top: 30px;
}
.work_single .img {
	width: 360px;
}
.work_single .img img {
	width: 360px;
}
.work_single dl dt {
	font-size: 18px;
	padding: 4px 0 0 0;
}
.work_single dl dd {
	margin-top: 16px;
	font-size: 16px;
}
.work_sc01 p.foot_txt {
	font-size: 16px;
	margin-top: 80px;
}

}

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

.work_sc01 p.head_txt {
	text-align: left;
}
.work_single {
	display: block;
	margin-top: 20px;
	width: 100%;
	max-width: 640px;
	margin: 30px auto 0 auto;
}
.work_single .img {
	width: 100%;
}
.work_single .img img {
	width: 100%;
}
.work_single dl {
	margin-top: 10px;
}
}

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

.work_sc01 {
	padding: 55px 0 60px 0;
}

.work_sc01 h3 {
	font-size: 18px;
	margin-top: 20px;
}
.work_sc01 h4 {
	font-size: 20px;
	line-height: 38px;
	height: 38px;
	margin-top: 25px;
}
.work_sc01 p.foot_txt {
	font-size: 16px;
	margin-top: 60px;
	text-align: left;
	padding-left:1em;
	text-indent:-1em;
	line-height: 1.6;
}
.work_sc01 p.foot_txt br {
	display: none;
}

}


/* partner_sc01
======================================================*/

.partner_sc01 {
	padding: 110px 0 200px 0;
}

.partner_sc01 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #FF6C00;
	text-align: center;
	margin-top: 40px;
}
.partner_list {
	margin-top: 40px;
}
.partner_list ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	gap: 78px 0;
}
.partner_list ul li {
	width: 50%;
	box-sizing: border-box;
}
.partner_list ul li:nth-of-type(odd) {
	border-right: solid 1px #54674D;
}
.partner_list ul li:nth-of-type(even) {
	padding-left: 69px;
}
.partner_list dl dt {
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
}
.partner_list dl dd {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	margin-top: 18px;
}
.pt_link {
	display: block;
	width: 263px;
	height: 67px;
	text-align: center;
	line-height: 67px;
	border-radius: 100vh;
	background-color: #EFE9DF;
	color: #333;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	margin-top: 32px;
}
.etc {
	text-align: center;
	line-height: 1;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 40px;
	color: #FF6C00;
	margin-top: 49px;
}

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

.partner_list dl dt {
	font-size: 18px;
}
.partner_list dl dd {
	font-size: 16px;
}

}

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

.partner_sc01 {
	padding: 83px 0 80px 0;
}
.partner_sc01 h3 {
	font-size: 21px;
	margin-top: 30px;
}
.partner_list ul {
	gap: 60px 0;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}
.partner_list ul li {
	width: 100%;
}
.partner_list ul li:nth-of-type(odd) {
	border-right: solid 0px #54674D;
}
.partner_list ul li:nth-of-type(even) {
	padding-left: 0px;
}
.partner_list dl dd br {
	display: none;
}
.pt_link {
	margin-top: 20px;
}
.etc {
	font-size: 30px;
	margin-top: 30px;
}
}

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

.partner_sc01 {
	padding: 55px 0 60px 0;
}

.partner_sc01 h3 {
	font-size: 18px;
	margin-top: 20px;
}
.partner_list ul {
	gap: 46px 0;
}
.partner_list dl dd {
	margin-top: 10px;
}
.pt_link {
	display: block;
	width: 240px;
	height: 50px;
	line-height: 50px;
	font-size: 18px;
	margin-top: 20px;
}
}


/* online_sc01
======================================================*/

.online_sc01 {
	padding: 110px 0 110px 0;
}

.online_sc01 h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1.45;
	color: #FF6C00;
	text-align: center;
	margin-top: 40px;
}
.online_sc01 .soon {
	margin-top: 34px;
}
.online_sc01 .soon img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

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

.online_sc01 {
	padding: 83px 0 83px 0;
}
.online_sc01 h3 {
	font-size: 21px;
	margin-top: 30px;
}

}

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

.online_sc01 {
	padding: 55px 0 55px 0;
}

.online_sc01 h3 {
	font-size: 18px;
	margin-top: 20px;
}
.online_sc01 .soon {
	margin-top: 20px;
}
}


/* online_sc02
======================================================*/

.online_sc02 {
	padding: 0px 0 200px 0;
}
.online_sc02 h3 {
	border-radius: 100vh;
	background-color: #EFE9DF;
	width: 100%;
	height: 42px;
	line-height: 42px;
	text-align: center;
}
.online_sc02 h3:nth-of-type(1) {
	margin-top: 34px;
}
.online_sc02 h3:nth-of-type(2) {
	margin-top: 70px;
}
.online_sc02 .img_txt {
	display: -webkit-flex;
	display: flex;
	gap: 0 50px;
	margin-top: 25px;
}
.online_sc02 .img_txt .img {
	width: 372px;
}
.online_sc02 .img_txt .img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}
.online_sc02 .img_txt .txt {
	width: calc( 100% - 422px );
}
.online_sc02 .img_txt .txt h5 {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	color: #FF6C00;
}
.online_sc02 .img_txt .txt h5 + p {
	margin-top: 6px;
}
.online_sc02 .img_txt .txt p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
}
.online_sc02 .img_txt01 {
	background: url("../img/online_sc02_back01.svg") right 29px bottom no-repeat;
}
.online_sc02 .img_txt02 {
	margin-top: 60px;
	padding: 0;
}
.online_sc02 .img_txt03 {
	background: url("../img/online_sc02_back02.svg") right 29px bottom no-repeat;
}
.online_sc02 h4 {
	position: relative;
	margin-top: 54px;
	text-align: center;
}
.online_sc02 h4 span {
	font-weight: 700;
	font-size: 24px;
	height: 27px;
	line-height: 27px;
	display: inline-block;
	position: relative;
	padding: 0 40px;
	background-image: url("../img/online_sc02_i01.svg"), url("../img/online_sc02_i02.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: left center, right center;
}

.df_set {
	width: calc( 100% - 64px );
	margin: 30px auto 0 auto;
	display: -webkit-flex;
	display: flex;
	gap: 0 74px;
}
.df_set div {
	width: calc(( 100% - 148px ) / 3 );
}
.df_set div p {
	text-align: center;
}
.df_set div p img {
	width: 100%;
	max-width: 263px;
	height: auto;
}
.df_set div dl {
	margin-top: 35px;
}
.df_set div dl dt {
	width: 100%;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
	line-height: 1;
	font-size: 20px;
	color: #FF6C00;
}
.df_set div dl dd {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.77;
	margin-top: 11px;
}

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

.online_sc02 .img_txt01 {
	background: url("../img/online_sc02_back01.svg") right 29px bottom no-repeat;
	background-size: 100px auto;
}
.online_sc02 .img_txt03 {
	background: url("../img/online_sc02_back02.svg") right 29px bottom no-repeat;
	background-size: 80px auto;
}
.online_sc02 .img_txt .txt p {
	font-size: 16px;
}

.df_set div dl dt {
	font-size: 18px;
}
.df_set div dl dd {
	font-size: 16px;
	margin-top: 11px;
}
}

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

.online_sc02 {
	padding: 0px 0 150px 0;
}
.online_sc02 h3 {
	font-size: 22px;
	line-height: 40px;
	height: 40px;
}
.online_sc02 .img_txt .txt h5 {
	font-size: 18px;
}
.df_set {
	width: 100%;
	margin: 30px auto 0 auto;
	gap: 0 30px;
}
.df_set div {
	width: calc(( 100% - 60px ) / 3 );
}
.df_set div dl {
	margin-top: 26px;
}

}

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

.online_sc02 .img_txt {
	display: block;
	width: 100%;
	max-width: 460px;
	margin: 25px auto 0 auto;
}
.online_sc02 .img_txt .img {
	width: 100%;
	max-width: 372px;
	margin: 0 auto;
}
.online_sc02 .img_txt .txt {
	width: 100%;
	margin-top: 20px;
}
.online_sc02 .img_txt01 {
	background: url("../img/online_sc02_back01.svg") center bottom no-repeat;
	background-size: 80px auto;
	padding-bottom: 80px;
}
.online_sc02 .img_txt03 {
	background: url("../img/online_sc02_back02.svg") center bottom no-repeat;
	background-size: 60px auto;
	padding-bottom: 80px;
}
.df_set {
	display: block;
	width: 100%;
	max-width: 460px;
	margin: 30px auto 0 auto;
}
.df_set div {
	width: 100%;
}
.df_set div:not(:first-child) {
	margin-top: 60px;
}

}


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

.online_sc02 {
	padding: 0px 0 100px 0;
}
.online_sc02 h3 {
	font-size: 20px;
	line-height: 38px;
	height: 38px;
}
.online_sc02 h3:nth-of-type(2) {
	margin-top: 40px;
}

.online_sc02 h4 {
	position: relative;
	margin-top: 36px;
	text-align: center;
}
.online_sc02 h4 span {
	font-size: 18px;
}

.df_set div:not(:first-child) {
	margin-top: 36px;
}
.df_set div dl {
	margin-top: 20px;
}
.df_set div dl dd {
	font-size: 16px;
	margin-top: 10px;
}

.online_sc02 .img_txt02 {
	margin-top: 40px;
}

}


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

.online_sc02 h4 span {
	font-size: 16px;
}

}



/* contact
======================================================*/

.bn_faq {
	padding: 90px 0 100px 0;
}

.bn_faq_wrap {
	padding: 10px 0 0 0;
	position: relative;
}
.bn_faq a {
	display: block;
	position: relative;
	top: 0;
	transition: top 0.4s;
}
.bn_faq a:hover {
	display: block;
	position: relative;
	top: -10px;
}
.bn_faq a img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	border: solid 1px #54674D;
	box-sizing: border-box;
}
.contact_head_set {
	display: -webkit-flex;
	display: flex;
	gap: 0 128px;
	background: url("../img/contact_head_line.svg") center top no-repeat;
	padding: 7px 0 20px 0;
}
.contact_head_set div {
	width: calc(( 100% - 128px ) / 2 );
}
.contact_head_set .contact_tel {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 120px;
	border-radius: 20px;
	background-color: #EFE9DF;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
	color: #54674D;
	margin-top: 34px;
}
.contact_head_set .contact_mail {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 120px;
	border-radius: 20px;
	background-color: #EFE9DF;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
	color: #54674D;
	margin-top: 34px;
	font-size: 30px;
	line-height: 1;
}
.contact_head_set .contact_tel span {
	display: inline-block;
	background: url("../img/contact_tel.svg") left center no-repeat;
	padding-left: 50px;
	height: 51px;
	font-size: 55px;
	line-height: 46px;
}
.contact_head_set p {
	font-weight: 500;
	font-size: 18px;
	text-align: center;
	color: #333;
	margin-top: 10px;
}

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

.contact_head_set .contact_tel {
	height: 120px;
	margin-top: 34px;
}
.contact_head_set .contact_mail {
	height: 120px;
	margin-top: 34px;
	font-size: 26px;
}
.contact_head_set .contact_tel span {
	background: url("../img/contact_tel.svg") left center no-repeat;
	background-size: 28px auto;
	padding-left: 40px;
	height: 51px;
	font-size: 46px;
	line-height: 46px;
}

}

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

.bn_faq {
	padding: 75px 0 75px 0;
}

.contact_head_set {
	display: block;
	background: none;
	padding: 0px 0 0px 0;
	width: 100%;
	max-width: 400px;
	margin: 0 auto 0 auto;
}
.contact_head_set div {
	width: 100%;
}
.contact_head_set div:not(:first-child) {
	margin-top: 60px;
}
.contact_head_set .contact_tel {
	height: 120px;
	margin-top: 20px;
}
.contact_head_set .contact_mail {
	height: 120px;
	margin-top: 20px;
	font-size: 26px;
}
}

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

.bn_faq {
	padding: 50px 0 50px 0;
}
.contact_head_set div:not(:first-child) {
	margin-top: 40px;
}
.contact_head_set .contact_tel {
	height: 80px;
	margin-top: 14px;
}
.contact_head_set .contact_mail {
	height: 80px;
	font-size: 18px;
	margin-top: 14px;
}
.contact_head_set .contact_tel span {
	background: url("../img/contact_tel.svg") left center no-repeat;
	background-size: 20px auto;
	padding-left: 26px;
	height: 51px;
	font-size: 30px;
	line-height: 46px;
}
.contact_head_set p {
	font-size: 14px;
	line-height: 1.4;
	margin-top: 4px;
}

}


/* sc_contact_form
======================================================*/

.sc_contact_form {
	padding: 110px 0 200px 0;
}


.contact_form {
	width: 100%;
	max-width: 900px;
	margin: 35px auto 0 auto;
}
.contact_form dl {
	display: -webkit-flex;
	display: flex;
}
.contact_form dl:not(:first-child) {
	margin-top: 20px;
}
.contact_form dl dt {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
	width: 200px;
	font-size: 18px;
	padding-top: 14px;
	position: relative;
	line-height: 1;
}
.contact_form dl dd {
	width: calc( 100% - 200px );
	position: relative;
}
.contact_form .form_pcode_box {
	width: 100%;
	max-width: 154px;
	display: block;
	position: relative;
}
.post_code_txt {
	font-size: 18px;
	line-height: 1;
	position: absolute;
	left: 13px;
	top: 11px;
	z-index: 2;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.contact_form .form_ad_box {
	display: block;
	position: relative;
	margin-top: 10px;
}
.contact_form .form_txt {
	border-radius: 10px;
	border: solid 1px #707070;
	background-color: #fff;
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 0 10px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 18px;
	display: block;
}
.contact_form .form_txt.form_pcode {
	padding: 0 10px 0 40px;
}
.contact_form .form_txt.form_txtarea {
	padding: 10px 10px;
	height: 184px;
	line-height: 1.4;
}
#doi {
	font-size: 18px;
	line-height: 1;
	text-align: center;
	margin: 40px 0 0 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
}
#doi a {
	color: #333;
	opacity: 1;
	transition: opacity 0.3s;
	text-decoration: underline;
}
#doi a:hover {
	opacity: 0.7;
}

#doi .wpcf7-list-item-label {
	display: none;
}
#doi input[type=checkbox] {
	margin-right: 14px;
	position: relative;
	top: 1px;
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	border: solid 1px #707070;
	position: relative;
	top: 4px;
}
.contact_form .send {
	text-align: center;
	margin-top: 40px;
}
.contact_form .send input {
	width: 274px;
	height: 88px;
	border-radius: 100vh;
	background-color: #54674D;
	color: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	box-sizing: border-box;
	transition: color 0.3s;
	letter-spacing: 2em;
	text-indent: 2em;
}
.contact_form .send input:hover {
	color: #FFF079;
}


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

.sc_contact_form {
	padding: 82px 0 150px 0;
}

}


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

.contact_form dl {
	display: block;
}
.contact_form dl dt {
	width: 100%;
	font-size: 16px;
	padding-top: 0px;
	padding-bottom: 10px;
}
.contact_form dl dd {
	width: 100%;
}

.contact_form .form_txt {;
	font-size: 16px;
}
.contact_form .form_txt.form_txtarea {
	height: 160px;
}
#doi {
	font-size: 16px;
	margin: 40px 0 0 0;
}
#doi input[type=checkbox] {
	top: 6px;
}

.contact_form .send {
	text-align: center;
	margin-top: 40px;
}
.contact_form .send input {
	width: 100%;
	max-width: 274px;
	height: 60px;
	font-size: 18px;
}

}

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

.sc_contact_form {
	padding: 55px 0 100px 0;
}

}


/* 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 #CB4A2D;
	background-color: #CB4A2D;
	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 #54674d;
	background-color: #54674d;
}


/* sc_thanks
======================================================*/

.sc_thanks {
	padding: 180px 0 225px 0;
}
.sc_thanks h2 {
	text-align: center;
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #FF6C00;
}
.sc_thanks p {
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.77;
	margin-top: 50px;
}

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

.sc_thanks {
	padding: 135px 0 168px 0;
}
.sc_thanks h2 {
	font-size: 21px;
	line-height: 1.4;
}
.sc_thanks p {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 30px;
}

}


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

.sc_thanks {
	padding: 36px 0 80px 0;
}
.sc_thanks p {
	font-size: 16px;
	line-height: 1.6;
	margin-top: 20px;
	text-align: left;
}
.sc_thanks p br.block1200 {
	display: none;
}
}


/* sc_404
======================================================*/

.sc_404 {
	padding: 120px 0 200px 0;
}
.sc_404 h2 {
	text-align: center;
	font-weight: 700;
	font-size: 50px;
	line-height: 1;
	color: #54674D;
}
.sc_404 h3 {
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
	margin-top: 40px;
}
.sc_404 p {
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	margin-top: 24px;
}

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

.sc_404 {
	padding: 90px 0 150px 0;
}
.sc_404 h2 {
	font-size: 42px;
	line-height: 1;
	color: #54674D;
}
.sc_404 h3 {
	font-size: 24px;
	line-height: 1;
	margin-top: 30px;
}
.sc_404 p {
	font-size: 16px;
	margin-top: 18px;
	line-height: 1.6;
}

}

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

.sc_404 {
	padding: 60px 0 100px 0;
}
.sc_404 h2 {
	font-size: 25px;
	line-height: 1;
	color: #54674D;
}
.sc_404 h3 {
	font-size: 18px;
	line-height: 1;
	margin-top: 20px;
}
.sc_404 p {
	font-size: 16px;
	margin-top: 18px;
	line-height: 1.6;
}
}

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

.sc_404 h3 {
	line-height: 1.4;
}
.sc_404 p {
	text-align: left;
}
.sc_404 p br {
	display: none;
}

}


/* sc_pp
======================================================*/

.sc_pp {
	padding: 100px 0 200px 0;
}
.sc_pp h2 {
	color: #54674D;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.4;
}
.sc_pp p {
	font-weight: 400;
	font-size: 18px;
	line-height: 1.66;
}
.sc_pp h2 + p {
	margin-top: 1em;
}
.sc_pp p + h2 {
	margin-top: 1.2em;
}

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

.sc_pp {
	padding: 75px 0 150px 0;
}
.sc_pp h2 {;
	font-size: 20px;
}
.sc_pp p {
	font-size: 16px;
}
}

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

.sc_pp {
	padding: 50px 0 100px 0;
}

}


/* blog_top
======================================================*/

.blog_top {
	padding: 100px 0 200px 0;
}
.blog_ct_list ul {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 40px 16px;
	width: 100%;
}
.blog_ct_list li {
	width: calc(( 100% - 32px ) / 3 );
}
.blog_ct_list li a {
	display: block;
	width: 100%;
	height: 60px;
	box-sizing: border-box;
	border: solid 1px #54674D;
	border-radius: 100vh;
	background-color: #54674D;
	color: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	line-height: 58px;
	text-align: center;
	transition: color 0.3s, background-color 0.3s;
}
.blog_ct_list li a:hover {
	background-color: #fff;
	color: #54674D;
}
.blog_ct_list li.current a {
	background-color: #fff;
	color: #54674D;
}


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

.blog_ct_list li a {
	font-size: 18px;
}

}

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

.blog_top {
	padding: 75px 0 150px 0;
}
.blog_ct_list ul {;
	gap: 20px 8px;
}
.blog_ct_list li {
	width: calc(( 100% - 16px ) / 3 );
}
.blog_ct_list li a {
	height: 40px;;
	font-size: 16px;
	line-height: 38px;
}

}

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

.blog_ct_list li {
	width: calc(( 100% - 16px ) / 2 );
}

}

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

.blog_top {
	padding: 50px 0 100px 0;
}
.blog_ct_list ul {;
	gap: 8px 8px;
}

}


/* pager_ac
======================================================*/

.pager_ac {
	margin-top: 120px;
	text-align: center;
}
.pager_ac .page-numbers {
	display: inline-block;
	width: 64px;
	height: 64px;
	border-radius: 100%;
	border: solid 1px #54674D;
	background-color: #54674D;
	color: #fff;
	text-align :center;
	line-height: 62px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
	transition: background-color 0.3s, color 0.3s;
	margin: 0 6px;
}
.pager_ac .page-numbers:hover {
	background-color: #fff;
	color: #54674D;
}
.pager_ac .page-numbers.dots {
	background-color: #54674D;
	color: #fff;
}
.pager_ac .page-numbers.current {
	background-color: #fff;
	color: #54674D;
}

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

.pager_ac {
	margin-top: 90px;
}
.pager_ac .page-numbers {
	width: 46px;
	height: 46px;
	line-height: 44px;
	font-size: 20px;
	margin: 0 3px;
}

}

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

.pager_ac {
	margin-top: 60px;
}
.pager_ac .page-numbers {
	width: 26px;
	height: 26px;
	line-height: 24px;
	font-size: 16px;
	margin: 0 0;
}

}


/* single
======================================================*/

.single_head {
	padding: 70px 0 0px 0;
}
.single_head p {
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #333333;
}
.single_head h1 {
	font-weight: 700;
	font-size: 30px;
	line-height: 1.4;
	color: #333333;
	margin-top: 25px;
}

.single_sc {
	padding: 0 0 200px 0;
}

.single_container {
	padding: 50px 0 0px 0;
	position: relative;
}

.single_container h1,
.single_container h2,
.single_container h3,
.single_container h4,
.single_container h5,
.single_container h6 {
	margin-top: 40px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-style: normal;
	color: #54674D;
}

.single_container h1,
.single_container h2 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.6;
}
.single_container h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.6;
}
.single_container h4 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
}
.single_container h5 {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6;
}
.single_container h6 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
}
.single_container p {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.8;
	margin-top: 1em;
}
.single_container ul {
	font-weight: 500;
	font-size: 18px;
	line-height: 1.6;
	margin-top: 1em;
	margin-left: 1.5em;
	padding: 0;
}

.wp-block-image,
.wp-block-gallery {
	margin-top: 30px;
}

.single_top + h1,
.single_top + h2,
.single_top + h3,
.single_top + h4,
.single_top + h5,
.single_top + h6,
.single_top + p,
.single_top + figure {
	margin-top: 0;
}

.wp-block-image {
	text-align: center;
}
.wp-block-image img {
	width: 100%;
	max-width: 606px;
	height: auto;
	border-radius: 20px;
}
.wp-block-buttons {
	margin-top: 30px;
}

.single_pager {
	width: 728px;
	height: 60px;
	margin: 120px auto 0 auto;
	display: block;
	position: relative;
}
.single_pager span {
	display: block;
	width: 356px;
}
.single_pager span a {
	display: block;
	width: 100%;
	height: 60px;
	box-sizing: border-box;
	border: solid 1px #54674D;
	border-radius: 100vh;
	text-align: center;
	line-height: 58px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
}
.single_pager .pager_pre {
	position: absolute;
	top: 0;
	left: 0;
}
.single_pager .pager_next {
	position: absolute;
	top: 0;
	right: 0;
}
.single_pager .pager_pre a {
	background-color: #fff;
	color: #54674D;
}
.single_pager .pager_next a {
	background-color: #54674D;
	color: #fff;
}

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

.single_head {
	padding: 50px 0 0px 0;
}
.single_head p {
	font-size: 20px;
}
.single_head h1 {
	font-size: 26px;
	line-height: 1.4;
	margin-top: 10px;
}

.single_sc {
	padding: 0 0 100px 0;
}

.single_container {
	padding: 20px 0 0px 0;
	position: relative;
}

.single_container h1,
.single_container h2,
.single_container h3,
.single_container h4,
.single_container h5,
.single_container h6 {
	margin-top: 30px;
}

.single_container h1,
.single_container h2 {
	font-size: 22px;
}
.single_container h3 {
	font-size: 20px;
}
.single_container h4 {
	font-size: 18px;
}
.single_container h5 {
	font-size: 17px;
}
.single_container h6 {
	font-size: 16px;
}

.single_container p {
	font-size: 16px;
}
.single_container ul {
	font-size: 16px;
}

.single_pager {
	width: 460px;
	height: 46px;
	margin: 90px auto 0 auto;
}
.single_pager span {
	width: 220px;
}
.single_pager span a {
	height: 46px;
	line-height: 44px;
	font-size: 18px;
}

}


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

.single_pager {
	width: 220px;
	height: auto;
	margin: 50px auto 0 auto;
}
.single_pager span {
	width: 220px;
}
.single_pager .pager_pre {
	position: relative;
	top: auto;
	left: auto;
}
.single_pager .pager_next {
	position: relative;
	top: auto;
	right: auto;
	margin-top: 10px;
}

.single_pager span a {
	height: 46px;
	line-height: 44px;
	font-size: 18px;
}

}


/* sp_footer_menu
======================================================*/

.sp_footer_menu {
	display: none;
}

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

.sp_footer_menu {
	display: block;
	width: 100%;
	height: 40px;
	background-color: #54674D;
	position: fixed;
	bottom: 0px;
	left: 0;
	z-index: 10;
}
.sp_footer_menu ul {
	display: -webkit-flex;
	display: flex;
	list-style: none;
}
.sp_footer_menu ul li {
	width: 50%;
	box-sizing: border-box;
}
.sp_footer_menu ul li:nth-of-type(1) {
	border-right: solid 2px #fff;
}
.sp_footer_menu ul li:nth-of-type(2) {
	border-left: solid 2px #fff;
}

.sp_footer_menu ul li a {
	width: 100%;
	height: 40px;
	text-align: center;
	display: block;
}

.sp_footer_menu ul li:nth-of-type(1) a span {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #fff;
	font-size: 24px;
	line-height: 40px;
	background: url("../img/tel.svg") left center no-repeat;
	background-size: 15px auto;
	padding-left: 22px;
}
.sp_footer_menu ul li:nth-of-type(2) a span {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #fff;
	font-size: 18px;
	line-height: 40px;
	background: url("../img/side_mail.svg") left center no-repeat;
	background-size: 25px auto;
	padding-left: 35px;
}

}

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

.sp_footer_menu ul li:nth-of-type(1) a span {
	font-size: 20px;
	background: url("../img/tel.svg") left center no-repeat;
	background-size: 13px auto;
	padding-left: 18px;
}
.sp_footer_menu ul li:nth-of-type(2) a span {
	font-size: 16px;
	background: url("../img/side_mail.svg") left center no-repeat;
	background-size: 22px auto;
	padding-left: 32px;
}

}

/* clearfix：float対策
======================================================*/

.clear:after {
	content: "";
	display: block;
	clear: both;
}
 
.clear:before {
　　　　content: "";
	display: block;
	clear: both;
}
 
.clear {
	display: block;
}