/*共有*/

.underline-a{
	text-decoration: underline;
}

.ImgRespo{
	width: auto;
    height: auto;
}

.content-section{
	padding:70px 0;
	background:#fff;
}


.content-section-inqform{
	padding-top:0;
}

.content-section-margin-b{
    margin-bottom: 90px;
}

.content-section-z-1{
	    z-index: -1;
}

.content-section-z-2{
	    z-index: -2;
}

.content-section-z-3{
	    z-index: -3;
}

.content-section-z2{
	    z-index: 2;
}

.bottom-space-section{
    margin-bottom: 5%;
}

.content-section-vision{
	padding:130px 0;
}

.content-section-box-common{
	max-width:1300px;
	margin:0 auto;
}

.content-section-box-inqform{
    max-width: 900px;
}

.content-section-D6EBF6{
	background:#D6EBF6;
}

.border-button{
    border: 1px solid #37375D;
    border-radius: 20px;
    width: fit-content;
    margin: auto;
}

.border-button-a{
	display: block;
    padding: 30px 200px 30px 40px;
	position: relative;
}

.border-button-a:after{
	position: absolute;
    content: '';
    width: 5px;
    height: 12px;
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_b.webp);
    background-size: contain;
    right: 20px;
    top: 45%;
}

.border-button-p{
    color: #38375D;
    font-size: clamp(12px,2.5vw,16px);
}

/*パンくず*/
.breadcrumb{
	margin: 50px;
    max-width: none;
	padding:0;
}

.breadcrumb a{
	color:#3A3A3A;
}

.breadcrumb ul{
display: flex;
    flex-wrap: wrap;
}

/*keyvisual*/
.keyvisual-img-area {
    position: relative;
	margin-top: 50px;
}

.keyvisual-img-area:before{
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at bottom right, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) bottom right;
    background-size: 100%;
    background-repeat: no-repeat;
    top: 65px;
    left: 0;
    z-index: 3;
}

.keyvisual-img-area:after{
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at bottom left, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) bottom left;
    background-size: 100%;
    background-repeat: no-repeat;
    top: 65px;
    right:0;
    z-index: 2;
}

.keyvisual-img{
    height: auto;
    width: 100%;
}

.keyvisual{
    padding: 0 0 100px 0;
    border-bottom: 1px solid #707070;
    margin: 0 50px;
}

    .keyvisual-top {
        padding: 0 0 60px 0;
    }

.keyvisual-sub-page{
    padding: 0;
}

.keyvisual-top{
    border-bottom: none;
	position: relative;
}


.top-video{
position: absolute;
    width: 100%;
    height: 100%;
    top: -14%;
}

.top-video-cover{
    position: absolute;
    width: 100%;
    height: 22%;
    background: #fff;
    bottom: 0;
}

.top-video-cover:before{
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top right, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) top right;
    background-size: 100%;
    background-repeat: no-repeat;
    top: -20px;
    left: 0;
    z-index: 2;
}

.top-video-cover:after{
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top left, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) top left;
    background-size: 100%;
    background-repeat: no-repeat;
    top: -20px;
    right: 0;
    z-index: 2;
}

.keyvisual-top-video{
    height: auto;
    aspect-ratio: 16 / 8;
    overflow: hidden;
}


.keyvisual-title {
    position: absolute;
    bottom: 0;
    padding: 50px 50px 50px 20px;
    background: #fff;
    border-radius: 0 20px 0 0;
}

.keyvisual-title:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top right, transparent 19px, #FFF 0) top right;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 7px;
    right: -20px;
}

.keyvisual-title:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top right, transparent 19px, #FFF 0) top right;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: -20px;
    left: 0;
}

.keyvisual-text {
    font-size: clamp(20px,3.8vw,36px);
    font-weight: bold;
    margin: 40px 0;
    line-height: 1.5;
}

.keyvisual-title-img-area{
    position: absolute;
    bottom: 0;
    background: #fff;
    border-radius: 0 20px 0 0;
    width: 450px;
    text-align: center;
    padding: 20px 0 0 0;
}

.keyvisual-title-img-area:before{
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top right, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) top right;
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: 0;
    right: -20px;
}

.keyvisual-title-img-area:after{
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top right, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) top right;
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: 140px;
    left: 0;
}


/*背景系*/
.upper-left-lack{
	border-radius: 50px;
	position:relative;
}

.round-parts{
    display: block;
    position: absolute;
    background: none;
    height: auto;
    z-index: 3;
    width: 100%;
    height: 100%;
}

.round-parts:before{
    z-index: 2;
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    top: -15px;
    right: 10px;
    border-radius: 20px 0 0 0;
}

.round-parts:after{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
	bottom: -5px;
    left: -30px;
    border-radius: 20px 0 0 0;
    z-index: 50;
}

.round-right:before{
    top: unset;
	right: 30px;
    bottom: -5px;
    border-radius: 0 20px 0 0;
}

.round-right:after{
    top: -15px;
    left: -50px;
    border-radius: 0 20px 0 0;
}

.header-upper-left{
    font-weight: bold;
    font-size: clamp(18px,2.5vw,30px);
    line-height: 1.5;
    padding: 15px 30px;
    width: fit-content;
    border-radius: 20px 0;
    background: #fff;
    position: relative;
}

.header-upper-left:before{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: #fff;
    top: 0;
    right: -20px;
}

.header-upper-left:after{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: #fff;
    bottom: -20px;
    left: 0;
}

.upper-right-lack{
	border-radius: 50px;
	position:relative;
}

.upper-right-lack:before{
    z-index: 2;
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    top: 0;
	right: 452px;
    border-radius: 0 20px 0 0;
}

.upper-right-lack:after{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    top: 75px;
    right: 0;
    border-radius: 0 20px 0 0;
}

.header-upper-right{
    font-weight: bold;
    font-size: clamp(18px,2.5vw,30px);
    line-height: 1.5;
    padding: 15px 30px;
    width: fit-content;
    border-radius: 0 20px;
    background: #fff;
    position: relative;
    margin-left: auto;
}

.header-upper-right:before{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: #fff;
    top: 0;
    left: -20px;
}

.header-upper-right:after{
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    background: #fff;
    bottom: -20px;
    right: 0;
}

/*TOP*/

.top-main-section{
    position: relative;
    color: #fff;
}

.top-main-section:before{
    position: absolute;
    content: '';
    height: 100%;
    width:calc( 100% - ( ( 100% - 1300px ) / 2) );
    right: 0;
    background: #6FC0E9;
    border-radius: 50px 0px 0px 50px;
    z-index: -1;
    top: 0;
}

.top-main-img {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}

.top-main-text {
    font-size: clamp(20px,2.5vw,50px);
    line-height: normal;
    font-weight: bold;
    margin-bottom: 1em;
}

.top-main-box {
    width: 788px;
    padding-left: 90px;
}

.header-img-service{
    height: 120px;
    display: block;
    width: auto;
}

.content-section-box-padding{
	padding:90px 0;
}

