/* ------------------------------------------
                  LAYOUTS
------------------------------------------ */

/*タブ切り替え全体のcss*/
.tabs {
	margin: 40px auto;
    overflow: hidden;
}

.tabs_toptext {
  text-align: center;
}

/*タブのスタイル*/
.tab_item2 {
  display: table;
  width: calc(99%/3);
  height: 72px;
  border-right: 1px solid #e1e7ee;
  background-color: #B7B9BF;
  font-size: 20px;
  text-align: center;
  color: #fff;
  float: left;
  text-align: center;
  transition: all 0.2s ease;
}

.tab_item {
  display: table;
  width: calc(100%/4);
  height: 72px;
  border-right: 1px solid #e1e7ee;
  background-color: #B7B9BF;
  font-size: 20px;
  text-align: center;
  color: #fff;
  float: left;
  text-align: center;
  transition: all 0.2s ease;
}

.tab_item2-fast {
    border-radius: 20px 0 0 20px;
}

.tab_item2-last {
    border-radius: 0 20px 20px 0 ;
}

.tab_item-p {
	display: table-cell;
    vertical-align: middle;
    line-height: 1.5;
    font-size: clamp(14px, 3.8vw, 24px);
    padding: 30px 0;
}

.tab_item:hover {
    background-color: #eaeef2;
    color: #a3a4a3;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
  background-color: #fff;
}

/*選択されているタブのスタイルを変える*/
.tab_item-active,
.tab_item-active:hover{
	background-color: #016FCF;
	color: #fff;
}

/*選択されているタブのコンテンツのみを表示*/
#tab02:checked ~ .content #tab02_content,
#tab03:checked ~ .content #tab03_content,
#tab04:checked ~ .content #tab04_content,
#tab05:checked ~ .content #tab05_content {
	display: block;
}
#tab01:checked ~ .content #tab01_content{ display: block; }

/*選択されているタブのスタイルを変える*/
#tab01:checked ~ .content label[for="tab01"] ,
#tab02:checked ~ .content label[for="tab02"] ,
#tab03:checked ~ .content label[for="tab03"] ,
#tab04:checked ~ .content label[for="tab04"] ,
#tab05:checked ~ .content label[for="tab05"] ,
.tabs input:checked + .content.tab_item2 {
	background-color: #fff;
	color: #00a5ff;
}

.tabs .active {
	background-color: #fff;
	color: #00a5ff;
}

#body-inside {
overflow-x: hidden;
}

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

.tab_page .tab_content {
margin:0 -200%;
padding:0 200%;
}

@media(max-width:800px){

	.tab_page .tab_content {
	max-width: none;
	}

	.tab_item.test ,
	.tab_item ,
	.tab_item2 {
		font-size: 16px;
	}

}

@media(max-width:500px){
	.body-inside .tabs {
		padding-top: 30px;
		padding-bottom: 20px;
	}

	.tabs {
		padding: 10px 0% 0;
	}

	.tab_item.test ,
	.tab_item {
		width: 100%;
		height: 50px;
		margin-bottom: 10px;
	}

	.tab_item2 {
		width: 100%;
		height: 70px;
		margin-bottom: 10px;
	}

	.tab_item2-fast {
  	  border-radius: 20px 20px 0 0 ;
	}

	.tab_item2-last {
	    border-radius: 0 0 20px 20px ;
	}


	.tab_item-p {
	    padding: 15px 0;
	}

	.tabs label:last-of-type {
		margin-bottom: 30px;
	}

	#faq .tabs label:last-of-type {
		margin-bottom: 5px;
	}
}

/* ------------------------------------------
                  全体
------------------------------------------ */

* {
	box-sizing: border-box;
}

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

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

a {
	color: #3C3C3C;
	text-decoration: none;
}

a:hover {
	color: #999;
}

.content-section p a {
	color: #00a5ff;
	text-decoration: none;
}

.content-section p a:hover {
	opacity: 0.5;
}

p {
	line-height: 1.85;
}

.text-xlarger {
	font-size: 36px;
	line-height: 1.5;
}

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

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

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

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

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

/* テキストハイライト（マーカー的な） */
.highlight-ffe600 {
    background:linear-gradient(transparent 55%, #ffe600 55%);
}

.pcNone
{
  display: none !important;
}

.marginNone
{
  margin: 0!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!important;
}

.section150 {
	margin-bottom:150px;
}

.newline {
	display: block;
}

.nav-section .newline {
	display: contents;
}

.newParagraph {
	margin-top:5px;
}


/*リニュ追加*/

/*トップ背景など*/

.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: 50px 0 60px;
}

.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: 296px;
}

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

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

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

