@charset "UTF-8";
/*base*/
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	}

:root{
	--maincolor: #005baa;
	}

header, footer, nav, section, article {
	display:block;
	}

html{
	font-size: 100%;
	overflow-y: scroll; 
	}

body{
	font-size: 1em;
	color: #000000;
	background: #ffffff;
	font-family: 'Helvetica','Helvetica Neue','Avenir','Arial','メイリオ',sans-serif;
	}

p{
	line-height: 200%;
	}

h1,h2,h3,h4,h5,h6{
	font-size: 1em;
	}


/*float*/
.alignleft{
	float: left;
	}

.alignright{
	float: right;
	}

.cl{
	clear: both;
	}

.clearfix{
	overflow: hidden;
	}
* html .clearfix { zoom: 1; }  /* IE6 */
*:first-child+html .clearfix{ zoom: 1; }  /* IE7 */

img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
 	}

img.alignright {
/*	padding: 4px;
	margin: 0 0 2px 7px;*/
	display: inline;
	 }

img.alignleft {
/*	padding: 4px;
	margin: 0 7px 2px 0;*/
	display: inline;
	}

img.alignnone {
/*	padding: 4px;
	margin: 7px;*/
	display: inline;
	}

/*text-align*/

.txt_alignleft{
	text-align: left !important;
	}
.txt_alignright{
	text-align: right !important;
	}
.txt_aligncenter{
	text-align: center !important;
	}

/*vertical-align*/

.txt_aligntop{
	vertical-align: top !important;
	}
.txt_alignmiddle{
	vertical-align: middle !important;
	}
.txt_alignbottom{
	vertical-align: bottom !important;
	}

/*link*/
a img {
    border-style: none;
	}

a:link{
	color: var(--maincolor);
	text-decoration: none;
	}

a:active{
	text-decoration: underline;
	}

a:visited{
	color: var(--maincolor);
	}

a:hover{
	text-decoration: underline;
	}

a img:hover{
	opacity: 0.8;
	}

/*width*/
.half{
	width: 50%;
	}

.inner{
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	}


/*margin*/
.mgt1em{
	margin-top: 1em !important;
	}

.mgt10{
	margin-top: 10px;
	}

.mgt20{
	margin-top: 20px;
	}

.mgt30{
	margin-top: 30px;
	}

.mgt40{
	margin-top: 40px;
	}

.mgt50{
	margin-top: 50px;
	}

.mgt100{
	margin-top: 100px;
	}



/*fontsize*/
.txt_reset{
	font-size: 1em;
	}
.txt_12{
	font-size: 0.75em;
	}
.txt_14{
	font-size: 0.875em;
	}
.txt_18{
	font-size: 1.125em;
	}
.txt_20{
	font-size: 1.25em;
	}
.txt_24{
	font-size: 1.5em;
	}
.txt_30{
	font-size: 1.875em;
	}
.txt_36{
	font-size: 2.25em;
	}

/*fontweight*/
.txt_bold{
	font-weight: bold;
	}
.txt_normal{
	font-weight: normal;
	}

/*color*/
.col_main{
	color: var(--maincolor);
	} 

/*background*/
.bg_f0f0f0{
	background: #f0f0f0;
	padding: 40px;
	}

/*icon*/
.icon_arrow{
	}
.icon_arrow:before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 5px;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent #cccccc;
	}

/*li*/
li.square{
	list-style-type: none;
	margin: 0px 0px 10px 0;
	/*padding-left: 23px;*/
	text-indent: 23px;
	position: relative;
	}

li.square::before{
	content: "";
	width: 16px;
	height: 16px;
	border-radius: 4px;
	background-color: #005baa;
	position: absolute;
	top: 3px;
	left: 0;
	}

li.disk{
	list-style-type: none;
	margin: 0px 0px 5px 5px;
	padding-left: 10px;
	position: relative;
	}

li.disk::before{
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 100%;
	background-color: #005baa;
	position: absolute;
	top: 8px;
	left: 0;
	}
li.square ul li.disk{
	text-indent: 0;
	}

/*h*/
.h_wrap{
	height: 485px;
	position: relative;
	}
.h_img{
	width: 650px;
	height: auto;
	border-radius: 40px;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	position: absolute;
	}
