@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap');


/*====================================================================

  =Global Layout

====================================================================*/

:root {
	--color-primary: #E74700;
	--color-primary-on: #fff;
	--color-white: #fff;
	--color-black: #460505;
	--bg-light-grey: #F4F4F4;
	--bg-light-beige: #F6EDE8;
	--border-radius-40: 4rem;
	--border-radius-32: 3.2rem;
	--border-radius-24: 2.4rem;
	--border-radius-16: 1.6rem;
	--border-radius-8: .8rem;
	--border-radius-4: .4rem;
}
html {
	font-family: "Zen Maru Gothic", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: 10px;
	color: var(--color-black);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased !important;
	-webkit-tap-highlight-color: transparent;
}
body {
	background: #FCF5EF;
	width: 100%;
	font-size: 1.6rem;
	font-feature-settings: 'palt' 1;
	letter-spacing: .02em;
	line-height: 1.8;
}
@media only screen and (max-width:960px) {
	body {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 768px) {
	body {
		min-width: 320px;
	}
}


/*====================================================================

  =Common Layout

====================================================================*

/*
------------------------------------------
 =Frame Format
------------------------------------------
*/
#wrapper {
	width: 100%;
	position: relative;
}
.inner {
	max-width: 132rem;
	margin: 0 auto;
	padding: 0 2rem;
}
.wrap {
	padding: 8rem 0 9.6rem;
}
.main-body {
	padding: 0 0 12.8rem;
	position: relative;
}
@media screen and (max-width:960px) {
	.wrap {
		padding: 4.8rem 0 7.2rem;
	}
	.inner {
		padding: 0 2rem;
	}
	.main-body {
		padding: 0 0 8rem;
		position: relative;
	}
}


/*
------------------------------------------
 =Font Formatt
------------------------------------------
*/
.section-heading {
	margin-bottom: 4rem;
	text-align: center;
}
.section-heading .en{
	display: inline-block;
	border-bottom: 2px solid var(--color-primary);
	color: var(--color-primary);
	font-family: var(--font-family-en);
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.2;
}
.section-heading .jp{
	display: block;
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: .4rem;
}
.bg-heading {
	background-color:#FDF0E9 ;
	border-radius: var(--border-radius-8);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1.6rem;
	padding: 1.2rem 1.6rem;
	position: relative;
}
.bg-heading:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	inset: 1.8rem auto 1.8rem 0;
	width: .3rem;
	background: var(--color-primary);
}
.bottom-marker-heading{
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.6;
	margin-bottom:2.4rem;
}
.bottom-marker-heading span{
	background: linear-gradient(#F7C6AF, #F7C6AF) 0 100% / 100% 8px no-repeat;
}
.tx-em{
	color:var(--color-primary);
}
.lead-copy{
	font-size: 1.8rem;
	line-height: 2;
}

@media screen and (max-width:960px) {
	.section-heading {
		margin-bottom: 3.2rem;
	}
	.section-heading .en{
		border-bottom: 2px solid var(--color-primary);
		font-size: 1.3rem;
	}
	.section-heading .jp{
		font-size: 2.6rem;
	}
	.bg-heading {
		font-size: 1.6rem;
	}
	.lead-copy{
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.bottom-marker-heading{
		font-size:1.8rem;
	}
}


/* breadcrumbs
---------------------------------*/
.breadcrumbs {
	font-size: 1.2rem;
	text-align: left;
	padding: 0 0 2.4rem;
	overflow-x: auto;
}
.breadcrumbs .inner {
	white-space: nowrap;
}
.breadcrumb-list {
	display: flex;
}
.breadcrumb-list li {
	position: relative;
  padding-left: 3rem;
}
.breadcrumb-list li:first-child {
	padding-left: 0 !important;
}
.breadcrumbs a {
	color: var(--color-black);
}
.breadcrumbs a:focus,
.breadcrumbs a:active,
.breadcrumbs a:hover {
	color: #666;
}
.breadcrumb-list li:nth-child(1),
.breadcrumb-list li:nth-child(2) {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.breadcrumbs li:nth-child(n+2):before {
	border-right: 1px solid var(--color-primary);
	border-top: 1px solid var(--color-primary);
	content: " ";
	display: inline-block;
	height: 5px;
	padding-left: 0;
	position: absolute;
	left: 12px;
	top: 10px;
	transform: rotate(45deg);
	width: 5px;
}
.breadcrumbs li a span {
	background-image: linear-gradient(#460505, #460505);
	background-position: 0% 100%;
	background-size: 100% 1px;
	background-repeat: no-repeat;
	transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
.breadcrumbs li a:hover span {
	background-position: 100% 100%;
	background-size: 0% 1px;
}
.breadcrumbs br {
	display: none;
}
@media screen and (max-width: 960px) {
	.breadcrumbs {
		font-size: 1.1rem;
		padding: 0 2rem 1.5rem;
	}
	.breadcrumbs .inner {
		padding: 0 !important;
	}
	.breadcrumb-list li {
		padding-left: 2rem;
	}
	.breadcrumbs li:nth-child(n+2):before {
		top: 50%;
		left: .7rem;
		display: block;
		width: .4rem;
	}
}

/* Page-Header
--------------------------*/
.page-header {
	color: rgb(255, 255, 255);
	height: 36rem;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	background-position: 50% 50%;
	overflow: hidden;
	margin: 0px 2.4rem;
	border-radius: var(--border-radius-16);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
}
.page-header::before{
	content: "";
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(15, 13, 13, .5) 0%, rgba(15, 13, 13, .5) 100%);
}
.page-header .pege-heading{
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	position: relative;
}
.page-header.ttl-bg-about{
	background-image: url(../img/about/ttl-bg_pc.webp);
}
.page-header.ttl-bg-benefit{
	background-image: url(../img/benefit/ttl-bg_pc.webp);
}
.page-header.ttl-bg-goods{
	background-image: url(../img/goods/ttl-bg_pc.webp);
}
.page-header.ttl-bg-dantai{
	background-image: url(../img/dantai/ttl-bg_pc.webp);
}
.page-header.ttl-bg-business{
	background-image: url(../img/business/ttl-bg_pc.webp);
}
@media screen and (max-width: 960px) {
	.page-header {
		height: 18rem;
		margin: 0;
		border-radius: 0;
	}
	.page-header .pege-heading{
		font-size: 2.8rem;
	}
	.page-header.ttl-bg-about{
		background-image: url(../img/about/ttl-bg_sp.webp);
	}
	.page-header.ttl-bg-benefit{
		background-image: url(../img/benefit/ttl-bg_sp.webp);
	}
	.page-header.ttl-bg-goods{
		background-image: url(../img/goods/ttl-bg_sp.webp);
	}
	.page-header.ttl-bg-dantai{
	background-image: url(../img/dantai/ttl-bg_sp.webp);
}
	.page-header.ttl-bg-business{
		background-image: url(../img/business/ttl-bg_sp.webp);
	}
}



/* Page-anklinks
--------------------------*/
.pege-anklinks {
	position: relative;
	margin:6.4rem auto 8rem;
	max-width: 132rem;
}
.pege-anklinks ul{
	column-gap: 1.6rem;
	row-gap: .8rem;
}
.pege-anklinks ul li{
	font-size: 1.5rem;
	font-weight: 700;
	position: relative;
}
.pege-anklinks ul li a{
	display: block;
	padding: 2.4rem 1.6rem 2.4rem 1.6rem;
	line-height: 1;
	border: 2px solid var(--color-black);
	border-radius: .8rem;
	background-color: #fff;
	overflow: hidden;
	text-align: center;

}
.pege-anklinks ul li a::before {
	content: "";
	width: 2rem;
	height: 2rem;
	-webkit-mask-image: url(../img/icon/circle-arrow-down.svg);
	mask-image: url(../img/icon/circle-arrow-down.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	position: absolute;
	top: calc(50% - 1rem);
	transition: .3s ease-in-out;
	right: 1.6rem;
	background-color: var(--color-black);
}

.pege-anklinks ul li a:hover{
	background-color: var(--color-black);
	color: #fff;
}
.pege-anklinks ul li a:hover::before{
	background-color: #fff;
}
@media only screen and (max-width: 960px) {
	.pege-anklinks  {
		margin:4.8rem auto 6.4rem;
	}
	.pege-anklinks ul {
		column-gap: .8rem;
		row-gap: .8rem;
	}
	.pege-anklinks ul li{
		font-size: 1.2rem;
	}
	.pege-anklinks ul li a {
		padding: 1.8rem 1.6rem;
	}
}



/*
------------------------------------------
 =Header
------------------------------------------
*/
#header {
	width: 100%;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 10;
	padding: 0 3.2rem;
	height: 10rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
#header .logo {
	width: 9rem;
	height: auto;
	z-index: 1;
	opacity: 1;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
#header.is-fixed{
	background: #FCF5EF;
	position: fixed;
	top: 0;
	left: 0;
}

@media screen and (max-width:1200px) {
	#header {
		background: #FCF5EF;
		width: 100%;
		top: 0;
		left: 0;
		height: 6.4rem;
		padding: 0;
		align-items: center;
	}
	#header .logo {
		width: 5rem;
		margin-left:2rem;
	}
}


/* G-nav */
#g-nav ul {
	display: flex;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
}
#g-nav ul li {
	position: relative;
	margin: 0 1.2rem;
}
#g-nav li a {
	display: block;
	position: relative;
	overflow: hidden;
	color: inherit;
}
#g-nav ul li a:hover {
	color: var(--color-primary);
}
#g-nav li.blank-link span{
  position: relative;
  padding-right:1.3rem;
}
#g-nav li.blank-link span::after {
  content: '';
  display: block;
  width: 1rem;
  height:1rem;
  background: url(../img/icon/icon-blanklink.svg) 0 0 no-repeat;
  background-size: 100%;
  position: absolute;
  top: .6rem;
  right: 0;
}
#g-nav .g-nav-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 2rem;
	height: 6.2rem;
	transition: 0.5s;
	-webkit-transition: .5s;
	-moz-transition: .5s;
	text-align: center;
}
#g-nav .g-nav-btn#gnav-business a {
	background: #FAD715;
	border: 2px solid #FAD715;
	border-radius: .8rem;
	color: var(--color-black);
	transition: .3s ease-in-out;
}
#g-nav .g-nav-btn#gnav-business a:hover {
	background: var(--color-primary-on);
	border: 2px solid var(--color-black);
	color: var(--color-black);
}
#g-nav .g-nav-btn#gnav-entry a {
	background: var(--color-primary);
	border: 2px solid var(--color-primary);
	border-radius: .8rem;
	color: #fff;
	transition: .3s ease-in-out;
}
#g-nav .g-nav-btn#gnav-entry a:hover {
	background: var(--color-primary-on);
	border: 2px solid var(--color-primary);
	color:var(--color-primary)
}

