/* ------------------------------------------
              LAYOUTS　全体
------------------------------------------ */
#body-inside {
overflow-x: hidden;
}

.tabs .content-section {
    padding-top: 50px;
    padding-bottom: 80px;
}

* {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	vertical-align:top;
}

body {
	background: #fff;
	font: 16px YakuHanJP, 'Open Sans', 'Noto Sans JP', 'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	color: #555;
	line-height: 180%;
	letter-spacing: 0em;
}

a {
	color: #555;
	text-decoration: none;
}

a:hover {
	color: #999;
}

p {
	line-height: 1.85;
}

.text-larger {
	line-height: 2;
	font-size: 18px;
}

.text-mdl {
	font-size: 16px;
}

.text-smaller {
	font-size: 13px;
}

.text-xsmaller {
	font-size: 12px;
}

.pcNone
{
	display: none !important;
}

/* HTMLのセクション区切り（間を空ける） */
.section10 {
	margin-bottom:10px;
}

.section {
	margin-bottom:20px;
}

.section30{
	margin-bottom:30px;
}

.section50 {
	margin-bottom:50px;
}

.section80 {
	margin-bottom:80px;
}

.section100 {
	margin-bottom:100px;
}

.section150 {
	margin-bottom:150px;
}

.newline {
	display: block;
}

/* 本文の区切り、段落変え（上マージンを空ける） */
.newParagraph {
	margin-top:5px;
}

/*リニューアル追加ここから*/

/*事例TOP*/
.keyvisual{
    margin-top: 137px;
}

.content-breadcrumb {
	position:relative;
	background: #DBF1FF;
    z-index: 0;
}

.content-breadcrumb::after{
    content: '';
	background: #fff;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 0 0 0 100px;
}

/*見出し共通*/
.content-section-box-common{
	max-width: 1300px;
    margin: 0 auto;
    text-align: left;
	padding: 100px 0;
}

.PageTitle{
	font-size: clamp(20px, 3.8vw, 40px);
    font-weight: bold;
    color: #00A5FF;
    line-height: 1.85;
}

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

.keyvisual-bluearea{
	position:relative;
	height:auto;
}

.keyvisual-bluearea::before{
    content: '';
	background:#6AC1F8;
    position: absolute;
    width: 50%;
    height: 50%;
    top: 0;
	right: 0;
    display: block;
    border-radius: 0 0 0 100px;
    width: 827px;
    height: 300px;
}

.keyvisual-bluearea::after{
    content: '';
    position: absolute;
    height: 300px;
    width: 484px;
    top: 0;
    right: 310px;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
}

