@charset "UTF-8";

/* common
---------------------------------------------------------------------------- */
/* パンくず位置調整 */
.l-topicPath{
	width: 95%;
	margin-block: 0;
	transform: translateY(30px);
	margin-top: -18px;
}

/* p-thinking-sec-01
---------------------------------------------------------------------------- */
.p-thinking-sec-01{
	padding-block: 80px 100px;
}

.p-thinking-sec-01-lead-wrap{
	margin-block: 50px 36px;
}

.p-thinking-sec-01-lead-txt{
	font-size: 18px;
	line-height: calc(32/18);
	letter-spacing: 0.04em;
	font-weight: 400;
}

.p-thinking-sec-01-lead-list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 21px;
	margin-block: 19px 18px;
}
.p-thinking-sec-01-lead-item{
	display: grid;
	place-items: center;
	background-color: #EEEEEE;
	width: 100%;
	height: 70px;
	font-size: 20px;
	line-height: calc(31/20);
	letter-spacing: 0.04em;
	font-weight: 700;
}

.p-thinking-sec-01-list{
	margin-bottom: 80px;
}

.p-thinking-sec-01-item {
	box-shadow: 0 0 14px rgba(24, 16, 16, 0.12);
}

.p-thinking-sec-01-item:not(:last-of-type){
	margin-bottom: 27px;
}

.p-thinking-sec-01-item-ttl{
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: 62px;
	border-top-right-radius: 6px;
	border-top-left-radius: 6px;
	background-color: #424242;
	color: #fff;
	font-size: 26px;
	line-height: calc(40/26);
	letter-spacing: 0.04em;
	font-weight: 700;
}
.p-thinking-sec-01-item-ttl ._num{
	display: grid;
	place-items: center;
	width: 28px;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: #fff;
	color: #424242;
	font-size: 22px;
	line-height: calc(25/22);
	letter-spacing: 0.08em;
	font-weight: 700;
	font-family: "Montserrat";
}

.p-thinking-sec-01-item-body{
	padding-block: 30px 40px;
	padding-inline: 60px;
}

.p-thinking-sec-01-item-problem{
	font-size: 26px;
	line-height: calc(39/26);
	letter-spacing: 0.04em;
	font-weight: 700;
}
.p-thinking-sec-01-item-point{
	margin-block: 18px 27px;
	display: grid;
	grid-template-columns: auto auto;
	justify-content: start;
	align-items: center;
	gap: 15px;
	padding-bottom: 20px;
	border-bottom: 1px solid #D1D1D1;
}
.p-thinking-sec-01-item-point-heading{
	display: grid;
	place-items: center;
	background-color: #DC2F3C;
	width: 98px;
	height: 36px;
	font-size: 18px;
	line-height: calc(27/18);
	letter-spacing: 0.04em;
	font-weight: 700;
	color: #fff;
}
.p-thinking-sec-01-item-point-txt{
	font-size: 20px;
	line-height: calc(25/20);
	letter-spacing: 0.08em;
	font-weight: 700;
}
.p-thinking-sec-01-item-txt{
	font-size: 18px;
	line-height: calc(32.4/18);
	letter-spacing: 0.04em;
	font-weight: 400;
}
.p-thinking-sec-01-item-list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 30px;
}
.p-thinking-sec-01-item-list-reason,
.p-thinking-sec-01-item-list-solution{
	padding-block: 25px;
	padding-inline: 30px;
}
.p-thinking-sec-01-item-list-reason{
	background-color: #EEEEEE;
}
.p-thinking-sec-01-item-list-solution{
	background-color: #FEF1F2;
}

.p-thinking-sec-01-item-list-reason-txt,
.p-thinking-sec-01-item-list-solution-txt{
	font-size: 20px;
	line-height: calc(30/20);
	letter-spacing: 0.04em;
	font-weight: 700;
	padding-left: 38px;
	margin-bottom: 9px;
	position: relative;
}
.p-thinking-sec-01-item-list-solution-txt{
	color: #DC2F3C;
}
.p-thinking-sec-01-item-list-reason-txt::before,
.p-thinking-sec-01-item-list-solution-txt::before{
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
}
.p-thinking-sec-01-item-list-reason-txt::before{
	background-image: url(/images/features/thinking/icn_reason.png);
}
.p-thinking-sec-01-item-list-solution-txt::before{
	background-image: url(/images/features/thinking/icn_solution.png);
}