@media screen and (min-width: 1201px) {
	#g-nav {
		padding: 2.4rem 0;
	}
	#g-nav ul {
		align-items: center;
	}
	#g-nav li.current a {
		color: var(--color-primary);
	}
	#g-nav ul li.g-nav-btn{
		margin:0 .6rem;
	}
	#g-nav ul li#gnav-business{
		margin-left:1.2rem;
	}
}

@media screen and (max-width:1200px) {
	#g-nav {
		padding: 0;
		position: fixed;
		z-index: 999;
		top: -400%;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		background: rgba(255, 255, 255, 0.96);
		transition: all 0.6s;
	}
	#g-nav ul {
		position: relative;
		display: block;
		background-color: #fff;
	}
	#g-nav ul::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		height: 2px;
		width: 100%;
		background-image: radial-gradient(circle, #E2D4CF 1px, transparent 1px);
		background-size: 6px 2px;
		background-repeat: repeat-x;
	}
	#g-nav ul li {
		margin: 0;
	}
	#g-nav ul li .g-nav-link {
		padding: 2.4rem 2rem;
	}
	.g-nav-list .g-nav-list__item::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		height: 2px;
		width: 100%;
		background-image: radial-gradient(circle, #E2D4CF 1px, transparent 1px);
		background-size: 6px 2px;
		background-repeat: repeat-x;
		}
	.g-nav-list .g-nav-link::after {
		position: absolute;
		content: "";
		top: calc(50% - .5rem);
		right: 2rem;
		width: 1rem;
		height: 1rem;
		opacity: 1;
		background: url(../img/icon/arrow-next-bl.svg) center / cover;
	}
	#g-nav li .g-nav-link:hover {
		color:var(--color-primary);
		background-color: #FDF0EA;
	}
	#g-nav .g-nav-btn#gnav-business{
		margin-top:2.8rem;
	}
	#g-nav .g-nav-btn a {
		width: 72%;
		margin: 0 auto 0;
		height: 7.2rem;
	}
	#g-nav .g-nav-btn:not(:first-child) a{
		margin-top:1.6rem;
	}
	#g-nav.panelactive {
		top: 0;
	}
	#g-nav.panelactive #nav-wrap {
		position: fixed;
		z-index: 10;
		width: 100%;
		height: 100dvh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	#g-nav ul {
		width: 100%;
		margin: 10rem auto 2.4rem auto;
	}
}

/* G-nav-openbtn */
.g-nav-openbtn {
	display: none;
}
@media screen and (max-width:1200px) {
	.g-nav-openbtn {
		display: block;
		position: absolute;
		z-index: 9999;
		top: .8rem;
		right: 1.6rem;
		cursor: pointer;
		width: 4.8rem;
		height: 4.8rem;
		background: var(--color-black);
		border-radius: 50%;
	}
	.g-nav-openbtn .openbtn-area {
		transition: all .4s;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 4rem;
	}
	.g-nav-openbtn span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: calc(50% - 9px);
		height: 2px;
		background: #fff;
		width: 18px;
		z-index: 9999;
	}
	.g-nav-openbtn span:nth-of-type(1) {
		top: -6px;
	}
	.g-nav-openbtn span:nth-of-type(2) {
		top: 0px;
	}
	.g-nav-openbtn span:nth-of-type(3) {
		top: 6px;
	}
	.g-nav-openbtn.active {
		background: var(--color-primary);
	}
	.g-nav-openbtn.active .openbtn-area {
		transform: rotateY(-360deg);
	}
	.g-nav-openbtn.active span:nth-of-type(1) {
		top: -6px;
		left: -9px;
		transform: translateY(6px) rotate(-135deg);
		width: 18px;
		background: #fff;
	}
	.g-nav-openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}
	.g-nav-openbtn.active span:nth-of-type(3) {
		top: 6px;
		left: -9px;
		transform: translateY(-6px) rotate(135deg);
		width: 18px;
		background: #fff;
	}
}



/*
------------------------------------------
 =Footer
------------------------------------------
*/
/* Footer helpful
---------------------------------*/
.footer-helpful{
	background: var(--color-black);
	color:#fff;
	padding:7.2rem 0;

}
.footer-helpful .bottom-marker-heading span {
  background: linear-gradient(#774949, #774949) 0 100% / 100% 8px no-repeat;
}
.helpful-slider{
	width: 100%;
	overflow: hidden;
}
.helpful-slider .swiper-slide {
	max-width: 40rem;
	margin: 0 1.2rem;
	padding: 0;
}
.helpful-slider .swiper-slide img{
	border-radius: .4rem;
	overflow: hidden;
}
@media only screen and (max-width: 960px) {
	.footer-helpful{
		padding:4.8rem 0;
	}
	.helpful-slider .swiper-slide {
		max-width: 30rem;
	}
}

/* Footer Cta
---------------------------------*/
.footer-cta{
	background: var(--color-black);
}
.footer-cta .footer-cta_item{
	background: var(--color-primary);
	border-radius: var(--border-radius-16);
	padding:6.4rem 6.4rem 8rem;
}
.footer-cta .section-heading{
	color:#fff;
}
.footer-cta .section-heading .en {
	border-bottom: 2px solid #fff;
	color: #fff;
}
.footer-cta_list{
	column-gap: 3.2rem;
	row-gap: 1.6rem;
}
.footer-cta_list .link-btn{
	display: flex;
	max-width: initial;
	width: 100%;
	padding: 3.6rem;
	font-size: 2.4rem;
}
.footer-cta_list .blank-btn__txt{
	padding-right:2.4rem;
}
.footer-cta_list .blank-btn__txt::after {
	width: 1.8rem;
	height:1.8rem;
}
@media only screen and (max-width: 960px) {
	.footer-cta .footer-cta_item{
		padding:2rem 2.4rem 3.2rem;
	}
	.footer-cta_list .link-btn{
		padding: 2.2rem;
		font-size: 1.5rem;
	}
}

/* Footer
---------------------------------*/
#footer{
	background: var(--color-black);
	padding-top:6.4rem;
}
@media only screen and (max-width: 960px) {
	#footer{
		padding-top:3.2rem;
	}
}
.footer-utility{
	background-color: #380405;
	border-radius: var(--border-radius-8);
	padding:4rem 4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer-utility .footer-nav{
	align-items: center;
	display: flex;
}
.footer-utility .footer-nav li {
	position: relative;
	margin-right: 2.8rem;
	font-size: 1.3rem;
	line-height: 1.4;
}
.footer-utility .footer-nav li a{
  /* display: block; */
  color: #fff;
  transition: .2s ease-in-out;
  position: relative;
  overflow: hidden;
}
.footer-utility .footer-nav li a span {
	background-image: linear-gradient(#fff, #fff);
	background-position: 100% 100%;
	background-size: 0% 1px;
	background-repeat: no-repeat;
	transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
.footer-utility .footer-nav li a:hover span {
	background-position: 0% 100%;
	background-size: 100% 1px;
}
.footer-utility .footer-nav li.blank-link a {
  padding-right: 1.4rem;
  display: inline-block;
}
.footer-utility .footer-nav li.blank-link a::after {
  content: '';
  display: block;
  width: 1rem;
  height: 1rem;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/icon/icon-blanklink.svg);
  mask-image: url(../img/icon/icon-blanklink.svg);
  background-color: #fff;
  position: absolute;
  top: .4rem;
  right: 0;
}


@media only screen and (max-width: 960px) {
	.footer-utility{
		padding:2.4rem 2rem;
		display: block;
		text-align: center;
	}
	.footer-utility .footer-nav{
		display: block;
		margin-bottom:3.2rem;
	}
	.footer-utility .footer-nav li {
		margin: 1rem 0;
		font-size: 1.3rem;
	}
}

.footer-utility .footer-sns {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.footer-utility .footer-sns li a {
	width: 4.8rem;
	height: 4.8rem;
	border-radius: 100%;
	text-align: center;
	background-color: #fff;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
}
.footer-utility .footer-sns li img {
  width: 2rem;
}
.footer-utility .footer-sns li a:hover{
	background-color: #ddd;
	border: 1px solid var(--color-primary);
}
@media only screen and (max-width: 960px) {
	.footer-utility .footer-sns {
		justify-content: center;
	}
}

/* Footer company
---------------------------------*/
.footer-company{
	padding:4rem 0 6.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.2rem 2.4rem;
	color:#fff;
}
.footer-company .item{
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.3rem;
	line-height: 1.3;
}
.footer-company .item .ttl{
	border:1px solid #9E7C7B;
	border-radius: 3rem;
	padding:.3rem 1rem .4rem;
	font-size: 1.2rem;
}
@media only screen and (max-width: 960px) {
	.footer-company{
		padding:3.2rem 0 4.8rem;
		flex-wrap: wrap;
		text-align: center;
	}
	.footer-company .item{
		font-size: 1.2rem;
	}
}

.l-pageTop{
	display: none;
}


/* fix-banner
---------------------------------z*/
.fix-banner {
	/* display: none; */
	position: fixed;
	z-index: 2;
	bottom: 10px;
	right: 10px;
	width: 280px;
	background-color: #fff;
	border-radius: var(--border-radius-8);
	border:2px solid var(--color-black);
}
.fix-banner_ttl{
	background-color: var(--color-primary);
	color:#fff;
	border-radius: .6rem .6rem 0 0;
	text-align: center;
	padding:.4rem .8rem .6rem;
	font-weight: 700;
	line-height: 1.4;
}
.fix-banner_ttl span{
	font-size: 2.4rem;
}
.fix-banner_body {
  padding:2rem;
  text-align: center;
}
.fix-banner .txt-date{
	font-size:1.8rem;
	font-weight: 700;
	line-height: 1;
	margin-top:-.5rem;
}
.fix-banner .txt-date span{
	font-size:2.8rem;
	line-height: 1;
}
.fix-banner .txt-deadline{
	font-size:1.3rem;
	line-height: 1.2;
	margin:1rem 0 1.6rem;
}
.fix-banner .link-btn{
	padding: 1.1rem;
}
@media screen and (max-width: 960px) {
	.l-footer__copyright{
		margin-bottom:19rem;
	}
	.fix-banner{
		width: 100%;
		margin: 0px;
		bottom: 0px;
		right: 0px;
		border-radius: var(--border-radius-8) var(--border-radius-8) 0 0;
	}
	.fix-banner_ttl{
		padding:.4rem .8rem .4rem;
		line-height: 1.2;
	}
	.fix-banner_ttl span{
		font-size: 1.8rem;
	}
	.fix-banner_body {
		padding:.8rem 1rem 1rem;
	}
	.fix-banner .txt-date{
		font-size:1.5rem;
		margin-top:-.2rem;
	}
	.fix-banner .txt-date span{
		font-size:2.2rem;
	}
	.fix-banner .txt-deadline{
		font-size:1.2rem;
		margin:.6rem 0 .8rem;
	}
	.fix-banner .link-btn{
		padding: .8rem;
		font-size: 1.1rem;
	}
}




/*
------------------------------------------
 =Top
------------------------------------------
*/

/* MV
---------------------------------*/
#p-top-mv{
	overflow: hidden;
	position: relative;
}
#p-top-mv .mv-slider{
	margin:0 2.4rem;
}
#p-top-mv .mv-slider-img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
	/* aspect-ratio: 1920 / 740; */
	/* max-height: 90rem; */
	/* max-height: 60vh; */
}
#p-top-mv .swiper-slide{
	position: relative;
}
#p-top-mv .swiper-slide::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to top, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, 0) 70%);
}
#p-top-mv .swiper-slide img{
	width: 100%;
}
@media screen and (max-width: 960px) {
	#p-top-mv .mv-slider{
		margin:0 0 0;
	}
	#p-top-mv .mv-slider-img{
		border-radius: 0;
		/* max-height: 54rem; */
	}
}