.h_base{
	display: flex;
	flex-flow: column;
	justify-content: center;
	width: calc(100% - (calc(100% - 1000px) / 2));
	height: 435px;
	background: #dfeaf4;
	position: absolute;
	top: 50px;
	}

.h_base h2{
	font-size: 3em;
	color: var(--maincolor);
	}

/*table*/
table.tbl_01{
	width: 100%;
	border-spacing: 0px;
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	}

table.tbl_01 th,table.tbl_01 td{
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
	padding: 10px 20px;
	line-height: 180%;
	text-align: left;
	}


table.tbl_03{
	width: 100%;
	border-spacing: 0px;
	border-bottom: 1px solid #cccccc;
	}

table.tbl_03 th,table.tbl_03 td{
	border-top: 1px solid #cccccc;
	padding: 20px;
	line-height: 180%;
	vertical-align: top;
	}
table.tbl_03 th{
	text-align: left;
	}

table.tbl_03 th.bd_none,table.tbl_03 td.bd_none{
	border-top: none;
	padding: 0 20px 20px;
	}


/*flex*/
.flex{
	display: flex;
	}

.align_items_start{
	align-items: start;
	}

.align_items_center{
	align-items: center;
	}

.justify_content_space_between{
	justify-content: space-between;
	}

.justify_content_start{
	justify-content: flex-start;
	}

.justify_content_center{
	justify-content: center;
	}

.flex_wrap{
	flex-wrap: wrap;
	}

/*hide*/
.sp,.mainmenu_btn{
	display: none;
	}

/*header*/
header{
	height: 100px;
	}

header .header_wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	}


header h1 a{
	display: block;
	text-indent: -9999px;
	width: 219px;
	height: 48px;
	margin: 0 20px;
	background: url('../img/logo.png') center left no-repeat;
	background-size: 211px 48px;
	}

header h1 a:hover{
	opacity: 0.8;
	}

/*mainmenu*/
#mainmenu{
	display: flex;
	align-items: center;
	margin: 0 20px;
	}

#mainmenu a.mainmenu_item{
	color: var(--maincolor);
	height: 40px;
	margin: 0 18px;
	font-weight: bold;
	background: url('../img/icon_menu.svg') bottom center no-repeat;
	background-size: 16px 10px;
	}

#mainmenu a.mainmenu_item:hover{
	text-decoration: none;
	opacity: 0.8;
	}

#mainmenu a.mainmenu_contact{
	display: flex;
	align-items: center;
	width: 180px;
	height: 60px;
	border-radius: 60px;
	margin: 0 20px;
	padding-left: 32px;
	font-weight: bold;
	color: #ffffff;
	background: var(--maincolor) url('../img/mainmenu_contact.svg') center right 15px no-repeat;
	background-size: 28px 28px;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	}
#mainmenu a.mainmenu_contact:hover{
	text-decoration: none;
	opacity: 0.8;
	}

#mainmenu a.mainmenu_oji{
	display: block;
	text-indent: -9999px;
	width: 137px;
	height: 40px;
	background: url('../img/mainmenu_oji.png') center center no-repeat;
	background-size: 137px 40px;
	}

/*contents*/

section{
	}



/*first*/
#first{
	overflow: hidden;
	position: relative;
	}

#first .mainimg{
	float: right;
	width: 1000px;
	height: auto;
	border-radius: 40px 0 0 40px;
	}
#first .first_item{
	position: absolute;
	top: 50%;
	left: calc((100% - 1300px) / 2);
	transform: translateY(-50%);
	}

#first .first_item p.copy{
	font-size: 3.125em;
	font-weight: bold;
	}
#first .first_item p.lead{
	margin-top: 60px;
	font-size: 2.5em;
	font-weight: bold;
	line-height: 1.5;
	}

/*intro*/
#intro{
	position: relative;
	padding: 100px 0 50px;
	}

#intro_warp{
	position: fixed;
	bottom: -560px;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	}

#intro_warp.static{
	position: static;
	bottom: auto;
	left: auto;
	transform: none;
	}

#intro_warp .intro_item{
	width: calc((100% - 10px) / 3);
	padding: 40px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	}

#intro_warp .intro_item h2{
	width: 100%;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-size: 1.5em;
	border-radius: 5px;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	}

#intro_warp .intro_item p{
	text-align: center;
	font-weight: bold;
	padding: 40px 0;
	position: relative;
	}