.content-section-box-wide{
    padding: 0 50px;
}

.top-service-box{
    position: relative;
}

.top-service-box:before{
    position: absolute;
    content: '';
    width: 375px;
    height: 376px;
    background-image: url(https://www.dos-osaka.co.jp/img/top_maru01.webp);
    top: 70px;
    right: 0;
    z-index: 2;
}

.top-service-box:after{
    position: absolute;
    content: '';
    width: 287px;
    height: 297px;
    background-image: url(https://www.dos-osaka.co.jp/img/top_maru02.webp);
    bottom: 75px;
    left: 50px;
}

.product-box{
    margin-bottom: 90px;
}

.service-title-jp{
	font-size: clamp(16px,3.8vw,30px);
    font-weight: 600;
}

.service-title-en{
    font-size: clamp(14px,3.8vw,20px);
    font-family: "din-condensed", sans-serif;
    margin-bottom: 40px;
}

.product-panel-button{
	display: block;
    padding: 20px 30px 20px 0;
}

.product-panel{
    background: #fff;
    display: flex;
    border-radius: 20px;
    gap: 30px;
    margin: 20px 0;
	position: relative;
    justify-content: space-between;
}


.product-panel-button:before{
    position: absolute;
    content: '';
    width: 0;
    height: 100%;
    border-radius: 0 20px 20px 0;
    background: #37375D;
    top: 0;
    left: unset;
    z-index: 0;
    -webkit-transition: .3s;
    transition: .3s;
}

.product-panel-a:hover .product-panel-button:before{
    width: 150px;
}

.product-panel-a:hover .more-p{
	color: #FFF;
}

.product-img-box{
    width: 200px;
    display: flex;
    align-items: center;
    padding: 20px 0 20px 30px;
}

.product-main-text{
    width: calc(100% - 380px);
    display: flex;
    align-items: center;
    color: #2B2B2B;
	padding: 30px 0;
}

.product-more-box{
    width: 120px;
    border-left: 1px solid #37375D;
    padding-left: 30px;
    display: flex;
    align-items: center;
    height: 100%;
	z-index: 2;
}

.more-p{
    color: #37375D;
    font-weight: bold;
    position: relative;
    transition: .3s;
}

.more-p:after{
    position: absolute;
    content: '';
    width: 4px;
    height: 10px;
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_b.webp);
    top: 8px;
    right: -15px;
    background-size: contain;
    background-repeat: no-repeat;
}

.product-panel-button:hover .more-p:after{
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_w.webp);
}

.more-p-wht{
    color: #FFF;
    font-weight: bold;
    position: relative;
    transition: .3s;
}

.more-p-wht:after{
    position: absolute;
    content: '';
    width: 4px;
    height: 10px;
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_w.webp);
    top: 8px;
    right: -15px;
    background-size: contain;
    background-repeat: no-repeat;
}

.solution-contents{
	background: #FFF;
    padding: 30px;
    border-radius: 20px;
    position: relative;
}

.solution-content-a{
    color: #2B2B2B;
}

.solution-contents-box{
    display: flex;
    gap: 30px;
}

.top-solution-header{
font-size: clamp(16px, 3.8vw, 20px);
    font-weight: 500;
    margin-bottom: 1em;
}

.solution-more-box{
    display: flex;
    position: absolute;
    background: #D6EBF6;
    width: 165px;
    height: 60px;
    border-radius: 20px 0 0 0;
    bottom: 0;
    right: 0;
    align-items: center;
    justify-content: center;
}

.solution-more-box:before{
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top left, transparent 19px, #D6EBF6 0) top left;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: -20px;
    right: 0;
}