.p-thinking-sec-01-item-list-reason-list li,
.p-thinking-sec-01-item-list-solution-list li{
	font-size: 16px;
	line-height: calc(29/16);
	letter-spacing: 0.04em;
	font-weight: 400;
	padding-left: 1.2em;
	position: relative;
}
.p-thinking-sec-01-item-list-reason-list li::before,
.p-thinking-sec-01-item-list-solution-list li::before{
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.p-thinking-sec-01-item-list-solution-list li::before{
	color: #DC2F3C;
}

.p-thinking-sec-01-case{
}
.p-thinking-sec-01-case-ttl{
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	gap: 15.8px;
	font-size: 32px;
	line-height: calc(40/32);
	letter-spacing: 0.04em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 40px;
}
.p-thinking-sec-01-case-ttl::before{
	content: '';
	display: inline-block;
	width: 42.46px;
	aspect-ratio: 1;
	background-image: url(/images/features/thinking/icn_case.png);
	background-repeat: no-repeat;
	background-size: contain;
}
.p-thinking-sec-01-case-txt{
	font-size: 18px;
	line-height: calc(32/18);
	letter-spacing: 0.04em;
	font-weight: 400;
}
.p-thinking-sec-01-case-list{
	margin-top: 42px;
	padding-left: 120px;
}
.p-thinking-sec-01-case-item {
	position: relative;
}
.p-thinking-sec-01-case-item:not(:last-of-type){
	margin-bottom: 40px;
}
.p-thinking-sec-01-case-item::before{
	content: '';
	display: inline-block;
	width: 100px;
	aspect-ratio: 1;
	background-image: url(/images/features/thinking/img_sec1_case_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: -120px;
	translate: 0 -50%;
}
.p-thinking-sec-01-case-item:nth-of-type(2)::before{
	background-image: url(/images/features/thinking/img_sec1_case_02.png);
}
.p-thinking-sec-01-case-item:nth-of-type(3)::before{
	background-image: url(/images/features/thinking/img_sec1_case_03.png);
}

.p-thinking-sec-01-case-item-ttl{
	font-size: 26px;
	line-height: calc(30/26);
	letter-spacing: 0.04em;
	font-weight: 700;
	margin-bottom: 16px;
}
.p-thinking-sec-01-case-item-ttl em {
	color: #DC2F3C;
}

.p-thinking-sec-01-case-item-txt{
	font-size: 16px;
	line-height: calc(29/16);
	letter-spacing: 0.04em;
	font-weight: 400;
}


/* p-thinking-sec-02
---------------------------------------------------------------------------- */
.p-thinking-sec-02{
	padding-block: 100px 120px;
	background-color: #F8F8F8;
}

.p-thinking-sec-02-txt {
	font-size: 18px;
	line-height: calc(32/18);
	letter-spacing: 0.04em;
	font-weight: 400;
	margin-block: 50px 30px;
}

.p-thinking-sec-02-img-wrap {
	background-color:#fff;
	padding-block: 60px;
	padding-inline: 60px;
	margin-bottom: 60px;
}

.p-thinking-sec-02-img {
	width: 100%;
	aspect-ratio: 1080/405;
}
.p-thinking-sec-02-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.p-thinking-sec-02-box01 {
	display: grid;
	align-items: center;
    width: 1000px;
	height: 149px;
	margin-inline: auto;
	background-color: #EEEEEE;
	position: relative;
	margin-bottom: 77px;
}
.p-thinking-sec-02-box01::before{
	content: '';
	display: block;
	width: 209px;
	aspect-ratio: 209/149;
	background-image: url(/images/features/thinking/img_sec2_box01.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 101px;
}
.p-thinking-sec-02-box01::after{
	content: '';
	display: block;
	width: 111px;
	aspect-ratio: 1;
	background-image: url(/images/common/icn_arw_bottom_red_01.svg);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: -27px;
	left: 50%;
	translate: -50% 100%;
}

.p-thinking-sec-02-box01-txt {
	font-size: 20px;
	line-height: calc(36/20);
	letter-spacing: 0.04em;
	font-weight: 700;
	text-align: center;
	padding-left: 61px;
    width: fit-content;
}
.p-thinking-sec-02-box01-txt em {
	font-size: 22px;
	color: #DC2F3C;
}

.p-thinking-sec-02-box02 {
	display: grid;
	place-content: center;
    width: 1000px;
	background-color: #fff;
	margin-inline: auto;
	position: relative;
	padding-block: 27.5px 19.5px;
	margin-bottom: 73px;
}
.p-thinking-sec-02-box02::after{
	content: '';
	display: block;
	width: 60px;
	aspect-ratio: 60/35;
	background-image: url(/images/features/thinking/icn_arrow_down.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 9px;
	left: 50%;
	translate: -50% 100%;
}

.p-thinking-sec-02-box02-txt {
	font-size: 20px;
	line-height: calc(33/20);
	letter-spacing: 0.04em;
	font-weight: 700;
	text-align: center;
}
.p-thinking-sec-02-box02-txt em {
	font-size: 22px;
	color: #DC2F3C;
}

.p-thinking-sec-02-box02-top-left,
.p-thinking-sec-02-box02-top-right,
.p-thinking-sec-02-box02-bottom-left,
.p-thinking-sec-02-box02-bottom-right {
	width: 27px;
	height: 27px;
	position: absolute;
	border-color: #8F8F8F;
	border-style: solid;
	border-width: 3px;
}
.p-thinking-sec-02-box02-top-left {
	top: 0;
	left: 0;
	border-right: none;
	border-bottom: none;
}
.p-thinking-sec-02-box02-top-right {
	top: 0;
	right: 0;
	border-left: none;
	border-bottom: none;
}
.p-thinking-sec-02-box02-bottom-left {
	bottom: 0;
	left: 0;
	border-top: none;
	border-right: none;
}
.p-thinking-sec-02-box02-bottom-right {
	bottom: 0;
	right: 0;
	border-top: none;
	border-left: none;
}

.p-thinking-sec-02-box03 {
	position: relative;
}
.p-thinking-sec-02-box03::before{
	content: '';
	display: block;
	width: 212.57px;
	aspect-ratio: 212.57/175.77;
	background-image: url(/images/features/thinking/img_sec2_box03.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: -19px;
	left: 0;
}

.p-thinking-sec-02-box03-txt {
	font-size: 26px;
	line-height: calc(46.8/26);
	letter-spacing: 0.04em;
	font-weight: 700;
	padding-left: 194px;
}
.p-thinking-sec-02-box03-txt em {
	color: #DC2F3C;
}

.p-thinking-sec-02-link {
	text-decoration: none;
	display: grid;
	grid-template:
	"img ." 0px
	"img txt" auto
	"img ." 17px
	"img btn" auto
	"img ." 1fr /
	auto 1fr ;
	gap: 0 76px;
	background-color: #fff;
    padding-block: 24px 28.5px;
    padding-inline: 171px 98px;
	margin-top: 100px;
}

.p-thinking-sec-02-link-img {
	grid-area: img;
	width: 272px;
	aspect-ratio: 272/151;
	border: 1px solid #707070;
}

.p-thinking-sec-02-link-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.p-thinking-sec-02-link-txt {
	grid-area: txt;
	font-size: 20px;
	line-height: calc(36/20);
	letter-spacing: 0.04em;
	font-weight: 700;
	color: #2A2A2A;
}
.p-thinking-sec-02-link-txt em {
	color: #DC2F3C;
}

.p-thinking-sec-02-link .m-btn-wrap {
  grid-area: btn;
}