#intro_warp .intro_item p:last-of-type{
	padding: 40px 0 0;
	}

#intro_warp .intro_item p:after{
	content: "・・・・・";
	position: absolute;
	bottom: -16px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	}

#intro_warp .intro_item p:last-of-type:after{
	content: none;
	}

#intro_warp .intro_item div.wrap{
	margin-bottom: 40px;
	}

#intro_warp .intro_item div.bg_fff{
	background: #ffffff;
	padding: 20px;
	border-radius: 10px;
	margin-top: auto;
	}
#intro_warp .intro_item div.bg_fff ul li{
	list-style-type: none;
	margin: 0px 0px 5px 0;
	padding-left: 10px;
	position: relative;
	font-weight: bold;
	}

#intro_warp .intro_item div.bg_fff ul li::before{
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 100%;
	position: absolute;
	top: 8px;
	left: 0;
	}

#intro_warp .intro_item.management{
	background: #f6ead5;
	}

#intro_warp .intro_item.management h2{
	background: #d0982b;
	}
#intro_warp .intro_item.management p:after{
	color: #d0982b;
	}

#intro_warp .intro_item.management div.bg_fff ul li::before{
	background-color: #d0982b;
	}

#intro_warp .intro_item.optimization{
	background: #d4f3e4;
	}

#intro_warp .intro_item.optimization h2{
	background: #2ac576;
	}
#intro_warp .intro_item.optimization p:after{
	color: #2ac576;
	}
#intro_warp .intro_item.optimization div.bg_fff ul li::before{
	background-color: #2ac576;
	}

#intro_warp .intro_item.support{
	background: #fee0df;
	}
#intro_warp .intro_item.support h2{
	background: #f9625f;
	}
#intro_warp .intro_item.support p:after{
	color: #f9625f;
	}
#intro_warp .intro_item.support div.bg_fff ul li::before{
	background-color: #f9625f;
	}

/*service*/
#service{
	padding: 50px 0;
	}

#service .h_base{
	border-radius: 40px 0 0 40px;
	right: 0;
	padding: 0 calc((100% - 1000px) / 2) 0 550px;
	}

#service .h_img{
	left: calc((100% - 1300px) / 2);
	}

#service .img_service_diagram{
	display: block;
	width: 800px;
	height: auto;
	margin: 50px auto 100px;
	}

#service .img_service_commodity{
	display: block;
	width: 210px;
	height: auto;
	border-radius: 10px;
	margin-top: 20px;
	}


/*example*/
#example{
	padding: 50px 0;
	}

#example .h_base{
	border-radius: 0 40px 40px 0;
	left: 0;
	padding: 0 550px 0 calc((100% - 1000px) / 2);
	}

#example .h_img{
	right: calc((100% - 1300px) / 2);
	}

#example .example_item{
	border-top: 1px solid #cccccc;
	padding: 50px 0;
	display: flex;
	}

#example .example_item.bdb{
	border-bottom: 1px solid #cccccc;
	}

#example .example_item .half{
	padding: 0 20px;
	}

#example .example_item h3 span.col_bar{
	position: relative;
	padding-left: 30px;
	}
#example .example_item h3 span.col_bar:before{
	content: "";
	position: absolute;
	display: inline-block;
	width: 20px;
	height: 1px;
	margin: 0 5px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: var(--maincolor);
	}

#example .example_item .half img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	}

#example table.tbl_01{
	margin-top: 40px;
	}

#example table.tbl_01 tr:nth-child(even) th,#example table.tbl_01 tr:nth-child(even) td{
	background: #f0f0f0;
	}

#example .img_center{
	display: block;
	width: 425px;
	height: auto;
	border-radius: 10px;
	}
/*cando*/
#cando{
	padding: 50px 0;
	}

#cando .h_base{
	border-radius: 40px 0 0 40px;
	right: 0;
	padding: 0 calc((100% - 1000px) / 2) 0 550px;
	}

#cando .h_img{
	left: calc((100% - 1300px) / 2);
	}
#cando .cando_img{
	width: calc(50% - 20px);
	margin-top: 40px;
	position: relative;
	}

#cando .cando_img img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
	}