.mv-txt{
	text-align: center;
	position: absolute;
	width: 80%;
	left:10%;
	bottom:4rem;
	z-index: 2;
}
.mv-logo{
	width: 40rem;
	margin:0 auto 4rem;
}
.mv-txt .mv-txt-item{
	color:#fff;
	line-height: 1.3;
	letter-spacing: -.04em;
}
#p-top-mv .balonn-txt {
	position: relative;
	display: inline-block;
	border-radius: 60px;
	margin: 0 0 16px;
	padding: .8rem 1.6rem;
	color:var(--color-black);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.44;
	background: #fff;
}
#p-top-mv .balonn-txt::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -9px;
	border: 9px solid transparent;
	border-top: 9px solid #fff;
}
#p-top-mv .mv-sub-catch{
	font-size: 2.8rem;
	font-weight: 700;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
#p-top-mv .mv-sub-catch span{
	background: linear-gradient(to right, #fff, #fff) 0 100% / 100% 4px no-repeat;
	padding-bottom: .4rem;
}
#p-top-mv .mv-main-catch{
	font-size: 5.6rem;
	font-weight: 700;
	padding:1rem 0 0;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
	line-height: 1.4;
}



@media screen and (max-width: 1180px) {
	.mv-txt{
		bottom:2rem;
	}
	.mv-logo{
		/* max-width: 24rem; */
		width: 30vw;
		margin:0 auto 2.4rem;
}
	#p-top-mv .balonn-txt {
		padding: .6rem 1.6rem;
		font-size: 1.4rem;
	}
	#p-top-mv .mv-sub-catch{
		font-size: 1.8rem;
		font-weight: 700;
	}
	#p-top-mv .mv-main-catch{
		font-size: 6vw;
	}

}
#p-top-mv::before {
	content: "";
	display: block;
	background: var(--bg-light-beige);
	width: 100%;
	height: 30%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.mv-banner{
		display: none;
	}

@media screen and (min-width: 1201px) {
	.mv-banner {
		display: block;
		position: absolute;
		z-index: 2;
		top: 2rem;
		right: 4rem;
		width: 37rem;
		background-color: #FAD715;
		border-radius: var(--border-radius-8);
		border:2px solid var(--color-black);
	}
	.mv-banner_ttl{
		/* background-color: var(--color-primary); */
		text-align: center;
		padding:1.6rem .8rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.4;
	}
	.mv-banner_body {
		padding:0 2rem 2rem;
		text-align: center;
	}
	.mv-banner .link-btn{
		padding: 1.8rem;
	}
}


.intro-point{
	background-color: #FADFD1;
	border-radius: var(--border-radius-8);
	padding:1rem;
	max-width: 64rem;
	margin:3.2rem auto 7.2rem;
}
.intro-point-list{
	column-gap: 1rem;
	row-gap: 1rem;
}
.intro-point-list li{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding:2rem 2rem 1rem;
	text-align: center;
}
.intro-point-list li .sub-ttl{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.44;
	line-height: 1.22;
}
.intro-point-list li .main-ttl{
	color:var(--color-primary);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
}
@media screen and (min-width: 961px) {
	.intro-point-list li .sub-ttl{
		display: flex;
		justify-content: center;
		align-items: flex-end;
			margin-bottom: .8rem;
	}
	.intro-point-list li .sub-ttl::before,
	.intro-point-list li .sub-ttl::after {
		content: '';
		width: .2rem;
		height: 1.6rem;
		background-color: var(--color-black);
	}
	.intro-point-list li .sub-ttl::before {
		margin-right: 1rem;
		transform: rotate(-30deg);
	}
	.intro-point-list li .sub-ttl::after {
		margin-left: 1rem;
		transform: rotate(30deg);
	}
}

@media screen and (max-width: 960px) {
	.intro-point{
		margin:0 auto 4rem;
	}
	.intro-point-list li{
		padding:1.2rem 2rem 1rem;
		text-align: center;
	}
	.intro-point-list .item-row_sp{
		display: flex;
		justify-content: center;
		align-items: center;
		gap:.8rem;
	}
	.intro-point-list li .sub-ttl{
		font-size: 1.2rem;
	}
	.intro-point-list li .main-ttl{
		font-size: 2rem;
	}
}


/* p-top-intro
---------------------------------*/
#p-top-intro{
	background: var(--bg-light-beige);
	padding:0 0 9.6rem;
	overflow: hidden;
}
#p-top-intro .inner{
	position: relative;
}
#p-top-intro .sub-copy{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.44;
	margin-bottom: .8rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1.22;
}
#p-top-intro .sub-copy::before,
#p-top-intro .sub-copy::after {
	content: '';
	width: .3rem;
	height: 2.4rem;
	background-color: var(--color-black);
}
#p-top-intro .sub-copy::before {
	margin-right: 1.6rem;
	transform: rotate(-30deg);
}
#p-top-intro .sub-copy::after {
	margin-left: 1.6rem;
	transform: rotate(30deg);
}
#p-top-intro .catch-copy{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom:3.2rem;
}
#p-top-intro .lead-copy{
	margin-bottom:4rem;
	text-align: center;
}
.intro-img-l,.intro-img-r{
	display: none;
}

@media screen and (min-width: 1080px) {
.intro-img-l{
	display: block;
	width: 150px;
	height: 303px;
	position: absolute;
	top:110px;
	left:50px;
}
.intro-img-r{
	display: block;
	width: 136px;
	height: 309px;
	position: absolute;
	top:150px;
	right:80px;
}
}

@media screen and (max-width: 960px) {
	#p-top-intro{
		padding:0 0 7.2rem;
	}
	#p-top-intro .sub-copy{
		font-size: 1.6rem;
	}
	#p-top-intro .sub-copy::before,
	#p-top-intro .sub-copy::after {
		width: .2rem;
		height: 2rem;
	}
	#p-top-intro .sub-copy::before {
		margin-right: 1rem;
	}
	#p-top-intro .sub-copy::after {
		margin-left: 1rem;
	}
	#p-top-intro .catch-copy{
		font-size: 2.4rem;
		margin-bottom:2.4rem;
	}
	#p-top-intro .lead-copy{
		margin-bottom:3.2rem;
		text-align: left;
	}
}
.intro-carousel-slider{
	max-width: 70rem;
	margin: auto;
	overflow: visible;
}
.intro-carousel-slider .item{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding:1rem;
	display: grid;
	gap: 3.2rem;
	grid-template-columns: 27rem auto;
	align-items: center;
}
.intro-carousel-slider .item .pic-row img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
.intro-carousel-slider .item .txt-row{
	padding-right:3.8rem;
}
.intro-carousel-slider .item .txt-row .ttl{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom:1.6rem;
}
.intro-carousel-slider .item .txt-row .txt{
	font-size: 1.4rem;
	line-height: 1.8;
}
@media screen and (max-width: 960px) {
	.intro-carousel-slider .item{
		display: block;
	}
	.intro-carousel-slider .item .pic-row{
		aspect-ratio: 16 / 9;
		overflow: hidden;
		margin-bottom:1.6rem;
	}
	.intro-carousel-slider .item .pic-row img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}
	.intro-carousel-slider .item .txt-row{
		padding:0 1.4rem 1.4rem;
	}
	.intro-carousel-slider .item .txt-row .ttl{
		font-size: 1.8rem;
		text-align: center;
	}
	.intro-carousel-slider .item .txt-row .txt{
			font-size: 1.2rem;
	}
}
.intro-slider .swiper-slide {
	max-width: 70rem;
	margin: 0 2rem;
	padding: 0;
	height: auto;
}
.intro-slider .swiper-button-prev,
.intro-slider .swiper-button-next {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
}
.intro-slider .swiper-button-prev {
	left: -30px;
}
.intro-slider .swiper-button-next {
	right: -30px;
}
@media screen and (max-width: 960px) {
	.intro-slider .swiper-slide{
		width: 90% !important;
		margin: 0 1.6rem .8rem;
	}
	.intro-slider .swiper-button-prev {
		left: 12px;
	}
	.intro-slider .swiper-button-next {
		right: 12px;
	}
}

/* p-top-target
---------------------------------*/
#p-top-target{
	background-image: url(../img/top/bg-target.webp);
	background-repeat: no-repeat;
	background-size: cover;
	padding:6.4rem 0;
}
#p-top-target .bg-w{
	padding:4.8rem 6.4rem 6.4rem;
	border-radius: var(--border-radius-8);
}
#p-top-target .catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom:3.2rem;
	text-align: center;
}
#p-top-target .target-list .pic{
	border-radius: var(--border-radius-8);
	overflow: hidden;
	margin-bottom:2.4rem;
}
#p-top-target .target-list .ttl{
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom:1.6rem;
	text-align: center;
}
#p-top-target .target-list .ttl span{
		background: linear-gradient(#F3C6B2, #F3C6B2) 0 100% / 100% 8px no-repeat;
}
#p-top-target .target-list .txt{
	font-size: 1.4rem;
}
@media screen and (max-width: 960px) {
	#p-top-target{
		background-image: url(../img/top/bg-target.webpg);
		padding:3.2rem 0;
	}
	#p-top-target .bg-w{
		padding:2rem;
	}
	#p-top-target .catch{
		font-size: 2rem;
		margin-bottom:1.8rem;
	}
	#p-top-target .target-list .pic{
		margin-bottom:1.6rem;
	}
	#p-top-target .target-list .ttl{
		font-size: 1.8rem;
		margin-bottom:1.6rem;
	}
	#p-top-target .target-list .txt{
		font-size: 1.3rem;
	}
}


