@charset "utf-8";
/* CSS Document */
/*----------------------------*/
:where(figure){
	margin-bottom: 0em !important;
}
:where(.wp-block-columns){
	margin-bottom: 0em !important;
}

section p{
	/*letter-spacing: 0.1em;*/
	color: #333;
	position: relative;
	font-weight: 400;
}
html {
  overflow-x: hidden;
}

body {
counter-reset: number 0;  
	overflow-x: hidden;
}

section#firstview .inner .catchImage{
	background: url(../image/attractive/mainvisual.webp) 0 0 / cover no-repeat;
}

/*----------------------------*/

section.wp-block-group{
	position: relative;
}
.atr_block{
/*overflow: hidden;*/
	
}

.atr_block > div{
        display: flex;
        margin: 0 auto;
        position: relative;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 12.5rem;
	max-width: 86.11%;
}

.atr_block > div > figure{
        width: 22.5rem;
}


.atr_block > div h2{
        font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
        font-weight: 600;
        background-color: #0075C1;
        border-radius: 0 0 2.5rem 0;
        position: absolute;
        color: #fff;
        font-size: 1.6rem;
        display: flex;
        flex-direction: column;
        gap: 0;
        justify-content: center;
        width: 100vw;
        box-sizing: border-box;
        line-height: 1.25;
        margin-top: -4rem;
        min-height: 5rem;
        padding-left: 10.2rem;
        left: -5rem;
}
.atr_block > div h2::before{
	
	content: counter(number, decimal-leading-zero);
	counter-increment: number 1;
	font-family: YakuHanJP, "Jost", sans-serif;
	font-weight: 600;
	color: #fff;
	font-size: 3.25rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 4.6rem;
}


.atr_block > div h2:has(mark){
        border-radius: 0 0 2.49rem 0;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
	margin-top: -6rem;
}
.atr_block > div h2 mark{
           background-color: unset !important;
    color: unset !important;
}

.atr_block > div p.catch{
        font-weight: 700;
        font-size: 1.5rem;
        margin-top: 1.4rem;
        line-height: 1.33;
}
.atr_block > div p:not(.catch){
        line-height: 1.85;
        margin-top: 1.5rem;
        text-align: justify;
	        font-size: 1.35rem;
	
}


.atr_block:nth-of-type(2) > div{
	margin-top: 9.5rem;
}
.atr_block:last-of-type > div{
        margin-top: 10.2rem;
}

/*----------------------------*/
.atr_block .column_2{
	gap: 1.5rem;
	margin-top: 1.5rem;
}
.atr_block .column_2 > div{
	        background-color: #DEEDF7;
        border-radius: 0.75rem;
	display: flex;
	padding: 1.55rem 2.4rem 1.65rem 1.7rem;
	column-gap: 1.65rem;
	
}
.atr_block .column_2 > div figure{
	   width: 6rem;
	   flex-shrink: 0;

}
.atr_block .column_2 > div h3{
	   color: #0075C1;
	font-size: 1.65rem;
	        font-family: YakuHanJP, "IBM Plex Sans JP", sans-serif;
	        font-weight: 600;
}
.atr_block .column_2 > div p{
	   width: unset;
	margin-top: unset;
	margin-top: 0.2rem;
	        line-height: 1.75;
}
/*----------------------------*/
.atr_block .flex_cat > div{
        display: inline-flex;
        flex-wrap: wrap;
        gap: 0.75rem 0.5rem;
        margin-top: 2.04rem;
	
}
.atr_block .flex_cat > div p{
display: inline-block;
        font-size: 1.2rem;
        background-color: #DEEDF7;
        color: #0075C1;
        width: unset;
        font-weight: 700;
        margin-top: unset;
        padding: 0.4rem 0.7rem;
}

/*----------------------------*/
.atr_block::before{
	content: "";
	position: absolute;
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: -1;/**/
	overflow: hidden;
}

.atr_block:nth-of-type(3)::before{
	background-image: url("../image/attractive/bg_l_01.svg");
	top: -13.5rem;
	width: 18.68rem;
	height: 12.07rem;
	left: -5.8rem;
	
}
.atr_block:nth-of-type(6)::before{
	background-image: url("../image/attractive/bg_l_02.svg");
	top: -10.5rem;
	width: 23.06rem;
	height: 14.90rem;
	left: -7.9rem;
}
.atr_block:nth-of-type(8)::before{
	background-image: url("../image/attractive/bg_l_03.svg");
	top: -10rem;
	width: 23.06rem;
	height: 14.90rem;
	left: -7.9rem;
}

.atr_block:nth-of-type(3n+1)::before{
        right: -10.75rem;
        height: 14.9rem;
}
.atr_block:nth-of-type(4)::before{
	background-image: url("../image/attractive/bg_r_01.svg");
	top: -17.8rem;
	width: 23.57rem;
}
.atr_block:nth-of-type(7)::before{
	background-image: url("../image/attractive/bg_r_02.svg");
	top: -13.1rem;
	width: 23.33rem;
}
