@charset "UTF-8";

/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.8.4 (last updated 14.2.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
 *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}
*,*::before,*::after {
    box-sizing: border-box;
}
a, button {
    cursor: revert;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
ol, ul, menu {
    list-style: none;
}
img {
    max-inline-size: 100%;
    max-block-size: 100%;
	vertical-align: top;
	/* backface-visibility: hidden; */
}
table {
    border-collapse: collapse;
}
input, textarea {
    -webkit-user-select: auto;
}
textarea {
    white-space: revert;
}
meter {
    -webkit-appearance: revert;
    appearance: revert;
}
:where(pre) {
    all: revert;
}
::placeholder {
    color: unset;
}
::marker {
    content: initial;
}
:where([hidden]) {
    display: none;
}
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}
:where([draggable="true"]) {
    -webkit-user-drag: element;
}
:where(dialog:modal) {
    all: revert;
}


/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size:62.5%;
}
body{
	font-size:1.7em;
	font-family: 'Noto Sans JP', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
}
p{
	line-height: 1.7;
}
a {
	color: #000;
	text-decoration: none;
	transition: color 0.2s, opacity 0.2s;
}
a:link {
	color: #000;
}
a:visited {
	color: #000;
}
@media (hover: hover) and (pointer: fine){
	a:hover {
		text-decoration: none;
		opacity: 0.7;
	}	
}
@media screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events:none;
	}
}
/* 表示切替 */
.switch {
	visibility: hidden;
}
.sp{
	display:none;
}
@media screen and (max-width:812px){
	body{
		font-size:1.5em;
		text-size-adjust:100%;
	}
	p{
		line-height: 1.5;
	}	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
}


/*
	common
-----------------------------------------------------------------------------------------------*/
/* 変数 */
:root{
	/* color */
	--bk: #000;
	--wh: #fff;
	--gry: #eceff1;
	--lbl: #eef6ff;
	--bl: #00418f;
	--hbl: #0078c8;
	--sky: #0fc9f7;
	--yl: #ffff00;
	--or: #ff8200;
	--gr: #00b496;
	--lgr: #5fefc0;
	--planL01: #ffd9b2;
	--planL02: #ffc080;
	--planL03: #ffa74c;
	--planB01: #b2e8df;
	--planB02: #80d9ca;
	--planB03: #4ccab5;
	--planH: #80bbe3;
	/* gradation */
	--gdBl: linear-gradient(90deg, #0fc9f7 0%, #0566d4 50%);
	--gdEm: linear-gradient(90deg, #5fefc0 0%, #5cecc6 25%, #0fc9f7 100%);
	/* font-weight */
	--light: 100;
	--medium: 400;
	--bold: 700;
	--black: 900;
	/* font-family */
	--en: 'Montserrat', sans-serif;
	--num: 'Barlow', sans-serif;
	/* border-radius */
	--radius30: 30px;
	--radius30L: 30px 0 0 30px;
	--radius30R: 0 30px 30px 0;
	--radius20: 20px;
	--radius20L: 20px 0 0 20px;
	--radius20R: 0 20px 20px 0;
}

/* wrapper */
#wrapper{
	position:relative;
	overflow:hidden;
}
@media screen and (min-width:813px){
	
}

/* 背景色 */
.bgLbl{
	background-color: var(--lbl);
}
.bgGry{
	background-color: var(--gry);
}
.bgEmGd{
	background: var(--gdEm);
}

/* ctsArea */
.ctsArea{
	width: 1200px;
	margin: 0 auto;
	padding: 120px 30px;
	position: relative;
}
@media screen and (max-width:812px){
	.ctsArea{
		width: 100%;
		max-width: 500px;
		padding: 50px 20px;
	}
}

/* title */
[class^="cmnTit"]{
	margin-bottom: 60px;
	padding: 20px 0;
	font-size: 4.0rem;
	font-weight: var(--bold);
	color: var(--bl);
	text-align: center;
	position: relative;
	z-index: 1;
}
[class^="cmnTit"]::after{
	font-family: var(--en);
	font-size: 14.0rem;
	font-weight: var(--light);
	color: var(--wh);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.cmnTitPlan::after{
	content: "PLAN";
}
.cmnTitVoice::after{
	content: "VOICE";
	color: var(--lbl);
}
.cmnTitFaq::after{
	content: "FAQ";
}
@media screen and (max-width:812px){
	[class^="cmnTit"]{
		margin-bottom: 30px;
		padding: 10px 0;
		font-size: 2.8rem;
	}
	[class^="cmnTit"]::after{
		font-size: 8.0rem;
	}
}

/* logo */
.cmnLogo{
	display: inline-block;
	height: 47px;
	margin-right: 5px;
	vertical-align: baseline;
}
@media screen and (max-width:812px){
	.cmnLogo{
		height: 30px;
	}
}

/* catch */
.cmnCatch{
	margin-bottom: 50px;
	font-size: 4.0rem;
	font-weight: var(--bold);
	text-align: center;
}
.cmnCatch > span{
	font-size: 5.0rem;
	color: var(--bl);
}
.cmnCatch__obi{
	display: inline-block;
	margin-bottom: 10px;
	padding: 20px;
	color: var(--wh);
	line-height: 1.0;
	background-color: var(--bl);
	border-radius: 5px;
	transform: skewX(-10deg);
}
.cmnCatch__obi > span{
	font-size: 4.5rem;
}
.cmnCatch__obi > span:last-of-type{
	color: var(--yl);
}
@media screen and (max-width:812px){
	.cmnCatch{
		margin-bottom: 20px;
		font-size: 2.5rem;
	}
	.cmnCatch > span{
		font-size: 3.2rem;
	}
	.cmnCatch__obi{
		margin-bottom: 10px;
		padding: 10px;
	}
	.cmnCatch__obi > span{
		font-size: 2.5rem;
	}
}

/*
	ボタン
-----------------------------------------------------------------------------------------------*/
/* base */
[class^="btnBase__area"]{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 30px;
	gap: 10px;
}

[class^="btnBase__item"],
a[class^="btnBase__item"],
button[class^="btnBase__item"]{
	display: inline-block;
	width: 100%;
	padding: 20px 30px;
	font-size: 2.0rem;
	font-weight: var(--bold);
	color: var(--bl);
	text-align: center;
	border-radius: 60px;
	background-color: var(--wh);
	position: relative;
	cursor: pointer;
}
button[class^="btnBase__item"]{
	color: var(--wh);
}
[class^="btnBase__item"]::after,
a[class^="btnBase__item"]::after,
button[class^="btnBase__item"]::after{
	content: "";
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: url("../images/btn_arrow_wh.svg") var(--bl) no-repeat center center / 35%;
	position: absolute;
	right: 20px;
	bottom: 50%;
	transform: translateY(50%);
}
button[class^="btnBase__item"]::after{
	background: url("../images/btn_arrow_bl.svg") var(--wh) no-repeat center center / 35%;
}
a[class^="btnBase__item"].back::after,
button[class^="btnBase__item"].back::after{
	right: auto;
	left: 20px;
	transform: translateY(50%) rotate(-180deg);
}
@media screen and (max-width:812px){
	[class^="btnBase__area"]{
		padding-top: 20px;
	}
	[class^="btnBase__item"],
	a[class^="btnBase__item"],
	button[class^="btnBase__item"]{
		padding: 20px;
		font-size: 1.6rem;
	}
}


/*
	loading
-----------------------------------------------------------------------------------------------*/
.loading {
	width: 100%;
	height: 100%;
	background-color: var(--wh);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	opacity: 1;
	visibility: visible;
	transition: opacity 1s, visibility 1s;
}
.loading.is-active {
	opacity: 0;
	visibility: hidden;
}
.loading-animation {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--gdBl);
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.0s, visibility 1.0s;
}
.loading-animation.is-active {
	opacity: 1;
	visibility: visible;
}
.loading__img{
	width: 80%;
	max-width: 650px;
}

  
/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	display: flex;
	padding: 20px 30px;
	background-color: var(--wh);
}
.header__logo{
	width: 75px;
}
@media screen and (max-width:812px){
	#header{
		padding: 12px 20px;
	}
	.header__logo{
		width: 60px;
	}
}