/* Certification
---------------------------------*/
/* タブメニュー */
.certification-tab .tab{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.6rem;
	margin:0 4rem;
}
.certification-tab .tab .item {
	border-radius: .8rem .8rem 0 0;
	padding: 1.6rem 2.4rem 1.8rem;
	text-align: center;
	display: block;
	background-color: var(--color-black);
	color:#fff;
	cursor: pointer;
	transition: all .1s;
}
.certification-tab .tab .item.is-active {
	background-color: #fff;
	color:var(--color-black);
	box-shadow: 0px -2px 2px 1px rgba(0, 0, 0, 0.02);
}
.certification-tab .tab .ttl{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
}
/* タブパネル */
.tab-panel {
	width: 100%;
}
.js-tab-content {
	display: none;
}
.js-tab-content.is-show {
	display: block;
	animation-name: displayAnime;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@keyframes displayAnime{
	from { opacity: 0; }
	to { opacity: 1; }
}
.certification-content {
	background-color: #fff;
	padding: 4.8rem 6.4rem 6.4rem;
	border-radius: var(--border-radius-8);
}
@media only screen and (max-width: 960px) {
	.certification-tab .tab{
		grid-template-columns: repeat(3, 1fr);
		gap: .8rem;
		margin:0;
	}
	.certification-tab .tab .item  {
		padding: 1.2rem .6rem;
	}
	.certification-tab .tab .item .ttl{
		font-size: 1.2rem;
	}
	.certification-content {
		padding: 2.6rem 2rem 3.2rem;
	}
}

.certification-content-row{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
  column-gap: 6.4rem;
}
.certification-content-row .pic-row{
	width: 26rem;
	flex-shrink: 0;
}
.certification-content-row .pic-row img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
.certification-content-row .txt-row{
	flex-grow: 1;
}
.certification-content-row .txt-row .ttl{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:2.4rem;
}
.recommend-box{
	background-color:#FDF0E9 ;
	border-radius: var(--border-radius-8);
	padding:1rem;
	margin-top:2.4rem;
}
.recommend-box .recommend-box_ttl{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0 0 1.6rem 1.4rem;
}
.recommend-box .recommend-box_list{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding:2.4rem 3.2rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: .8rem;
	row-gap: .8rem;
	font-size: 1.4rem;
	line-height: 1.4;
}
.recommend-box .recommend-box_list.disc-list li:nth-of-type(n+2) {
    margin-top: 0;
}
@media only screen and (max-width: 960px) {
	.certification-content-row{
		display: block;
	}
	.certification-content-row .pic-row{
		width: 50%;
		margin:3.2rem auto 0;
	}
	.certification-content-row .txt-row .ttl{
		font-size: 2.4rem;
		margin-bottom:1.6rem;
		text-align: center;
	}
	.recommend-box .recommend-box_ttl{
		font-size: 1.6rem;
		padding: 0 0 1.2rem 0;
		text-align: center;
	}
	.recommend-box .recommend-box_list{
		padding:2rem;
		grid-template-columns: repeat(1, 1fr);
		font-size: 1.3rem;
		row-gap: .4rem;
	}
}

.certification-day{
	background-color: #fff;
	border-radius: var(--border-radius-8) var(--border-radius-8) 0 0;
	border:.3rem solid var(--color-primary);
	padding:4.8rem 6.4rem;
	margin-top:4rem;
	column-gap: 8rem;
	align-items: center;
	position: relative;
}
.certification-day__header{
	text-align: center;
}
.certification-day__header .ttl{
	color:var(--color-primary);
	font-size:4rem;
	font-weight: 700;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:1rem;
	margin-bottom:1rem;
}
.certification-day__header .ttl .count {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1.2;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	border:.1rem solid var(--color-primary);
	color: var(--color-primary);
}
.certification-day__header .ttl .count .num{
	font-size: 2.4rem;
	padding-bottom:.7rem;
}
.certification-day__header .txt-date{
	color: var(--color-primary);
	font-size:2.4rem;
	font-weight: 700;
	line-height: 1;
	margin-top:-.5rem;
}
.certification-day__header .txt-date span{
	font-size:4rem;
	line-height: 1;
}
.certification-day__header .txt-deadline{
	color: var(--color-primary);
	font-size:1.8rem;
	line-height: 1.2;
	margin-top:1.6rem;
}

.certification-day__header .info-bnr{
	margin-top:2.4rem;
}
.certification-day__body{
	position: relative;
}
.certification-day__body::after {
	position: absolute;
	top: 0;
	left:-4rem;
	content: "";
	width: 1px;
	height: 100%;
	background-color: #FBD9CC;
}
@media only screen and (max-width: 960px) {
	.certification-day{
		border:.2rem solid var(--color-primary);
		padding:2rem;
		margin-top:4rem;
		row-gap: 2.4rem;
	}
	.certification-day__header {
		text-align: center;
	}
	.certification-day__header .ttl{
		font-size:3rem;
		display: block;
		margin-bottom:1rem;
		text-align: center;
	}
	.certification-day__header .ttl .circle-count{
		display: block;
		width: 8rem;
		margin:0 auto .8rem;
	}
	.certification-day__header .ttl .count {
		font-size: 1.2rem;
		width: 8rem;
		height: 8rem;
	}
	.certification-day__header .ttl .count .num{
		font-size: 2.4rem;
	}
	.certification-day__header .txt-date{
		font-size:1.8rem;
	}
	.certification-day__header .txt-date span{
		font-size:2.8rem;
	}
	.certification-day__header .txt-deadline{
		font-size:1.4rem;
		margin-top:1.2rem;
	}
}
.certification-entry{
	border-radius: 0 0 var(--border-radius-8) var(--border-radius-8);
	background: var(--color-primary);
	padding:4rem;
}
.certification-entry .certification-entry_list{
	max-width: 62.4rem;
	margin:0 auto;
	column-gap: 1.6rem;
	row-gap: 1.6rem;
}
.certification-entry .link-btn{
	max-width: 30rem;
}
@media only screen and (max-width: 960px) {
	.certification-entry{
		padding:2.4rem 2rem;
	}
	.certification-entry .certification-entry_list{
		width: 100%;
	}
	.certification-entry .link-btn{
		width: 100%;
		max-width: none;
	}
}


/* P-top-group
---------------------------------*/
#p-top-group{
	padding-bottom:9.6rem;
	overflow: hidden;
}
#p-top-group .inner{
	position: relative;
}
#p-top-group .catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:4rem;
	text-align: center;
}
.group-voice-list{
	position: relative;
	padding:3.2rem 0;
	column-gap: 2.4rem;
	row-gap: 3.2rem;
}
.group-voice-list::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
	height: 100%;
	width: calc(100% + 64px);
	background: #FBECE3;
}
.group-voice-list .item{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding:0 2.4rem 2.4rem;
	position: relative;
}
.group-voice-list .item .icon{
	width:8rem;
	height:auto;
	margin:-2rem auto 1rem;
}
.group-voice-list .item .txt{
	font-size: 1.4rem;
	line-height: 1.5;
}
.group-catch-box{
	position: relative;
	max-width: 92rem;
	margin: 0 auto;
}
.group-baloon-txt_pc{
	display: block;
	position: absolute;
	top:-5rem;
	right:-5rem;
}
.group-baloon-txt_pc{
	display: block;
	position: absolute;
	top:-5rem;
	right:-5rem;
}
.group-baloon-txt_sp{
	display: none;
}
#p-top-group .group-voice-list{
	margin-bottom:4rem;
}
@media only screen and (max-width: 960px) {
	.group-baloon-txt_pc{
		display: none;
	}
	.group-baloon-txt_sp{
		display: block;
		text-align: center;
	}
	.group-baloon-txt_sp span {
		position: relative;
		display: inline-block;
		border-radius: 60px;
		margin: 0 0 16px;
		padding: .6rem 1.6rem;
		color:var(--color-black);
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1.4;
		background: #FAD715;
	}
	.group-baloon-txt_sp span::before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -9px;
		border: 9px solid transparent;
		border-top: 9px solid #FAD715;
	}
	#p-top-group .catch{
		font-size: 2.4rem;
		margin-bottom:3.2rem;
	}
	.group-voice-list{
		padding:3.2rem 0 2rem;
		row-gap: 3.2rem;
	}
}

.scroll-infinity{
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}
.scroll-infinity__wrap {
  display: flex;
}
.scroll-infinity__list {
  display: flex;
  padding: 0;
  margin:0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 60s infinite linear 0.5s both;
}
.scroll-infinity__list .item {
  width: 24rem;
  padding:0 1.2rem;
	border-radius: var(--border-radius-8);
}
.scroll-infinity__item > img {
  width: 100%;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
    to {
    transform: translateX(-100%);
  }
}
@media only screen and (max-width: 960px) {
	.scroll-infinity__list .item {
  	width: 18rem;
  	padding:0 .8rem;
	}
}


/* P-top-voice
---------------------------------*/
#p-top-voice{
	background-color: #fff;
	padding:8rem 0;
	overflow: hidden;
}
.voice-carousel-slider{
	max-width: 40rem;
	margin: auto;
	overflow: visible;
}
.voice-carousel-slider .swiper-slide {
	max-width: 40rem;
	margin: 0 2rem;
	padding: 0;
	height: auto;
}
.voice-slider .swiper-button-prev,
.voice-slider .swiper-button-next {
	position: absolute;
	z-index: 1;
	top: 35%;
}
.voice-slider .swiper-button-prev {
	left: -30px;
}
.voice-slider .swiper-button-next {
	right: -30px;
}

