/*
Template: arkhe
Theme Name: OAlab
Theme URI: 
Author: nsl
Author URI:
*/

/*見出し*/
.l-container h2.h2_sol {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.313rem !important;
    text-align: center;
    margin: 0 calc(50% - 50vw);
}
.h2_sol:after {
    content: "";
    display: block;
    width: 100%;
    height: 28px;
    margin-top: -22px;
    background-color: #E6EEF9;
    border-bottom: solid 3px #1056BF;
    position: relative;
    z-index: -1;
}
@media only screen and (min-width: 769px) {
    .l-container h2.h2_sol {
        display: flex;
        flex-direction: row;
        align-items: center;
        white-space: nowrap;
        border-bottom: solid 3px #1056BF;
        box-sizing: border-box;
        font-size: 1.75rem !important;
        order: 1;
		width:100%;
		margin:0;
    }
    .l-container .h2_sol.h2_txt span {
        height: 45px;
        line-height: 50px;
        font-size: 1.125rem;
        background-color: #E6EEF9;
        order: 3;
    }
    .l-container h2.h2_sol::before {
        content: "";
        display: block;
        border-left: 22.5px solid transparent;
        border-right: 22.5px solid #E6EEF9;
        border-top: 22.5px solid transparent;
        border-bottom: 22.5px solid #E6EEF9;
        order: 2;
    }
    .l-container .h2_sol::after {
        height: 45px;
        margin-top: 0;
        border-bottom: 0;
        order: 4;
    }
}
/*SP改行*/
@media only screen and (min-width: 769px) {
    .solspbr {
        display: none;
    }
}
/*PC改行*/
.solpcbr {
    display: none;
}
@media only screen and (min-width: 769px) {
    .solpcbr {
        display: inline;
    }
}
/*リスト*/
.sol_introlistContent{
	margin:2rem 1rem 1.938rem 1rem;
}
@media only screen and (min-width: 769px) {
    .sol_introlistContent {
        margin:2rem 1rem 3.313rem 1rem;
    }
}
.sol_listContent{
	margin:2rem 0 1.938rem 0;
}
@media only screen and (min-width: 769px) {
    .sol_listContent {
        margin:2rem 1rem 3.313rem 1rem;
    }
}
/*子リスト*/
.c-postContent ul.iconListChilde {
    list-style-type: disc;
	margin: 0 auto 2rem auto;
}
/*テキストリンク*/
.sol_textLink{
	text-align: center;
	margin-bottom: 3.438rem;
}
@media only screen and (min-width: 769px) {
    .sol_textLink {
        text-align: left;
    }
	.sol_textLink::before {
    content: "▶";
	}
}
/*フォントサイズ*/
.sol_font14{
    font-size: 0.875rem;
}
.sol_font17{
    font-size: 1.063rem;
}
.sol_font18{
    font-size: 1.125rem;
}
.sol_font21{
    font-size: 1.313rem;
}
/*サムネイル*/
.sol_cardBlock{
    display: block;
    text-align: center;
}
/*PC表示*/
.sol_pc_dis{
    display: none;
}
@media only screen and (min-width: 769px) {
    .sol_pc_dis{
        display: block;
    }
}
/*モバイル表示*/
.sol_sp_dis{
    display: block;
}
@media only screen and (min-width: 769px) {
    .sol_sp_dis{
        display: none;
    }
}
/*ソリューションボタン調整*/
@media only screen and (min-width: 769px) {
    .btn-sideBlk a.btn.sol_telbtn{
        padding-top: unset;
    }
}
/*LANカスタマイズ*/
.sol_introlanImg {
    background-image: url("../images/solution/solution_lan_img.png");
    background-size: 60%;
    background-position: right top;
    background-repeat: no-repeat;
    margin-top: 0;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	margin-bottom: 3.438rem;
    padding-top: 4.5rem;
}
.c-postContent .sol_lanIntro {
    width: 70%;
    margin-left: 1rem;
}
.sol_lanIntro p {
    margin-bottom: 3.5rem;
}
.lanSmallFont {
    font-size: 0.875rem;
}
@media only screen and (min-width: 769px) {
    .sol_introlanImg {
        max-width:1200px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 5.563rem;
    }
    .c-postContent .sol_lanIntro {
        width: 100%;
        margin-left: 0;
    }
    .sol_lanIntro p {
        font-size: 1.125rem;
        font-weight: bold;
    }
    .lanSmallFont {
        font-size: 1rem;
    }
}
/*HUBカスタマイズ*/
.sol_introhubImg {
    background-image: url("../images/solution/solution_hub_img.png");
    background-size: 14.25rem 16.314rem;
    background-position: right top;
    background-repeat: no-repeat;
    margin-top: 0;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
    margin-bottom: 3.438rem;
    padding-top: 2.25rem;
}
.c-postContent .sol_hubIntro {
    width: 55%;
    margin-left: 1rem;
}
.sol_hubIntro p {
    margin-bottom: 3.5rem;
    background-color:rgba(255,255,255,0.6);
}
ul.iconListChilde li{
    font-size: 0.875rem;
}
p.hubSmallFont{
    margin-bottom: 2rem;
}
.hub_spTxt {
    font-size: 14px;
}
.hub_imgContent{
    display: flex;
    align-content: center;
}
.sol_imghubFrame{
    margin:0.643rem
}
.sol_imghubFrame img{
    width: 343px;
    height: 182px;
    object-fit: cover;
}
.hub_pcTxt{
    display: none;
}
.sol_hubsection{
    margin-bottom:2.5rem;
}
.sol_cardhubBlock{
    display: block;
    text-align: center;
}
.hub_table .contactList dd{
    font-size: 14px;
}