/*
	kv
-----------------------------------------------------------------------------------------------*/
.kv__top{
	background: url("../images/bg_kv_pc.png") no-repeat center center / cover;
}
.kv__topIn{
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	width: 100%;
	max-width: 1400px;
	min-width: 1200px;
	margin: 0 auto;
	padding: 50px 20px;
	position: relative;
	z-index: 1;
}
.kv__topIn::before{
	content: '';
	width: 400px;
	height: 100%;
	background-color: #0367d4;
	position: absolute;
	top: 0;
	right: 10%;
	transform: skewX(-30deg);
	z-index: -1;
	opacity: 0.4;
}
.kv__catch{
	width: 67%;
	position: relative;
}
.kv__catchImg01{
	position: relative;
	z-index: 10;
}
.kv__catchImg02,
.kv__catchImg03{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.kv__img{
	width: 38%;
	margin-left: -5%;
}
.kv__topListArea{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: end;
	position: absolute;
	right: 20px;
	bottom: -55px;
}
.kv__topList{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.kv__topList li{
	width: 170px;
}
.authority__area{
	padding-top: 100%;
	background-color: var(--yl);
	border-radius: 100%;
	position: relative;
}
.authority__areaIn{
	width: 90%;
	text-align: center;
	position: absolute;
	top: 0;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.authority__tit{
	margin-bottom: 5px;
	font-size: 1.6rem;
	font-weight: var(--bold);
	color: var(--bl);
	line-height: 1.0;
}
.authority__tit sup{
	font-size: smaller;
	vertical-align: super;
}
.authority__txt{
	font-size: 2.6rem;
	font-weight: var(--bold);
	line-height: 1.0;
}
[class^="authority__txt"] span{
	background: var(--gdBl);
	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}
[class^="authority__txtNum"]{
	font-family: var(--num);
}
.authority__txtNumL{
	font-size: 7.0rem;
}
.authority__txtNumM{
	font-size: 6.5rem;
}
.authority__txtJp{
	font-size: 5.5rem;
}
.authority__notes{
	margin-top: 5px;
	font-size: 1.4rem;
	font-weight: var(--bold);
	color: var(--wh);
}
.kv__btm{
	padding: 25px 30px 30px;
	background-color: var(--bl);
	border-bottom: 10px solid var(--wh);
}
@media screen and (max-width:812px){
	.kv__top{
		background: url("../images/bg_kv_sp.png") no-repeat center center / cover;
	}
	.kv__topIn{
		align-items: end;
		flex-direction: column;
		width: 100%;
		max-width: 500px;
		min-width: auto;
		padding: 40px 10px 20px;
	}
	.kv__topIn::before{
		content: '';
		width: 50%;
		height: 100%;
		background-color: #0367d4;
		position: absolute;
		top: 0;
		right: -10%;
		transform: skewX(-30deg);
		z-index: -1;
		opacity: 0.4;
	}
	.kv__catch{
		width: 100%;
	}
	.kv__img{
		width: 43%;
		margin: -22% 0 0 0;
	}
	.kv__topListArea{
		align-items: center;
		width: 100%;
		position: static;
	}
	.kv__topList{
		justify-content: center;
		width: 100%;
		gap: 5px;
	}
	.kv__topList li{
		width: calc((100% - 10px)/3);
		max-width: 95px;
	}
	.authority__area{
		width: 100%;
	}
	.authority__areaIn{
		width: 90%;
	}
	.authority__tit{
		margin-bottom: 5px;
		font-size: 1.0rem;
	}
	.authority__txt{
		font-size: 1.4rem;
	}
	.authority__txtNumL{
		font-size: 3.0rem;
	}
	.authority__txtNumM{
		font-size: 3.0rem;
	}
	.authority__txtJp{
		font-size: 2.6rem;
	}
	.authority__notes{
		font-size: 1.0rem;
	}
	.kv__btm{
		padding: 25px 30px 30px;
	}
}
/* CTAボタン */
.kv__btmList{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: end;
	gap: 10px;
	padding-top: 0;
}
a[class^="btnBase__itemKv"]{
	width: 370px;
}
a.btnBase__itemKvEntry{
	background: var(--gdEm);
}
.kv__ctaTxt{
	margin-bottom: 15px;
	font-size: 2.0rem;
	color: var(--wh);
	line-height: 1.0;
	text-align: center;
}
.kv__ctaTxt span{
	position: relative;
}
.kv__ctaTxt span::before,
.kv__ctaTxt span::after{
	content: "";
	width: 2px;
	height: 100%;
	background-color: var(--wh);
	position: absolute;
	bottom: 0;
}
.kv__ctaTxt span::before{
	left: -20px;
	transform: rotateZ(-45deg);
}
.kv__ctaTxt span::after{
	right: -20px;
	transform: rotateZ(45deg);
}
.kv__ctaTxt em{
	display: inline-block;
	padding-left: 5px;
	font-size: 2.8rem;
	color: var(--yl);
}
@media screen and (max-width:812px){
	.kv__btmList{
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
		max-width: 500px;
		margin: 0 auto;
	}
	a[class^="btnBase__itemKv"]{
		width: 100%;
	}
	.kv__ctaTxt{
		font-size: 1.5rem;
	}
	.kv__ctaTxt em{
		font-size: 2.4rem;
	}
}


/*
	slide
-----------------------------------------------------------------------------------------------*/
#slide{
	background-color: var(--gry);
}
#slide .ctsArea{
	width: 100%;
	padding: 50px 0 60px;
	text-align: center;
}
.slide__tit{
	display: inline-block;
	margin-bottom: 20px;
	padding-bottom: 5px;
	font-size: 2.5rem;
	font-weight: var(--bold);
	color: var(--bl);
	text-align: center;
	line-height: 1.0;
	border-bottom: 2px solid var(--bl);
}
.slide__tit span{
	display: inline-block;
	padding: 0 10px;
	font-family: var(--num);
	font-size: 5.5rem;
}
/* swiper */
#slide .swiper-wrapper{
	transition-timing-function: linear;
}
#slide .swiper-slide {
	width: 260px !important;
	margin-right: 10px;
}
@media screen and (max-width:812px){
	#slide .ctsArea{
		max-width: 100%;
		padding: 25px 0 30px;
	}
	.slide__tit{
		margin-bottom: 15px;
		font-size: 1.6rem;
	}
	.slide__tit span{
		padding: 0 5px;
		font-size: 3.5rem;
	}
	/* swiper */
	#slide .swiper-wrapper{
		transition-timing-function: linear;
	}
	#slide .swiper-slide {
		width: 180px !important;
		margin-right: 5px;
	}
}