#cando .cando_img figcaption{
	position: absolute;
	top: 20px;
	left: 20px;
	width: 125px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--maincolor);
	color: #ffffff;
	border-radius: 5px;
	font-size: 1.25em;
	font-weight: bold;
	line-height: 1;
	}

#cando .img_cando_diagram{
	display: block;
	width: 100%;
	height: auto;
	margin: 50px auto 10px;
	}

/*flow*/
#flow{
	padding: 50px 0;
	}

#flow .h_base{
	border-radius: 0 40px 40px 0;
	left: 0;
	padding: 0 550px 0 calc((100% - 1000px) / 2);
	}

#flow .h_img{
	right: calc((100% - 1300px) / 2);
	}

#flow .flow_item{
	width: 100%;
	height: 100px;
	border-radius: 5px;
	margin-bottom: 50px;
	font-size: 1.5em;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	}
#flow .flow_item:last-of-type{
	margin-bottom: 0;
	}
#flow .flow_item:after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -50px;
	display: block;
	width: 100%;
	height: 50px;
	background: url('../img/icon_flow.svg') center center no-repeat;
	background-size: 24px 30px;
	}
#flow .flow_item:last-of-type:after{
	content: none;
	}

#flow .flow_item.flow_01{
	margin-top: 30px;
	background: #ffffff url('../img/icon_flow_01.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_02{
	background: #ffffff url('../img/icon_flow_02.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_03{
	background: #ffffff url('../img/icon_flow_03.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_04{
	background: #ffffff url('../img/icon_flow_04.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_05{
	background: #ffffff url('../img/icon_flow_05.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_06{
	background: #ffffff url('../img/icon_flow_06.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_07{
	background: #ffffff url('../img/icon_flow_07.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}
#flow .flow_item.flow_08{
	background: #ffffff url('../img/icon_flow_08.svg') center left 10px no-repeat;
	background-size: 80px 80px;
	}

/*faq*/
#faq{
	padding: 50px 0 100px;
	}

#faq .faq_item{
	border-top: 1px solid #cccccc;
	padding: 30px 20px;
	}

#faq .faq_item:last-of-type{
	border-bottom: 1px solid #cccccc;
	}
#faq .faq_item h3{
	display: flex;
	align-items: center;
	}
#faq .faq_item h3:before{
	content: "Q";
	font-size: 1.875em;
	font-weight: bold;
	color: var(--maincolor);
	margin-right: 0.5em;
	}
#faq .faq_item p.answer{
	background: #f0f0f0;
	margin-top: 15px;
	padding: 10px 20px;
	border-radius: 5px;
	font-weight: bold;
	}


/*inquiry*/
#inquiry{
	padding: 50px 0 100px;
	}
input[type="text"], button, textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	}

textarea::placeholder{
	color: #999999;
	font-size: 1em;
	}
textarea:focus::-webkit-input-placeholder {
	color: transparent;
	}
textarea:focus::-moz-placeholder {
	color: transparent;
	}
textarea:focus::-ms-input-placeholder {
	color: transparent;
	}
textarea:focus::placeholder {
	color: transparent;
	}

#inquiry .box_ccc{
	border: 1px solid #cccccc;
	padding: 50px;
	}

#inquiry th.required{
	padding-left: 80px;
	background: url('../img/icon_required.gif') 20px 20px no-repeat;
	}

#inquiry span.form_inner_item{
	width: 7em;
	margin-bottom: 20px;
	display: inline-block;
	}

#inquiry input[type="text"],#inquiry input[type="email"],#inquiry textarea{
	border: 1px solid #cccccc;
	background: #e7e7e7;
	padding: 10px;
	font-size: 1em;
	}
#inquiry input[type="text"].w100{
	width: 100px;
	}
#inquiry input.w300{
	width: 300px;
	}
#inquiry input[type="text"].w520{
	width: 520px;
	}



#inquiry textarea{
	display: block;
	width: calc(100% - 20px) !important;
	height: 178px !important;
	font-family: sans-serif;
	}

#inquiry select{
	font-size: 1em;
	border: 1px solid #cccccc;
	border-radius: 5px;
	position: relative;
	}

#inquiry button[type="submit"]{
	display: block;
	width: 200px;
	height: 50px;
	margin: 50px auto 0;
	background: #005baa;
	position: relative;
	font-size: 1.428em;
	font-weight: bold;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	}

