/* ------------------------------------------------------------
Partner
---------------------------------------------------------------*/
#page_partner .os-bg-group-wh{
	width: 100%;
    background: var(--c-white);
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 50px;
    color: var(--c-bk);
    padding-block: 100px;
}

#page_partner .sec-lower-heading::before{
	content: "";
    width: 50%;
    max-width: 720px;
    height: auto;
    aspect-ratio: 720 / 837;
    position: absolute;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 0;
    right: 0;
    top: 0;
	background-image:url("../images/partner/partner_top.webp");
}

#page_partner .lower-heading-flex{
	width: calc(50% - 50px);
    position: relative;
}
#page_partner .breadcrumbs-box{
	position: absolute;
    right: 50px;
    bottom: 0;
}
#page_partner .ttl-box.ttb-primary{
	width: 48.24%;
    flex-shrink: 0;
    max-width: 550px;
    gap: 30px;
}

#page_partner .os-flex{
	width: 100%;
    display: flex;
    padding-inline: 7.462%;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.98%;
}
#page_partner h4{
	color: var(--c-primary);
}

#page_partner .bg-op-10::before{
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-image: url(../images/common/bg-op-10.webp);
    background-position: center;
    background-size: auto;
    background-repeat: repeat;
    mix-blend-mode: multiply;
}
#page_partner .sec-os-issues{
	background: var(--c-primary);
    margin-block: -100px;
    padding-block: 200px;
}
#page_partner .sec-os-about{
	z-index: 20;
}

#page_partner .flex-wrapper .system-box{
	display: flex;
	column-gap: 50px;
	width: auto;
    align-items: center;
    justify-content: left;
	margin-bottom: 30px;
}

#page_partner .flex-wrapper .system-box:nth-child(2){
	flex-direction: row-reverse;
}

#page_partner .flex-wrapper .system-box img{
	width: 32%;
	border-radius: 5px 5px 0 0;
}
#page_partner .flex-wrapper .system-box .title{
	font-size: 2em;
	padding-bottom: 30px;
}
#page_partner .flex-wrapper .system-box .text-box{
	width: 63%;
}
#page_partner .flex-wrapper{
	padding-inline: 10%;
	width: 100%;
}
#page_partner .occupation-img{
	width: 80%;
    margin: -50px auto 0;
}
#page_partner .license-held{
	width: 100%;
	padding-inline: 7.462%;
}
#page_partner .license-held .ttb-primary{
	width: 100%;
    max-width: 100%;
}
#page_partner .license-held .ttb-primary .wrapper{
	display: flex;
	gap: 30px;
}
#page_partner .license-held table{
	width: 100%;
	color: #212A37;
	font-family: var(--font-nototans);
	padding-inline: 5%;
	table-layout: fixed;
}
#page_partner .license-held table:last-child{
	border-left: 1px solid rgba(33, 42, 55, 0.2);
}
#page_partner .license-held table tbody tr:not(:first-child) th,
#page_partner .license-held table tbody tr:not(:first-child) td{
 padding-top: 20px;
}
#page_partner .license-held table th{
	padding-left: 50px;
	width: 210px;
	text-align: end;
}
#page_partner .license-held table th:last-child,
#page_partner .license-held table td:last-child{
	padding-bottom: 0;
}
#page_partner .license-held table td{
	width: 100%;
	padding-left: 30px;
	padding-bottom: 30px;
}
#page_partner .form-wrapper{
	padding: 100px 0 80px;
	text-align: center;
}
#page_partner .form-wrapper h3{
	color: #3DB7FC;
    font-size: 2.5em;
}
#page_partner .form-wrapper .c-txt-sm{
	color: #1D1D1D;
	font-size: 18px;
	padding: 40px 0;
}
#page_partner a.c-btn02{
	max-width: 360px;
    margin: 0 auto;
    text-align: left;
    color: #fff;
    background: #3DB7FC;
}
#page_partner a.c-btn02 .c-btn-icon-area{
	background: #fff;
}
#page_partner a.c-btn02 .c-btn-icon-area > i{
	background-image:url(../images/common/icon-arrow-right-bl.svg);
}
#page_partner a.c-btn02:hover{
	color: #3DB7FC;
	background: #fff;
}
#page_partner a.c-btn02:hover .c-btn-icon-area{
	background: #3DB7FC;
}
#page_partner a.c-btn02:hover .c-btn-icon-area > i{
	background-image: url(../images/common/icon-arrow-right-wh.svg);
}
#page_partner a.c-btn02:hover .c-btn-icon-area::after {
	background: var(--c-primary);
}
main{
	padding-bottom: 150px;
	margin-bottom: 0;
}
.os-message{
 display: grid;
 gap: 15px;
}

@media screen and (max-width: 768px){
	main {
		padding-bottom: 50px;
	}
	#page_partner .license-held .ttb-primary .wrapper{
		display: inline-block;
	}
	#page_partner .license-held table {
		font-size: 15px;
		letter-spacing: -.01em;
	}
	#page_partner .license-held table th,
	#page_partner .license-held table td {
		display: block;
		padding: 0;
		text-align: left;
		width: 100%;
	}
	#page_partner .license-held table tbody tr:not(:first-child) th,
	#page_partner .license-held table tbody tr:not(:first-child) td {
		padding: 0;
	}
	#page_partner .license-held table th {
		margin-bottom: 5px;
	}
	#page_partner .license-held table td {
		margin-bottom: 10px;
	}
	/* #page_partner .license-held table th{
		padding-left: 0;
		width: 40%;
	}
	#page_partner .license-held table td {
		padding-left: 20px;
	} */
	#page_partner .license-held table:last-child{
		border-left: none;
	}
	#page_partner .os-flex{
		display: inline-block;
	}
	#page_partner .ttl-box.ttb-primary{
		width: 100%;
	}
	#page_partner .flex-wrapper .system-box{
		display: inline-block;
	}
	#page_partner .flex-wrapper .system-box img{
		width: 100%;
	}
	#page_partner .flex-wrapper .system-box .text-box{
		width: 100%;
    	padding: 20px 0 30px;
	}
	#page_partner .flex-wrapper .system-box .title{
		font-size: 1.5em;
		padding-bottom: 20px;
	}
	#page_partner .lower-sec{
		padding: 0;
	}
	#page_partner .os-bg-group-wh{
		padding-block: 50px;
	}
	#page_partner .form-wrapper{
		padding: 50px 7.462%;
	}
	#page_partner .form-wrapper h3{
		font-size: 24px;
		letter-spacing: -.01em;
	}
	#page_partner .form-wrapper .c-txt-sm{
		font-size: 15px;
		text-align: left;
	}
	#page_partner .sec-lower-heading::before{
		display: none;
	}
	#page_partner .lower-heading-flex{
		width: 100%;
	}
	.os-flex {
        padding-inline: 20px;
        justify-content: flex-start;
        gap: 30px;
        flex-flow: column;
    }
	.os-flex > .ttl-box h3:not(.--en){
		font-size: 24px;
	}
	#page_partner h4{
		font-size: 20px;
	}
	#page_partner .occupation-img{
		width: 60%;
		margin: auto;
	}
	.pc{
		display: none;
	}
	#page_partner .sec-os-issues{
		margin-block: 0;
		padding-top: 50px;
	}
	.os-message {
		margin-top: 20px;
	}
}
#page_partner .sec-lower-heading::before{
 content: none!important;
}
#page_partner .lower-heading-flex{
 width: 100%!important;
}
#page_partner .breadcrumbs-box{
 position: inherit!important;
 right: 0;
}