/*
	課題解決
-----------------------------------------------------------------------------------------------*/
/* 課題 */
#problem .ctsArea{
	width: 100%;
	max-width: 1400px;
	padding: 120px 0;
}
.problem__olist{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	padding: 30px 30px 0;
	counter-reset: number 0;
}
.problem__olist li{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	width: calc((100% - 90px)/4);
	margin-bottom: 60px;
	padding: 55px 30px 30px;
	background-color: var(--lbl);
	border-radius: var(--radius30);
	position: relative;
}
.problem__olist li::before{
	content: '';
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 65px;
	height: 65px;
	padding-bottom: 4px;
	font-family: var(--num);
	font-size: 4.0rem;
	color: var(--wh);
	background-color: var(--bl);
	border-radius: 50%;
	counter-increment: number 1;
	content: counter(number) "";
	position: absolute;
	top: -33px;
	left: 50%;
	transform: translateX(-50%);
}
.problem__olist li::after{
	content: "";
	width: 60px;
	height: 30px;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	background: var(--gdEm);
	position: absolute;
	left: 50%;
	bottom: -60px;
	transform: translateX(-50%);
}
.problem__tit{
	font-size: 2.2rem;
	font-weight: var(--bold);
	text-align: center;
}
.problem__img{
	display: block;
	width: 60%;
	margin: 15px auto;
}
/* 詳しくみるボタン */
a.btnBase__itemMore{
	padding: 15px;
	font-size: 1.6rem;
	color: var(--wh);
	background-color: var(--bl);
}
a.btnBase__itemMore::after{
	background: url("../images/btn_arrow_bl.svg") var(--wh) no-repeat center center / 35%;
	transform: translateY(50%) rotate(90deg);
	right: 10px;
}
@media screen and (max-width:812px){
	#problem .ctsArea{
		max-width: 500px;
		padding: 50px 0;
	}
	#problem .cmnCatch{
		padding: 0 20px;
	}
	.problem__olist{
		gap: 15px;
		padding: 30px 20px 0;
	}
	.problem__olist li{
		width: 100%;
		margin-bottom: 25px;
		padding: 35px 20px 20px;
		border-radius: var(--radius20);
	}
	.problem__olist li::before{
		width: 50px;
		height: 50px;
		font-size: 2.8rem;
		top: -25px;
	}
	.problem__olist li::after{
		display: none;
	}
	.problem__tit{
		font-size: 1.8rem;
	}
	.problem__img{
		width: 30%;
		margin: 0 auto;
	}
}