.solution-more-box:after{
	content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: #00E5FF;
    background: radial-gradient(circle at top left, transparent 19px, #D6EBF6 0) top left;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: -20px;
}


.solution-content-a:hover .more-p{
    padding-left: 3em;
}

.content-section-company-info{
    background-image: url(https://www.dos-osaka.co.jp/img/top_back01.webp);
    padding: 180px 0;
    background-size: cover;
    background-repeat: no-repeat;
}

.company-info-list{
    display: flex;
    justify-content: flex-start;
    gap: 90px;
    flex-wrap: wrap;
}

.company-info-panel{
    width: calc((100% - 180px) / 3);
}

.company-info-panel-main-box{
    padding: 30px 0;
	position: relative;
	text-align: center;
}

.company-info-panel-main-box:before{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    border-radius: 20px 20px 20px 0px;
    opacity: 0.9;
    z-index: -1;
    position: absolute;
    top: 0;
}

.company-info-panel-sub-box{
    display: flex;
    height: 70px;
}

.company-info-panel-sub-box-left{
    color: #fff;
    width: 50%;
    background: #fff;
    border-radius: 0 0 20px 20px;
    opacity: 0.9;
}

.company-info-panel-sub-box-right{
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.company-info-panel-sub-box-right:before{
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at bottom right, transparent 19px, #FFF 0) bottom right;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.9;
}

.company-info-panel-sub-box-right:hover .more-p-wht{
    padding-left: 3em;
}

.company-info-panel-title{
    color: #3A3A3A;
    font-size: clamp(16px,2.5vw,20px);
    text-align: center;
    font-weight: bold;
    height: 5em;
}

.company-info-panel-icon{
	width: 20%;
    max-width: 100px;
}


.company-info-panel-text{
	display: flex;
    align-items: center;
    justify-content: center;
}

.top-company-img{
	max-width: 330px;
}

.news-box{
	background: #E7E7EB;
    border-radius: 20px;
    padding: 50px 85px 90px;
    position: relative;
}

.news-a{
    display: contents;
}

.news-li{
    display: flex;
    padding: 40px 20px;
    gap: 100px;
    border-bottom: 1px solid #707070;
    color: #2B2B2B;
    position: relative;
}

.news-li:before{
    position: absolute;
    content: '';
    width: 0;
    height: 90%;
    border-radius: 20px;
    background: #F5F5F7;
    top: 5%;
    left: 0;
    z-index: 0;
    opacity: 0;
	-webkit-transition: .3s;
	transition: .3s;
}

.news-li:hover::before {
    opacity: 1;
    width: 100%;
}

.news-date,
.news-title{
    z-index: 1;
}

.news-more-box{
    display: flex;
    position: absolute;
    background: #FFF;
    width: 165px;
    height: 60px;
    border-radius: 20px 0 0 0;
    bottom: 0;
    right: 0;
    align-items: center;
    justify-content: center;
}

.news-more-box:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top left, transparent 19px, #FFF 0) top left;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: -20px;
    right: 0;
}

.news-more-box:after {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at top left, transparent 19px, #FFF 0) top left;
    background-size: 100%;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: -20px;
}

.news-more-box:hover .more-p {
    padding-left: 3em;
}

.content-section-recruit{
    position: relative;
    margin-bottom: 150px;
}

.content-section-recruit:before{
    position: absolute;
    content: '';
    background: #6FC0E9;
    width: calc(100% - 220px);
    height: 100%;
    border-radius: 0 50px 50px 0;
    z-index: -1;
    top: 0;
}

.header-img-recruit{
    margin-bottom: 35px;
    margin-left: 150px;
    display: block;
    max-width: 265px;
    height: auto;
}

.recruit-ul{
    width: 50%;
    position: relative;
    z-index: 2;
}

.recruit-a{
    display: contents;
}

.recruit-li{
    padding: 40px 30px;
    color: #fff;
    font-size: clamp(16px,3.8vw,20px);
    font-weight: bold;
    border-bottom: 1px solid #fff;
    position: relative;
}

.recruit-li:before{
    position: absolute;
    content: '';
    width: 0;
    height: 90%;
    border-radius: 20px;
    background: #486879;
    top: 5%;
    left: 0;
	opacity: 0;
    z-index: -1;
	-webkit-transition: .3s;
	transition: .3s;
}

.recruit-li:hover::before {
    width: 100%;
	opacity: 1;
}

.recruit-img {
    position: absolute;
    bottom: 0;
    right: 137px;
    z-index: -1;
}

.header-img-news{
    width: 195px;
    height: auto;
    margin-bottom: 35px;
}

/*企業情報*/
.round-back-37375D:before,
.round-back-37375D:after{
	background:#37375D;
}

.round-back-6FC0E9:before,
.round-back-6FC0E9:after{
	background:#6FC0E9;
}

.round-back-E7E7EB:before,
.round-back-E7E7EB:after{
	background:#E7E7EB;
}
.back-37375D{
	background: #37375D;
}

.color-37375D{
	color: #37375D;
}

.main-container{
	padding:90px;
        z-index: 4;
        position: relative;
}

.back-6FC0E9{
	background: #6FC0E9;
}

.color-6FC0E9{
	color:#6FC0E9;
}

.back-E7E7EB{
	background: #E7E7EB;
}

.color-3A3A3A{
	color:#3A3A3A;
}

.company-info-box{
	display: flex;
    flex-wrap: wrap;
    gap: 90px;
}


.company-info {
    width: calc((100% - 90px) / 2);
}

.company-info-a{
    display: contents;
    width: 100%;
    height: 100%;
    color: #fff;
}


.company-info-img-box{
    width: 100%;
    overflow: hidden;
}


.company-info-img{
    transition: 0.4s all;
}

.company-info-a:hover .company-info-img{
	transform: scale(1.1, 1.1);
}

.company-info-title {
    font-size: clamp(16px,2.5vw,18px);
    font-weight: bold;
    margin-top: 20px;
}

/*企業理念*/

.round-back-D6EBF6:before,
.round-back-D6EBF6:after{
	background:#D6EBF6;
}

.round-back-FFF:before,
.round-back-FFF:after{
	background:#FFF;
}

.section-box-padding-top{
	padding-top:120px;
}

.back-D6EBF6{
	background: #D6EBF6;
}

.back-38375D,
.back-38375D:before,
.back-38375D:after{
	background:#38375D;
}

.back-FFF{
	background:#FFF;
}

.color-FFF{
	color:#FFF;
}

.deco-img-box{
    position: absolute;
    z-index: 2;
    background: #6FC0E9;
    right: 0;
	top: 330px;
    border-radius: 50px 0 0 50px;
    width: 760px;
    height: 450px;
}


.deco-img-box-left{
    right: auto;
	left:0;
    top: 120px;
	border-radius: 0 50px 50px 0;
}

.deco-img-box-vision{
    top: 230px;
    max-width: 760px;
    width: 48%;
    height: 450px;
}

.deco-img {
    position: absolute;
    bottom: 0;
    height: auto;
    width: 100%;
    right: 0;
}

.container-vision {
    width: 700px;
    padding: 50px 90px 90px;
}

.container-right{
	margin-left: auto;
}

.container-header {
        font-size: clamp(16px, 2.5vw, 24px);
    font-weight: bold;
    margin-bottom: 35px;
}

.container-sub-header {
    font-weight: bold;
    margin-top: 30px;
}

.container-vision-img02 {
    display: block;
    margin-top: 35px;
    margin-left: auto;
}

.sign-img{
    display: block;
    margin-left: auto;
    margin-top: 30px;
}


/*組織紹介*/

.organization-bottom-group{
	display: flex;
    justify-content: space-between;
	gap:70px;
}

.organization-deco-box{
    background: #6FC0E9;
    border-radius: 50px 0px 0px 50px;
	width: calc( 100% - ( 570px + ((100% - 1300px) / 2) ) );
	overflow: hidden;
}

.organization-text-box{
    width: 500px;
    margin-left: calc((100% - 1300px) / 2);
}

.organization-text-header{
	color: #38375D;
    font-size: clamp(20px,3.8vw,30px);
    font-weight: bold;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #38375D;
}

.organization-text-header-p{
    line-height: 1.5;
}

.organization-box{
    background: #fff;
    padding: 90px;
    border-radius: 45px;
}

/*SDGs*/

.sdgs-about {
    display: flex;
    gap: 50px;
}

.sdgs-about-left-img{
width: auto;
    height: auto;
}

.sdgs-about-right{
    width: calc((100% - 50px) / 2);
}

.sdgs-header {
    font-size: clamp(16px,2vw,30px);
    font-weight: bold;
    margin-bottom: 40px;
}

.content-section-sdgs{
    position: relative;
}

.sdgs-main-back{
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: calc(100% - ( ( 100% - 1300px ) / 2) );
}

.sdgs-main{
    width: 1000px;
    margin-left: auto;
}

.sdgs-main-catch{
    font-size: clamp(16px,2vw,34px);
    font-weight: bold;
    padding: 60px 0;
    text-align: center;
}

.sdgs-main-box{
    background: #fff;
    border-radius: 50px 0px 0px 0px;
    padding: 100px 0 100px 100px;
}

.sdgs-main-title {
    color: #37375D;
    font-size: clamp(14px,2vw,26px);
    font-weight: bold;
}

.sdgs-main-contents {
    display: flex;
    gap: 30px;
    margin: 20px 0 40px 0;
}

.sdgs-main-sub-title {
    font-weight: bold;
}

.sdgs-main-catch-short{
display:none;
}

.margin-top15{
	margin-top:15px;
}


/*ソリューション*/

.deco-img-box-wide{
    width: 1080px;
    top: 190px;
}

.top-text-box-32326B{
    position: relative;
}

.top-text-box-32326B:before{
	position: absolute;
    content: '';
    width: 1200px;
    height: 100%;
    background: #32326B;
	border-radius: 0px 50px 50px 0px;
    z-index: -1;
    top: 0;
}


.top-text-box-inner{
    width: 530px;
	padding: 130px 0;
    color: #fff;
}

.top-text-box-title{
    font-size: 30px;
    font-weight: bold;
    padding-bottom: 30px;
    padding-right: 50px;
    margin-bottom: 30px;
    border-bottom: 1px solid;
}

.top-text-box-main{
	padding-right: 50px;
}


.solution-about-box{
    display: flex;
    gap: 50px;
}

.solution-about-right{
    width: 50%;
}

.solution-about-left-img{
	aspect-ratio: 25 / 12;
    width: auto;
    height: auto;
    max-width: 625px;
}

.solution-reason-box{
    background: #E7E7EB;
    border-radius: 20px;
    padding: 40px 80px 80px 80px;
    text-align: center;
}

.solution-reason-panel-group{
	display: flex;
    justify-content: center;
    gap: 45px;
}

.solution-reason-panel {
    background: #fff;
    border-radius: 20px;
    padding: 35px 25px;
    width: calc((100% - 100px) / 3);
}

.solution-reason-panel-title{
	color:#37375D;
	font-weight:bold;
	font-size:16px;
}

.solution-reason-panel-img {
    margin: 50px 0 40px;
}

.solution-reason-button-group{
	display: flex;
    justify-content: center;
    gap: 50px;
    margin-top: 80px;
}

.solution-reason-button-p {
    width: 400px;
    background: #fff;
    color: #37375D;
    border: 1px solid #37375D;
    border-radius: 20px;
    padding: 30px 20px 30px 40px;
    text-align: left;
    font-size: 16px;
    position: relative;
}

.solution-reason-button-p:after{
    position: absolute;
    content: '';
    width: 5px;
    height: 12px;
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_b.webp);
    background-size: contain;
    right: 20px;
    top: 2.5em;
}

.solution-header-text{
    color: #38375D;
    font-size: clamp(18px, 3.8vw, 26px);
    font-weight: bold;
    margin: 110px 0 50px 0;
}

.solution-top-none{
    margin-top: 0;
}

.solution-pickup-img{
	height: auto;
}

.solution-pickup{
	text-align: center;
	padding: 0px 90px 90px;
}

.solution-pickup-sub-header {
    background: #37375D;
    border-radius: 8px;
    color: #FFF;
    font-size: clamp(18px,3vw,20px);
    font-weight: bold;
    padding: 15px 0;
    margin: 50px 0;
}

.solution-pickup-panel-group{
    display: flex;
    justify-content: center;
    gap: 45px;
}

.solution-pickup-panel{
    width: calc((100% - 90px) / 3);
}

.solution-pickup-panel-top{
    background: #37375D;
    color: #fff;
    font-size: clamp(16px,3vw,18px);
    font-weight: bold;
    border-radius: 10px;
    height: 100px;
    align-content: center;
    line-height: 1.5;
}

.solution-pickup-panel-arrow{
    width: 32px;
    height: 24px;
    margin: 15px 0;
}

.solution-pickup-panel-bottom {
    border-radius: 20px;
    background: #fff;
    padding: 40px 30px;
    height: 350px;
}


.solution-pickup-panel-main {
	color: #051977;
    height: 100px;
    align-content: center;
}

.solution-pickup-panel-img{
	height:170px;
	width:auto;
}

.solution-button-group{
	display: flex;
    justify-content: center;
    gap: 50px;
    margin-top: 80px;
}

.solution-button-p {
    width: 650px;
    background: #fff;
    color: #37375D;
    border: 1px solid #37375D;
    border-radius: 20px;
    padding: 30px 20px 30px 40px;
    text-align: left;
    font-size: 16px;
    position: relative;
    margin: 50px auto 0;
}

.solution-button-p:after{
    position: absolute;
    content: '';
    width: 5px;
    height: 12px;
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_b.webp);
    background-size: contain;
    right: 20px;
    top: 44%;
}