.voice-slider .pic-row{
	border-radius: var(--border-radius-8);
	overflow: hidden;
	margin-bottom:2.4rem
}
.voice-slider .pic-row .thumb {
	aspect-ratio: 400 / 400;
}
.voice-slider .pic-row .thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.voice-slider .txt-row .grade{
	color: var(--color-primary);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	position: relative;
	padding-left: 1.6rem;
}
.voice-slider .txt-row .grade::before {
	content: '';
	width: 1rem;
	height: .1rem;
	top: 50%;
	left: 0;
	position: absolute;
	background-color: var(--color-primary);
}
.voice-slider .txt-row .ttl{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	margin:.8rem 0;
}
.voice-slider .txt-row .name{
	font-size: 1.4rem;
	line-height: 1.2;
	opacity: .6;
}
.voice-slider .txt-row .name span{
	font-size: 1.2rem;
}
@media screen and (max-width: 960px) {
	#p-top-voice{
		padding:4.8rem 0;
	}
	.voice-slider .swiper-slide{
		width: 90% !important;
		margin: 0 1.6rem .8rem;
	}
	.voice-slider .swiper-button-prev {
		left: 0;
	}
	.voice-slider .swiper-button-next {
		right: 0;
	}
	.voice-slider .txt-row .grade{
		font-size: 1.2rem;
	}
	.voice-slider .txt-row .ttl{
		font-size: 1.6rem;
	}
	.voice-slider .txt-row .name{
		font-size: 1.3rem;
	}
}


/* P-top-support
---------------------------------*/
#p-top-support{
	background-color: #FADFD1;
	padding:8rem 0;
	position: relative;
}
#p-top-support::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 90px 0 90px;
	border-color: #fff transparent transparent transparent;
}
.suport-list{
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	justify-content: flex-start;
}
.suport-list .item {
	width: calc((100% - 8rem) / 3);
}
.suport-list .item a{
	display: flex;
	flex-direction: column;
	padding:1rem;
	background-color: #fff;
	border-radius: var(--border-radius-8);
	height: 100%;
}
.suport-list .item .pic{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
.suport-list .item .txt-box{
	padding:1.6rem 1.4rem ;
}
.suport-list .item .ttl{
	display: inline-block;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom:1.2rem;
	position: relative;
	padding-right:2.4rem;
}
.suport-list .item .ttl::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../img/icon/circle-arrow-bl.svg) center / cover;
	transform: translateY(-50%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.suport-list .item .txt{
	font-size: 1.4rem;
}
.suport-list .item .ttl span {
	background-image: linear-gradient(#460505, #460505);
	background-position: 0% 100%;
	background-size: 100% 1px;
	background-repeat: no-repeat;
	transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
.suport-list .item a:hover .ttl span {
	background-position: 100% 100%;
	background-size: 0% 1px;
}
@media screen and (max-width: 960px) {
	#p-top-support{
		padding:5.6rem 0 4.8rem;
	}
	#p-top-support::before {
		border-width: 40px 90px 0 90px;
	}
	.suport-list{
		gap: 2.4rem;
	}
	.suport-list .item {
		width: 100%;
	}
	.suport-list .item .ttl{
		font-size: 1.8rem;
		padding-right:2.4rem;
	}
	.suport-list .item .ttl::after {
		width: 1.8rem;
		height: 1.8rem;
	}
	.suport-list .item .txt{
		font-size: 1.3rem;
	}
}


/* P-top-faq
---------------------------------*/
.faq_contents {
	text-align: left;
	background-color: #fff;
	transition: .3s;
	border-radius: .4rem;
}
.faq_contents:not(:first-of-type) {
	margin-top: 1.6rem;
}
.faq-head {
	position: relative;
	cursor: pointer;
	padding: 2.4rem 6.4rem 2.4rem 3.2rem;
}
.faq-head .ttl {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	padding-left: 2.8rem;
}
.faq-head .ttl:before {
	content: "Q";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 2.4rem;
	color: var(--color-primary);
	line-height: 1;
}
.toggle_icon {
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	display: block;
	width: 3rem;
	height: 3rem;
	background-color: var(--color-black);
	padding: 1rem;
	text-indent: -9999px;
	white-space: nowrap;
	overflow: hidden;
	border-radius: .4rem;
}
.toggle_icon:before,
.toggle_icon:after {
	display: block;
	content: '';
	background-color: #fff;
	position: absolute;
	width: 15px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.toggle_icon:before {
	width: 2px;
	height: 15px;
}
.faq-head.selected .toggle_icon:before {
	content: normal;
}
.faq_contents dd.accordion-body {
	display: none;
}
.faq-body {
	line-height: 1.66;
	border-top: 1px solid #DCDCDC;
	padding: 3.2rem 3.2rem;
}
.faq-body>*:first-child {
	margin-top: 0;
}
.faq-body>* {
	margin-top: 1.6rem;
}
.faq-body a {
	color: var(--color-black);
	text-decoration: underline;
}
.faq-body a:focus,
.faq-body a:active,
.faq-body a:hover {
	text-decoration: none;
}
@media only screen and (max-width: 960px) {
	.faq_contents:not(:first-of-type) {
		margin-top: 1rem;
	}
	.faq-head {
		padding: 2rem 5.4rem 2rem 2rem;
	}
	.faq-head .ttl {
		font-size: 1.4rem;
		padding-left: 2.6rem;
	}
	.faq-head .ttl:before {
		top: 0;
		font-size: 1.8rem;
	}
	.toggle_icon {
		width: 2.4rem;
		height: 2.4rem;
		padding: 1rem;
		right: 1.6rem;
	}
	.toggle_icon:before,
	.toggle_icon:after {
		width: 10px;
		height: 2px;
	}
	.toggle_icon:before {
		width: 2px;
		height: 10px;
	}
	.faq-body {
		padding: 2.4rem 2.4rem;
	}
}

.certification-difference{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.certification-flow{
	padding:1rem 1rem 1.6rem;
	width: 50%;
}
.certification-flow.online{
	background-color: #ECF2E1;
	border-radius: .8rem 0 0 .8rem;
}
.certification-flow.hall{
	background-color: #E7F0F9;
	border-radius: 0 .8rem .8rem 0;
}
.certification-flow .ttl{
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	padding:1rem;
}
.certification-flow .bg-w{
	border-radius: var(--border-radius-8);
	padding:1.6rem 2.4rem;
	text-align: center;
}
.certification-flow .sub-ttl{
	text-align: center;
	font-weight: 700;
}
.certification-flow .bg-w .tx-caption{
	opacity: .6;
}
@media screen and (min-width: 961px) {
	.certification-flow .box-point{
		height: 27rem;
	}
}
@media only screen and (max-width: 960px) {
	.certification-flow{
		padding:1rem 1rem 1.6rem;
		width: 100%;
	}
	.certification-flow.online{
		background-color: #ECF2E1;
		border-radius: .8rem .8rem 0 0;
	}
	.certification-flow.hall{
		background-color: #E7F0F9;
		border-radius: 0 0 .8rem .8rem;
	}
	.certification-flow .ttl{
		font-size: 1.6rem;
		padding:.6rem;
	}
}


/* P-top-news
---------------------------------*/
#p-top-news{
	background-color: #EFE4DF;
	border-radius: var(--border-radius-8);
	padding: 4rem 6.4rem;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: 6.4rem;
	margin-bottom:9.6rem;
}
@media only screen and (min-width: 961px) {
	#p-top-news .section-heading{
		text-align: left;
		flex-shrink: 0;
	}
	#p-top-news .section-heading .jp{
		font-size: 3.6rem;
	}
}
#p-top-news .bg-w{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding: 4rem;
	flex-grow: 1;
}
#p-top-news .news-list {
  border-top: #F0EAEA solid 1px;
  text-align: left;
}
#p-top-news .news-list .item {
  width: 100%;
  line-height: 1.4;
  border-bottom: #F0EAEA solid 1px;
  padding: 2.4rem 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 3.2rem;
}
#p-top-news .news-list .meta {
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0;
}
#p-top-news .news-list .ttl a{
	padding-left:1rem;
}
#p-top-news .news-list .ttl a span {
	background-image: linear-gradient(#460505, #460505);
	background-position: 0% 100%;
	background-size: 100% 1px;
	background-repeat: no-repeat;
	transition: background-size 0.6s cubic-bezier(0.170, 0.935, 0.305, 1.000);
}
#p-top-news .news-list .ttl a:hover span {
	background-position: 100% 100%;
	background-size: 0% 1px;
}
@media only screen and (max-width: 960px) {
	#p-top-news {
		padding: 2.4rem 1rem 1rem;
		display: block;
		margin-bottom:7.2rem;
	}
	#p-top-news .section-heading{
		margin-bottom:2.4rem;
	}
	#p-top-news .bg-w{
		padding: 2rem;
	}
	#p-top-news .news-list .item{
		display: block;
		padding: 1.6rem 0;
	}
	#p-top-news .news-list .meta{
		margin-bottom:1rem;
		font-size: 1.2rem;
	}
}


/* P-top-business
---------------------------------*/
#p-top-business{
	background-color: #fff;
	padding:8rem 0 9.6rem;
	margin-bottom:12.6rem;
}
#p-top-business .flex-row > div{
	width: 48%;
}
#p-top-business .pic-row img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
#p-top-business .txt-row .catch{
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:3.2rem;
}
#p-top-business .txt-row .txt{
	margin-bottom:3.2rem;
}
@media only screen and (max-width: 960px) {
	#p-top-business{
		padding:4.8rem 0 4.8rem;
		margin-bottom:8rem;
	}
	#p-top-business .flex-row > div{
		width: 100%;
	}
	#p-top-business .txt-row {
		text-align: center;
		margin-top:2.4rem;
	}
	#p-top-business .txt-row .catch{
		font-size: 2.4rem;
		text-align: left;
		margin-bottom: 2.4rem;
	}
	#p-top-business .txt-row .txt{
		margin-bottom:2.4rem;
		text-align: left;
	}
}