/* 解決 */
.solution__olist{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 60px;
	padding-top: 60px;
	counter-reset: number 0;
}
.solution__olist li{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.solution__img{
	width: 750px;
	position: relative;
	z-index: 1;
}
.solution__img::before{
	content: '';
	width: 100%;
	height: calc(100% - 70px);
	background: var(--gdEm);
	border-radius: var(--radius30R);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
.solution__img::after{
	content: '';
	width: 100%;
	height: calc(100% - 70px);
	background-color: var(--lgr);
	position: absolute;
	left: -100%;
	bottom: 0;
	z-index: -1;
}
.solution_txtArea{
	width: calc((100% - 750px));
	padding: 5% 65px 0;
}
.solution__tit{
	padding: 25px 0 25px 85px;
	font-size: 3.0rem;
	font-weight: bold;
	color: var(--bl);
	position: relative;
}
.solution__tit::before{
	content: '';
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 65px;
	height: 65px;
	padding-bottom: 4px;
	font-family: var(--num);
	font-size: 4.0rem;
	font-weight: var(--medium);
	color: var(--wh);
	background-color: var(--bl);
	border-radius: 50%;
	counter-increment: number 1;
	content: counter(number) "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
/* reverse */
.solution__olist li:nth-of-type(2n){
	flex-direction: row-reverse;
}
.solution__olist li:nth-of-type(2n) .solution__img::before{
	border-radius: var(--radius30L);
}
.solution__olist li:nth-of-type(2n) .solution__img::after{
	background-color: var(--sky);
	position: absolute;
	left: auto;
	right: -100%;
}
@media screen and (max-width:812px){
	.solution__olist{
		gap: 50px;
		padding-top: 25px;
	}
	.solution__olist li{
		align-items: start;
		flex-direction: column-reverse;
	}
	.solution__img{
		width: calc(100% - 20px);
	}
	.solution__img::before{
		height: calc(100% - 18%);
		border-radius: var(--radius20R);
	}
	.solution__img::after{
		height: calc(100% - 18%);
	}
	.solution_txtArea{
		width: 100%;
		padding: 0 20px 0;
	}
	.solution__tit{
		padding: 20px 0 20px 65px;
		font-size: 2.0rem;
		font-weight: bold;
		color: var(--bl);
		position: relative;
	}
	.solution__tit::before{
		width: 50px;
		height: 50px;
		font-size: 2.8rem;
	}
	.solution_txt{
		margin-bottom: 5px;
		line-height: 1.8;
	}
	/* reverse */
	.solution__olist li:nth-of-type(2n){
		flex-direction: column-reverse;
		align-items: end;
	}
	.solution__olist li:nth-of-type(2n) .solution__img::before{
		border-radius: var(--radius20L);
	}
	.solution__olist li:nth-of-type(2n) .solution__img::after{
		background-color: var(--sky);
		position: absolute;
		left: auto;
		right: -100%;
	}
}

/* column */
.column{
	width: 1200px;
	margin: 0 auto;
	padding: 120px 30px 0;
}
.column__area{
	display:flex;
	flex-wrap: wrap;
	gap: 60px;
	padding: 60px;
	border: 5px solid var(--bl);
	border-radius: var(--radius30);
}
.column__txtArea{
	width: calc(100% - 610px);
}
.column__tit{
	margin-bottom: 20px;
	font-size: 3.0rem;
	font-weight: var(--bold);
	color: var(--bl);
}
.column__img{
	width: 550px;
}
.column__img figcaption{
	margin-top: 10px;
	font-size: 1.2rem;
	text-align: right;
}
@media screen and (max-width:812px){
	.column{
		width: 100%;
		padding: 50px 20px 0;
	}
	.column__area{
		flex-direction: column;
		gap: 15px;
		padding: 25px 20px;
		border-radius: var(--radius20);
	}
	.column__txtArea{
		width: 100%;
	}
	.column__tit{
		margin-bottom: 10px;
		font-size: 2.0rem;
	}
	.column__img{
		width: 100%;
	}
	.column__img figcaption{
		font-size: 1.1rem;
		text-align: left;
	}
}


/*
	成功事例
-----------------------------------------------------------------------------------------------*/
.voice__list{
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	width: 1050px;
	margin: 0 auto;
}
.voice__list li{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 30px;
}
.voice__list li:first-of-type{
	margin-left: 50px;
}
.voice__list li:last-of-type{
	flex-direction: row-reverse;
	margin-right: 50px;
}
[class^="voice__txtArea"]{
	width: 800px;
	padding: 70px 80px;
	background-color: var(--lbl);
	border-radius: var(--radius30);
	position: relative;
}
[class^="voice__txtArea"]::before{
	display: inline-block;
	content: '“';
	font-size: 12.0rem;
	font-weight: var(--bold);
	line-height: 1.0;
	background: var(--gdBl);
	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
	position: absolute;
	top: -30px;
	left: 40px;
}
.voice__txtArea01{
	border-bottom-right-radius: 0;
}
.voice__txtArea02{
	border-bottom-left-radius: 0;
}
.voice__txtArea02::before{
	content: '”';
	right: 40px;
	left: auto;
}
.voice__tit{
	margin-bottom: 25px;
	font-size: 2.5rem;
	font-weight: var(--bold);
	color: var(--bl);
}
.voice__txt{
	line-height: 2.0;
}
[class^="voice__img"]{
	display: flex;
	flex-wrap: wrap;
	width: calc(100% - 830px);
}
[class^="voice__img"] figcaption{
	margin-top: 10px;
	font-size: 1.4rem;
	font-weight: var(--bold);
}
.voice__img01 figcaption{
	margin-left: 20px;
}
.voice__img02 figcaption{
	margin-left: 30px;
}
@media screen and (max-width:812px){
	.voice__list{
		gap: 30px;
		width: 100%;
	}
	.voice__list li{
		gap: 10px;
	}
	.voice__list li:first-of-type{
		margin-left: 0;
	}
	.voice__list li:last-of-type{
		flex-direction: row-reverse;
		margin-right: 0;
	}
	[class^="voice__txtArea"]{
		width: calc(100% - 80px);
		padding: 25px 20px;
		border-radius: var(--radius20);
	}
	[class^="voice__txtArea"]::before{
		font-size: 7.0rem;
		top: -22px;
		left: 20px;
	}
	.voice__txtArea01{
		border-bottom-right-radius: 0;
	}
	.voice__txtArea02{
		border-bottom-left-radius: 0;
	}
	.voice__txtArea02::before{
		right: 20px;
		left: auto;
	}
	.voice__tit{
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	.voice__txt{
		line-height: 1.8;
	}
	[class^="voice__img"]{
		width: 70px;
	}
	[class^="voice__img"] figcaption{
		margin-top: 5px;
		font-size: 1.0rem;
	}
	.voice__img01 figcaption{
		margin-left: 10px;
		text-align: center;
	}
	.voice__img02 figcaption{
		margin-left: 15px;
		text-align: center;
	}
}


/*
	料金プラン
-----------------------------------------------------------------------------------------------*/
#plan .ctsArea{
	width: 100%;
	max-width: 1400px;
	min-width: 1200px;
}
.plan__notes{
	margin-top: 10px;
	padding: 5px 10px;
	font-size: 1.4rem;
	font-weight: var(--bold);
	color: var(--bl);
	background-color: var(--wh);
	border-radius: 5px;
}
/* 機能一覧を見る */
a.btnBase__itemPlan{
	width: 400px;
	color: var(--wh);
	background-color: var(--bk);
}
a.btnBase__itemPlan::after{
	background: url("../images/btn_arrow_bl.svg") var(--wh) no-repeat center center / 35%;
}
/* 料金プランをもっと見る */
[class^="btnBase__itemPlan"]{
	width: 100%;
	color: var(--wh);
	background-color: var(--bl);
	border-radius: 5px;
	transition: opacity 0.2s;
}
[class^="btnBase__itemPlan"]:hover{
	opacity: 0.7 !important;
}
.btnBase__itemPlanMore,
.btnBase__itemPlanClose{
	margin-top: 30px;
}
.btnBase__itemPlanMore::after{
	background: url("../images/btn_plus_bl.svg") var(--wh) no-repeat center center / 35%;
}
.btnBase__itemPlanClose{
	display: none;
	color: var(--bl);
	background-color: #ddd;
}
.btnBase__itemPlanClose::after{
	background: url("../images/btn_minus_wh.svg") var(--bl) no-repeat center center / 35%;
}
@media screen and (max-width:812px){
	#plan .ctsArea{
		max-width: 100%;
		min-width: 100%;
	}
	/* 機能一覧を見る */
	a.btnBase__itemPlan{
		width: 100%;
	}
	/* 料金プランをもっと見る */
	.btnBase__itemPlanMore,
	.btnBase__itemPlanClose{
		margin-top: 15px;
}
}

/* 料金表 */
.plan__tblWrapper{
	width: 100%;
}
.plan__tbl{
	table-layout: fixed;
	width: 100%;
	font-weight: var(--bold);
	border-collapse: collapse;
	border-radius: 5px;
	overflow: hidden;
}
/* .plan__tblTbb{
	background:linear-gradient(to right, var(--planL01) calc(100%/7), var(--planL02) calc(100%/7), var(--planL02) calc((100%/7)*2), var(--planL03) calc((100%/7)*2), var(--planL03) calc((100%/7)*3), var(--planB01) calc((100%/7)*3), var(--planB01) calc((100%/7)*4), var(--planB02) calc((100%/7)*4), var(--planB02) calc((100%/7)*5), var(--planB03) calc((100%/7)*5), var(--planB03) calc((100%/7)*6), var(--planH) calc((100%/7)*6), var(--planH) calc((100%/7)*7));
} */
.plan__tblArea:nth-of-type(2) .plan__tbl{
	margin-top: 10px;
}
.plan__tbl th,
.plan__tbl td{
	padding: 15px;
	text-align: center;
	background: initial;
}
.plan__td td:nth-of-type(1){
	background-color: var(--planL01);
}
.plan__td td:nth-of-type(2){
	background-color: var(--planL02);
}
.plan__td td:nth-of-type(3){
	background-color: var(--planL03);
}
.planB01,
.plan__td td:nth-of-type(4){
	background-color: var(--planB01) !important;
}
.plan__td td:nth-of-type(5){
	background-color: var(--planB02);
}
.plan__td td:nth-of-type(6){
	background-color: var(--planB03);
}
.planH,
.plan__td td:nth-of-type(7){
	background-color: var(--planH) !important;
}
.planL01__2col{
	background:linear-gradient(to right, var(--planL01) calc(100%/2), var(--planL02) calc(100%/2), var(--planL02) calc((100%/2)*2)) !important;
}
.planL01__3col{
	background:linear-gradient(to right, var(--planL01) calc(100%/3), var(--planL02) calc(100%/3), var(--planL02) calc((100%/3)*2), var(--planL03) calc((100%/3)*2)) !important;
}
.planL01__6col{
	background:linear-gradient(to right, var(--planL01) calc(100%/6), var(--planL02) calc(100%/6), var(--planL02) calc((100%/6)*2), var(--planL03) calc((100%/6)*2), var(--planL03) calc((100%/6)*3), var(--planB01) calc((100%/6)*3), var(--planB01) calc((100%/6)*4), var(--planB02) calc((100%/6)*4), var(--planB02) calc((100%/6)*5), var(--planB03) calc((100%/6)*5), var(--planB03) calc((100%/6)*6)) !important;
}
.planL03__3col{
	background:linear-gradient(to right, var(--planL03) calc(100%/3), var(--planB01) calc(100%/3), var(--planB01) calc((100%/3)*2), var(--planB02) calc((100%/3)*2)) !important;
}
.planB01__2col{
	background:linear-gradient(to right, var(--planB01) calc(100%/2), var(--planB02) calc(100%/2), var(--planB02) calc((100%/2)*2)) !important;
}
.planB01__3col{
	background:linear-gradient(to right, var(--planB01) calc(100%/3), var(--planB02) calc(100%/3), var(--planB02) calc((100%/3)*2), var(--planB03) calc((100%/3)*2)) !important;
}
.planB01__4col{
	background:linear-gradient(to right, var(--planB01) calc(100%/4), var(--planB02) calc(100%/4), var(--planB02) calc((100%/4)*2), var(--planB03) calc((100%/4)*2), var(--planB03) calc((100%/4)*3), var(--planH) calc((100%/4)*3), var(--planH) calc((100%/4)*4)) !important;
}
.planB02__3col{
	background:linear-gradient(to right, var(--planB02) calc(100%/3), var(--planB03) calc(100%/3), var(--planB03) calc((100%/3)*2), var(--planH) calc((100%/3)*2)) !important;
}
.planB03__2col{
	background:linear-gradient(to right, var(--planB03) calc(100%/2), var(--planH) calc(100%/2), var(--planH) calc((100%/2)*2)) !important;
}
.plan__7col{
	background:linear-gradient(to right, var(--planL01) calc(100%/7), var(--planL02) calc(100%/7), var(--planL02) calc((100%/7)*2), var(--planL03) calc((100%/7)*2), var(--planL03) calc((100%/7)*3), var(--planB01) calc((100%/7)*3), var(--planB01) calc((100%/7)*4), var(--planB02) calc((100%/7)*4), var(--planB02) calc((100%/7)*5), var(--planB03) calc((100%/7)*5), var(--planB03) calc((100%/7)*6), var(--planH) calc((100%/7)*6), var(--planH) calc((100%/7)*7)) !important;
}
.plan__tit{
	font-size: 1.8rem;
	color: var(--wh);
	background-color: var(--bl);
}
.plan__tit:nth-of-type(1){
	background-color: var(--or);
	border-radius: 5px 0 0 0;
}
.plan__tit:nth-of-type(2){
	background-color: var(--gr);
}
.plan__tit:nth-of-type(3){
	background-color: var(--hbl);
	border-radius: 0 5px 0 0;
}
.plan__trial{
	font-size: 1.8rem;
	background:linear-gradient(transparent 60%, var(--yl) 60%);
}
.plan__trial span{
	display: inline-block;
	padding: 0 2px;
	font-family: var(--num);
	font-size: 3.0rem;
	line-height: 1.0;
}
td:nth-of-type(1) .plan__trial span{
	color: var(--or);
}
td:nth-of-type(2) .plan__trial span{
	color: var(--gr);
}
td:nth-of-type(3) .plan__trial span{
	color: var(--hbl);
}
.plan__td td{
	padding: 10px 10px 0;
	font-size: 1.4rem;
	position: relative;
}
.plan__td:last-of-type td,
.plan__tblArea:last-of-type .plan__td:nth-last-of-type(2) td{
	padding: 10px 10px;
}
.plan__tblArea:first-of-type .plan__td:nth-of-type(1){
	height: 60px;
}
.plan__tdObi{
	width: calc(100% - 20px);
	padding: 10px;
	font-size: 1.5rem;
	background-color: var(--wh);
	border-radius: 5px;
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
.plan__tdIco{
	display: inline-block;
	height: 25px;
	margin-right: 5px;
	vertical-align: middle;
}
[class^="planBox__tit"]{
	padding: 5px;
	font-size: 1.4rem;
	color: var(--wh);
	background-color: var(--bl);
	border-radius: 5px 5px 0 0;
}
.planBox__titB{
	background-color: #333;
	border-radius: 5px;
}
[class^="planBox__txtBox"]{
	padding: 10px;
	font-size: 1.4rem;
	background-color: var(--wh);
	border-radius: 0 0 5px 5px;
}
[class^="planBox__txtBoxR"]{
	border-radius: 5px;
}
.planBox__txtBoxRlast{
	margin-bottom: 15px;
}
[class^="planBox__em"]{
	display: inline-block;
	margin: 0 2px;
	font-family: var(--num);
	font-size: 2.6rem;
	line-height: 1.0;
}
.planBox__emLine{
	background:linear-gradient(transparent 60%, var(--yl) 60%);
}
.planBox__fukidashi{
	margin: 10px 0;
	padding: 10px 5px;
	font-size: 1.3rem;
	line-height: 1.5;
	background-color: #e1f1f9;
	border-radius: 5px;
	position: relative;
}
.planBox__fukidashi::after{
	content: "";
	width: 20px;
	height: 10px;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: #e1f1f9;
	position: absolute;
	left: 50%;
	bottom: -9px;
	transform: translateX(-50%);
}
[class^="planBox__emXl"]{
	font-size: 3.2rem;
}
.planBox__emXl01{
	color: var(--or);
}
.planBox__emXl02{
	color: var(--gr);
}
.planBox__emXl03{
	color: var(--hbl);
}
.planBox__list{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 15px;
}
.planBox__listLine{
	font-size: 1.3rem;
	background-color: var(--wh);
	border-radius: 5px;
}
.planBox__listLine > li{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #555;
}
.planBox__listLine > li:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
.planBox__obi{
	margin: 0 auto 10px;
	padding: 6px 5px;
	font-size: 1.4rem;
	background-color: #e1f1f9;
	border-radius: 5px;
	line-height: 1.2;
}
.planBox__txt{
	line-height: 1.5;
}
.planBox__fontS{
	font-size: 1.2rem;
	color: #666;
}
.planBox__sup{
	font-size: smaller;
	color: var(--bl);
	vertical-align: super;
}
@media screen and (max-width:1400px){
	.plan__tblWrapper{
		overflow: scroll;
	}
	.plan__tblArea{
		width: 1400px;
	}
	.plan__cation.sp{
		display: block;
	}
	.plan__cation{
		margin-bottom: 10px;
		font-size: 1.4rem;
	}
	.plan__trial{
		font-size: 1.6rem;
	}
}
@media screen and (max-width:812px){
	.plan__td.sp{
		display: revert;
	}
}

.plan__fukidashi{
	display: inline-block;
	margin-bottom: 10px;
	font-size: 2.0rem;
	line-height: 1.0;
	text-align: center;
}
.plan__fukidashi span{
	position: relative;
}
.plan__fukidashi span::before,
.plan__fukidashi span::after{
	content: "";
	width: 2px;
	height: 100%;
	background-color: var(--bk);
	position: absolute;
	bottom: 0;
}
.plan__fukidashi span::before{
	left: -20px;
	transform: rotateZ(-45deg);
}
.plan__fukidashi span::after{
	right: -20px;
	transform: rotateZ(45deg);
}
.plan__fukidashi em{
	display: inline-block;
	padding-left: 5px;
	font-size: 2.8rem;
	color: var(--or);
}
@media screen and (max-width:812px){
	.plan__fukidashi{
		margin-bottom: 5px;
		font-size: 1.6rem;
	}
	.plan__fukidashi em{
		font-size: 2.2rem;
	}
}


/*
	オプション
-----------------------------------------------------------------------------------------------*/
.option__list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.option__list li{
	width: calc((100% - 60px)/3);
	padding: 40px 30px;
	background-color: var(--lbl);
	border-radius: var(--radius30);
}
.option__tit{
	margin-bottom: 20px;
	font-size: 2.2rem;
	font-weight: var(--bold);
	color: var(--bl);
	text-align: center;
}
.option__img{
	margin-bottom: 20px;
}
@media screen and (max-width:812px){
	.option__list{
		flex-direction: column;
		gap: 15px;
	}
	.option__list li{
		width: 100%;
		padding: 25px 20px;
		border-radius: var(--radius20);
	}
	.option__tit{
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	.option__img{
		display: block;
		width: 50%;
		margin: 0 auto 10px;
	}
}


/*
	サポート
-----------------------------------------------------------------------------------------------*/
#support{
	border-bottom: 10px solid var(--wh);
}
#support .ctsArea{
	width: 100%;
	max-width: 1400px;
	min-width: 1200px;
	padding: 120px 0;
}
.support__list{
	display: flex;
	flex-wrap: wrap;
}
.support__list li{
	width: calc((100%)/2);
}
.support__list li:nth-of-type(1){
	margin-left: -5%;
}
.support__list li:nth-of-type(2){
	margin-top: 15%;
	margin-left: 5%;
}
.support__list li:nth-of-type(3){
	margin-top: -5%;
	margin-left: 10%;
	padding-bottom: 5%;
}
.support__area{
	width: 100%;
	padding-top: 100%;
	background-color: var(--wh);
	border-radius: 100%;
	position: relative;
}
.support__areaIn{
	width: 61%;
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
}
[class^="support__obi"]{
	width: 200px;
	margin: 0 auto 80px;
	padding: 15px;
	font-size: 2.8rem;
	font-weight: var(--bold);
	color: var(--wh);
	text-align: center;
	line-height: 1.0;
	border-radius: 30px;
}
.support__obi01{
	background-color: var(--or);
}
.support__obi02{
	background-color: var(--hbl);
}
.support__obi03{
	background-color: var(--gr);
}
.support__tit{
	margin-bottom: 30px;
	font-size: 2.6rem;
	font-weight: var(--bold);
	color: var(--bl);
	text-align: center;
}
[class^="support__img"]{
	display: block;
	margin: 20px auto 0;
}
.support__img01{
	margin-left: 70px;
}
.support__img02{
	width: 77%;
}
.support__img03{
	width: 84%;
}
/* バナー */
.support__bnrArea{
	width: 1200px;
	margin: 100px auto 0;
	padding: 0 30px;
}
.support__bnrTxt{
	margin-bottom: 20px;
	font-size: 2.4rem;
	font-weight: var(--bold);
	text-align: center;
}
.support__bnrTxt span{
	position: relative;
}
.support__bnrTxt span::before,
.support__bnrTxt span::after{
	content: "";
	width: 2px;
	height: 100%;
	background-color: var(--bk);
	position: absolute;
	bottom: 0;
}
.support__bnrTxt span::before{
	left: -20px;
	transform: rotateZ(-45deg);
}
.support__bnrTxt span::after{
	right: -20px;
	transform: rotateZ(45deg);
}
@media screen and (max-width:812px){
	#support{
		overflow: hidden;
	}
	#support .ctsArea{
		max-width: 500px;
		min-width: 100%;
		padding: 50px 0;
	}
	#support .cmnCatch{
		margin-bottom: 40px;
		padding: 0 20px;
	}
	.support__list{
		flex-wrap: nowrap;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 50px;
	}
	.support__list li{
		width: 130%;
		max-width: 500px;
	}
	.support__list li:nth-of-type(1){
		margin-left: 0;
	}
	.support__list li:nth-of-type(2){
		margin-top: 0;
		margin-left: 0;
	}
	.support__list li:nth-of-type(3){
		margin-top: 0;
		margin-left: 0;
		padding-bottom: 0;
	}
	.support__areaIn{
		width: 60%;
		top: -15px;
	}
	[class^="support__obi"]{
		width: 100px;
		margin: 0 auto 30px;
		padding: 10px;
		font-size: 1.8rem;
	}
	.support__tit{
		margin-bottom: 20px;
		font-size: 2.0rem;
	}
	[class^="support__img"]{
		margin: 10px auto 0;
	}
	.support__img01{
		width: 90%;
	}
	.support__img02{
		width: 58%;
	}
	.support__img03{
		width: 65%;
	}
	/* バナー */
	.support__bnrArea{
		width: 100%;
		margin: 0 auto;
		padding: 60px 20px 0;
	}
	.support__bnrTxt{
		margin-bottom: 10px;
		font-size: 1.5rem;
	}
	.support__bnrTxt span::before{
		left: -25px;
		transform: rotateZ(-30deg);
	}
	.support__bnrTxt span::after{
		right: -25px;
		transform: rotateZ(30deg);
	}
	.support__bnrImgArea{
		text-align: center;
	}
	a.support__bnrImg{
		display: block;
	}
	.support__bnrImg img{
		width: 100%;
		max-width: 300px;
	}
}