#inquiry button[type="submit"]::before{
	content: '';
	position: absolute;
	top: calc(50% - 6px);
	right: 10px;
	border-top: 6px solid transparent;
	border-right: 0px solid transparent;
	border-left: #ffffff 12px solid;
	border-bottom: 6px solid transparent;
	}

#inquiry button[type="submit"]:hover{
	opacity: 0.8;
	}

/*footer*/
footer{
	position: relative;
	padding-bottom: 30px;
	}

/*contact_wrap*/
#contact_wrap{
	background: url('../img/bg_contact_wrap.jpg') center center no-repeat;
	background-size: cover;
	color: #ffffff;
	padding: 50px;
	text-align: center;
	}

#contact_wrap a.btn_contact{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	border-radius: 100px;
	margin: 0 auto 50px;
	font-size: 1.5em;
	font-weight: bold;
	color: var(--maincolor);
	background: #ffffff url('../img/icon_contact.svg') center right 30px no-repeat;
	background-size: 40px 40px;
	}
#contact_wrap a.btn_contact:hover{
	text-decoration: none;
	opacity: 0.8;
	}
#contact_wrap .footer_tel{
	display: inline-block;
	margin: 10px 0;
	padding-left: 50px;
	background: url('../img/icon_tel.svg') center left no-repeat;
	background-size: 40px 40px;
	font-size: 3.125em;
	font-weight: bold;
	}

/*footer_logo*/
.footer_logo{
	display: block;
	text-indent: -9999px;
	width: 155px;
	height: 34px;
	margin: 50px auto 15px;
	background: url('../img/logo.png') center left no-repeat;
	background-size: 149px 34px;
	}

/*address*/
address{
	font-size: 0.875em;
	font-style: normal;
	margin-bottom: 10px;
	}
/*copyright*/
p.copyright{
	color: #666666;
	font-size: 0.75em;
	}

/*pagetop*/
#btn_pagetop{
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	position: fixed;
	right: 50px;
	z-index: 100;
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 50px;
	height: 50px;
	background: url('../img/pagetop.png') center center no-repeat;
	background-size: cover;
	}
#btn_pagetop:hover{
	opacity: 0.8;
	}

/* Media Queries
==========================================================================*/
@media screen and (max-width:1300px) {
#first .first_item{
	left: 100px;
	}

#mainmenu a.mainmenu_item{
	margin: 0 10px;
	font-size: 0.75em;
	}
#mainmenu a.mainmenu_contact{
	width: 160px;
	padding-left: 22px;
	background-size: 20px 20px;
	}

#mainmenu a.mainmenu_oji{
	width: 99px;
	height: 29px;
	background-size: 99px 29px;
	}


}

@media screen and (max-width:1025px) {

html {
	-webkit-text-size-adjust: none;
	}

body{
	overflow-x: hidden;
	}


p{
	line-height: 140%;
	}

img {
	max-width: 100%;
	height: auto;
     }



.inner{
	width: calc(100% - 20px);
	}

.flex{
	display: block;
	}
.flex.spflex{
	display: flex;
	}

/*margin*/
.mgt1em{
	margin-top: 1em !important;
	}

.mgt10{
	margin-top: 5px;
	}

.mgt20{
	margin-top: 10px;
	}

.mgt30{
	margin-top: 15px;
	}

.mgt40{
	margin-top: 20px;
	}

.mgt50{
	margin-top: 25px;
	}

.mgt100{
	margin-top: 50px;
	}

/*hide*/
.pc{
	display: none;
	}
.sp{
	display: block !important;
	}


/*background*/
.bg_f0f0f0{
	padding: 20px;
	}

/*h*/
.h_wrap{
	height: auto;
	position: relative;
	}
.h_img{
	width: calc(100% - 50px);
	top: -25px;
	border-radius: 20px;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
	}
.h_base{
	justify-content: flex-end;
	width: 100%;
	height: auto;
	position: static;
	}

.h_base h2{
	font-size: 2.25em;
	color: var(--maincolor);
	}


/*table*/
table.tbl_01 th,table.tbl_01 td{
	padding: 5px 10px;
	}
table.tbl_sp tr{
	display: block;
	}
table.tbl_sp th,table.tbl_sp td{
	display: list-item;
	list-style-type: none;
	width: auto;
	padding: 10px;
	word-break: break-all;
	}

table.tbl_sp th{
	width: 100%;
	border-bottom: none;
	padding-bottom: 0;
	}

table.tbl_03.tbl_sp td{
	border-top: none;
	padding-top: 0;
	}
/*header*/
header{
	height: auto;
	}

header .header_wrap{
	position: relative;
	justify-content: center;
	}

header h1 a{
	position: absolute;
	top: 13px;
	left: 10px;
	width: 105px;
	height: 24px;
	margin: 0;
	background-size: 105px 24px;
	}

/*mainmenu*/
#mainmenu{
	width: 100%;
	margin: 50px 0 10px;
	justify-content: space-between;
	}