.solution-tab-icon01{
    width: 1.5em;
    height: 1.5em;
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon01_off.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

.solution-tab-icon02{
    width: 1.5em;
    height: 1.5em;
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon02_off.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

.solution-tab-icon03{
    width: 1.5em;
    height: 1.5em;
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon03_off.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

.solution-tab-icon04{
    width: 1.5em;
    height: 1.5em;
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon04_off.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

.solution-tab-icon05{
    width: 1.5em;
    height: 1.5em;
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon05_off.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

.solution-tab-icon06{
    width: 1.5em;
    height: 1.5em;
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon06_off.webp);
    background-size: contain;
    background-repeat: no-repeat;
}

#tab01:checked ~ .tab_group .solution-tab-icon01{
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon01_on.webp);
}

#tab02:checked ~ .tab_group .solution-tab-icon02{
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon02_on.webp);
}

#tab03:checked ~ .tab_group .solution-tab-icon03{
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon03_on.webp);
}

#tab04:checked ~ .tab_group .solution-tab-icon04{
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon04_on.webp);
}

#tab05:checked ~ .tab_group .solution-tab-icon05{
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon05_on.webp);
}

#tab06:checked ~ .tab_group .solution-tab-icon06{
    background-image: url(https://www.dos-osaka.co.jp/solution_offer/img/itsolution_icon06_on.webp);
}


.header-upper-left-solution,
.header-upper-left-solution:before,
.header-upper-left-solution:after{
    background: #D6EBF6;
}

.solution-career-box{
    margin-top: 40px;
}

.solution-career-main {
    display: flex;
    gap: 100px;
}

.solution-career-img-area {
    padding-left: 50px;
    width: 555px;
}

.solution-career-text-area {
    background: #D6EBF6;
    border-radius: 50px 0px 0px 0px;
    width: calc(100% - 655px);
    padding: 70px 60px;
    text-align: left;
}

.solution-career-text-area-cont{
	border-radius: 50px 0px 0px 50px;
}

.solution-career-title {
    font-size: clamp(14px,3vw,18px);
    color: #FFF;
    font-weight: bold;
    text-align: left;
    padding-left: 50px;
    margin-bottom: 35px;
}

.solution-career-img{
    margin-bottom: 40px;
}

.solution-sub-header {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}

.upper-left-lack-solution{
    margin-top: 60px;
}

/*ソフトウェア辞書*/
.sw-dic-heading-text{
    font-size: clamp(20px,3vw,30px);
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 1.5;
}

.sw-dic-sub-heading-text {
    font-size: clamp(16px,2.5vw,24px);
    font-weight: bold;
    line-height: 1.5;
    margin: 45px 0 10px 0;
}

.sw-dic-deco-img-box{
    top: 260px;
}

.sw-dic-img{
	margin: auto;
    margin-top: 40px;
    display: block;
	    height: auto;
}

.sw-dic-case-group{
	display: flex;
    gap: 80px;
}

.sw-dic-case-left{
	border-radius: 10px;
    background: #fff;
    padding: 30px;
    width: 600px;
}

.sw-dic-case-table{
    width: 100%;
    text-align: center;
}

.sw-dic-case-tr{
    width: 100%;
}

.tr-border-bold{
    border-bottom: 2px solid #37375D;
}

.tr-border{
    border-bottom: 2px solid #D6D6D6;
}

.sw-dic-case-th {
    width: 50%;
    color: #37375D;
    font-weight: bold;
    padding: 1em 0;
}

.sw-dic-case-td {
    width: 50%;
    padding: 1em 0;
}

