@charset "utf-8";

/*-----------------------------------------------------
 contents
-----------------------------------------------------*/
.l-contents{
	position: relative;
	clear: both;
	width: 100%;
}



/*-----------------------------------------------------
 mainview
-----------------------------------------------------*/
.l-mainview{
	position: relative;
	clear: both;
	width: 100%;
	background: url(../images/mv-bg.jpg) center center /cover no-repeat;
	z-index: 2;
}
.l-container--mainview{
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* maintitle
----------------------------------- */
.p-mainview__maintitle {
	padding: 15px 0 0px 0;
	width: 100%;
}
@media screen and (min-width: 960px) {
.p-mainview__maintitle {
	padding: 77px 0 0px 0;
}
}

/* copy */
.c-mainview__copy{
	border: 1px solid #FFF;
	color: #FFF;
	font-weight: 700;
	display: inline-block;
	font-size: 0.8571em;
	line-height: 1.3;
	padding: 8px;
}
@media screen and (min-width: 960px) {
.c-mainview__copy{
	background: #FFF;
	border: none;
	font-size: 1.3125em;
	line-height: 2;
	padding: 0 15px;
	color: var(--text-color);
}
}

/* title */
.c-mainview__title{
	font-family: var(--font-family-serif);
	color: #FFF;
	font-weight: 700;
	font-size: 3.2em;
}
.c-mainview__title strong{
	color: var(--sub-color);
}
@media screen and (max-width: 959px) {
.c-mainview__title {
	margin: 10px 0;
	line-height: 1.1;
}
.c-mainview__title strong{
	display: block;
	font-size: 1.3em;
}
}
@media screen and (min-width: 960px) {
.c-mainview__title{
	font-size: 4.5em;
}
}
@media screen and (min-width: 1300px) {
.c-mainview__title{
	font-size: 6.3em;
}
}

/* inner
----------------------------------- */
.p-mainview__inner{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 30px 0;
}
@media screen and (min-width: 960px) {
.p-mainview__inner{
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
}

.p-mainview__text { flex: 0 0 50%; }
.c-mainview__description{
	color: #FFF;
	font-weight: 700;
	line-height: 2.1;
}
.c-mainview__description strong{
	color: var(--sub-color);
}

/* iconlist */
.c-mainview__iconlist{
	display: none;
}
@media screen and (min-width: 960px) {
.c-mainview__iconlist{
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px 16px;
	margin: 30px 0 0 0;
	color: #FFF;
}
}
.c-mainview__icon{
	--icon-size: 63px;
	border: 1px solid #FFF;
	border-radius: 50%;
	display: block;
	width: var(--icon-size);
	height: var(--icon-size);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.c-mainview__icon figcaption{
	font-size: .7142em;
	font-weight: 700;
	line-height: 1.1;
}
@media screen and (max-width: 959px) {
.c-mainview__icon img{
	width: 60%;
}
}
@media screen and (min-width: 960px) {
.c-mainview__icon{
	--icon-size: 110px;
	gap: 5px;
}
.c-mainview__icon figcaption{
	font-size: .875em;
}
}

/* image */
.p-mainview__image {
	flex: 0 0 50%;
	text-align: right;
} 
@media screen and (max-width: 959px) {
.p-mainview__image {
	margin: 20px 0;
}
}
@media screen and (min-width: 1300px) {
.p-mainview__image img{
	width: 80%;
	position: relative;
	right: -15px;
}
}

/* cta
----------------------------------- */
.p-mainview-cta{
	background: url(../images/cta-bg.jpg) center center /cover no-repeat;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-bottom: -140px;
	padding: 25px 5px;
	width: 100%;
}

@media screen and (min-width: 960px) {
.p-mainview-cta{
	padding: 40px 30px;
	width: 80%;
	margin-bottom: -120px;
	gap: 30px;
}

}
@media screen and (min-width: 1300px) {
.p-mainview-cta{
	max-width: 1000px;
}
}

/* heading */
.c-mainview-cta__heading{
	color: #FFF;
	font-weight: 700;
	text-align: center;
	line-height: 1.58333;
	font-size: 1.428em;
	text-shadow: 0px 0px 6px var(--main-color);
}
@media screen and (min-width: 960px) {
.c-mainview-cta__heading{
	font-size: 1.5em;
}
}

/* button */
.c-button--mainview .c-button__link {
	font-size: 1.125em;
}
@media screen and (max-width: 959px) {
.c-button--mainview{
	flex-direction: column;
	width: 100%;
	padding: 0 10px;
}
}
@media screen and (min-width: 960px) {
.c-button--mainview{
	gap: 30px;
}
.c-button--mainview .c-button__link {
	width: 280px;
}
}
@media screen and (min-width: 1300px) {
.c-button--mainview{
	gap: 60px;
}
.c-button--mainview .c-button__link {
	width: 320px;
}
}

/*-----------------------------------------------------
 introduction
-----------------------------------------------------*/
.l-section--introduction{
	padding-top: 190px;
}

.p-mv-ber {
	margin-bottom: 7.5rem;
}
.p-mv-ber img {
	display: block;
	width: 1010px;
	max-width: 100%;
	margin: 0 auto;
	opacity: 1;
	transition: 0.3s;
	position: relative;
	top: 0;
}
.p-mv-ber img:hover {
	opacity: 0.8;
	top: 5px;
}

/* heading
----------------------------------- */
.c-heading__title--introduction strong{
	display: inline-block;
	background: var(--main-color);
	color: #FFF;
	font-family: var(--font-family);
	font-weight: 700;
	padding: 0.25em 1em;
	margin: 0 0 0.25em 0;
	font-size: 0.433em;
}
@media screen and (min-width: 960px) {
.c-heading__title--introduction strong{
	font-size: .52830em;
}
}

/* voice
----------------------------------- */
.p-introduction-voice{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
@media screen and (min-width: 960px) {
.p-introduction-voice{
	flex-wrap: wrap;
	flex-direction: row;
	gap: 60px 80px;
	align-self: stretch;
}
.p-introduction-voice>li{
	flex: 0 0 calc(50% - 40px);
}
}

.p-introduction-voice__item{
	background: #E7F2FC;
	border-radius: 8px;
	padding: 18px 24px;
}
@media screen and (min-width: 960px) {
.p-introduction-voice__item{
	border-radius: 16px;
	padding: 40px;
	height: 100%;
}
}

.c-introduction-voice__heading{
	font-size: 1.28571em;
	font-weight: 700;
	color: var(--main-color);
	margin: 0 0 0.5em 0;
}
@media screen and (min-width: 960px) {
.c-introduction-voice__heading{
	font-size: 1.5em;
}
.c-introduction-voice__text{
	line-height: 2;
}
}

/* problem
----------------------------------- */
.p-introduction-problem{
	margin: 60px 0 0 0;
}
.p-introduction-problem__content{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.c-introduction-problem__heading{
	text-align: left;
	line-height: 1.9;
}
.c-introduction-problem__heading span{
	display: inline;
	background: var(--main-color);
	color: #FFF;
	font-family: var(--font-family);
	font-weight: 700;
	padding: 0.1em 0.3em;
	font-size: 7vw;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.c-introduction-problem__image{
	text-align: center;
}
.c-introduction-problem__image img{
	max-width: 54vw;
}
@media screen and (min-width: 960px) {
.p-introduction-problem{
	display: flex;
	flex-direction: row;
	gap: 0 60px;
	align-items: center;
	margin: 80px 0 0 0;
}
.p-introduction-problem__content{
	flex: 5;
}
.p-introduction-problem__image{
	flex: 3;
	text-align: right;
}
.c-introduction-problem__heading{
	text-align: left;
	line-height: 1.8;
}
.c-introduction-problem__heading span{
	display: inline-block;
	font-size: 2em;
	padding: 0.05em 0.25em;
	margin: 0.2em 0;
	-webkit-box-decoration-break: slice;
	box-decoration-break: slice;
}
.c-introduction-problem__text{
	line-height: 2;
}
}
@media screen and (min-width: 1300px) {
.p-introduction-problem{
	gap: 0 120px;
}
}


/*-----------------------------------------------------
 answer
-----------------------------------------------------*/
.l-section--answer{
	background: url(../images/answer-bg.jpg) center center /cover no-repeat;
}

/* heading
----------------------------------- */
.c-heading__title--answer{
	font-size: 1.7142em;
	color: #FFF;
	margin-bottom: 20px;
}
.c-heading__title--answer strong{
	color: var(--sub-color);
}
.c-heading__copy--answer{
	color: #FFF;
	font-size: 1.14285em;
	text-align: center;
	font-weight: 700;
}

/* answer list
----------------------------------- */
.p-answer-list{
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 40px 0 20px 0;
}
.p-answer-list__item{
	background: #FFF;
	border-radius: 8px;
	padding: 20px 25px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.c-answer__heading{
	font-size: 1.4285em;
	color: var(--main-color);
	font-weight: 700;
}
.c-answer__image{
	text-align: center;
}
.c-answer__image>img{
	width: 90%;
}
@media screen and (min-width: 960px) {
.p-answer-list{
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
	align-items: stretch;
}
.p-answer-list>li{
	flex: 0 0 calc(33.3333% - 14px);
}
.p-answer-list__item{
	height: 100%;
}

.c-heading__title--answer{
	font-size: 3.3125em;
}
.p-answer-list__item{
	border-radius: 16px;
	gap: 20px;
}
.c-answer__heading{
	font-size: 1.2em;
	line-height: 1.5;
}
.c-answer__image>img{
	width: 95%;
}
}
@media screen and (min-width: 1300px) {
.p-answer-list{
	gap: 60px;
}
.p-answer-list>li{
	flex: 0 0 calc(33.3333% - 40px);
}
.p-answer-list__item{
	padding: 40px 32px;
}
.c-answer__heading{
	font-size: 1.5em;
}
}

/*-----------------------------------------------------
 feature
-----------------------------------------------------*/
.l-section--feature{
	background: var(--lightgray-color);
}

/* heading
----------------------------------- */
.c-heading__title--feature > strong{
	position: relative;
	display: inline-block;
	background: var(--main-color);
	color: #FFF;
	font-family: var(--font-family);
	font-weight: 700;
	padding: 0.25em 1em;
	margin: 0 0 0.25em 0;
	font-size: 0.433em;
}
.c-heading__title--feature > strong::after{
	content:"";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 9px solid transparent;
	border-left: 9px solid transparent;
	border-top: 6px solid var(--main-color);
	border-bottom: 0;
	transform: translateX(-50%);
}

/* feature list
----------------------------------- */
.p-feature-list{
	display: flex;
	flex-direction: column;
	gap: 50px;
	counter-reset: number 0; 
}

.c-feature__title{
	--number-size: 45px;
	margin: 0 0 20px 0;
	font-size: 1.3571em;
	line-height: 1.1875;
	font-weight: 700;
	position: relative;
	padding: 0 0 0 calc(var(--number-size) + 10px);
}
.c-feature__title::before{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	counter-increment: number 1;
	content: counter(number,decimal-leading-zero);
	display: block;
	width: var(--number-size);
	height: var(--number-size);
	background: #FFF;
	border: 2px solid var(--text-color);
	text-align: center;
	line-height: calc(var(--number-size) - 4px);
	font-family: var(--font-family-en);
	font-size: 1.8em;
	font-weight: 500;
}
.c-feature__title strong{
	font-weight: 700;
	background: linear-gradient(transparent 70%, var(--sub-color) 30%);
	display: inline-block;
	padding: 0 5px;
}
.c-feature__content h4{
	background: var(--main-gradient);
	color: #FFF;
	font-weight: 700;
	font-size: 1.125em;
	padding: 1px 15px;
	margin: 30px 0 10px 0;
	display: inline-block;
}
.c-feature__content h4:first-child{
	margin: 10px 0;
}
@media screen and (max-width: 959px) {
.c-feature__content p{
	font-size:0.8571em;
}
}
@media screen and (min-width: 960px) {
.c-feature__title{
	--number-size: 60px;
	margin: 0 0 40px 0;
	font-size: 1.5em;
	padding: 0 0 0 calc(var(--number-size) + 20px);
}
.p-feature-list__item{
	display: flex;
	flex-direction: row;
	gap: 40px;
}
.p-feature-list__item:nth-child(even) {
	flex-direction: row-reverse;
}
.p-feature__text{
	flex: 4;
}
.p-feature__image--pc{
	flex: 3;
}
}
@media screen and (min-width: 1300px) {
.p-feature-list{
	gap: 90px;
}
.c-feature__title{
	--number-size: 80px;
	font-size: 2em;
}
}

/*-----------------------------------------------------
 solution
-----------------------------------------------------*/
.l-section--solution .c-heading__title{
	margin-bottom: 20px;
}
.l-section--solution .c-heading__copy{
	text-align: center;
	margin-bottom: 40px;
}
.l-solution__inner{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px 40px;
}
.p-solution-content{
	background: var(--lightgray-color);
	border-radius: 15px;
	padding: 30px 15px;
	flex: 0 0 100%;
	gap: 20px;
	display: flex;
	flex-direction: column;
}

.c-solution__title{
	text-align: center;
	font-weight: 700;
	color: var(--main-color);
	font-size: 1.285em;
	line-height: 1.2;
}
.c-solution__title figcaption{
	margin: 0 0 20px 0;
}
.c-solution__list{
	--item-size: 100px;
	display: flex;
	flex-direction: row;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: center;
}
.c-solution__item{
	display: block;
	width: var(--item-size);
	height: var(--item-size);
	border-radius: calc(var(--item-size) / 2);
	background: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--main-color);
	font-weight: 700;
	line-height: 1.2;
}
@media screen and (max-width: 959px) {
.c-solution__title img{
	width: 100%;
	max-width: 485px;
}
}
@media screen and (min-width: 960px) {
.c-solution__title{
	font-size: 1.5em;
}
.p-solution-content{
	padding: 45px;
	flex: 0 0 calc(50% - 20px);
	gap: 20px;
}
.c-solution__title figcaption{
	margin: 0 0 10px 0;
}

.c-solution__list{
	--item-size: 150px;
	gap: 10px 20px;
}
.c-solution__item{
	font-size: 1.25em;
}
.p-solution-content--creative{
	flex: 0 0 100%;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
}
.c-solution__title--creative{
	flex: 2;
}
.c-solution__list--creative{
	flex: 4;
}
}
@media screen and (min-width: 960px) and  (max-width: 1299px){
.c-solution__title figcaption{
	min-height: calc(2em * 1.2);
	display: flex;
	align-items: center;
	text-align: center;
	width: 100%;
	justify-content: center;
}
}
@media screen and (min-width: 1300px) {
.c-solution__title{
	font-size: 1.625em;
}
.p-solution-content--creative{
	align-items: center;
}
}

/*-----------------------------------------------------
 cta
-----------------------------------------------------*/
.c-cta{
	background: url(../images/cta-bg.jpg) center center /cover no-repeat;
}
.p-cta-list{
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 60px 0;
}
.c-cta-list__item{
	flex: 1;
	text-align: center;
	color: #FFF;
	display: flex;
	flex-direction: column;
	gap: 25px;
}
.c-cta-item__title{
	font-size: 2em;
	font-weight: 700;
	text-shadow: 0px 0px 6px #084578;
	line-height: 1.2;
}
.c-cta-item__text{
	text-shadow: 0px 0px 6px #084578;
}
.c-cta-item__link .c-button__link {
	margin: 0 auto;
	font-size: 1.1428em;
	border-radius: 10px;
}
@media screen and (max-width: 959px) {
.c-cta-item__text{
	font-size: 1.1428em;
}
}
@media screen and (min-width: 960px) {
.p-cta-list{
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0;
	padding: 110px 0;
}
.c-cta-list__item{
	gap: 30px;
}
.c-cta-item__title{
	font-size: 2.25em;
}
.c-cta-item__link .c-button__link {
	width: 360px;
	font-size: 1.5em;
}
}
@media screen and (min-width: 1300px) {
.c-cta-item__link .c-button__link {
	width: 520px;
}
}

/*-----------------------------------------------------
 case
-----------------------------------------------------*/
.l-section--case{
	background: var(--darkgray-color);
}
.p-case-item{
	background: #FFF;
	border-radius: 15px;
	padding: 25px;
	margin: 0 0 20px 0;
}
.c-case__title{
	font-size: 1.2857em;
	font-weight: 700;
	line-height: 1.3077;
	margin: 0 0 18px 0;
}
.p-case__content{
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.c-case__image{
	flex: 8;
}
.c-case__text{
	flex: 13;
}
.c-case__text h4{
	font-weight: 700;
	font-size: 1.1428em;
	color: var(--main-color);
}

.c-case__type{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
	margin: 5px 0 15px 0;
}
.c-case__type-item{
	display: inline-block;
	background: var(--lightgray-color);
	font-weight: 700;
	color: var(--main-color);
	padding: 0 12px;
	border-radius: 15px;
}
.p-case-list{
	--item-count: 3;
	--item-gap: 30px;
	display: flex;
	flex-direction: row;
	align-self: stretch;
	flex-wrap: wrap;
	gap: var(--item-gap);
	width: 100%;
}
.p-case-list>li{
	flex: 0 0 calc(calc(100% - calc(calc(var(--item-count) - 1)) * var(--item-gap)) / var(--item-count));
}
.p-case-list__item{
	position: relative;
	display: block;
	background: #FFF;
	border-radius: 20px;
	box-shadow: var(--box-shadow);
	overflow: hidden;
	height: 100%;
}
.c-case-list__content{
	padding: 15px 15px 45px 15px;
}
.c-case-list__title{
	font-weight: 700;
	color: var(--text-color);
	line-height: 1.2;
}
.c-case-list__link{
	display: block;
	font-size: .71428em;
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.c-case-list__link>span{
	text-decoration: underline;
}

@media screen and (max-width: 959px) {
.c-case__text p{
	line-height: 1.7857;
}
.p-case-subwrap{
	width: 100vw;
	overflow-x: scroll;
	position: relative;
	left: -4vw;
}
.p-case-list{
	width: 900px;
	padding: 20px;
}
.p-case-list .c-case__type{
	font-size: .71428em;
}

}
@media screen and (min-width: 960px) {
.p-case-item{
	padding: 40px 60px;
	margin: 0 0 40px 0;
}
.c-case__title{
	font-size: 1.625em;
}
.c-case__text h4{
	font-size: 1.25em;
}
.p-case__content{
	flex-direction: row;
	flex-wrap: wrap;
	gap: 35px;
}
.c-case__type-item{
	font-size: .875em;
}
.c-case-list__link{
	font-size: .875em;

}
}
@media screen and (min-width: 1300px) {
.c-case-list__title{
	font-size: 1.25em;
}
}
/*-----------------------------------------------------
 service
-----------------------------------------------------*/
.l-section--service .c-heading__title{
	margin-bottom: 20px;
}
.c-heading__copy--service{
	text-align: center;
	margin-bottom: 40px;
}
.p-service-list{
	display: flex;
	flex-direction: column;
	gap: 50px;
}
.p-service__item{
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex: 1;
}
.c-service__title{
	text-align: center;
	margin: 0 0 10px 0;
}
.c-service__title figcaption{
	font-weight: 700;
	font-size: 24px;
	color: #fff;
	background: var(--main-color);
	padding: 0.4em 0.8em;
	margin: 0 0 30px 0;
}
.c-service__title img{
	width: 95%;
	max-width: 485px;
}
.c-service__subtitle{
	font-size: 1.2em;
	font-weight: 700;
	color: var(--main-color);
	line-height: 1.5;
}
.c-service__recommend-title{
	display: inline-block;
	font-size: 0.9285em;
	font-weight: 700;
	color: var(--main-color);
	border: 2px solid var(--main-color);
	padding: 0.3em 0.8em;
	margin: 5px 0 0;
}
.c-service__recommend-list{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.c-service__recommend-list li{
	padding-left: 1.2em;
	position: relative;
}
.c-service__recommend-list li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.5em;
	height: 0.5em;
	border-radius: 50%;
	background: var(--main-color);
}

@media screen and (min-width: 960px) {
.p-service-list{
	flex-direction: row;
	flex-wrap: wrap;
	gap: 30px;
}
.p-service__item{
	gap: 20px;
}
.c-service__title figcaption{
	min-height: calc(2em * 1.05);
	font-size: 32px;
	line-height: 1.05;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 45px 0;
}
.c-service__title img{
	width: 85%;
}
.c-service__subtitle{
	font-size: 1.35em;
}
}
@media screen and (min-width: 1300px) {
.p-service-list{
	gap: 80px;
}
.c-service__title figcaption{
	font-size: 32px;
}
}

/*-----------------------------------------------------
 plan
-----------------------------------------------------*/
.l-section--plan{
	background: var(--main-gradient);
	padding: 40px 0;
}
.p-plan-content{
	display: flex;
	flex-direction: column;
}
.p-plan-content>div{
	flex: 1;
}
.c-plan__text{
	display: flex;
	flex-direction: column;
	gap: 15px;
	color: #FFF;
}
.c-heading__title--plan{
	text-align: left;
	font-size: 2.25em;
	color: #FFF;
	margin: 0;
}
.c-plan__button .c-button__link{
	border-radius: 10px;
	font-size: 1.15em;
}
.c-plan__image{
	text-align: center;
}
.c-plan__image img{
	width: 90%;
	max-width: 350px;
}
@media screen and (min-width: 960px) {
.l-section--plan{
	padding: 40px 0 40px 0;
}
.p-plan-content{
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	gap: 40px;
}
.c-plan__text{
	gap: 25px;
}
.c-plan__button .c-button__link{
	width: 300px;
	font-size: 1.2em;
}
.c-plan__image{
	text-align: right;
}
.c-plan__image img{
	width: 100%;
}
}
@media screen and (min-width: 1300px) {
.l-section--plan{
	padding: 60px 0 50px 0;
}
.p-plan-content{
	gap: 140px;
}
.c-plan__text{
	gap: 35px;
}
.c-plan__description{
	margin: 0 0 20px 0;
}
.c-plan__button .c-button__link{
	width: 520px;
	font-size: 1.5em;
}
.c-plan__image img{
	max-width: 423px;
}
}

/*-----------------------------------------------------
 faq
-----------------------------------------------------*/
.p-faq{
	--icon-size: 35px;
	color: var(--main-color);
	max-width: 1000px;
	margin: 0 auto;
	border-bottom: 1px solid #E7F2FC;
}

.c-faq__title{
	list-style: none;
	cursor: pointer;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: calc(var(--icon-size) / 3);
	padding: calc(var(--icon-size) / 2) calc(var(--icon-size) + calc(var(--icon-size) / 5)) calc(var(--icon-size) / 2) 0;
	font-size: 1.125em;
	font-weight: 700;
}
.c-faq__title::before,
.c-faq__content::before{
	flex: 0 0 var(--icon-size);
	width: var(--icon-size);
	height: var(--icon-size);
	border-radius: calc(var(--icon-size) / 2);
	display: block;
	text-align: center;
	line-height: calc(var(--icon-size) - 2px);
	font-size: calc(var(--font-size) * 1.1428);
	font-weight: 700;
}
.c-faq__title::before{
	content: "Q";
	background: var(--main-color);
	color: #FFF;
}
.c-faq__content::before{
	content: "A";
	background: #E7F2FC;
	color: var(--main-color);
}
.c-faq__title::after{
	position: absolute;
	right: 0;
	top: calc(var(--icon-size) / 1.5);
	content: "\2b";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: var(--fa-display,inline-block);
	font-family: "Font Awesome 7 Free";
	font-feature-settings: normal;
	font-style: normal;
	font-synthesis: none;
	font-variant: normal;
	font-weight: var(--fa-style,900);
	line-height: 1;
	text-align: center;
	text-rendering: auto;
	font-size: 1.3em;
	width: var(--icon-size);
	text-align: center;
}
.p-faq[open] .c-faq__title::after{
	content: "\f068";
}
.c-faq__content{
	display: flex;
	flex-direction: row;
	gap: calc(var(--icon-size) / 3);
	padding: 0 0 calc(var(--icon-size) / 2) 0;
}
.c-faq__text{
	flex: 0 0 calc(100% - var(--icon-size) - calc(var(--icon-size) / 2));
	margin: 5px 0 0 0;
}

@media screen and (min-width: 960px) {
.p-faq{
	--icon-size: 40px;
}
.c-faq__title{
	font-size:  calc(var(--font-size) * 1.25);
}
.c-faq__title::after{
	font-size: 1.4em;
}
}

/*-----------------------------------------------------
 company
-----------------------------------------------------*/
.l-service--company{
	background: var(--base-color);
}
.p-company__table{
	width: 100%;
}

@media screen and (max-width: 959px) {
.p-company__table,
.p-company__table tbody,
.p-company__table tr,
.p-company__table th,
.p-company__table td{
	display: block;
}
.p-company__table th{
	background: var(--lightgray-color);
}
.p-company__table th,
.p-company__table td{
	padding: 9px 15px;
}
}
@media screen and (min-width: 960px) {
.p-company__table tr:nth-child(odd){
	background: var(--lightgray-color);
}
.p-company__table th,
.p-company__table td{
	padding: 15px 20px;
	vertical-align: top;
}
.p-company__table th{
	width: 35%;
}
.p-company__table td{
	width: 65%;
}
}
@media screen and (min-width: 1300px) {
.p-company__table{
	width: 1000px;
	margin: 0 auto;
}
.p-company__table th{
	width: 30%;
}
.p-company__table td{
	width: 70%;
}
}