#mainmenu a.mainmenu_item{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 48px;
	margin: 0 8px;
	padding-bottom: 19px;
	background: url('../img/icon_menu.svg') bottom center no-repeat;
	background-size: 16px 10px;
	font-size: 0.75em;
	}

#mainmenu a.mainmenu_contact{
	position: absolute;
	top: 10px;
	right: 88px;
	width: 120px;
	height: 30px;
	border-radius: 30px;
	margin: 0;
	padding-left: 17px;
	background-position: center right 13px;
	background-size: 14px 14px;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
	font-size: 0.75em;
	}

#mainmenu a.mainmenu_oji{
	position: absolute;
	top: 15px;
	right: 10px;
	width: 68px;
	height: 20px;
	background-size: 68px 20px;
	}



/*first*/
#first{
	overflow: hidden;
	position: relative;
	}

#first .mainimg{
	width: calc(100% - 50px);
	border-radius: 20px 0 0 20px;
	}
#first .first_item{
	position: absolute;
	top: 40px;
	left: 10px;
	transform: none;
	}

#first .first_item p.copy{
	font-size: 2.343em;
	line-height: 1.266;
	text-shadow: 0px 0px 10px rgba(255,255,255,1);
	}
#first .first_item p.lead{
	margin-top: 20px;
	font-size: 1.562em;
	text-shadow: 0px 0px 10px rgba(255,255,255,1);
	}


/*intro*/
#intro{
	position: relative;
	padding: 10px 0 25px;
	}

#intro_warp{
	position: static;
	bottom: auto;
	left: auto;
	z-index: auto;
	transform: none;
	width: calc(100% - 20px);
	margin: 0 auto;
	flex-flow: column;
	}

#intro_warp .intro_item{
	width: 100%;
	padding: 20px;
	margin-bottom: 10px;
	}

#intro_warp .intro_item h2{
	height: 44px;
	border-radius: 5px;
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
	}
#intro_warp .intro_item div.wrap{
	margin-bottom: 20px;
	}

#intro_warp .intro_item div.bg_fff{
	padding: 10px;
	border-radius: 2.5px;
	}

#intro_warp .intro_item p{
	padding: 20px 0;
	}

#intro_warp .intro_item p:after{
	bottom: -10px;
	}

#intro_warp .intro_item p:last-of-type{
	padding: 20px 0 0;
	}

#intro p.txt_aligncenter{
	text-align: left !important;
	}

/*service*/
#service{
	padding: 50px 0 25px;
	}

#service .h_base{
	border-radius: 20px 0 0 20px;
	padding: calc((100vw - 50px) * 0.666) 25px 25px;
	}

#service .h_img{
	left: 50%;
	transform: translateX(-50%);
	}

#service .img_service_diagram{
	width: 100%;
	height: auto;
	margin: 25px auto 50px;
	}

#service .img_service_commodity{
	display: block;
	width: calc(50% - 5px);
	height: auto;
	border-radius: 5px;
	margin-top: 10px;
	}

/*example*/
#example{
	padding: 50px 0 25px;
	}

#example .h_base{
	border-radius: 0 20px 20px 0;
	padding: calc((100vw - 50px) * 0.666) 25px 25px;
	}

#example .h_img{
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	}

#example p.txt_20.txt_aligncenter{
	text-align: left !important;
	}

#example .example_item{
	padding: 25px 0;
	display: block;
	}

#example .example_item .half{
	padding: 0;
	width: 100%;
	}

#example .example_item .half img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 5px;
	margin-top: 20px;
	}

#example table.tbl_01{
	margin-top: 10px;
	}

#example .bg_f0f0f0 .half{
	width: 100%;
	}