.page-intro{
	padding: 28rem 0 9.6rem;
	overflow: hidden;
	margin-top:-20rem;
	position: relative;
	z-index: 1;
}
.page-intro::before {
	content: "";
	display: block;
	background: var(--bg-light-beige);
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.page-intro .sub-copy{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.44;
	margin-bottom: .8rem;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.page-intro .sub-copy::before,
.page-intro .sub-copy::after {
	content: '';
	width: .3rem;
	height: 2.4rem;
	background-color: var(--color-black);
}
.page-intro .sub-copy::before {
	margin-right: 1.6rem;
	transform: rotate(-30deg);
}
.page-intro .sub-copy::after {
	margin-left: 1.6rem;
	transform: rotate(30deg);
}
.page-intro .catch{
	font-size:4rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:3.2rem;
	text-align: center;
}
.page-intro .lead-copy{
	text-align: center;
}
@media screen and (max-width: 960px) {
	.page-intro{
		padding: 4rem 0 7.2rem;
		margin-top:0;
	}
	.page-intro .sub-copy{
		font-size: 1.6rem;
	}
	.page-intro .sub-copy::before,
	.page-intro .sub-copy::after {
		width: .2rem;
		height: 2rem;
	}
	.page-intro .sub-copy::before {
		margin-right: 1rem;
	}
	.page-intro .sub-copy::after {
		margin-left: 1rem;
	}
	.page-intro .catch{
		font-size:2.4rem;
		margin-bottom:2.4rem;
	}
	.page-intro .lead-copy{
	text-align: left;
	}
}


/*
------------------------------------------
 =About
------------------------------------------
*/
#p-about .point-list{
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	justify-content: flex-start;
}
#p-about .point-list .item {
	border-radius: var(--border-radius-8);
	background-color: #fff;
	width: calc((100% - 8rem) / 3);
	position: relative;
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 1rem 1rem 3.2rem;
}
#p-about .point-list .item .num {
	width: 6.4rem;
	height: 6.4rem;
	background: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
	border-radius: 100%;
	position: absolute;
	left: -1rem;
	top: -1rem;
}
#p-about .point-list .item .pic{
	border-radius: var(--border-radius-8);
	aspect-ratio: 16 / 9;
  overflow: hidden;
}
#p-about .point-list .item .pic img{
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
#p-about .point-list .item .ttl{
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	margin:1.6rem 1.4rem 1.6rem;
	text-align: center;
}
#p-about .point-list .item .txt{
	font-size: 1.4rem;
	margin:0 1.4rem;
}
@media screen and (max-width: 960px) {
	#p-about .point-list{
		gap: 3.2rem;
	}
	#p-about .point-list .item {
		width: 100%;
		padding: 1rem 1rem 2.4rem;
	}
	#p-about .point-list .item .num {
		width: 4.8rem;
		height: 4.8rem;
		font-size: 2.2rem;
	}
	#p-about .point-list .item .ttl{
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.5;
		margin:1.6rem 1rem 1.6rem;
		text-align: center;
	}
	#p-about .point-list .item .txt{
		font-size: 1.4rem;
		margin:0 1rem;
	}
}


#p-about .p-about_data{
	padding:12rem 0;
}
#p-about .data-list{
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	justify-content: flex-start;
}
#p-about .data-list .item {
	border-radius: var(--border-radius-8);
	background-color: #fff;
	width: calc((100% - 8rem) / 3);
	position: relative;
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 2.4rem 2.4rem 3.2rem;
}
#p-about .data-list .item .ttl{
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:1.6rem;
	text-align: center;
}
#p-about .data-list .item:nth-child(n+4) {
	width: calc((100% - 8rem) / 2);
}
#p-about .data-list img{
	max-width: 30rem;
	margin:0 auto;
}

.deta-cart-caption{
	display: flex;
	flex-direction: column;
	row-gap: .6rem;
	max-width: 40rem;
	margin:2.4rem auto 0;
}
.deta-cart-caption li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem;
	font-weight: 700;
	column-gap: 1.6rem;
}
.deta-cart-caption li .label{
	position: relative;
	padding-left:1.6rem;
	line-height: 1.2;
}
.deta-cart-caption li .label::before{
	content: '';
	width: 1.2rem;
	height: 1.2rem;
	background-color: #BE3900;
	position: absolute;
	left: 0;
	top: 2px;
}
.deta-cart-caption li:nth-child(2) .label::before {
	background-color: #E74700;
}
.deta-cart-caption li:nth-child(3) .label::before {
	background-color: #ED743F;
}
.deta-cart-caption li:nth-child(4) .label::before {
	background-color: #F09067;
}
.deta-cart-caption li:nth-child(5) .label::before {
	background-color: #F4AC8C;
}
.deta-cart-caption li:nth-child(6) .label::before {
	background-color: #F4AC8C;
}
.deta-cart-caption li .num{
	line-height: 1.2;
}
.deta-cart-caption li .num span{
	font-size: 1.8rem;
}
@media screen and (max-width: 960px) {
	#p-about .p-about_data{
		padding:7.2rem 0;
	}
	#p-about .data-list .item {
		width: 100%;
		padding: 2rem;
	}
	#p-about .data-list .item .ttl{
		font-size: 1.8rem;
	}
	#p-about .data-list .item:nth-child(n+4) {
		width: 100%;
	}
	.deta-cart-caption li {
		font-size: 1.3rem;
	}
	.deta-cart-caption li .num span{
		font-size: 1.6rem;
	}
}

.level-list .item{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
.level-list .item:not(:first-child) {
  margin-top: 4rem;
}
.level-list .item .ttl{
	font-size: 2.8rem;
	font-weight: 700;
	padding:2.4rem 3.2rem;
	border-bottom:1px solid #DCDCDC;
	line-height: 1.4;
}
.level-list .item .lebel-list_body{
	padding:3.2rem 6.4rem 6.4rem;
}
.level-list .item .level-box{
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem;
	justify-content: flex-start;
	margin-top:3.2rem;
}
.level-list .item .level-box .level-box_heading{
	background: var(--color-primary);
	border-radius: var(--border-radius-8);
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction:column;
	gap: 1rem;
	width: 26%;
	flex-shrink: 0;
	position: relative;
}
@media screen and (min-width: 961px) {
	.level-box .level-box_heading:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 100%;
		margin-top: -12px;
		border: 12px solid transparent;
		border-left: 12px solid var(--color-primary);
	}
}
.level-box_heading .subheading{
	font-size:1.8rem;
	display: block;
	font-weight: 700;
	line-height: 1;
}
.level-box_heading .num{
	font-size: 7.2rem;
	font-weight: 700;
	line-height: 1;
	margin-top: -1rem;
}
.level-box_heading .num span{
	font-size: 4rem;
}
.level-box .recommend-box{
	flex-grow: 1;
	margin-top:0
}
@media screen and (max-width: 960px) {
	.level-list .item .ttl{
		font-size: 2.2rem;
		text-align: center;
	}
	.level-list .item .lebel-list_body{
		padding:2rem 2rem 3.2rem;
	}
	.level-list .item .level-box .level-box_heading{
		width: 100%;
		padding:1.6rem;
		font-size:1.5rem;
	}
	.level-box_heading .num{
		font-size: 4.8rem;
		font-weight: 700;
		line-height: 1;
		margin-top: -1rem;
	}
	.level-box_heading .num span{
		font-size: 3.2rem;
	}
	.level-box .level-box_heading:before {
		content: "";
		position: absolute;
		bottom: -24px;
		left: 50%;
		margin-left: -15px;
		border: 12px solid transparent;
		border-top: 12px solid var(--color-primary);
	}
	.level-box_heading .subheading{
		font-size:1.6rem;
	}
}


/*
------------------------------------------
 =Benefit
------------------------------------------
*/
#p-benefit .p-benefit-point{
	padding:8rem 0 6.4rem;
}
#p-benefit .benefit-point-list .item:not(:first-child){
	margin-top:12rem
}
#p-benefit .benefit-point-list .pic-row{
	width: 50%;
}
#p-benefit .benefit-point-list .pic-row img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
	width: 100%;
}
#p-benefit .benefit-point-list .txt-row {
	width:46%
}
#p-benefit .benefit-point-list .txt-row .label{
	background:var(--color-primary);
	border-radius: 3rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.22;
	position: relative;
	display: inline-block;
	padding: .4rem 1.6rem .5rem;
	}
#p-benefit .benefit-point-list .txt-row .label span{
	font-size: 2.2rem;
}
#p-benefit .benefit-point-list .txt-row .catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin:1rem 0 2.4rem;
}
#p-benefit .company-list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: .8rem;
	row-gap: .8rem;
	margin:4rem auto 0;
	max-width: 74rem;
}
#p-benefit .company-list img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
@media screen and (max-width: 960px) {
	#p-benefit .p-benefit-point{
	padding:4.8rem 0 4rem;
}
	#p-benefit .benefit-point-list .item:not(:first-child){
		margin-top:7.2rem;
	}
	#p-benefit .benefit-point-list .pic-row,
	#p-benefit .benefit-point-list .txt-row {
		width: 100%;
}
	#p-benefit .benefit-point-list .pic-row{
		margin-top:2.4rem;
	}
	#p-benefit .benefit-point-list .txt-row .label{
		font-size: 1.2rem;
		padding: .4rem 1.6rem .5rem;
	}
	#p-benefit .benefit-point-list .txt-row .label span{
		font-size: 1.8rem;
	}
	#p-benefit .benefit-point-list .txt-row .catch{
		font-size: 2.2rem;
		margin:.8rem 0 1.6rem;
	}
	#p-benefit .company-list{
		margin-top:2.4rem;
	}
}

.benefit-case{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding:3.2rem 3.2rem 3.2rem;
	margin-top:4rem;
}
.benefit-case .heading{
	color:var(--color-primary);
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:2.4rem;
	text-align: center;
}
.case-list{
	column-gap: 1.6rem;
	row-gap: 1.6rem;
}
.case-list .case-list_item a {
	background-color: #fff;
	border:1px solid #F8D0BE;
	border-radius: var(--border-radius-8);
	padding:2.4rem 2.4rem 2.4rem;
	display: grid;
	gap: 1.6rem;
	grid-template-columns: 18rem auto;
	align-items: center;
	position: relative;
}
.case-list .case-list_item a::after {
	position: absolute;
	content: "";
	bottom: .8rem;
	right: .8rem;
	width: 1.8rem;
	height:1.8rem;
	-webkit-mask-image: url(../img/icon/circle-arrow-bl.svg);
	mask-image: url(../img/icon/circle-arrow-bl.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: .3s ease-in-out;
	background-color: var(--color-black);
}
.case-list .case-list_item a:hover{
	border:1px solid var(--color-primary);
}
.case-list .case-list_item a:hover::after {
	background-color: var(--color-primary);
}
.case-list .case-list_item .item-pic .thumb {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	border-radius:var(--border-radius-8)
}
.case-list .case-list_item .item-pic .thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.case-list .case-list_item .item-ttl{
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}
@media screen and (max-width: 960px) {
	.benefit-case{
		padding:2rem;
		margin-top:2.4rem;
	}
	.benefit-case .heading{
		font-size: 1.8rem;
		margin-bottom:1.6rem;
	}
	.case-list{
		row-gap: 1.6rem;
	}
	.case-list .case-list_item a {
		padding:1rem 1rem 2.8rem;
		display: block;
	}
	.case-list .case-list_item .item-ttl{
		padding:1.6rem 1.6rem 0;
	}
}

.benefit-join{
	background-color: #FADFD1;
	padding:7.2rem 2rem;
	position: relative;
	margin-top:6.4rem;
}
.benefit-join::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 90px 0 90px;
	border-color: #FCF5EF transparent transparent transparent;
}
.benefit-join .catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:3.6rem;
	text-align: center;
}