.keyvisual-event::after {
	background-image: url(https://www.dos-osaka.co.jp/ss1/img/keyvisual_event.png);
}

.keyvisual-price::after {
	background-image: url(https://www.dos-osaka.co.jp/ss1/img/keyvisual_price.png);
}

.keyvisual-ols::after {
	background-image: url(https://www.dos-osaka.co.jp/ss1/img/keyvisual_ols.png);
}

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

.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-list:after {
	content: '/';
	margin: 0 0.5em;
}
.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, 40px);
    font-weight: bold;
    line-height: 1.5em;
}

.content-heading-undertext {
	margin:25px 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 35px;
}

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

/*H3*/
.headerText-bold{
    font-size: clamp(14px , 3.0vw , 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-wht-gray-onblue {
	position:relative;
    background: linear-gradient(180deg, #FFF 0%, #FFF 50%, #EBEEF3 50%, #EBEEF3 100%);
    z-index: 0;
}

.background-wht-gray-onblue::after{
    content: '';
	background: #DFF2FF;
    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 100px;
}

.background-blue-onwhite {
	position:relative;
	background: #DFF2FF;
    z-index: 0;
}

.background-blue-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-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;
}

.cloud-area::after{
    border-radius: 0 100px 100px 0;
}

.img-background{
    padding: 30px 50px;
    background: #EBEEF3;
    text-align: center;
    border-radius: 20px;
    margin-top: 30px;
}

.img-background-white{
    background: #FFF;
}

.ImgRespo {
max-width: 100%;
    width: auto;
height: auto;
}

.news-detail-body h3 {
    text-decoration: none;
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: solid 1px #555;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

/*ボタン*/

.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-yellow {
	background-color: #FAE600;
    border: 1px solid #FAE600;
}

.inq_button-yellow:hover {
    border: 1px solid #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,
.inq_button-yellow::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,
.inq_button-yellow: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-yellow-p{
	border-right: 1px solid #006FCF;
color: #006FCF;
}

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

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

.inq_button-yellow:hover .inq_button-yellow-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-yellow:hover .inq_button-yellow-p::after {
	border-top: 1px solid #006FCF;
}


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

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

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

.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;
}


.inner-margin-top70{
	margin-top:70px;
}

.cloud-area-img,
.cloud-area-text
{
    text-align: center;
}

.cloud-area-img{
	margin:30px 0;
}

.function-bottom-group{
    display: flex;
    justify-content: center;
    gap: 50px;
}

.function-bottom-parts{
	text-align: center;
}

.demotrial-bottom-text{
	margin-top:20px;
}


/*既存セミナー用*/
.breadcrumb-list .bc_nodisplay {
    display: none;
}

/*リニュ追加ここまで*/

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

.priceArea-contents h3 {
    font-size: clamp(16px,3.8vw,24px);
    font-weight: bold;
    color: #3C3C3C;
}

.priceArea-contents p {
    padding: 20px 0 40px;
}

.priceArea-contents{
    max-width: 1300px;
    width: 90%;
}

.priceArea-img-box{
	border-radius: 20px;
    padding: 50px;
	background:#FFF;
}

.priceArea-inner-blue {
	padding-bottom: 80px;
}

.priceArea-inner {
	padding-bottom: 0px;
}

.functionArea{
	background: #FFF;
    position: relative;
    border-radius: 0 0 100px 0;
}

.functionArea::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #DBF1FF;
    z-index: -1;
}

.newsArea {
	background: #FFF;
    position: relative;
    border-radius: 0 100px 0 0;
}

.newsArea::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #DBF1FF;
    z-index: -1;
}

.newslist-index-li a:hover {
    background: #EAEEF0;
}

/* ------------------------------------------
                （全体 ） 　ClearFix
------------------------------------------ */
.group,
.clear {
	zoom:1;
}

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

/* ------------------------------------------
               （全体） for レスポンシブ
------------------------------------------ */

@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 !important;
}
}

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

@media(max-width:1000px){

	.pcNone
	{
		display: block !important;
	}

	.smpcNone
	{
		display: none !important;
	}


.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;
}


}

/* ------------------------------------------
                （全体）for tablet
------------------------------------------ */

@media(max-width:800px){
	.smpcNone
	{
		display: block !important;
	}

	.tbNone
	{
		display: none !important;
	}

	.tbBlock {
		display: block !important;
	}

	body {
	font-size: 14px;
	}

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

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

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

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

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

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

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


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

.background-white-ongray::after,
.background-white-onblue::after
{
    border-radius: 60px 0 0 60px;
}

.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){

	.tbNone
	{
		display: block !important;
	}

	.smpcNone
	{
		display: block !important;
	}

	.spNone
	{
		display: none !important;
	}

	.spNewline {
		display: block;
	}

.tabs {
    margin: 10px auto 0;
}

.news-detail-body h3 {
        margin-bottom: 10px;
        font-size: 15px;
}

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

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

/*keyvisual*/

.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,
.breadcrumb-list
{
    font-size: 8px;
}

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

.headerText-blueUnderLine{
    margin: 0 0 20px;
}

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

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

.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: 95%;
    height: 50px;
    max-width: 320px;
	margin-top: 15px;
}

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

.function-bottom-group{
    display: block;
}

.function-bottom-parts{
    margin-top: 25px;
}

.background-demotrial{
	padding-bottom:100px;
}

.demotrial-bottom-text{
	margin-top:10px;
}

.cloud-area-img{
	margin: 10px 0;
}


.priceArea-contents p {
    padding: 10px 0 20px;
}

.priceArea-img-box {
    border-radius: 10px;
    padding: 40px 20px;
}

.newsArea::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #DBF1FF;
    z-index: -1;
}

.priceArea-inner {
    border-radius: 0px 0px 0px 50px;
}

.newsArea {
    border-radius: 0 50px 0 0;
}

.priceArea-inner-blue {
    padding-bottom: 60px;
}


}

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