#example .img_center{
	width: 100%;
	margin-top: 20px;
	border-radius: 5px;
	}

/*cando*/
#cando{
	padding: 50px 0 25px;
	}

#cando .h_base{
	border-radius: 20px 0 0 20px;
	padding: calc((100vw - 50px) * 0.666) 25px 25px;
	}

#cando .h_img{
	left: 50%;
	transform: translateX(-50%);
	}

#cando p.txt_aligncenter.mgt50{
	text-align: left !important;
	}
#cando .cando_img{
	width: 100%;
	margin-top: 20px;
	}

#cando .cando_img img{
	border-radius: 5px;
	}

#cando .cando_img figcaption{
	position: absolute;
	top: 10px;
	left: 10px;
	width: 93px;
	height: 30px;
	}

#cando .img_cando_diagram{
	margin: 25px auto 10px;
	}
/*flow*/
#flow{
	padding: 50px 0 25px;
	}

#flow .h_base{
	border-radius: 0 20px 20px 0;
	padding: calc((100vw - 50px) * 0.666) 25px 25px;
	}

#flow .h_img{
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	}
#flow .flow_item{
	width: 100%;
	height: auto;
	border-radius: 5px;
	margin-bottom: 50px;
	padding: 62px 10px 10px; 
	font-size: 1.5em;
	display: block;
	text-align: center;
	}

#flow .flow_item.flow_01,#flow .flow_item.flow_02,#flow .flow_item.flow_03,#flow .flow_item.flow_04,#flow .flow_item.flow_05,#flow .flow_item.flow_06,#flow .flow_item.flow_07,#flow .flow_item.flow_08{
	margin-top: 30px;
	background-position: top 10px center;
	background-size: 40px 40px;
	}
#flow .flow_item.flow_01{
	margin-top: 10px;
	}
/*faq*/
#faq{
	padding: 25px 0 50px;
	}

#faq .faq_item{
	padding: 15px 10px;
	}

#faq .faq_item p.answer{
	margin-top: 5px;
	padding: 5px 10px;
	}

/*inquiry*/
#inquiry{
	padding: 25px 0 50px;
	}
#inquiry .box_ccc{
	width: 100%;
	padding: 10px;
	}

#inquiry table.tbl_03 colgroup{
	display: none;
	}

#inquiry table.tbl_03 td.txt_alignright{
	text-align: left !important;
	}

#inquiry th.required{
	width: 100%;
	padding-left: 65px;
	background: url('../img/icon_required.gif') 10px 10px no-repeat;
	backrgund-size: 25px 12px;
	}

#inquiry span.form_inner_item{
	margin-bottom: 5px;
	}
#inquiry input[type="text"],#inquiry input[type="email"],#inquiry textarea{
	padding: 5px;
	font-size: 1.142em;
	}

#inquiry input[type="text"]{
	margin-top: 5px;
	}

#inquiry input.w300{
	width: 100% !important;
	}
#inquiry input[type="text"].w520{
	width: calc(100% - 7em) !important;
	}
#inquiry textarea{
	margin-top: 0;
	width: 100% !important;
	height: 78px !important;
	}
#inquiry button[type="submit"]{
	display: block;
	width: 100%;
	margin: 20px auto;
	}

/*footer*/
footer{
	padding-bottom: 15px;
	}

/*contact_wrap*/
#contact_wrap{
	padding: 25px 0 50px;
	}

#contact_wrap a.btn_contact{
	margin: 0 auto 25px;
	font-size: 1.25em;
	line-height: 1.2;
	padding-right: 10px;
	background-position: center right 20px;
	}
#contact_wrap a.btn_contact:hover{
	text-decoration: none;
	opacity: 0.8;
	}
#contact_wrap a.footer_tel{
	font-size: 2.343em;
	color: #ffffff;
	}

/*footer_logo*/
.footer_logo{
	width: 75px;
	height: 17px;
	margin: 50px auto 10px;
	background-size: 75px 17px;
	}
/*copyright*/
p.copyright{
	font-size: 0.75em;
	}

/*pagetop*/
#btn_pagetop{
	position: absolute;
	bottom: 160px;
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 50px;
	background-size: 50px 50px;
	}

}
@media screen and (max-width:375px) {

/*pagetop*/
#btn_pagetop{
	bottom: 175px;
	}

}

@media print{
}