/*
	faq
-----------------------------------------------------------------------------------------------*/
.faq__area{
	width: 800px;
	margin: 0 auto;
}
/* アコーディオン */
.faq__accordion{
	margin-bottom: 30px;
}
.faq__accordion:last-of-type{
	margin-bottom: 0;
}
.faq__tit {
    display: flex;
    justify-content: space-between;
    align-items: center;
	padding: 30px 30px 30px 90px;
	font-size: 2.0rem;
	font-weight: var(--bold);
	background-color: var(--wh);
    border-radius: 5px;
    position: relative;
	transition: background-color .3s;
    cursor: pointer;
}
.faq__tit:hover{
	background-color: var(--lbl);
}
.faq__tit::-webkit-details-marker {
    display: none;
}
.faq__tit::before,
.faq__tit::after {
	content: '';
    width: 1px;
    height: 20px;
    background-color: var(--bl)
}
.faq__tit::before {
    position: absolute;
    right: 30px;
    rotate: 90deg;
}
.faq__tit::after {
    transition: rotate .3s, background-color .3s;
}
.faq__q{
	font-family: var(--en);
	font-size: 3.2rem;
	font-weight: var(--medium);
	color: var(--bl);
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}
.faq__qTxt{
	width: 95%;
}
.faq__txt {
	padding: 30px 30px 30px 90px;
}
.faq__txt sup{
	font-size: smaller;
	vertical-align: super;
}
/* open */
.faq__accordion[open] .faq__tit {
	color: var(--wh);
	background: var(--gdBl);
}
.faq__accordion[open] .faq__tit::before,
.faq__accordion[open] .faq__tit::after {
    background-color: var(--wh)
}
.faq__accordion[open] .faq__tit::after {
    rotate: 90deg;
}
.faq__accordion[open] .faq__q{
	color: var(--yl);
}
/* イラスト */
.faq__item{
	position: absolute;
	left: 30px;
	bottom: 50px;
}
@media screen and (max-width:812px){
	.faq__area{
		width: 100%;
	}
	/* アコーディオン */
	.faq__accordion{
		margin-bottom: 15px;
	}
	.faq__tit {
		padding: 20px 30px 20px 60px;
		font-size: 1.8rem;
	}
	.faq__tit::before {
		right: 30px;
	}
	.faq__q{
		font-size: 3.0rem;
		left: 15px;
	}
	.faq__txt {
		padding: 20px;
	}
	/* イラスト */
	.faq__item{
		display: none;
	}
}


