@charset "utf-8";
/* CSS Document */
	.page_title_wrap + section > div h2:first-of-type{
		margin-top: calc(32px + 17px);
	}
	
	
section {
position: relative;
    z-index: 0;
}
	
section > div > :is(p, dl, table, blockquote, div) {
    /*width: 90.91%;
    background: red;  デバッグ用 */
    margin-inline:auto;
}
	
		
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) {
	
}	
section > div p strong {
	
color:#754C24; font-size: 1.5rem; font-weight: 700;
}
section:not(.page_title_wrap)::before {
        content: '';
        position: absolute;
        top: -17px;
        left: 50%;
        width: 100vw;
        height: 34px;
        transform: translateX(-50%);
        z-index: -1;
        background-image: radial-gradient(#fffbee 70%, transparent 71%);
        background-size: 34px 34px;
        background-repeat: repeat-x;
        background-position: center top;
    }		
section:not(.page_title_wrap)::after {
        content: '';
        position: absolute;
        bottom: -17px;
        left: 50%;
        width: 100vw;
        height: 34px;
        transform: translateX(-50%);
        z-index: -1;
        background-image: radial-gradient(#fffbee 70%, transparent 71%);
        background-size: 34px 34px;
        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: -15px;
        background-image: radial-gradient(#F4F9ED 70%, transparent 71%);
		
	}	
	section:not(.page_title_wrap):nth-of-type(odd)::after{
        bottom: -15px;
        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{
		
	}	
	
	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(3.8rem / 6));
	}
	section#about_db .sec-inner div.shadow::after{
    width: calc(100vw - 3.8rem / 3);
    height: calc(100% + 10rem);
    top: 0;
		bottom: 0;
		margin: auto;
			
	        margin-left: calc(50% - calc(100vw - 3.8rem / 3) / 2);
	}
	
	section#about_db .sec-inner a{
	
        display: flex;
        align-items: center;
        width: 97.33%;
        height: 8.45rem;
        margin-inline: auto;
        font-size: 1.5rem;
        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-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: 5rem;
		/*background:red;*/
		    margin-right: 2.5rem;
	}
	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: 2.31rem;
        height: 2.31rem;
		margin-left: auto;
		
	}
	
section#certificate .sec-inner div:has( > h4) {
background: #FFF;
	border: 1px solid #00A498;
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	
	
	padding: 1rem 2rem 1.5rem;
	
    box-sizing: border-box;
	/*min-height: 8.5625em;*/
	position: relative;
	
    }	
section#certificate .sec-inner div.shadow::after{
    width: calc(100vw - 3.8rem / 3);
    height: calc(100% + 2.5rem - 3.8rem / 3);
    top: 2.5rem;
	        margin-left: calc(50% - calc(100vw - 3.8rem / 3) / 2);
}
	

section#certificate .sec-inner p + div:has(h4){margin-top: 2.5rem;}
section#certificate .sec-inner div:has(h4) + div:has(h4){margin-top: 2.5rem;}
section#certificate .sec-inner h3 + p{margin-top:2.5rem;}
	
	
	
section > div h4 {
	font-size: 1.5rem;
	color: #0C7268;
	text-align: center;
width: 100%;
    border-bottom: 1px solid #00A498;
	        line-height: 2;
    }	
	

	
	
section > div h4 + p{
	font-size: 1.3rem;
	        line-height: 1.53;
	        margin-top: 0.9rem;
    }
	
	
	