.benefit-join_list{
	max-width: 64rem;
	margin:0 auto;
	row-gap: 1.6rem;
	column-gap: 4rem;
}
.benefit-join_list .item{
	border-radius: var(--border-radius-8);
	background-color: #fff;
	padding:2.4rem 3.2rem 3.2rem;
}
.benefit-join_list .item .ttl{
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
	margin-bottom:1.6rem;
}
.benefit-join_list-row {
	display: grid;
	gap: 2.4rem;
	grid-template-columns: 16rem auto;
	align-items: center;
	position: relative;
}
.benefit-join_list .item .pic-row img{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
@media screen and (max-width: 960px) {
	.benefit-join{
		padding:4.8rem 2rem;
	}
	.benefit-join::before {
		border-width: 40px 90px 0 90px;
	}
	.benefit-join .catch{
		font-size: 2.4rem;
		margin-bottom:2.4rem;
	}
	.benefit-join_list .item{
		padding:2rem;
	}
	.benefit-join_list .item .ttl{
		font-size: 1.8rem;
	}
	.benefit-join_list-row {
		grid-template-columns: 12rem auto;
	}
}

.other-service{
	column-gap: 4rem;
	row-gap: 2.4rem;
}
.other-service a{
	background: #fff;
	border: 1px solid #fff;
	border-radius: var(--border-radius-8);
	padding: 2.4rem 2.4rem 2.4rem;
	display: grid;
	gap: 2.4rem;
	grid-template-columns: 18rem auto;
	align-items: center;
	position: relative;
}
.other-service .pic-row{
	border-radius: var(--border-radius-8);
	overflow: hidden;
}
.other-service .pic-row img{
	width: 100%;
}
.other-service a .ttl{
	display: inline-block;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom:1.6rem;
	position: relative;
	padding-right: 2.4rem;
}
.other-service a .ttl::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../img/icon/circle-arrow-bl.svg) center / cover;
	transform: translateY(-50%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.other-service a .txt{
	font-size: 1.4rem;
}
@media screen and (max-width: 960px) {
	.other-service a{
		padding: 1rem;
		display: block;
	}
	.other-service .txt-row{
		padding:1.6rem 1rem 1rem;
	}
}


/*
------------------------------------------
 =Goods
------------------------------------------
*/
.p-goods-content{
	padding: 8rem 0 0;
}
@media screen and (max-width: 960px) {
	.p-goods-content{
		padding:4.8rem 0 0;
	}
}
.goods-list .item{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	position: relative;
	padding:4rem 6.4rem 4.8rem;
}
.goods-list .item img{
	width: 100%;
}
.goods-list .item:not(:first-child) {
	margin-top: 7.2rem;
}
.goods-list .item .num {
	width: 9.6rem;
	height: 9.6rem;
	background: var(--color-primary);
	border:1rem solid #FCF5EF;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	border-radius: 100%;
	position: absolute;
	left: -3rem;
	top: -3rem;
}
.goods-list .item .goods-list_heading{
	text-align: center;
}
.goods-list .item .goods-list_heading .ttl{
	color:var(--color-primary);
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom:3.2rem;
}
.goods-list .item .goods-list_heading .ttl span{
	background: linear-gradient(#E74700, #E74700) 0 100% / 100% 3px no-repeat;
}
.goods-list .item .tx-caption{
	text-align: center;
}

.goods-list .item .goods-list-row{
	margin:3rem auto 0;
	column-gap: 2.4rem;
	row-gap: 2.4rem;
}
.goods-list .item .goods-list-row.row-wide-small{
	max-width: 64rem;
}
.goods-list .item .goods-list-row.row-wide-middle{
	max-width: 104rem;
}
.goods-list .item .tx-caption.bottom{
	margin-top:3.2rem;
}
.goods-list .item .goods-list-single{
	max-width: 104rem;
	margin: 3rem auto 0;
}
.goods-list .item .goods-name{
	font-size:1.8rem;
	font-weight: 700;
	margin-top:1.6rem;
	text-align: center;
}
@media screen and (max-width: 960px) {
	.goods-list .item{
		padding:2rem 2rem 2.8rem;
	}
	.goods-list .item:not(:first-child) {
		margin-top: 3.2rem;
	}
	.goods-list .item .num {
		width: 6.4rem;
		height: 6.4rem;
		border:.8rem solid #FCF5EF;
		font-size: 2.2rem;
		left: -2rem;
		top: -2rem;
	}
	.goods-list .item .goods-list_heading .ttl{
		font-size: 2.4rem;
		margin-bottom:2.4rem;
	}
	.goods-list .item .goods-list_heading .txt,
	.goods-list .item .goods-list_heading .tx-caption{
		text-align: left;
	}
	.goods-list .item .goods-card-list{
		margin:2.4rem 0;
	}
	.goods-list .item .goods-name{
		font-size:1.4rem;
		margin-top:1rem;
	}
	.goods-list .item .goods-list-row{
		margin:2.4rem auto 0;
	}
	.goods-list .item .goods-list-single {
		margin: 2.4rem auto 0;
	}
	.goods-list .item .tx-caption.bottom {
		margin-top: 1.6rem;
	}
}

/*
------------------------------------------
 =Dantai
------------------------------------------
*/
.p-dantai-intro{
	padding: 8rem 0 0;
	overflow: hidden;
}
.p-dantai-intro .catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom:4rem;
	text-align: center;
}
.p-dantai-intro .catch .tx-em{
	font-size: 4.8rem;
}
@media screen and (max-width: 960px) {
	.p-dantai-intro{
		padding: 4.8rem 0 0;
	}
	.p-dantai-intro .catch{
		font-size: 2.4rem;
		margin-bottom:3.2rem;
		margin-top:-.6rem;
	}
	.p-dantai-intro .catch .tx-em{
		font-size: 3.6rem;
	}
}

.p-dantai-about{
	padding:9.6rem 0;
}
.p-dantai-about .about-point-list{
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
	justify-content: flex-start;
	margin-bottom:6.4rem;
}
.p-dantai-about .about-point-list .item {
	border-radius: var(--border-radius-8);
	background-color: #fff;
	width: calc((100% - 8rem) / 3);
	position: relative;
	/* display: flex;
	flex-direction: column; */
	padding:3.2rem;
		text-align: center;
}
.p-dantai-about .about-point-list .item .label {
	background: var(--color-primary);
	border-radius: 3rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.22;
	position: relative;
	display: inline-block;
	padding: .4rem 1.6rem .5rem;
}
.p-dantai-about .about-point-list .item .ttl{
	margin-top:1rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.8;
}
.p-dantai-about .about-point-company-list.grid-col-5{
	column-gap: 1.6rem;
	row-gap: 1.6rem;
}
@media screen and (max-width: 960px) {
	.p-dantai-about{
		padding:7.2rem 0;
	}
	.p-dantai-about .about-point-list{
		gap: 1.6rem;
		margin-bottom:3.2rem;
	}
	.p-dantai-about .about-point-list .item {
		width: 100%;
		padding:2rem;
	}
	.p-dantai-about .about-point-list .item .label {
		font-size: 1.3rem;
		padding: .4rem 1rem .5rem;
	}
	.p-dantai-about .about-point-list .item .ttl{
		font-size: 1.5rem;
	}
	.p-dantai-about .about-point-company-list.grid-col-5{
		column-gap: .8rem;
		row-gap: .8rem;
	}
}


#p-dantai .bg-orange-content{
	background-color: #FADFD1;
	padding:8rem 0 9.6rem;
}
.p-dantai-campaign .catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.p-dantai-campaign .catch .tx-em{
	font-size: 4.4rem;
}
.p-dantai-campaign .campaign-detail{
	border-radius: 0 0 var(--border-radius-8) var(--border-radius-8);
	background: var(--color-primary);
	padding: 4rem;
}
.campaign-detail-list .item .ttl{
	font-weight: 700;
	background-color: var(--color-black);
	border-radius: var(--border-radius-8) var(--border-radius-8) 0 0;
	color:#fff;
	padding:1rem;
	text-align: center;
}
.campaign-detail-list .item .detail-body{
	background-color: #fff;
	border-radius: 0 0 var(--border-radius-8) var(--border-radius-8);
	padding:2.4rem 2.4rem 3.2rem;
	text-align: center;
}
.campaign-detail-list .item .base-price{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	margin-top:-1rem;
	padding:0 .5rem;
	display: inline-block;
	background-image: linear-gradient(#E74700, #E74700);
	background-position: 0 60%;
	background-size: 100% .3rem;
	background-repeat: repeat-x;
}
.campaign-detail-list .item .base-price span{
	font-size: 2.4rem;
}
.campaign-detail-list .item .result{
	padding-top:4rem;
	position: relative;
}
.campaign-detail-list .item .result::before {
	content: "";
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 24px 0 24px;
	border-color: #460505 transparent transparent transparent;
}

.campaign-detail-list .item .result .plan{
	padding: 1.6rem 0 ;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.campaign-detail-list .item .result .plan.first::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	height: 2px;
	width: 100%;
	background-image: radial-gradient(circle, #E2D4CF 1px, transparent 1px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
}
.campaign-detail-list .item .result .plan::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	height: 2px;
	width: 100%;
	background-image: radial-gradient(circle, #E2D4CF 1px, transparent 1px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
}
.campaign-detail-list .item .result .plan .heading{
	border:1px solid var(--color-primary);
	border-radius: 3rem;
	padding:.4rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	color:var(--color-primary);
}
.campaign-detail-list .item .result .plan .heading.group{
	background: var(--color-primary);
	color:#fff;
}
.campaign-detail-list .item .result .plan .price{
	color:var(--color-primary);
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
	margin-top:-1rem;
}
.campaign-detail-list .item .result .plan .price span{
	font-size: 2.4rem;
}
.p-dantai-campaign .campaign-detail .tx-caption{
	margin-top:1.6rem;
	text-align: center;
	color:#fff;
	opacity: 1;
}
@media screen and (max-width: 960px) {
	#p-dantai .bg-orange-content{
		padding:4.8rem 0 4.8rem;
	}
	.p-dantai-campaign .catch{
		font-size: 2.2rem;
	}
	#p-dantai .bg-orange-content .certification-day{
		margin-top:2.4rem;
	}
	.p-dantai-campaign .catch .tx-em{
		font-size: 2.8rem;
	}
	.p-dantai-campaign .campaign-detail{
		padding: 2rem;
	}
	.campaign-detail-list{
		row-gap: 1.6rem;
	}
	.campaign-detail-list .item .detail-body{
		padding:2rem;
	}
	.campaign-detail-list .item .base-price{
		font-size: 3.2rem;
	}
	.campaign-detail-list .item .base-price span{
		font-size: 1.6rem;
	}
	.campaign-detail-list .item .result .plan{
		padding: 1rem 0 ;
	}
	.campaign-detail-list .item .result .plan .heading{
		font-size: 1.2rem;
	}
	.campaign-detail-list .item .result .plan .price{
		font-size: 3.2rem;
	}
	.campaign-detail-list .item .result .plan .price span{
		font-size: 1.6rem;
	}
}