/*
	cta
-----------------------------------------------------------------------------------------------*/
[class^="cta__bk"]{
	background: url("../images/bg_cta_pc.png") no-repeat center center / cover;
	position: relative;
}
[class^="cta__bk"]::after{
	content: "";
	width: 60px;
	height: 30px;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: var(--wh);
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
}
.cta__bkBl::after{
	background-color: var(--lbl);
}
.cta__bkGry::after{
	background-color: var(--gry);
}
.cta__Area{
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px 150px;
}
.cta__txt{
	font-size: 3.0rem;
	color: var(--wh);
	text-align: center;
}
/* ボタン */
.btnBase__areaCta{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px 10px;
}
a.btnBase__itemCtaEntry{
	width: 580px;
	padding: 30px;
	font-size: 2.8rem;
	background-color: var(--yl);
}
a.btnBase__itemCtaEntry::after{
	width: 55px;
	height: 55px;
}
a.btnBase__itemCta{
	width: 400px;
}
@media screen and (max-width:812px){
	[class^="cta__bk"]{
		background: url("../images/bg_cta_sp.png") no-repeat center center / cover;
	}
	[class^="cta__bk"]::after{
		width: 50px;
		height: 25px;
	}
	.cta__Area{
		max-width: 500px;
		padding: 50px 20px;
	}
	.cta__txt{
		font-size: 2.0rem;
	}
	/* ボタン */
	.btnBase__areaCta{
		flex-direction: column;
		gap: 10px 0;
	}
	a.btnBase__itemCtaEntry{
		width: 100%;
		padding: 20px;
		font-size: 2.0rem;
	}
	a.btnBase__itemCtaEntry::after{
		width: 35px;
		height: 35px;
	}
	a.btnBase__itemCta{
		width: 100%;
	}
}
/*
	modal
-----------------------------------------------------------------------------------------------*/
.modal_box {
	display: none;
	width: 80%;
	max-width: 900px;
	margin: 0;
    position: fixed;
    z-index: 7777;
}
.modal_area{
	background-color: var(--wh);
	border-radius: var(--radius30);
}
/* modal_list */
.modal__list{
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	padding: 40px 60px 60px;
}
.modal__listArea{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	width: calc((100% - 60px)/2);
}
.modal__ico{
	display: block;
	width: 30%;
	margin: 0 auto;
}
.modal__listTit{
	margin-bottom: 15px;
	font-size: 2.2rem;
	font-weight: var(--bold);
	text-align: center;
	color: var(--bl);
}
.modal__listPay{
	margin-top: 20px;
	padding: 20px 0;
	font-size: 2.0rem;
	font-weight: bold;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	text-align: center;
}
.modal__listPay span{
	display: inline-block;
	margin-right: 15px;
	padding: 10px 15px;
	font-size: 1.2rem;
	color: var(--wh);
	line-height: 1.0;
	background-color: var(--bl);
	border-radius: 3px;
}
.modal__listImg{
	margin-top: 20px;
}
.modal__listImg figcaption{
	margin-top: 10px;
	font-size: 1.2rem;
	text-align: center;
	color: #222;
}
a[class^="btnBase__itemModal"],
button[class^="btnBase__itemModal"]{
	max-width: 350px;
	color: var(--wh);
	background-color: var(--bl);
}
a.btnBase__itemModal::after{
	background: url("../images/btn_arrow_bl.svg") var(--wh) no-repeat center center / 35%;
}
/* 規約 */
.terms__titArea{
	padding: 25px;
	text-align: center;
	background-color: var(--yl);
	border-radius: 30px 30px 0 0;
}
.terms__tit{
	margin-bottom: 5px;
	font-size: 2.8rem;
	font-weight: var(--bold);
	color: var(--bl);
}
.terms__area{
	padding: 60px 70px;
}
.terms__list{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 40px;
}
.terms__listTit{
	margin-bottom: 15px;
	padding-left: 15px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.2;
	border-left: 5px solid var(--bl);
}
/* チェックボックス */
.checkbox__area{
	margin-top: 20px;
	padding: 15px;
	font-size: 1.5rem;
	text-align: center;
	background-color: #eceff1;
	border-radius: 5px;
}
input[type="checkbox"] {
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 5px;
	margin-bottom: -1px;
	border: 1px solid #222;
	background-color: var(--wh);
	border-radius: 2px;
	position: relative;
	cursor: pointer;
}
input[type="checkbox"]::after{
	content: "";
	display: block; 
	width: 6px;
	height: 6px;
	background-color: var(--bl);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
}
input[type="checkbox"]:checked::after {
	opacity: 1;/*チェック後表示*/
}
label[for="agree"]{
	cursor: pointer;
}
a.btnBase__itemModalDl{
	background-color: #ddd;
	pointer-events: none;
}
a.btnBase__itemModalDl::after{
	background: url("../images/btn_download_bl.svg") var(--wh) no-repeat center center / 35%;
}
a.btnBase__itemModalDl.active{
	background-color: var(--bl);
	pointer-events: auto;
}
/* txtLink */
.txtLink__list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 5px;
	gap: 20px;
}
.txtLink__list li a{
	display: inline-block;
	padding-right: 15px;
	padding-left: 25px;
	font-size: 1.4rem;
	font-weight: var(--bold);
	color: var(--bl);
	text-decoration: underline;
	position: relative;
}
.txtLink__list li a:hover{
	text-decoration: none;
	opacity: 1.0;;
}
.txtLink__list li a::before{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	background: url("../images/ico_window.svg") no-repeat center center / cover;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.txtLink__list li a::after{
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: url("../images/btn_arrow_wh.svg") var(--bl) no-repeat center center / 35%;
	position: absolute;
	left: 0;
	bottom: 50%;
	transform: translateY(50%);
}
/* modal_close */
.modal_close {
	width: 55px;
	height: 55px;
	background-color: var(--bl);
	border-radius: 50%;
    position: absolute;
    top: -15px;
    right: -15px;
	cursor: zoom-out;
}
.modal_close::before,
.modal_close::after{
	content: '';
	width: 1px;
	height: 20px;
	background-color: var(--wh);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
.modal_close::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}
/* modal_bg */
.modal_bg {
	display: none;
	width: 100%;
	height: 120%;
	background: var(--gdBl);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6666;
	opacity: 0.95;
	cursor: zoom-out;
}
@media screen and (max-width:812px){
	.modal_box {
		width: 100%;
		max-width: 500px;
		padding: 0 20px;
	}
	.modal_area{
		height: 80vh;
		border-radius: var(--radius20);
		overflow-y: scroll;
	}
	/* modal_list */
	.modal__list{
		gap: 0;
		padding: 25px 20px;
	}
	.modal__listArea{
		width: 100%;
	}
	.modal__listArea:first-of-type{
		margin-bottom: 15px;
		padding-bottom: 30px;
		border-bottom: 1px dotted #222;
	}
	.modal__ico{
		width: 30%;
		max-width: 100px;
	}
	.modal__listTit{
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	.modal__listPay{
		margin-top: 15px;
		padding: 15px 0;
		font-size: 1.6rem;
	}
	.modal__listPay span{
		margin-right: 15px;
		padding: 5px 10px;
		font-size: 1.0rem;
	}
	/* 規約 */
	.terms__titArea{
		padding: 20px;
		border-radius: 20px 20px 0 0;
	}
	.terms__tit{
		margin-bottom: 5px;
		font-size: 2.2rem;
	}
	.terms__txt{
		text-align: left;
	}
	.terms__area{
		padding: 30px 20px;
	}
	.terms__list{
		gap: 30px;
	}
	.terms__listTit{
		margin-bottom: 10px;
		padding-left: 10px;
		font-size: 1.8rem;
	}
	/* modal_close */
	.modal_close {
		width: 45px;
		height: 45px;
		top: -10px;
		right: 10px;
	}
	.modal_close::before,
	.modal_close::after{
		height: 15px;
	}
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footer{
	padding: 60px 30px;
	border-top: 1px solid var(--wh);
	background-color: var(--bl);
}
.footer__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 40px;
}
.footer__list > li{
	margin-right: 20px;
	padding-right: 20px;
	border-right: 1px solid var(--wh);
	line-height: 1.0;
}
.footer__list > li a{
	display: inline-block;
	font-size: 1.4rem;
	color: var(--wh);
	text-decoration: underline;
	position: relative;
}
.footer__list > li a:hover{
	text-decoration: none;
	opacity: 1.0;;
}
.footer__list > li:last-of-type{
	margin-right: 0;
	padding-right: 0;
	border-right: none;
}
.footer__copyright{
	font-size: 1.2rem;
	color: var(--wh);
	text-align: center;
}
@media screen and (max-width:812px){
	#footer{
		padding: 40px 20px;
	}
	.footer__list{
		flex-direction: column;
		gap: 20px;
	}
	.footer__list > li{
		margin-right: 0;
		padding-right: 0;
		border-right: none;
	}
	.footer__list > li a{
		font-size: 1.3rem;
	}
	.footer__copyright{
		font-size: 1.2rem;
		color: var(--wh);
		text-align: center;
	}
}
/*バナー*/
.c-campaignAnnounce {
  background-image:url(/app/themes/kagoya/assets/img/ad/kir-campaign/bg_c-pageHead--campaign-202408.jpg);
  background-size:cover;
}
picture {
  max-width: 100%;
  display: block;
}
.c-campaignAnnounce img {
  margin: 0px auto;
  max-width: 100%;
  display: block;
}