.sw-dic-ul {
    list-style: disc;
    margin-left: 1.5em;
}

.sw-dic-li {
    list-style: disc;
    line-height: 2;
}

.border-button-sw-dic{
	margin-top:80px;
}

/*製品情報*/

.service-panel {
    margin: 100px 0;
	position: relative;
    padding-bottom: 100px;
	border-bottom: 1px solid #707070;
}

.service-main{
    display: flex;
    gap: 30px;
}

.service-main-area {
    width: calc(100% - 430px);
}

.service-more-box{
    display: flex;
    position: absolute;
    background: #FFF;
    width: 165px;
    height: 62px;
    border-radius: 20px 0 0 0;
    bottom: -1px;
    right: 0;
    align-items: center;
    justify-content: center;
    z-index: 0;
    border-top: 1px solid #707070;
    border-left: 1px solid #707070;
}

.service-more-deco-before {
	display: block;
    background: #FFF;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 0;
    bottom: 60px;
    z-index: 7;
}

.service-more-deco-before:after{
	content: '';
    width: 19px;
    height: 19px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 0 20px 0;
    border-bottom: 1px solid #707070;
    border-right: 1px solid #707070;
}

.service-more-deco-after {
    display: block;
    background: #FFF;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 164px;
    bottom: -1px;
}

.service-more-deco-after:after{
    content: '';
    width: 19px;
    height: 19px;
    position: absolute;
    top: 0;
    left: 0px;
    border-radius: 0 0 20px 0;
    border-bottom: 1px solid #707070;
    border-right: 1px solid #707070;
}

.service-panel-a:hover .more-p {
    padding-left: 3em;
}

/*拠点紹介*/

