@charset "utf-8";
/* CSS Document */
	.page_title_wrap + section > div h2:first-of-type{
		margin-top: 3.67em;
	}
	
	
section {
position: relative;
    z-index: 0;
}
	
section > div > :is(p, dl, table, blockquote, div) {
    width: 90.91%;
    /*background: red;  デバッグ用 */
    margin-inline:auto;
}
	
section > div > :is(figure) > img {
}
	
		
section > div p,section > div h4 {
	letter-spacing: 0.05em; 
	/*letter-spacing: 0.075em; */
	text-align: justify; 
	font-family: 'BIZ UDPGothic', sans-serif; 
	font-weight: 700;    
	line-height: 1.875;
}		
section > div p:has(strong) {
	
text-align: center;
}	
section > div p strong {
	
color:#754C24; font-size: 1.38em; font-weight: 700;
}
section:not(.page_title_wrap)::before {
        content: '';
        position: absolute;
        top: -54px;
        left: 50%;
        width: 100vw;
        height: 68px;
        transform: translateX(-50%);
        z-index: -1;
        background-image: radial-gradient(#fffbee 70%, transparent 71%);
        background-size: 68px 68px;
        background-repeat: repeat-x;
        background-position: center top;
    }		
section:not(.page_title_wrap)::after {
        content: '';
        position: absolute;
        bottom: -45px;
        left: 50%;
        width: 100vw;
        height: 68px;
        transform: translateX(-50%);
        z-index: -1;
        background-image: radial-gradient(#fffbee 70%, transparent 71%);
        background-size: 68px 68px;
        background-repeat: repeat-x;
        background-position: center top;
    }
	
		
section:not(.page_title_wrap):nth-of-type(odd) {
background: #F4F9ED;
}
	section:not(.page_title_wrap):nth-of-type(odd)::before{
        top: -30px;
        background-image: radial-gradient(#F4F9ED 70%, transparent 71%);
		
	}	
	section:not(.page_title_wrap):nth-of-type(odd)::after{
        bottom: -30px;
        background-image: radial-gradient(#F4F9ED 70%, transparent 71%);
		
	}	
	section:not(.page_title_wrap, #list_refer):nth-of-type(even)::before{
        content: none;
		
	}	
	section:not(.page_title_wrap, #list_refer):nth-of-type(even)::after{
        content: none;
		
	}	
	section#about_db figure img{
            width: 29.57em;
    display: block;
    margin-inline: auto;
		
	}	
	
	section#about_db .sec-inner a.btn_link_assist{
	
	        display: flex;
        align-items: center;
        width: min(39.27vw,432px);
            height: 5.43em;
		    margin-inline: auto;
        font-size: 1.43em;
        border-radius: 0.87em;
        background: #fff;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
        line-height: 1.24;
        color: #333333;
        text-decoration: none;
        box-sizing: border-box;
        position: relative;
	
	font-weight: bold;
		    padding-inline: 1.13em 1.3em;
		font-family: "Noto Sans JP", sans-serif;
	
	}
	
	section#about_db .sec-inner a.btn_link_assist span.icon{
		content: "";
		display: flex;
		justify-content: center;
        align-items: center;
		max-width: 3.61em;
		/*background:red;*/
		    margin-right: 1.52em;
	}
	section#about_db .sec-inner a.btn_link_assist span img{
		display:block;
    width:100%;
    height:auto;
	}	
	section#about_db .sec-inner a.btn_link_assist span.text span{
		display:block;
	}	
	section#about_db .sec-inner a.btn_link_assist span.arrow{
		content: "";
		display: block;
        background-image: url(images/common/link_ico_col01.svg);
        background-repeat: no-repeat;
		    background-size: auto;
		width: 1.47em;
		height: 1.47em;
		margin-left: auto;
		
	}
	
	section > div div.shadow{
		position: relative;
		
	}
	section > div div.shadow::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background-image:
      linear-gradient(
        90deg,
        rgba(95,191,173,1),
        rgba(242,142,30,1)
      );
        opacity: calc(.15 / 1.5);
    filter: blur(calc(4.75em / 6)); /*76*/
	}
	section#about_db .sec-inner div.shadow::after{
    width: calc(min(39.27vw,432px) + 6.25em);
    height: calc(5.43em + 9.06em);
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	
section#certificate .sec-inner div:has( > h4) {
background: #FFF;
	border: 1px solid #00A498;
	border-radius: 1.25em;
	display: flex;
	align-items: center;
	
	padding: 0.625em 2.5em 0.625em 0em;
	
    box-sizing: border-box;
	min-height: 8.5625em;
	position: relative;
	
    }	
section#certificate .sec-inner div.shadow::after{
    width: calc(100% + 0.6875em - 4.75em / 3);
    height: calc(100% + 4.25em - 4.75em / 3);
    left: 1.875em;
    top: -1.6875em;
}
	
	
section#certificate .sec-inner p + div:has(h4){margin-top:2.8125em;}
section#certificate .sec-inner div:has(h4) + div:has(h4){margin-top:2.3125em;}
section#certificate .sec-inner h3 + p{margin-top:1.53em;}
	
	
	
section > div h4 {
	font-size: 1.5625em;
	color: #0C7268;
	min-width: 12.8em;/*320*/
	text-align: center;
	    align-self: stretch; /* 高さを親いっぱい */
    display: flex;
    align-items: center;
    justify-content: center;

    border-right: 1px solid #00A498;
    }	
	

	
	
section > div h4 + p{
	padding-left: 1.6875em;
	display: flex;
	
    }
	
	
	
	
	
	