.dantai-flow{
	padding-top:9.6rem;
}
.dantai-flow-list .item{
	background-color: #fff;
	border-radius: var(--border-radius-8);
	padding:3.2rem;
	text-align: center;
	position: relative;
}
.dantai-flow-list .item .label {
	background: var(--color-primary);
	border-radius: 3rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.22;
	position: relative;
	display: inline-block;
	padding: .4rem 1.6rem .5rem;
}
.dantai-flow-list .item .ttl{
	margin-top:1rem;
	font-weight: 700;
	line-height: 1.8;
}
.dantai-flow .dantai-flow-list.grid-col-3{
	margin-bottom:6.4rem;
}
.dantai-flow .dantai-flow-list.grid-col-4{
	column-gap: 4rem;
	row-gap: 3.2rem;
}
@media screen and (min-width: 961px) {
	.dantai-flow-list .item:not(:first-child)::before {
		content: "";
		position: absolute;
		display: inline-block;
		top: 50%;
		left: -2.6rem;
		transform: translateY(-50%);
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 12px 0 12px 12px;
		border-color: transparent transparent transparent #E74700;
	}
}

@media screen and (max-width: 960px) {
	.dantai-flow{
		padding-top:7.2rem;
	}
	.dantai-flow .dantai-flow-list.grid-col-3,
	.dantai-flow .dantai-flow-list.grid-col-4{
	grid-template-columns: repeat(1, 1fr);
	}
	.dantai-flow-list .item{
		padding:1.6rem;
	}

	.dantai-flow-list .item .label {
		font-size: 1.2rem;
	}
	.dantai-flow-list .item:not(:first-child)::before {
		content: "";
		position: absolute;
		display: inline-block;
		top: -2rem;
		left: 50%;
		transform: translateX(-50%);
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 12px 12px 0;
		border-color: #e74700 transparent transparent;
	}
}


/*
------------------------------------------
 =Business
------------------------------------------
*/
.p-business-intro-list.grid-col-2{
	column-gap: 1.6rem;
	row-gap: 1.6rem;
	margin-top:4rem;
}
.p-business-intro-list .item{
	background-color: #fff;
	border:1px solid var(--color-primary);
	border-radius: var(--border-radius-8);
	display: grid;
	grid-template-columns: 24rem auto;
	align-items: center;
}
.p-business-intro-list .item .ttl{
	background-color: var(--color-primary);
	border-radius: var(--border-radius-8) 0 0 var(--border-radius-8);
	color:#fff;
	padding:4rem 2.4rem;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (min-width: 961px) {
	.p-business-intro-list .item .ttl::before {
		content: "";
		position: absolute;
		top: 50%;
		right: -1rem;
		transform: translateY(-50%);
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 12px 0 12px 12px;
		border-color: transparent transparent transparent #e74700;
	}
}
.p-business-intro-list .detail{
	color:var(--color-primary);
	padding:1.6rem 3.2rem ;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	margin-top:-1rem;
	letter-spacing: 0;
}
.p-business-intro-list .detail .num{
	font-size: 6.4rem;
}
.p-business-intro-list .detail .unit{
	font-size: 3.2rem;
}
@media screen and (max-width: 960px) {
	.p-business-intro-list.grid-col-2{
		column-gap: .8rem;
		row-gap: .8rem;
		margin-top:2.4rem;
	}
	.p-business-intro-list .item{
		grid-template-columns: 1fr;
	}
	.p-business-intro-list .item .ttl{
		padding:1rem 1.6rem ;
		font-size: 1.6rem;
			border-radius: var(--border-radius-8) var(--border-radius-8) 0 0 ;
	}
	.p-business-intro-list .item .ttl::before {
		content: "";
		position: absolute;
		bottom: -1rem;
		left: 50%;
		transform: translateX(-50%);
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 12px 12px 0;
		border-color: #e74700 transparent transparent;
	}
	.p-business-intro-list .detail{
		text-align: center;
		padding:1.6rem 1.6rem ;
		font-size: 1.4rem;
			margin-top:-.5rem;
	}
	.p-business-intro-list .detail .num{
		font-size:4rem;
	}
	.p-business-intro-list .detail .unit{
		font-size: 2.4rem;
	}
}


.page-intro .pancierge-member{
	margin-top:6.4rem;
}
.page-intro .pancierge-member .pancierge-member_catch{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom:2.4rem;
	text-align: center;
}
.pancierge-member_list .item{
	text-align: center;
}
.pancierge-member_list .item img{
	width: 14rem;
	height: 14rem;
	border-radius: 50%;
	overflow: hidden;
}
.pancierge-member_list .item .disc{
	margin-top:1.6rem;
	font-weight: 700;
	line-height: 1.4;
}
@media screen and (max-width: 960px) {
	.page-intro .pancierge-member{
		margin-top:4rem;
	}
	.page-intro .pancierge-member .pancierge-member_catch{
		font-size: 2.4rem;
		margin-bottom:1.6rem;
	}
	.pancierge-member_list .item img{
		width: 11rem;
		height: 11rem;
	}
	.pancierge-member_list .item .disc{
		margin-top:1.2rem;
		font-size: 1.3rem;
	}
}



.p-business-cando{
	padding-top:8rem;
}
@media screen and (max-width: 960px) {
	.p-business-cando{
	padding-top:4.8rem;
}
}

.cando-list .item {
	background-color: #fff;
	border-radius: var(--border-radius-8);
	position: relative;
	padding:6.4rem ;
}
.cando-list .item:not(:first-child) {
  margin-top: 7.2rem;
}
.cando-list .item .num {
	width: 9.6rem;
	height: 9.6rem;
	background: var(--color-primary);
	border: 1rem solid #FCF5EF;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	border-radius: 100%;
	position: absolute;
	left: -3rem;
	top: -3rem;
}

.cando-list .cando-list_header{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	column-gap: 6.4rem;
}
.cando-list .cando-list_header .pic-row{
	width: 36.4%;
	flex-shrink: 0;
}
.cando-list .cando-list_header .pic-row img{
	border-radius: var(--border-radius-8);
	width: 100%;
}
.cando-list .cando-list_header .txt-row{
	flex-grow: 1;
}
.cando-list .cando-list_header .ttl {
	color: var(--color-primary);
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 3.2rem;
}
.cando-list .cando-list_header .ttl span{
	background: linear-gradient(#E74700, #E74700) 0 100% / 100% 3px no-repeat;
}
.cando-list .cando-list_header .sub-catch{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 2.4rem;
}
@media screen and (max-width: 960px) {
	.cando-list .item {
		padding:1rem ;
	}
	.cando-list .item:not(:first-child) {
		margin-top: 3.2rem;
	}
	.cando-list .cando-list_header{
		display: block;
	}
	.cando-list .item .num {
		width: 6.4rem;
		height: 6.4rem;
		border: .8rem solid #FCF5EF;
		font-size: 2.2rem;
		left: -2rem;
		top: -2rem;
	}
	.cando-list .cando-list_header .pic-row{
		width: 100%;
		margin-bottom:1rem;
	}
	.cando-list .cando-list_header .txt-row{
		padding:1rem 1rem 0;
	}
	.cando-list .cando-list_header .ttl {
		font-size: 2.4rem;
		margin-bottom: 2.4rem;
		text-align: center;
	}
	.cando-list .cando-list_header .sub-catch{
		font-size: 1.8rem;
		margin-bottom: 1.6rem;
	}
}

.cando-list-case{
	background-color: #FDF0E9;
	margin-top:4rem;
	border-radius: var(--border-radius-8);
	padding:2.4rem;
}
.cando-list-case .heading {
	color: var(--color-primary);
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 1.6rem;
	text-align: center;
}
.cando-list-case .pantena-heading{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 2.4rem;
	text-align: center;
}
.cando-list-case .pantena-heading .tx-em{
	font-size: 2.2rem;
	color:var(--color-primary);
}
.cando-list-case .txt{
	font-size: 1.4rem;
	margin-bottom:2.4rem;
}
@media screen and (max-width: 960px) {
	.cando-list-case{
		margin-top:2.4rem;
		padding:2rem;
	}
	.cando-list-case .heading {
		font-size: 1.8rem;
	}
	.cando-list-case .pantena-heading{
		font-size: 1.6rem;
	}
	.cando-list-case .pantena-heading .tx-em{
		font-size: 1.8rem;
	}
}


.pantena-list-item .flex-row{
	display: flex;
	justify-content: space-between;
	column-gap: 1.8rem;
	margin-bottom:1.6rem;
	align-items: center;
}
.pantena-list-item .flex-row .pic-row{
	width: 36.4%;
	flex-shrink: 0;
}
.pantena-list-item .flex-row .pic-row img{
	width: 100%;
	border-radius: var(--border-radius-8);
}
.pantena-list-item .flex-row .txt-row {
  flex-grow: 1;
}
.pantena-list-item .flex-row .txt-row .ttl{
	font-weight: 700;
	font-size:1.7rem;
	line-height: 1.5;
}
.pantena-list-item .disc{
	font-size: 1.4rem;
	line-height: 1.6;
}
@media screen and (max-width: 960px) {
	.pantena-list-item .flex-row{
		display: block;
		margin-bottom:0;
	}
	.pantena-list-item .flex-row .pic-row{
		width: 100%;
		margin-bottom:1.6rem;
	}
	.pantena-list-item .flex-row .txt-row .ttl{
		font-size:1.6rem;
		margin-bottom:1rem;
	}
}