.outline-tab-icon1{
	width:1.5em;
	height:1.5em;
	background-image:url(https://www.dos-osaka.co.jp/outline/img/outline_icon01_off.webp);
	background-size: contain;
    background-repeat: no-repeat;
}

.outline-tab-icon2{
	width:1.5em;
	height:1.5em;
	background-image:url(https://www.dos-osaka.co.jp/outline/img/outline_icon02_off.webp);
	background-size: contain;
    background-repeat: no-repeat;
}

#tab01:checked ~ .tab_group .outline-tab-icon1{
	background-image:url(https://www.dos-osaka.co.jp/outline/img/outline_icon01_on.webp);
}

#tab02:checked ~ .tab_group .outline-tab-icon2{
	background-image:url(https://www.dos-osaka.co.jp/outline/img/outline_icon02_on.webp);
}

.outline-table {
    width: 100%;
}

.outline-th{
	width: 330px;
	border-bottom: 2px solid #37375D;
    align-content: center;
}

.outline-th-p{
    padding-left: 1em;
    text-align: left;
    align-content: center;
    height: 100%;
    color: #37375D;
    font-weight: bold;
}

.outline-td{
	border-bottom: 2px solid #D6D6D6;
	padding:40px;
    vertical-align: middle;
}

.outline-td-flex{
    display: flex;
    justify-content: space-between;
}

/*ニュース*/

.newstop-li{
	gap: 50px;
}

.newstop-li:before{
    background: #E7E7EB;
    z-index: -1;
}

.news-p{
    color: #2B2B2B;
}

.news-category{
    min-width: 160px;
}

.news-detail-title {
    padding-bottom: 50px;
    margin-bottom: 50px;
    border-bottom: 1px solid #707070;
    font-size: 30px;
    font-weight: bold;
}

/*ポリシー系*/

.policy-header-text{
	font-size: clamp(18px, 3.8vw, 30px);
    font-weight: bold;
    margin-bottom: 40px;
}

.policy-second-header-text{
	font-size: clamp(16px, 3.8vw, 24px);
   	font-weight: bold;
    margin-bottom: 25px;
}

.policy-bold-text{
    font-weight: bold;
	margin-bottom:20px;
}

.policy-header-text-sub{
    font-weight: bold;
	border-bottom:1px solid #38375D;
	margin-bottom:20px;
	padding-bottom:20px;
}

.privacy-img-area{
	margin-bottom:25px;
}

.privacy-img{
	width:auto;
	height:auto;
}

.text-CE2447{
	color:#CE2447;
}

.text-right{
    text-align: right;
}

/*各種問合せ*/

.connect-site-box{
    display: flex;
    justify-content: center;
    gap: 100px;
}

.policy-header-text-top{
	margin-top: 90px
}

.th-normal-text{
    font-weight: normal !important;
}

.mail-address{
display: flex;
    align-items: center;
}



/*サイトマップ*/

.sitemap_title{
	margin-top:65px;
    font-weight: bold;
    padding-bottom: 25px;
    border-bottom: 1px solid #38375D;
	font-size:16px;
}

.sitemap-top-none{
	margin-top:0;
}

.sitemap-table{
	width:100%;
}

.sitemap_tr{
	border-bottom: 1px solid #707070;
}

.sitemap_th{
    width: 30%;
    text-align: left;
    padding: 1.5em 0 1.5em 50px;
}



/*下層TOP系keyvisual*/

.keyvisual-under-top-img-area {
    position: relative;
    margin-top: 50px;
}

.keyvisual-img-box{
	width: 70%;
    display: block;
    margin-left: auto;
    position: relative;
    z-index: 2;
    padding-bottom: 50px;
}


.keyvisual-title-bluebox {
    background: #6FC0E9;
    position: absolute;
    width: calc(100% + 100px);
    height: 50%;
    left: -50px;
    bottom: 0;
    z-index: 0;
    display: flex;
    align-items: center;
    padding-left: 8%;
}

.keyvisual-title-box {
    color: #fff;
    height: calc(100% - 100px);
}

.keyvisual-title-img {
    border-bottom: 1px solid;
    height: auto;
    width: auto;
    max-height: calc(100% - 40px);
}

.keyvisual-title-p {
    font-size: clamp(16px, 2.5vw, 18px);
    margin-top: 0.5em;
}

/*******************
	レスポンシブ
********************/

@media (max-width: 1880px) {

/*製品一覧*/
.deco-img-box-wide {
    width: 58%;
}

}

@media (max-width: 1600px) {
/*TOP*/
.top-main-img {
    width: 60%;
}

/*製品一覧*/

.deco-img-box-wide {
	width: 59%;
    top: 240px;
}

}

@media (max-width: 1500px) {

.top-service-box:before {
    width: 19%;
    height: auto;
    aspect-ratio: 375 / 376;
    background-size: contain;
    background-repeat: no-repeat;
}

.top-service-box:after {
    width: 19%;
    height: auto;
    aspect-ratio: 144 / 149;
    background-size: contain;
    background-repeat: no-repeat;
}

/*下層TOP系keyvisual*/

.keyvisual-img-box {
    width: 68%;

}

.keyvisual-title-bluebox {
    padding-left: 12%;
}

.keyvisual-title-box {
    height: calc(100% - 70px);
}


}

@media (max-width: 1400px) {

/*共通*/
    .content-section-box-common {
        max-width: 1000px;
    }

.content-section {
    padding: 100px 0;
}

.keyvisual-title-img-area{
    width: 300px;
	padding: 20px 20px 0 20px;
}

/*TOP*/

.top-main-section:before{
    width: calc(100% - ( ( 100% - 1000px ) / 2) );
}

.keyvisual-top-video{
    aspect-ratio: 16 / 7;
}

.top-video {
    top: -9%;

}


/*製品一覧*/

.top-text-box-32326B:before{
    width: 1000px;
}

.deco-img-box-wide {
        width: 60%;
        top: auto;
        bottom: -22%;
        height: 50%;
}

.top-deco-section{
	margin-bottom: 20%;
}

/*組織紹介*/

.organization-bottom-group{
	gap: 70px;
}

.organization-deco-box{
	width: calc( 100% - ( 570px + ((100% - 1000px) / 2) ) );
}

.organization-text-box{
    width: 500px;
    margin-left: calc((100% - 1000px) / 2);
}

/*ソリューション*/

.solution-about-right{
    width: 55%;
}

.solution-about-left{
	width: calc(45% - 50px);
}

.solution-about-left-img{
	aspect-ratio: 25 / 12;
    width: 100%;
    height: auto;
}

.top-space-section{
	margin-top: 150px;
}

.solution-pickup-sub-header{
	padding: 15px;
}

.solution-pickup-panel-main br{
	display: none;
}

.solution-career-main{
	gap: 50px;
}
.solution-career-img-area{
    width: 40%;
}

.solution-career-img{
    height: auto;
}

.solution-career-text-area{
    width: calc(60% - 50px);
}

.tab_group{
	flex-wrap: wrap;
}

.tab_item{
	width: calc(100% / 3);
}

.tab_group .tab_item:nth-child(3n) {
    border-right: none;
}

.tab_group .tab_item:nth-child(1),
.tab_group .tab_item:nth-child(2),
.tab_group .tab_item:nth-child(3){
	border-bottom: 1px solid #77ADC9;
}

/*辞書*/
.sw-dic-deco-img-box{
        bottom: -20%;
        height: 40%;
}


.bottom-space-section-sw-dic{
    margin-bottom: 10%;
}

/*経営理念*/

.deco-img-box-vision{
    top: 300px;
    max-width: 760px;
    width: 38%;
    height: 300px;
}

.content-section-vision {
    padding: 130px 0;
}

.content-section-vision-top{
	padding-top: 100px;
}

/*SDGs*/
.sdgs-main-back{
    width: calc(100% - ( ( 100% - 1000px ) / 2 ) );
}

.sdgs-main-catch-short{
	display:block;
}

.sdgs-main-catch-wide{
	display:none;
}

.sdgs-main {
    width: 700px;

}

}

@media (max-width: 1200px) {
.recruit-img  {
    right: calc(100% - ((100% + 1000px) / 2));
}

.content-section-recruit:before{
    width: calc(100% - ((100% - 1000px) / 2));
}


    .top-video {
        top: -9%;
    }

    .keyvisual-top-video {
        aspect-ratio: 16 / 9;
    }

.top-video-cover {
    height: 22%;
    bottom: -48px;
}

/*下層TOP系keyvisual*/

.keyvisual-img-box {
	width: 100%;
    padding-bottom: 14%;
}

.keyvisual-title-box {
	height: 75%;
	}

.keyvisual-title-bluebox {
	padding-left: 12%;
    height: 30%;
}


}

/*************************
	1100px
**************************/

@media (max-width: 1100px) {

/*共通*/
    .content-section-box-common {
        max-width: 700px;
    }

.upper-left-lack {
    border-radius: 30px;
}

.main-container {
    padding: 40px;
}

    .keyvisual-title-img-area {
        width: 200px;
        padding: 20px 20px 0 20px;
    }

.keyvisual-title-img{
	height: auto;
}

.keyvisual-title-img-area:after{
    bottom: 90px;
}

.keyvisual-title-img-area-sp:after{
        bottom: 77px;
}

.keyvisual-title-img-area-news:after{
        bottom: 118px;
}

/*TOP*/


.top-main-section:before{
	width: 96%;
}

.top-main-box {
    width: 65%;
    padding-left: 0;
}

.solution-contents-box{
    display: block;
}

.solution-contents-img {
    display: block;
    margin: auto;
    margin-bottom: 30px;
        height: auto;
}

.solution-contents{
    padding-bottom: 100px;
}

.company-info-list{
	flex-wrap: wrap;
}

.company-info-panel {
    width: calc((100% - 90px) / 2);
}

.header-img-service{
    height: 80px;
}

.header-img-news {
    width: 130px;
}

.header-img-recruit {
    max-width: 178px;
}

/*製品一覧*/
.top-text-box-32326B:before{
    width: 80%;
}

.top-text-box-inner{
    width: 75%;
}

/*組織紹介*/

.organization-box {
    padding: 25px;
    border-radius: 20px;
}

.organization-bottom-group{
	gap: 30px;
	flex-direction: column;
}

.organization-text-box{
	width: 700px;
    margin: auto;
}
.organization-deco-box{
    width: 65%;
    margin-left: auto;
}

/*各種問合せ*/

.connect-site-box{
	display: flex;
    justify-content: center;
    gap: 50px;
    flex-direction: column;
    align-items: center;
}

/*ソリューション*/

.solution-about-box{
	flex-direction: column;
}

.solution-about-right{
	width: 100%;
}

.solution-about-left{
    width: 100%;
    text-align: center;
}

.solution-reason-panel-group{
	flex-direction: column;
}

.solution-reason-panel{
    width: 100%;
}

.solution-reason-button-group{
	flex-direction: column;
    align-items: center;
}

.solution-pickup-panel-main{
    height: auto;
}

.solution-pickup-panel-group{
    flex-direction: column;
}

.solution-pickup-panel{
    width: 100%;
}

.solution-pickup-panel-bottom{
    height: auto;
}

.solution-pickup-panel-img{
    height: 130px;
    margin-bottom: 20px;
}

/*辞書*/
.bottom-space-section-sw-dic{
    margin-bottom: 13%;
}

/*企業TOP*/
.upper-right-lack{
    border-radius: 20px;
}

/*経営理念*/

.deco-img-box-vision{
        top: auto;
        max-width: none;
        width: 50%;
        height: 280px;
        bottom: -90px;
}

.container-vision{
    padding: 50px 90px 100px;
}


    .content-section-vision {
        padding: 150px 0;
    }

.content-section-vision-last{
    margin-bottom: 200px;
}

.section-box-padding-top0{
    padding-top: 0;
}


/*SDGs*/

.sdgs-about{
	gap: 50px;
    flex-direction: column;
}

.sdgs-about-right{
    width: 100%;
}

.sdgs-about-left{
    text-align: center;
}

    .sdgs-main-back {
        width: calc(100% - ((100% - 700px) / 2));
}

.sdgs-main-catch-short{
        padding: 0 0 60px;
}

    .sdgs-main {
        width: 500px;
    }

.sdgs-main-box{
    padding: 50px 0 50px 50px;
}

.sdgs-main-contents{
    flex-direction: column;
}

}

/*********************************
			1000px
***********************************/

@media (max-width: 1000px) {

/*TOP*/

.product-panel{
	display: block;
	padding: 20px;
}

.product-img-box,
.product-main-text
{
    width: 100%;
}

.product-img-box{
    justify-content: center;
    padding: 0;
}

.product-main-text{
    border-bottom: 1px solid #37375D;
}


.product-more-box{
	margin-left: auto;
}

.product-more-box{
	border-left:none;
}

.product-panel-button:before{
	display:none;
}

.product-panel-a:hover .more-p {
    color: #37375D;
}

.product-panel-a:hover .more-p:after {
    background-image: url(https://www.dos-osaka.co.jp/img/link_yaji_b.webp);
}


.product-panel-a:hover .more-p {
    padding-left: 1em;
}

.news-box{
	padding: 30px 20px 90px;
}

.news-li{
    padding: 30px 0;
    flex-direction: column;
	gap: 15px;
}


.top-company-img {
    max-width: 222px;
    margin-left: auto;
    display: block;
    margin-bottom: 60px;
}

.content-section-recruit:before {
    width: calc(100% - 35px);
    border-radius: 0px 25px 25px 0px;

}


    .recruit-img {
        right: 35px;
    }

.recruit-li{
    padding: 30px 15px;
}

}

/*********************************
			800px
***********************************/

@media (max-width: 800px) {

/*共通*/
    .content-section-box-common {
        max-width: none;
        padding: 0 35px;
    }

    .content-section {
        padding: 60px 0;
    }

.content-section-sp-top0{
    padding-top: 0;
}

.keyvisual {
    padding: 0 0 20px 0;
}

.keyvisual-sub-page {
    padding: 0;
}

.content-section-z-3{
	margin-bottom: 0;
}

/*TOP*/
    .top-video-cover {
        height: 0;
        bottom: 0;
    }

    .top-video {
        top: 0%;
    }

.content-section-box-padding {
    padding: 90px 10px;
	
}

.top-main-box{
	padding:0;
    width: 100%;
    margin-bottom: 120px;
}


.top-main-section:before{
	width: 96%;
	border-radius: 25px 0px 0px 25px;
}

.top-main-box{
	width: 100%;
        margin-bottom: 220px;
        padding-left: 20px;
}

    .top-main-img {
        width: 85%;
    }

.company-info-panel {
	width: 100%;
}


.content-section-box-wide {
    padding: 0 35px;
}

    .header-img-service {
        height: 40px;
    }


.company-info-list{
	gap: 50px;
}

.header-img-recruit{
        margin-left: 35px;
}

.recruit-ul {
    width: 93%;
    margin-bottom: 200px;
}

    .recruit-li {
        padding: 15px;
    }


.recruit-img {
	width: 70%;
}

/*製品一覧*/
.service-main{
    display: block;

}

.service-img,
.service-logo{
    display: block;
    margin: auto;
}

.service-main-area{
    width: 100%;
}

/*ニュースTOP*/

.newstop-li{
    flex-wrap: wrap;
    gap: 15px;
}

.news-p,
.news-category{
    width: auto;
}

.news-title {
    width: 100%;
}

/*ニュース詳細*/

.news-detail-title{
    font-size: clamp(16px,3.8vw,25px);
}

/*組織紹介*/

    .organization-text-box {
        width: 100%;
        padding: 0 35px;
        margin: 0;
    }

    .organization-deco-box {
        width: calc(100% - 35px);
        margin-left: auto;
        border-radius: 25px 0px 0px 25px;
    }

    .organization-text-box {
        width: 100%;
        padding: 0 35px;
        margin: 0;
    }

/*ソリューション*/

.solution-career-main{
    flex-direction: column;
}

.solution-career-img-area{
	width: 100%;
	padding: 15px;
}

.solution-career-text-area{
        width: 95%;
        margin-left: auto;
        padding: 40px 30px;
}

.solution-button-p,
.solution-reason-button-p{
	width: 100%;
    padding: 15px 40px 15px 20px;
}

.solution-reason-button-a{
    display: contents;
}

.solution-reason-button-group{
        gap: 25px;
        margin-top: 40px;
}

.solution-reason-button-p:after{
    top: 1.5em;
}

.solution-reason-box{
	padding: 25px;
}

.tab_item {
	width: calc(100% / 2);
}

.tab_group .tab_item:nth-child(3){
        border-right: 1px solid #77ADC9;
}

.tab_group .tab_item:nth-child(4) {
        border-bottom: 1px solid #77ADC9;
    }

.tab_group .tab_item:nth-child(2n){
        border-right: 0;
}

/*辞書*/
.sw-dic-case-group{
    gap: 30px;
    flex-direction: column;
}

.sw-dic-case-left{
    width: 100%;
}

.sw-dic-sub-heading-text{
    margin: 25px 0 10px 0;
}

.bottom-space-section-sw-dic{
    margin-bottom: 20%;
}

/*拠点紹介*/

.outline-td{
	display: block;
    padding: 20px 0;
    text-align: center;
}

.outline-table .outline-td:first-of-type{
	border-bottom: 0;
    text-align: left;
}

.outline-th{
    width: 100px;
}

.outline-td-border{
	padding-left:15px;
	border-bottom: 2px solid #D6D6D6 !important;
	display: table-cell;
}

.outline-th-p{
	padding-left: 0;
}

/*経営理念*/
.container-vision{
	width: auto;
}

    .content-section-vision {
        padding: 175px 0;
    }

.deco-img-box-vision {
        width: 65%;
        height: 300px;
        bottom: -100px;
    }

.content-section-vision-top{
	padding-top: 60px;
}

/*sdgs*/
    .sdgs-main-back {
        width: calc(100% - 35px);
    }


/*下層TOP系keyvisual*/

.keyvisual-img-box {
    width: 100%;
	padding-bottom: 18%;
}

.keyvisual-title-bluebox{
	height: 35%;
}

}


@media (max-width: 600px) {

.deco-img-box-wide{
        bottom: -28%;
        aspect-ratio: 45 / 29;
        width: 90%;
        border-radius: 30px 0 0 30px;
        height: auto;

}

.bottom-space-section {
    margin-bottom: 30%;
}


/*TOP*/
    .top-video-cover {
        height: 0;
        bottom: 0;
    }

    .top-video {
        top: 0%;
    }

/*辞書*/

.sw-dic-deco-img-box{
        bottom: -23%;
}

.bottom-space-section-sw-dic {
	margin-bottom: 30%;
 }

/*下層TOP系keyvisual*/

.keyvisual-img-box {
	padding-bottom: 26%;
}

}

/*********************************
			スマホ
***********************************/

@media (max-width: 500px) {

/*共通*/

.keyvisual{
	margin: 0 10px;
}

.keyvisual-img-area {
    margin-top: 10px;
}

.keyvisual-title-img-area{
	text-align: center;
    padding: 10px 10px 0 0;
    width: 100px;
}

.keyvisual-title-img {
    height: auto;
}

.keyvisual-img-area:before,
.keyvisual-img-area:after{
	top: 57px;
}

.keyvisual-img{
border-radius: 20px;
}

.keyvisual-text{
    margin: 40px 0 20px;
}

.main-container {
 padding: 30px;
}


.keyvisual-title-img-area:after{
    bottom: 48px;
}

.keyvisual-title-img-area-sp:after {
	bottom: 42px;
}

.keyvisual-title-img-area-news:after{
	bottom: 65px;
}


.content-section-margin-b{
    margin-bottom: 0px;
}

.border-button-p br{
	display: none;
}

.content-section-box-wide {
    padding: 0 15px;
}

.content-section-box-common{
    padding: 0 15px;
}


/*パンくず*/
.breadcrumb {
	margin: 10px;
}


/*TOP*/

.keyvisual-top-video{
        margin-top: 45px;
        aspect-ratio: 16 / 14;
        border-radius: 20px;
}

.keyvisual-top-video.keyvisual-img-area:before,
.keyvisual-top-video.keyvisual-img-area:after {
	display:none;
}

.keyvisual-top {
        padding: 0 0 20px 0;
}

.product-img {
	width: 80%;
}

.product-main-text {
	padding: 15px 0;
}

    .top-main-box {
        width: 100%;
        margin-bottom: 140px;
        padding-left: 15px;
    }

    .top-main-img {
        width: 100%;
    }

.recruit-img {
	width: 100%;
	right: 4%;
}

.product-box {
    margin-bottom: 60px;
}

    .content-section-box-padding {
        padding: 30px 10px;
    }


.top-video-cover {
        height: 40px;
}


.top-video-cover-top{
    position: absolute;
    width: 100%;
	height: 40px;
    background: #fff;
    top: 0;
        z-index: 2;
}

.top-video-cover-top:before {
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at bottom right, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) bottom right;
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: -20px;
    left: 0;
    z-index: 2;
}

.top-video-cover-top:after {
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: radial-gradient(circle at bottom left, transparent 19px, rgba(255, 255, 255, 0.99) 20px, #FFF 20px) bottom left;
    background-size: 100%;
    background-repeat: no-repeat;
    bottom: -20px;
    right: 0;
    z-index: 2;
}


.content-section-recruit:before{
	width: 96%;
}

.border-button{
    border-radius: 10px;
}

.border-button-a:after{
    top: 40%;
}

/*製品一覧*/

.top-text-box-32326B:before {
	width: 90%;
    border-radius: 0px 20px 20px 0px;
    }

.top-text-box-inner{
	padding: 40px 0 80px;
    width: 90%;
}

.top-text-box-main {
    padding-right: 0px;
}

.top-text-box-title{
    font-size: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.service-panel{
	margin: 60px 0;
    padding-bottom: 60px;
}

.service-more-box{
        height: 46px;
        border-radius: 15px 0 0 0;
        width: 100px;
}

.more-p{
    font-size: 12px;

}

.service-more-deco-before{
    bottom: 44px;
}

.service-more-deco-before:after{
    border-radius: 0 0 15px 0;
}

.service-more-deco-after{
    right: 99px;
}

.service-more-deco-after:after{
	border-radius: 0 0 15px 0;
}

.product-panel-button {
    padding-right:0;
}

/*ニュース*/
.news-detail-title {
    padding-bottom: 20px;
    margin-bottom: 20px;

}

/*ポリシー*/
.policy-p{
	margin-bottom: 0px !important;
}

/*各種問合せ*/

.connect-site-box{
    gap: 25px;
}

.connect-site-section{
    padding-top: 0;
}

.policy-header-text-top {
    margin-top: 0;
}


/*サイトマップ*/

.sitemap_th {
    width: 100%;
    text-align: left;
    padding: 1.5em 0 1.5em 0px;
    display: block;
    border-bottom: 1px solid #707070;
}

.sitemap_tr {
    border: none;

}

.sitemap_title {
    margin-top: 35px;

}

/*ソリューション*/

.tab_group{
        width: 85%;
        margin-left: auto;
        margin-right: auto;
}

.tab_item{
	width: 100%;
	height: auto;
	margin: 0;
    border-right:none !important;
}

.tab_group .tab_item:nth-child(5){
	border-bottom: 1px solid #77ADC9;
}

.solution-career-title{
	padding-left: 15px;
    margin-bottom: 15px;
}

.solution-career-main{
        gap: 0;
}

.solution-career-img-area{
	padding: 0 15px;
}

.solution-button-p,
.solution-reason-button-p{
        font-size: 12px;
}

.solution-header-text{
    margin: 30px 0;
}

.round-title-img{
    width: 60px;
    height: auto;
}

/*辞書*/
.border-button-sw-dic {
    margin-top: 30px;
}

.border-button-a {
    padding: 10px 50px 10px 10px;
}

.bottom-space-section-sw-dic{
    margin-bottom: 34%;
}

/*企業TOP*/
.company-info-box {
    gap: 40px;
    flex-direction: column;
}

.company-info {
    width: 100%;
}

.sp-br-text{
	display:block;
}

.tab-outline{
	width: 100%;
}

/*経営理念*/

.container-vision-img01{
	width: 50%;
    height: auto;

}

.container-sub-header{
    margin-top: 15px;
}

.deco-img-box-vision {
        width: 85%;
        height: auto;
        bottom: -100px;
        aspect-ratio: 340 / 273;
}

.content-section-vision {
	padding: 150px 0;
}

.deco-img-box-vision{
	border-radius: 25px 0 0 25px;
}

.deco-img-box-left.deco-img-box-vision{
    border-radius: 0 25px 25px 0;
}

    .content-section-vision-top {
        padding-top: 60px;
    }


    .container-vision {
        padding: 15px 15px 60px 15px;
    }

/*sdgs*/

.sdgs-main-catch-short{
		padding: 0 0 150px;
        padding-right: 35px;
        text-align: left;
}

.sdgs-main-catch-short br{
	display:none;
}


 .sdgs-main {
	width: 100%;
}

    .sdgs-main-box {
        padding: 30px 0 30px 30px;
        border-radius: 25px 0px 0px 0px;
    }

.sdgs-header{
	margin-bottom: 25px;
}

/*下層TOP系keyvisual*/

.keyvisual-under-top-img-area{
    margin-top: 10px;
}

.keyvisual-title-bluebox {
	width: 100%;
        padding: 10px 35px 10px;
height: 35%;
width: calc(100% + 20px);
    left: -10px;
}


    .keyvisual-title-img {
        height: 50px;
    }

    .keyvisual-img-box {
        width: 100%;
padding-bottom: 29%;
    }

.keyvisual-title-box{
        height: 80%;
}


}

@media (max-width: 350px) {
    .deco-img-box-wide {
        bottom: -21%;
}

.sw-dic-deco-img-box{
        bottom: -14%;
}

}