@media only screen and (min-width: 769px) {
    .sol_introhubImg {
        max-width:1200px;
        background-size: 27.313rem 31.188rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 5.563rem;
    }
    .c-postContent .sol_hubIntro {
        width: 100%;
    }
    .sol_hubIntro p {
        font-size: 1.125rem;
        font-weight: bold;
        background-color:rgba(255, 255, 255, 0);
    }
    .hub_spTxt {
        display: none;
    }
    .hub_pcTxt {
        display: block;
        max-width: 100%;
        font-size: 18px;
        text-align: center;
    }
    .sol_hubsection{
        margin-bottom:4rem;
    }
    .sol_cardhubBlock{
        display: flex;
        justify-content: center;
        flex-direction: row-reverse;
    }
    .sol_imghubFrame img{
        width: 457px;
        height: 375px;
        object-fit: fill;
    }
    .hub_table dl.contactList{
        width: 80%;
        margin: 0 auto;
    }
    .hub_table .contactList dt{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .hub_table .contactList dd{
        font-size: 1rem;
    }
}
/*恒温恒湿室貸し出し（レンタル)*/
.sol_chamberImg{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}
.sol_chamberFee{
    width: 100%;
    background-color: #E6EEF9;
    margin-bottom: 2.625rem;
    padding: 1rem;
}
.feeTitle{
    display: flex;
    color: #FFFFFF;
    background-color: #1056BF;
    margin: 1rem;
    padding: 1rem;
    justify-content: center;
    align-items: center;  
    font-size: 1.125rem;
    font-weight: bold;
}
.feeContent{
    display: block;
    text-align: center;
    max-width: 80%;
    margin: 0 auto;
}
.feeContentUp{
    border-bottom: 1px solid #707070 ;
    margin-top: 1.5em;
    margin-bottom: 1em;
}
.feeSubTitle{
    font-weight: bold;
    border-bottom: 1px solid #707070 ;
    margin-bottom: 1em;
}
.c-postContent ul.feeList{
    list-style-type: decimal;
	margin: 0 auto 2rem auto;
}
.feebtn{
    display: block;
    text-align: center;
}
a.btn.feebtn--red {
    display: inline-block;
	margin-bottom: 1rem;
    padding: 0.875rem 2.688rem 0.875rem 2.688rem;
    background-color: #E44244;
	border: solid 1px #E44244; 
    color: #fff;
    font-size: 1.125rem;
	line-height: 1.4rem;
    text-decoration: none;
    text-align: center;
}
a:hover.btn.feebtn--red {
	background-color: #E4424433;
    color: #E44244;
	transition: color .3s;
}
.h4_chamber {
    display: block;
    font-size: 1.125rem !important;
    line-height: 1.125rem !important;
    padding-left: 1rem;
    border-left: 13px solid #E44143;
    margin-bottom: 1rem;
}
.sol_chamberImgFrame{
    margin: 1rem 0;
}
.sol_chamberImgFrame img{
    width: 100%;
}
.sol_chamberText{
    margin-bottom: 1rem;
}
.sol_endtxt{
    margin-bottom: 2.563rem;
}
.chamber_caseContent{
    margin-bottom: 1rem;
}
.sol_spfont14{
    font-size: 0.875rem;
}
a.btn.solbtn--red_s {
    display: flex;
    width: 16.25rem;
    height: 45px;
    margin: 0 auto 1rem auto;
    background-color: #E44244;
    border: solid 1px #E44244;
    border-radius: 4px;
    color: #fff;
    font-size: 1rem;
    line-height: 45px;
    text-decoration: none;
    justify-content: flex-end;
}
a.btn.solbtn--red_s::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f019";
    margin-left: 6.5rem;
    margin-right: 1rem;
}
a.btn.solbtn--red_s::after {
    margin-left: 3.18rem;
}
.table_btnbefore{
    margin-bottom: 1rem;
}
@media only screen and (min-width: 769px) {
    .sol_chamberText{
        margin-bottom:4.063em;
    }   
    .sol_font14.sol_endtxt{
        margin-bottom:6.688em;
    }
    section .sol_section{
        margin-bottom:4em;
    }
    .sol_chamberImg01{
        max-width: 40.625rem;
    }
    .sol_chamberImg02{
        max-width: 36.5rem;
    }
    .sol_chamberImg03{
        max-width: 24.75rem;
        display: block;
        margin: 0 auto 2rem auto;
    }
    .sol_chamberImg04{
        max-width: 21.25rem;
        display: block;
        margin: 0 auto 2rem auto;
    }
    .sol_chamberImg05{
        max-width: 29.563rem;
    }
    .chamber_case{
        display: flex;
        margin-bottom: 6.625rem;
    }
    .chamber_caseContent{
        display: flex;
        margin-left: 3rem;
        flex-flow: column;
    }
    .sol_spfont14{
        font-size: 1rem;
    }
    .sol_chamberFee{
        width: 80%;
        margin: 2rem auto;
    }
    .feeContentUp{
        border-right: 1px solid #707070 ;
        border-bottom: none;
        border-spacing:1rem;
        margin-right: 1rem;
        margin-bottom: 0;
        margin-top: 0;
        padding: 1.125rem;
    }
    .feeContentDown{
        margin-right: 2rem;
    }
    .feeContent{
        display: flex;
        max-width: 100%;
        align-items: center;
    }
    .sol_chamberFeePC{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .feeColumn{
        display: flex;
        flex-flow: column;
    }
    .feeTitle{
        font-size: 1.313rem;
        width: 12rem;
        height: 12rem;
        text-align: center;
        margin-bottom: 0;
        padding: 0.75rem
    }
    .c-postContent ul.feeList{
        margin: 0;
    }
    a.btn.feebtn--red {
        margin-bottom: 0;
    }
    .table_btnflex{
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
    }
    .table_btnbefore{
        margin-bottom: 0rem;
    }
    a.btn.solbtn--red_s {
        margin: 0 auto;
    }
    .sol_chamberImgFrame{
        margin: 2rem 0;
    }
    .chamber_table .contactList dt{
        display: flex;
        justify-content: center;
        align-items: center;
    }
	 .chamber_table dl.contactList{
        width: 90%;
        margin: 0 auto;
    }
    .sol_pctxtmargin::before{
        content:"　"
    }
}
/*恒温恒湿室ご利用規約*/
.sol_chamberAgreeIntro{
    line-height: 1;
}
.textRight{
    text-align: right;
}
.sol_chamberAgreeSection{
    margin-bottom: 3rem;
}
.sol_chamberAgreeSection p{
    line-height: 1;
    margin: 0.5em 0 0.5em 0;
}
.sol_chamberAgreeTitle{
    font-size: 1.125rem;
    font-weight: bold;
    border-bottom: 1px solid #707070 ;
}
ol.sol_listParentheses{
    padding:0 0 0 2em;
    margin:0;
}
ol.sol_listParentheses li{
    list-style-position:inside;
    list-style-type:none;
    list-style-position:inside;
    text-indent: -1.3em;
    counter-increment: cnt;
}
ol.sol_listParentheses li:before{
    content: "（" counter(cnt) "）";
}
.sol_chamberAgreeSection ol li{
    line-height: 2;
}
@media only screen and (min-width: 769px) {
    .sol_chamberAgreeTxt{
        display: flex;
        justify-content: space-between;
    }
    .sol_chamberAgreeTitle{
        margin-bottom: 1rem;
    }
    .sol_chamberAgreeSection p{
        line-height: inherit;
    }
    .sol_chamberAgreeSection ol{
        margin: 0 0 2em 0;
    }
    .sol_chamberAgreeSection ol li{
        line-height: inherit;
    }
    ol.sol_listParentheses{
        padding:1.5em 0 1.5em 0;
        margin:0;
    }
}

/*基板修理画面*/
div.substrate_repair{
	background-image: url("../images/solution/solution_repair_img.png");
    background-size: 80% ;
    background-position: right top;
    background-repeat: no-repeat;
    margin-top: 0;
    margin-bottom: 28px;
	margin-left: 0px;
    margin-right: calc(50% - 50vw);
    padding-top: 29px;
}
div.repair_intro{
	font-weight: bold;
	width: 50%;
	/* height: 147px; */
	margin-bottom: 2.5rem;
}
div.repair_intro p{
	font-size: 18px;
}
div.repair_consideration{
	margin-right: 16px;
	margin-bottom: 6rem;
	width: 343px;
}
div.repair_correspondence{
	margin-right: 21px;
}
h3.h3_cmn.repair{
	display:none;
}
div.repair_range{
	font-size: 14px;
}
div.repair_main p.advance_contact_btn{
	margin-bottom: 56px;
}
div.repair_type p.advance_contact_btn a.btn.btn--red_l{
	width: 300px;
}
div.repair_type ul.iconList{
	width: 100%;
    height: 100%;
	margin-bottom: 2rem;
    padding-left: 29px;
}
div.repair_type{
	margin-bottom: 44.16px;
}
h4.h4_cmn.repair_title{
	display:none;
}
div.repair_example{
	background-color: #F0F0F0;
    height: 620px;
    margin : 25px calc(50% - 50vw) 38.14px;
	text-align: center;
}
div.repair_inf{
	font-size: 17px;
	font-weight: bold;
	padding-top: 22px;
}
p.repair_pic{
	height: 212px;
}
p.repair_nm{
	font-size: 14px;
}
img.mb_repair_01{
	width: 342px;
	height: 100%;
}
img.mb_repair_02{
	width: 342px;
	height: 100%;
}
div.repair_pic{
    margin-top: 17px;
}
div.repair_pic div.repair_pic_2{
    margin-top: 25px;
}
div.service_support{
    margin-top: 0;
    padding-top: 10px;
    background: linear-gradient(to left, transparent 40%, transparent 0%, #fff 100%), url("../images/solution/mb_repair_03_img.jpg");
    background-size: 75%;
    background-position: 140% top;
    background-repeat: no-repeat;
	height: 280px;
}
div.service_support_inf{
	width: 55%;
    margin-left: 17px;
}
article.l-main__body.p-page.post-73.page.type-page.status-publish.hentry div.c-postContent.p-page__content h3.h3_cmn{
	margin-bottom: 11px;
}
img.mb_repair_04{
	margin-top: 25px;
}
div.others_service{
	margin-bottom: 69px;
}
div.others_service p{
	text-align: center;
}
div.others_service h4.h4_cmn{
	margin-top: 35px;
    margin-bottom: 15px;
}
@media only screen and (min-width: 769px) {
	div.substrate_repair {
		margin-right: 0;
		margin-bottom: 4rem;
		background-size: 740px;
		padding-top: 62px;
	}
	div.repair_intro{
		width: 100%;
		height: 100%;
	}
	div.repair_intro p{
		font-size: 24px;
	}
	div.repair_consideration{
		height: 107px;
		width: 100%;
	}
	div.repair_consideration p{
		font-size: 18px;
		margin-bottom: 0.25rem;
	}
	div.repair_correspondence p{
		font-size: 0;
	}
	h3.h3_cmn.repair{
		display:block;
	}
	div.repair_type{
		display: flex;
		margin-bottom: 0;
	}
	div.repair_type ul.iconList{
		width: 100%;
		margin-left: 1rem;
		margin-bottom: 5.5rem;
	}
	div.repair_type p.advance_contact_btn{
		margin-top: 0px;
	}
	div.repair_type p.advance_contact_btn a.btn.btn--red_l{
		width: 468.37px;
		margin-top: 98px;
	}
	h3.h3_cmn.repair_title{
		display:none;
	}
	h4.h4_cmn.repair_title{
		display:block;
		margin-top: 0px;
		margin-bottom: 1.938rem;
	}
	div.repair_main div.repair_explanation{
		width: 1140px;
	}
	div.repair_example{
		margin: 40px 0 57px;
		height: 420px;
	}
	div.repair_inf {
		padding-top: 2.375rem;
	}
	div.repair_inf p br{
		display: none;
	}
	div.repair_pic{
		height: 247px;
		display: flex;
		justify-content: center;
		margin-top: 31px;
	}
	p.repair_nm{
		font-size: 16px;
	}
	div.repair_pic_1{
		width: 38%;
	}
	img.mb_repair_01 {
    	width: 398px;
    	height: 100%;
	}
	div.repair_pic div.repair_pic_2{
		width: 38%;
		margin-top: 0;
	}
	img.mb_repair_02 {
    	width: 398px;
    	height: 100%;
	}
	article.l-main__body.p-page.post-73.page.type-page.status-publish.hentry div.c-postContent.p-page__content h3.h3_cmn.correspondence{
		margin-top: 91.21px;
		margin-bottom: 40px;
	}
	div.service_support.alignfull {
		max-width: 1200px;
		margin: 0 auto;
		left: 0px;
		height: 267px;
	}
	article.l-main__body.p-page.post-29.page.type-page.status-publish.hentry div.c-postContent.p-page__content h3.h3_cmn.others{
		margin-top: 104px;
	}
	div.service_support{
		padding-top: 50px;
		background: linear-gradient(to left, transparent 60%, transparent 0%, #fff 100%), url(../images/solution/mb_repair_03_img.jpg);
		background-size: 37rem 27.5rem;
    	background-position: 100% top;
		background-repeat: no-repeat;
	}
	div.service_support_inf{
		width: 570px;
		margin-left: 0px;
	}
	div.others_service h4.h4_cmn{
		margin-top: 20px;
		margin-bottom: 15px;
	}
	div.others_service ul{
		margin-left: 1rem;
	}
	h3.h3_cmn.others{
		margin-top: 6rem;
	}
	div.others_service p img.mb_repair_04{
		width: 568px;
		height: 271px;
	}
	img.mb_repair_04 {
    	margin-top: 50px;
	}
	div.others_service {
    	margin-bottom: 90px;
	}
}
/*LANスイッチカスタマイズ-事例紹介*/
h2.h2_cmn.l2custom{
	margin-bottom: 0px;
}
div.l2custom_front{
	background-image: url("../images/solution/l2custom/solution_lan_case_bg_img.jpg");
	background-size: 70% ;
	background-position: right top;
	background-repeat: no-repeat;
	margin-top: 0;
	margin-right: calc(50% - 50vw);
	padding-top: 3rem;
}
div.l2custom_intro {
    font-weight: bold;
    width: 60%;
	margin-bottom: 5rem;
}
div.l2custom_front ul{
	margin-right: 16px;
}
div.l2custom_intro_main{
	margin-top: 2rem;
	margin-right: 1rem;
	margin-bottom: 3rem
}
div.l2custom_intro_caption1{
	display: flex;
    flex-wrap: wrap;
	margin-bottom: 6px;
}
div.l2custom_intro_caption2{
	display: flex;
    flex-wrap: wrap;
}
img.l2custom_intro_pic1{
    width: 49%;
	margin-right: 6px;
}
img.l2custom_intro_pic2{
    width: 49%;
}
img.l2custom_intro_pic3{
    width: 49%;
	margin-right: 6px;
}
img.l2custom_intro_pic4{
    width: 49%;
}
span.font_kome{
	font-size: 14px;
    color: #E44143;
}
div.l2custom_vme_caption{
	margin-top: 2rem;
	margin-bottom: 2rem;
}
div.l2custom_ote_caption{
	margin-top: 2rem;
	margin-bottom: 2rem;
}
div.l2custom_hub_offer {
	background-color: #EBFFFF;
	padding: 1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
p.l2custom_hub_offer_text{
	text-align: center;
	margin-bottom: 1.5rem;
}
@media only screen and (min-width: 769px) {
	div.l2custom_front{
		margin-right: 0;
	}
	div.l2custom_intro {
    	width: 100%;
		margin-bottom: 2.125rem;
	}
	div.l2custom_intro p{
    	font-size: 1.5rem;
	}
	div.l2custom_front ul.iconList li{
		font-size: 1.125rem;
	}
	div.l2custom_intro_main{
		display: flex;
        flex-wrap: wrap;
		margin-top: 5rem;
		margin-right: 0rem;
		width: 100%
	}
	div.l2custom_intro_caption1{
		margin-bottom: 0px;
		width: 50%;
	}
	div.l2custom_vme{
		display: flex;
        flex-wrap: wrap;
		margin-bottom: 5.75rem;
	}
	div.l2custom_vme_inf{
		width: 50%;
	}
	div.l2custom_vme_caption {
    	margin-top: 0rem;
	}
	div.l2custom_intro_caption2{
		width: 50%;
	}
	img.l2custom_intro_pic3 {
    	width: 50%;
	}
	img.l2custom_intro_pic4{
    	margin-left: auto;
	}
	div.l2custom_ote{
		display: flex;
        flex-wrap: wrap;
		margin-bottom: 5.75rem;
	}
	div.l2custom_ote_inf{
		width: 48%;
		margin-right: 2rem;
	}
	div.l2custom_ote_caption {
    	margin-top: 0rem
	}
	div.l2custom_hub{
		display: flex;
        flex-wrap: wrap;
		margin-bottom: 9.375rem;
	}
	div.l2custom_hub_inf{
		width: 49%;
		margin-right: 1rem;
	}
	div.l2custom_hub_offer {
		margin-top: 4.25rem;
		margin-bottom: 0rem;
	}
}
/* HUBカスタマイズ事例 */
.hubcase_content{
    margin-bottom: 3rem;
}
.hubcase_txt{
    margin-bottom: 1.5rem;
}
.hubcase_txt p {
    font-weight: bold;
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}
.hubcase_content .hubcase_txt p.hubcase_link{
    font-weight: 400;
        
}
@media only screen and (min-width: 769px) {
    .hubcase_content{
        margin-bottom: 8rem;
    }
    .hubcase_content{
        display: flex;
        justify-content: space-between;
    }
    .hubcase_txt{
        width: 47%;
    }
    .hubcase_txt p {
        font-size: 1.5rem;
        margin-bottom: 2.5rem;
    }
    .hubcase_img{
        width: 50%;
    }
    .hubcase_content ul.hubcase_iconList{
        padding-left: 2em;
    }
    .hubcase_content ul.iconList li{
        font-size: 1.125rem;;
    }
    .hubcase_txt a{
        margin-left: 2rem;
    }
}