.keyvisual-case::after{
    background-image: url(https://www.dos-osaka.co.jp/ss1/img/keyvisual_case.webp);
}

.PageTitle-area {
    margin-bottom: 150px;
}

.PageTitle-under {
    position: relative;
    font-size: 16px;
    width: fit-content;
}

.PageTitle-under::after{
    content: '';
    background: #707070;
    position: absolute;
    width: 100px;
    height: 1px;
    top: 50%;
    right: auto;
    margin-left: 1em;
}

/*パンくず*/
.breadcrumb-list {
	display: inline-block;
}

.breadcrumb li:after {
	content: '/';
	margin: 0 0.5em;
}
.breadcrumb-list:after {
    content: '/';
    margin: 0 0.5em;
}
.breadcrumb li:last-child:after {
	display: none;
}
.breadcrumb-list:last-child:after {
	display: none;
}
 /*見出し*/
.content-heading-section{
	background:#fff;
	position:relative;
    z-index: 0;
}

.content-heading-section::after{
    content: '';
	background: #DBF1FF;
    position: absolute;
    width: 95%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 0 100px 100px 0;
}


.content-heading-toptext {
    font-size: clamp(18px, 3.8vw, 32px);
    font-weight: bold;
    line-height: 1.5em;
}

.content-heading-undertext {
	margin:25px 0 0 0;
}

/*H2*/
.headerText-blueUnderLine{
    font-size: clamp(16px, 3.8vw, 32px);
    font-weight: bold;
    line-height: 1.5em;
    border-bottom: solid 5px #00A5FF;
    width: fit-content;
    margin: 0 0 30px;
}

.headerText-blueUnderLine-centering{
    margin: 0 auto 30px;
}

/*H3*/
.headerText-blueUnderLine-sub{
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0;
}

.background-blue-gray-onwhite {
	position:relative;
  background: linear-gradient(180deg, #DBF1FF 0%, #DBF1FF 50%, #EBEEF3 50%, #EBEEF3 100%);
    z-index: 0;
}

.background-blue-gray-onwhite::after{
    content: '';
	background: #fff;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 100px 0 100px 0;
}

.background-white-gray-onblue {
	position:relative;
  background: linear-gradient(180deg, #fff 0%, #fff 50%, #EBEEF3 50%, #EBEEF3 100%);
    z-index: 0;
}

.background-white-gray-onblue::after{
    content: '';
	background: #DBF1FF;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 100px 0 100px 0;
}

.background-white-ongray {
	position:relative;
  	background:#FFF;
    z-index: 0;
}

.background-white-ongray::after{
    content: '';
	background: #EBEEF3;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 100px 0 0 100px;
}

.background-gray-blue-onwhite {
	position:relative;
	background: linear-gradient(180deg, #EBEEF3 0%, #EBEEF3 50%, #DFF2FF 50%, #DFF2FF 100%);
    z-index: 0;
}

.background-gray-blue-onwhite::after{
    content: '';
	background: #FFF;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 0 100px 100px 0;
}

.background-blue-wht-ongray {
	position:relative;
    background: linear-gradient(180deg, #DFF2FF 0%, #DFF2FF 50%, #FFF 50%, #FFF 100%);
    z-index: 0;
}

.background-blue-wht-ongray::after{
    content: '';
	background: #EBEEF3;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 100px 0 0 100px;
}

.background-white-onblue {
	position:relative;
	background: #FFF;
    z-index: 0;
}

.background-white-onblue::after{
    content: '';
	background: #DFF2FF;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 100px 0 0 0;
}

.background-gray-onwhite {
	position:relative;
	background: #EBEEF3;
    z-index: 0;
}

.background-gray-onwhite::after{
    content: '';
	background: #FFF;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    border-radius: 0 100px 0 0;
}

.middle-title-bottom{
    text-align: center;
}

.round-title{
	background: #00A5FF;
    max-width: 600px;
    border-radius: 20px;
    font-size: 20px;
    line-height: 1.5em;
    padding: 18px 0;
    text-align: center;
    margin: 0 auto;
    color: #fff;
    font-weight: bold;
}

/*事例詳細ページ内ボタン*/

.inq_button {
	position: relative;
	width: 380px;
	height: 60px;
	border: 1px solid #006FCF;
	transition-duration: 0.25s;
	text-align: left;
	background-color: #fff;
	z-index: 1;
	margin-top: 30px;
}

.inq_button-blue {
	background-color: #006FCF;
}

.inq_button::after {
	background: #006FCF;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}

.inq_button-blue::after {
	background: #FFF;
}

.inq_button:hover::after {
	transform: scale(1, 1);
}

.inq_button:hover .inq_button-p {
	border-right: 1px solid #fff;
}

.inq_button-blue:hover .inq_button-p {
	border-right: 1px solid #006FCF;
}

.inq_button:hover .inq_button-a {
	color: #fff;
}

.inq_button-blue:hover .inq_button-a {
	color: #006FCF;
}

.inq_button-p{
	width: 77%;
	margin-top:9px;
	margin-bottom:6px;
	margin-left:20px;
	padding-top:7px;
	padding-bottom:7px;
	border-right: 1px solid #006FCF;
	font-size:14px;
}

.inq_button-blue-p{
	border-right: 1px solid #FFF;
}

.inq_button:hover .inq_button-p::before {
	background: #fff;
}

.inq_button-blue:hover .inq_button-blue-p::before {
	background: #006FCF;
}

.inq_button:hover .inq_button-p::after {
	border-top: 1px solid #fff;
}

.inq_button-blue:hover .inq_button-blue-p::after {
	border-top: 1px solid #006FCF;
}

.inq_button-a{
	color: #006FCF;
}

.inq_button-blue-a{
	color: #fff;
}

.inq_button-p::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 13px;
	width: 15px;
	height: 1px;
	background: #006FCF;
	transition: all .3s;
}

.inq_button-p::after {
	content: '';
	position: absolute;
	top: 44%;
	right: 15px;
	width: 7px;
	height: 8px;
	border-top: 1px solid #006FCF;
	transform: rotate(45deg);
	transition: all .3s;
}

.inq_button-blue-p::before,
.inq_button-blue-p::after {
	border-top: 1px solid #fff;
}


/*リニューアル追加ここまで*/

/* ------------------------------------------
                  ClearFix
------------------------------------------ */

.group,
.clear {
	zoom:1;
}

.group:after,
.clear:after {
    content: "";
    display: block;
    clear: both;
}

/* ------------------------------------------
               レスポンシブ　全体
------------------------------------------ */

@media print, screen and (min-width: 100em){

/* 	.keyvisual-title-case {
        padding: 20px 17%;
	} */

}

@media (max-width: 1700px) {
.keyvisual {
    margin-top: 120px;
}
}

@media (max-width: 1600px) {
/*keyvisual*/

.keyvisual-bluearea::before{
    width: 700px;
}

.keyvisual-bluearea::after{
    right: 200px;
}

}

@media (max-width: 1400px) {

/*keyvisual*/
.content-section-box-common{
	max-width: 900px;
}

.keyvisual-bluearea::before {
	width: 600px;
}

.keyvisual-bluearea::after {
	right: 110px;
}

}

@media(max-width:1300px){
    .keyvisual {
        margin-top: 62px;
}
}

@media(max-width:1200px){

	.case .content-section-box .inner {
	padding: 50px 12%;
	}

}

/* ------------------------------------------
                for small pc　全体
------------------------------------------ */

@media(max-width:1000px){

	.pcNone
	{
		display: block !important;
	}

	.smpcNone
	{
		display: none !important;
	}

/*keyvisual*/
.keyvisual{
	padding-top: 0;
}

.content-section-box-common{
	max-width: 700px;
}

.keyvisual-bluearea::before{
	width: 450px;
	height: 250px;
}

.keyvisual-bluearea::after{
	right: 62px;
	height: 214px;
	width: 350px;
	top: 36px;
}



	.content-section > .inner {
 	       padding: 0 20px;
	}

	.content-section > .inner {
		padding: 0 20px;
	}

	.content-section-box .inner {
		padding: 20px;
	}

}

/* ------------------------------------------
                for tablet　全体
------------------------------------------ */

@media(max-width:800px){

	.entrylist03-index li:nth-child(1) {
        width: 100%;
        float: none;
        margin-right: 0;
		margin-bottom: 30px;
	}

	.entrylist03-index li:nth-child(1) figure a {
		height: 300px;
	}

	.entrylist03-index li:nth-child(2) {
        width: 48%;
        margin-right: 4%;
	}

	.entrylist03-index li:nth-child(3) {
        width: 48%;
        margin-right: 0;
	}

	.keyvisual-title {
        padding: 40px 15px 120px;
	}

	.case .title-case ,
	.keyvisual-title-case-lower h2 {
		font-size: 20px;
	}

	.case .title-case {
		padding-bottom: 20px;
	}

	.case .content-section-box .inner {
		padding: 20px 5%;
	}

/*リニューアル追加*/
.top_button {
	width: 300px;
}

.content-section-box-common {
	max-width: none;
	padding: 50px 30px;
	}

.content-section-box-heading{
	padding-right: 50px;
}

.keyvisual-bluearea::before{
	width: 45%;
	height: 100px;
}

.keyvisual-bluearea::after{
	display:none;
}

.PageTitle-area{
    margin-bottom: 80px;
}


/*背景角丸調整*/
.background-blue-gray-onwhite::after{
    border-radius: 60px 0 60px 0;
}

.background-white-ongray::after{
    border-radius: 60px 0 0 60px;
}
.background-white-onblue::after{
    border-radius: 60px 0 0 0;
}
.content-heading-section::after,
.background-gray-blue-onwhite::after,
.cloud-area::after
{
    border-radius: 0 60px 60px 0;
}

.background-gray-onwhite::after{
    border-radius: 0 60px 0 0;
}

.content-breadcrumb::after{
    border-radius: 0 0 0 60px;
}

}

/* ------------------------------------------
                for sp　全体
------------------------------------------ */

@media(max-width:500px){
    body {
        font-size: 14px;
    }

	.smpcNone
	{
		display: block !important;
	}

	.spNone
	{
		display: none !important;
	}

	.spNewline {
		display: block;
	}

	.content-section > .inner {
        padding: 0 10px;
	}

	.content-section-box .inner {
        padding: 20px;
	}

	a.content-section-btn {
        position: static;
        display: inline-block;
		width: 100%;
        padding: 15px 20px;
	}

	.content-section-title {
        margin-bottom: 20px;
	}

	.entrylist03-index li {
        width: 100%;
        float: none;
        margin-right: 0;
		margin-bottom: 30px;
	}

	.entrylist03-index li:nth-child(1) figure a {
        height: 200px;
	}

	.entrylist03-index li:nth-child(2),
	.entrylist03-index li:nth-child(3) {
        width: 100%;
    margin-right: 0;
	}

	.entrylist03-index li:last-of-type {
		margin-bottom: 0;
	}

/*パンくず*/
.breadcrumb-ul,
.breadcrumb-list
{
    font-size: 8px;
}


.keyvisual-bluearea::before{
    border-radius: 0 0 0 40px;
    width: 93px;
    height:58px;
}

/*TOP見出し*/
.PageTitle-area{
	margin-bottom: 20px;
}

.PageTitle{
    font-size: 20px;
}

.PageTitle-under{
    font-size: 8px;
}

.PageTitle-under::after{
    width: 50px;
}


/*背景角丸調整*/
.background-blue-gray-onwhite::after{
    border-radius: 40px 0 40px 0;
}

.background-white-ongray::after{
    border-radius: 40px 0 0 40px;
}

.background-white-onblue::after{
    border-radius: 40px 0 0 0;
}

.content-heading-section::after,
.background-gray-blue-onwhite::after,
.cloud-area::after
{
    border-radius: 0 40px 40px 0;
}

.background-gray-onwhite::after{
    border-radius: 0 40px 0 0;
}

.content-breadcrumb::after{
    border-radius: 0 0 0 40px;
}

.background-demotrial::after{
	border-radius: 40px 0 0 0 !important;
}

.img-background{
    padding: 25px;
}

/*ボタン*/
.inq_button{
	width: 90%;
    height: 50px;
    max-width: 300px;
}

.inq_button-p{
	font-size: 12px;
    width: 75%;
	margin-top: 6px;
}


/*事例TOPページ*/
	.round-title{
		width: 100%;
        font-size: 14px;
        padding: 10px 0;
        border-radius: 10px;
	}

}


@media (max-width: 450px) {
/*style_rene*/
.keyvisual {
    margin-top: 65px !important;
}
}