
/*==================

 *1280px〜大型PC
 *960px〜小型PC
 *600px〜タブレット
 *480px〜：SP横
 *〜479px：SP縦
 ==================*/

/* base */
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
body {
	-webkit-text-size-adjust: auto;
	margin: 0;
	padding: 0;
	color: #000; 
	font-size: 100%; 
	line-height: 1.6;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic",Osaka, sans-serif; 
	min-width: 100%;
	height: 100%;
	box-sizing : border-box;
}
img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
	vertical-align: middle;
}
body {
	counter-reset: chapter!important; /* あらかじめリセットしておく必要がある */
    box-sizing : border-box;
}
h4 {
	counter-reset: section!important; /* h1:before ではなく h1 でリセットしなければならない */
}
figure {
	text-align: center;
}
.small {font-size: 80%;}
.mt10{margin-top: 0.625rem!important;}
.mt15{margin-top: 0.937rem!important;}
.mt20{margin-top: 1.25rem!important;}
.mt25{margin-top: 1.562rem!important;}
.mt30{margin-top: 1.875rem!important;}
.mt35{margin-top: 2.187rem!important;}
.mt40{margin-top: 2.5rem!important;}
.mt45{margin-top: 2.812rem!important;}
.mt50{margin-top: 3.125rem!important;}
.mt55{margin-top: 3.437rem!important;}
.mt60{margin-top: 3.75rem!important;}
.mt65{margin-top: 4.062rem!important;}
.mt70{margin-top: 4.375rem!important;}
.mt75{margin-top: 4.687rem!important;}
.mt80{margin-top: 5rem!important;}

.mb10{margin-bottom: 0.625rem!important;}
.mb15{margin-bottom: 0.937rem!important;}
.mb20{margin-bottom: 1.25rem!important;}
.mb25{margin-bottom: 1.562rem!important;}
.mb30{margin-bottom: 1.875rem!important;}
.mb35{margin-bottom: 2.187rem!important;}
.mb40{margin-bottom: 2.5rem!important;}
.mb45{margin-bottom: 2.812rem!important;}
.mb50{margin-bottom: 2.812rem!important;}
.mb45{margin-bottom: 2.812rem!important;}
.mb50{margin-bottom: 3.125rem!important;}
.mb55{margin-bottom: 3.437rem!important;}
.mb60{margin-bottom: 3.75rem!important;}
.mb65{margin-bottom: 4.062rem!important;}
.mb70{margin-bottom: 4.375rem!important;}
.mb75{margin-bottom: 4.687rem!important;}
.mb80{margin-bottom: 5rem!important;}
.pt80{padding-top: 5rem!important;}
.pt350{padding-top: 350px!important;}
.h150{height: 100px;}
.h150{height: 150px;}
.h200{height: 200px;}
.fs10{font-size: 62.5%;}
.fs12{font-size: 75%;}
.fs14{font-size: 87.5%;}
.tcenter {text-align: center;}
.bold {font-weight: bold;}


/* list */
dl.list_area dt {
    font-weight: bold;
}
dl.list_area dd {
    margin: 0 0 4%;
}


@media screen and (min-width:1280px) {
	/*　画面サイズが1280pxからはここを読み込む　*/
	/* header */
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 160px;
    transition: .3s;
    background:rgba(0,0,0,1); 
}
    
header.is-fixed {
    position: fixed;
    /* top: -80px; */
    /* left: 0; */
    z-index: 2;
    width: 100%;
    height: 160px;
    background: #000;
    transition: .3s;
}
header > div{
	width: 1140px;
	margin: auto;
}
header h1 {
	float: left;
	width: 260px;
}
header h1 a:hover{
	border: none;
}
header nav {
	float: right;
	width: 600px;
}
#gnav a{
	position: relative;
	display: inline-block;
	font-size: 16px;
	color: #FFF;
}
#gnav a:hover {
	color: #FFF;
}
#gnav a:before,
#gnav a:after{
	position: absolute;
	top: 1.6rem;
	content: "";
	display: inline-block;
	width: 0;
	height: 2px; 
	background: #FFF;
	transition: 0.3s;
	color: #CCC;
}
#gnav a:before{
	left: 50%;
}
#gnav a:after{
	right: 50%;
}
#gnav a:hover:before,
#gnav a:hover:after{
	width: 50%;
}
#nav-drawer {
	display: none;
}
#gnav ul {
	display : table;
	width: 100%;
	height: 80px;
	justify-content: space-between;
}
#gnav ul li{
	display : table-cell;
	vertical-align : middle;
	text-align: right;
}

/* subnav用のheader */
#subnav_area {
	position: fixed;
    top: 80px;
    left: 0;
	z-index: 2;
	width: 100%;
	height: 80px;
    background:rgba(255,255,255,0.9); 
	color: #666;
    font-size: 14px;
    transition: .3s;
}
header.is-fixed #subnav_area {
	height: 55px;
    top: 0;
}
#subnav{
	overflow: hidden;
	margin: 0 auto;
	padding: 1% 0;
	width: 1140px;
	height: 100%;
	text-align: center;
}
#subnav ul li{
	float: left;
    margin-right: 4%;
    line-height: 2.2;
}
#subnav ul li:last-child{
    margin-right: 0;
}
#subnav ul li a{
	text-decoration: none;
	color: #000;
}
#subnav ul li.current a {
    display: inline-block;
	height: 100%;
	border-bottom: solid 2px #000;
}
#subnav ul li.pro_logo {
    width: 18%;
    padding-right: 1%;
    transition: .3s;
}
#subnav ul li.pro_logo img {
    width: 100%;
}
header.is-fixed #subnav ul li.pro_logo {
    width: 11%;
    transition: .3s;
}
header.is-fixed #subnav ul li{
    line-height: 2;
}
#subnav ul li .btn_inquiry {
    display: inline-block;
    padding: 0 10px;
    border-radius: 25px;
    text-decoration: none;
    color: #FFF!important;
    background-color: #0066cc;
    transition: .3s;
}
#subnav ul li .btn_inquiry:hover {
  background-color: #0270df;
} 
h1{
	margin: 0;
	color: #000;
	font-size: 1rem;/*16px*/
	line-height: 3;
}
h2{
	margin: 0;
	color: #000;
	font-size: 3.125rem;/*50px*/
	line-height: 1.5;
}
h3{
	display: inline-block;
	margin: 0 0 3%;
	color: #000;
	font-size: 1.125rem;/*18px*/
	line-height: 1.5;
	/*border-bottom: 2px solid #000;*/
}
h4{
	margin: 0;
	color: #000;
	font-size: 1.125rem;/*18px*/
	line-height: 1.8;
}
ul,dl {
	margin: 0;
	padding: 0;
}
li{	list-style: none;}
p {margin: 0;}
img {margin: 0;}
figure {margin: 0;}
a {
	padding-bottom: 0.125rem; 
	color: #0066cc;
	text-decoration: none;
}
a:hover {
	padding-bottom: 0.125rem; 
	color: #c45500;
}
/* btn */
.btn {
	display: inline-block;
	padding: 0.937rem 1.562rem;
	border: solid 1px #CCC;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1.125rem; /*18px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn01 {
	background-color: #000;
	color: #CCC !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn:hover {
	background-color: #333333;
	padding: 0.937rem 1.562rem;
}
.btn2 {
	display: inline-block;
	padding: 0.625rem;
	border: solid 3px #0066cc;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1.125rem; /*18px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn02 {
	background-color: #FFF;
	color:  #0066cc;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn2:hover {
	color: #FFF;
	background-color: #0066cc;
	padding: 0.625rem;
}
.btn3 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn03 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn3:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
	border-bottom: 0px!important;
}
.btn_jp_en {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn_jp_en01 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn_jp_en:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
	border-bottom: 0px!important;
}
.btn_area {
	text-align: center;
	margin: 2% auto;
}
.btn_area_right {
	text-align: right;
	margin: 2% 0;
}
.btn_back_area {
	text-align: left;
	margin: 4% 0 2%;
}
.btn_back {
	position: relative;
	display: inline-block;
	padding: 2% 4%;
	background-color: #FFF;
	border: 2px solid #000;
	color: #000;
	font-size: 1.125rem; /*18px*/
	text-align: center;
	text-decoration: none;
}
.btn_back::after {
	position: absolute;
	top: 45%;
	left: 2%;
	content: '';
	margin-top: -5px;
	border: 10px solid transparent;
	border-top-width: 8px;
	border-bottom-width: 8px;
	border-left-color: #000;
	transition: all .2s;
	transform: rotate(-180deg);
}
.btn_back:hover::after {
	left: 1%;
}
.btn_back:hover {
	padding: 2% 4%;
	color: #666;
}

/* contents */
#contentsu_title {
	width: 100%;
	height: 300px;
	background: #333 url(../img/bg_contents_x.png) no-repeat;
	background-position: left top;
}
#contentsu_title > div {
	overflow: hidden;
	width: 80%;
	height: 122px;
	margin: 0 auto;
}
#contentsu_title h2 {
	float: left;
	color: #FFF;
	padding-right: 1.25rem;/*20px*/
	font-size: 3.75rem;/*60px*/
	font-weight: normal;
	vertical-align: middle;
	line-height: 7.5rem;/*120px*/
}
#contentsu_title h3 {       
	float: left; 
	color: #FFF;
	font-size: 1.125rem;/*18px*/
	font-weight: normal;
	border: none;
	line-height: 9.375rem;/*150px*/
}
.contentsu_area_top {
	margin: -250px auto auto;
	width: 1140px;
	min-height: 600px;
	padding: 3.125rem 0 5rem; 
	text-align: center;
}
.contentsu_area {
	margin: 0 auto;
	width: 1140px;
	text-align: center;
}
.contentsu_area_top .inner,
.contentsu_area .inner{
	width: 62.5rem;/*1000px*/
	margin: 0 auto;
	text-align: left;
}
h2.contentsu_title {
	display: inline-block;
	margin: 0 0 1%;
	padding: 0 0 0.5%;
	color: #000;
	font-size: 157%;
	border-bottom: solid 4px #000;
}
.contentsu_area_top .title,
.contentsu_area .title {
	margin: 5% 0 0;
	text-align: center;
}
.inner_main{
	width: 100%;
	margin: 0 auto;
	padding: 1.25rem 0 0;
}
/*subnav用*/
.subnav_area_top{
    padding-top: 380px;
    padding-bottom: 8%;
}

/* footer */	
footer {
	width: 100%;
	height: 180px;
	background-color: #000;
	overflow: hidden;
}
footer > div{
	width: 1140px;
	margin: auto;
}
footer .footer_area {
	overflow: hidden;
	padding: 2% 0 2%;
}
footer #footer_logo {
	float: left;
	padding: 0 2% 0 0;
	width: 6%;
}
footer #copyright {
	float: left;
	padding: 2% 0 0;
	color: #CCC;
	font-size: 0.75rem;
}
footer #footer_nav {
	width: 100%;
	height: 50px;
	background-color: #333;
}
footer #footer_nav > div{
	width: 1140px;
	margin: auto;
}
footer #footer_nav ul {
	display : table;
	float: left;
	width: 400px;
	height: 50px;
	justify-content: space-between;
}
footer #footer_nav ul li{
	display : table-cell ;
	text-align: center;
	vertical-align : middle ;
}
footer #footer_nav ul li a{
	position: relative;
	display: inline-block;
	font-size: 16px;
	color: #FFF;
}
footer #footer_nav ul li a:hover {
	color: #FFF;
}
footer #footer_nav ul li a:before,
footer #footer_nav ul li a:after{
	position: absolute;
	top: 1.6rem;
	content: "";
	display: inline-block;
	width: 0;
	height: 2px; 
	background: #FFF;
	transition: 0.3s;
	color: #CCC;
}
footer #footer_nav ul li a:before{
	left: 50%;
}
footer #footer_nav ul li a:after{
	right: 50%;
}
footer #footer_nav ul li a:hover:before,
footer #footer_nav ul li a:hover:after{
	width: 50%;
}
footer #footer_nav .top_btn {
	position: relative;
	float :right;
	width: 50px;
	height: 50px;
	background: #000;
}
footer #footer_nav .top_btn div{
	position: absolute;
	top: 15px;
	left: 15px;
	width: 15px;
	height: 15px;
	border: 2px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(-45deg);
}
footer #footer_nav .top_btn div a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-999px;
}
footer #page_top a {
	float: right;
	width: 50px;
	height: 50px;
	background: #000;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	transition: 0.5s;
}
footer a {
	color: #FFF;
	text-decoration: none;
}
footer a:visited {
	color: #FFF;
}
footer #page_top a:before {
	content: "";
	width: 15px;
	height: 15px;
	border: solid #FFF;
	border-width: 1px 0 0 1px;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	left: calc(50% - 8px);
}
footer #page_top a:hover {
	opacity: 0.7;
	transition: 0.3s;
	border: none;
}
.sp_br {
	display: none;
}
  
/*190627追加*/
aside.contact {
    width: 100%;
    margin: 5% auto 0;
    padding: 5% 0;
    background: #F1F1F1;
}
aside.contact > div {
    width: 62.5rem;
    margin: 0 auto;
}
aside.contact .btn_contact {
    display:block;
    width: 40%;
    margin: 0 auto;
    padding: 1% 2%;
    border-radius: 40px;
    background-image: -webkit-linear-gradient(top, #047cf5, #0066cc);
    background-image: linear-gradient(to bottom, #047cf5, #0066cc);
    color:#FFF;
    text-align:center;
    font-size: 156.2%;
    font-weight: bold;
}
aside.contact .btn_contact a {
    color: #000;
    text-align: center;
}
aside.contact .btn_contact:hover {
  background-color: #1ab0ec;
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
aside.contact .btn_contact:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
aside.contact p {
    padding: 3% 0 0;
    font-size: 125%;
    line-height: 1.8;
    text-align: center;
}
aside.contact span {
    font-size: 75%;
}
/*pagetop*/
a#pagetop {
    display: block;
	position: relative;
    top: 0;
    left: 0;
    line-height: 0;
    padding-bottom: 0;
    margin-top: -140px;
}
.sp_nav {
	display: none;
}
}


@media screen and (min-width:960px) and ( max-width:1280px) {
	/*　画面サイズが960pxから1280pxまではここを読み込む　*/
	/* header */
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 150px;
    transition: .3s;
    background:rgba(0,0,0,1); 
}
header.is-fixed {
    position: fixed;
    top: -80px;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 5rem;/*80px*/
    background: #000;
    transition: .3s;
}
header > div{
	width: 96%;
	margin: auto;
}	
header h1 {
	float: left;
	width: 260px;
}
header h1 a:hover{
	border: none;
}
header nav {
	float: right;
	width: 600px;
}
#gnav a{
	position: relative;
	display: inline-block;
	font-size: 16px;
	color: #FFF;
}
#gnav a:hover {
	color: #FFF;
}
#gnav a:before,
#gnav a:after{
	position: absolute;
	top: 1.6rem;
	content: "";
	display: inline-block;
	width: 0;
	height: 2px; 
	background: #FFF;
	transition: 0.3s;
	color: #CCC;
}
#gnav a:before{
	left: 50%;
}
#gnav a:after{
	right: 50%;
}
#gnav a:hover:before,
#gnav a:hover:after{
	width: 50%;
}
#nav-drawer {
	display: none;
}
#gnav ul {
	display : table;
	width: 100%;
	height: 80px;
	justify-content: space-between;
}
#gnav ul li{
	display : table-cell;
	vertical-align : middle;
	text-align: right;
}

/* subnav用のheader */
#subnav_area {
	position: fixed;
    top: 80px;
    left: 0;
	z-index: 2;
	width: 100%;
	height: 70px;
    background:rgba(255,255,255,0.9); 
	color: #666;
    font-size: 14px;
    transition: .3s;
}
header.is-fixed #subnav_area {
	height: 48px;
    top: 0;
}
#subnav{
	overflow: hidden;
	margin: 0 auto;
	padding: 1% 0;
	width: 96%;
	height: 100%;
	text-align: center;
}
#subnav ul li{
	float: left;
    margin-right: 4%;
    line-height: 2.2;
}
#subnav ul li:last-child{
    margin-right: 0;
}
#subnav ul li a {
	text-decoration: none;
	color: #000;
}
#subnav ul li.current a {
    display: inline-block;
	height: 100%;
	border-bottom: solid 2px #000;
}
#subnav ul li.pro_logo {
    width: 18%;
    padding-right: 1%;
    transition: .3s;
}
#subnav ul li.pro_logo img {
    width: 100%;
}
header.is-fixed #subnav ul li.pro_logo {
    width: 11%;
    transition: .3s;
}
header.is-fixed #subnav ul li{
    line-height: 2;
}
#subnav ul li .btn_inquiry {
    display: inline-block;
    padding: 0 10px;
    border-radius: 25px;
    text-decoration: none;
    color: #FFF!important;
    background-color: #0066cc;
    transition: .3s;
}
#subnav ul li .btn_inquiry:hover {
  background-color: #0270df;
}


h1{
	margin: 0;
	color: #000;
	font-size: 1rem;/*16px*/
	line-height: 3;
}
h2{
	margin: 0;
	color: #000;
	font-size: 2.5rem;/*40px*/
	line-height: 1.5;
}
h3{
	display: inline-block;
	margin: 0 0 3%;
	color: #000;
	font-size: 1.125rem;/*18px*/
	line-height: 1.5;
	/*border-bottom: 2px solid #000;*/
}
h4{
	margin: 0;
	color: #000;
	font-size: 1.125rem;/*18px*/
	line-height: 1.8;
}
ul,dl {
	margin: 0;
	padding: 0;
}
li{	list-style: none;}
p {margin: 0;}
img {margin: 0;}
figure {margin: 0;}

/* btn */
.btn {
	display: inline-block;
	padding: 0.937rem 1.562rem;
	border: solid 1px #CCC;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1.125rem;
	font-weight: normal;
	text-decoration: none !important;
}
.btn01 {
	background-color: #000;
	color: #CCC !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn:hover {
	background-color: #333333;
}
.btn2 {
	display: inline-block;
	padding: 0.625rem;
	border: solid 3px #0066cc;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1.125rem; /*18px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn02 {
	background-color: #FFF;
	color:  #0066cc;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn2:hover {
	color: #FFF;
	background-color: #0066cc;
	padding: 0.625rem;
}
.btn3 {
	display: inline-block;
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn03 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn3:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
}
.btn_jp_en {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn_jp_en01 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn_jp_en:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
	border-bottom: 0px!important;
}
.btn_area {
	text-align: center;
	margin: 2% 0;
}
.btn_area_right {
	text-align: right;
	margin: 2% 0;
}
.btn_back_area {
	text-align: left;
	margin: 4% 0 2%;
}
.btn_back {
	position: relative;
	display: inline-block;
	padding: 2% 4%;
	background-color: #FFF;
	border: 2px solid #000;
	color: #000;
	font-size: 1.125rem; /*18px*/
	text-align: center;
	text-decoration: none;
}
.btn_back::after {
	position: absolute;
	top: 45%;
	left: 2%;
	content: '';
	margin-top: -5px;
	border: 10px solid transparent;
	border-top-width: 8px;
	border-bottom-width: 8px;
	border-left-color: #000;
	transition: all .2s;
	transform: rotate(-180deg);
}
.btn_back:hover::after {
	left: 1%;
}
.btn_back:hover {
	padding: 2% 4%;
	color: #666;
}
/* contents */
#contentsu_title {
	width: 100%;
	height: 300px;
	background: #333 url(../img/bg_contents_x.png) no-repeat;
	background-position: left top;
}
#contentsu_title > div {
	overflow: hidden;
	width: 80%;
	height: 122px;
	margin: 0 auto;
}
#contentsu_title h2 {
	float: left;
	color: #FFF;
	padding-right: 1.25rem;/*20px*/
	font-size: 3.75rem;/*60px*/
	font-weight: normal;
	vertical-align: middle;
	line-height: 7.5rem;/*120px*/
}
#contentsu_title h3 {
	float: left; 
	color: #FFF;
	font-size: 1.125rem;/*18px*/
	font-weight: normal;
	border: none;
	line-height: 9.375rem;/*150px*/
}
a {
	padding-bottom: 0.125rem; 
	color: #0066cc;
	text-decoration: none;
}
a::hover {
	padding-bottom: 0.125rem; 
	color: #c45500;
	border-bottom: solid 1px #c45500;
}
.contentsu_area_top {
	margin: -240px auto auto;
	width: 96%;
	padding: 3.125rem 0 5rem;
	text-align: center;
}
.contentsu_area {
	margin: 0 auto;
	width: 80%;
	padding: 3.125rem 0 5rem; 
	text-align: center;
}
.contentsu_area_top .inner,
.contentsu_area .inner{
	width: 96.153%;/*1000px*/
	margin: 0 auto;
	text-align: left;
}
h2.contentsu_title {
	display: inline-block;
	margin: 0 0 1%;
	padding: 0 0 0.5%;
	color: #000;
	font-size: 157%;
	border-bottom: solid 4px #000;
}
.contentsu_area_top .title,
.contentsu_area .title {
	margin: 5% 0 0;
	text-align: center;
}
.inner_main{
	width: 100%;
	margin: 0 auto;
	padding: 1.25rem 0 0;
}
/* 製品・導入事例紹介 */
.products_box,
.user_box {
	margin: 2% 0 3%;
	overflow: hidden;
	font-size: 85%;
}
.products_box > dl,
.user_box > dl {
	border: 1px solid #cccccc;
}
.products_box > dl dt,
.user_box > dl dt {
	background: #b4d2e6;
	padding: 8px;
	font-size: 120%;
	font-weight: bold;
	color: #263238;
}
.products_box > dl dd,
.user_box > dl dd {
	overflow: hidden;
	padding: 2%;
}
.products_box .logo{
	float: left;
	width: 20%;
	margin-right: 2%;
}
.user_box .user_photo{
	float: left;
	width: 40%;
	margin-right: 2%;
}
.products_box .text{
	width: 78%;
	float: left;
}
.user_box .text{
	width: 58%;
	float: left;
}
.products_box .title,
.user_box .title{
	margin: 0 0 1%;
	padding: 0 0 1%;
	font-size: 120%;
	font-weight: bold;
	border-bottom: dotted 1px #CCC;
}
.products_box .pro_btn,
.user_box .user_btn{
	display: flex;
	flex-wrap: wrap;
	margin: 2% 0 0;
}
.products_box .pro_btn a,
.user_box .user_btn a {
	margin: 1%;
	padding: 2%;
	color: #FFF;
	text-decoration: none;
	background-color: #0066cc;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */
	transition: all .3s;
}
.products_box .pro_btn a:hover,
.user_box .user_btn a:hover {
	margin: 1%;
	padding: 2%;
	color: #FFF;
	text-decoration: none;
	background-color: #5990c8;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */
	border-bottom: 0px;
}
/*subnav用*/
.subnav_area_top{
    padding-top: 400px;
    padding-bottom: 6%;
}
    
/* footer */	
footer {
	width: 100%;
	height: 180px;
	background-color: #000;
	overflow: hidden;
}
footer > div{
	width: 98%;
	margin: auto;
}
footer .footer_area {
	overflow: hidden;
	padding: 2% 0 2%;
}
footer #footer_logo {
	float: left;
	padding: 0 2% 0 0;
	width: 8%;
}
footer #copyright {
	float: left;
	padding: 3% 0 0;
	color: #CCC;
	font-size: 0.75rem;
}
footer #footer_nav {
	width: 100%;
	height: 50px;
	background-color: #333;
	
}
footer #footer_nav > div{
	width: 98%;
	margin: auto;
}
footer #footer_nav ul {
	display : table;
	float: left;
	width: 400px;
	height: 50px;
	justify-content: space-between;
}
footer #footer_nav ul li{
	display : table-cell ;
	text-align: center;
	vertical-align : middle ;
}
footer #footer_nav ul li a{
	position: relative;
	display: inline-block;
	font-size: 16px;
	color: #FFF;
}
footer #footer_nav ul li a:hover {
	color: #FFF;
}
footer #footer_nav ul li a:before,
footer #footer_nav ul li a:after{
	position: absolute;
	top: 1.6rem;
	content: "";
	display: inline-block;
	width: 0;
	height: 2px; 
	background: #FFF;
	transition: 0.3s;
	color: #CCC;
}
footer #footer_nav ul li a:before{
	left: 50%;
}
footer #footer_nav ul li a:after{
	right: 50%;
}
footer #footer_nav ul li a:hover:before,
footer #footer_nav ul li a:hover:after{
	width: 50%;
}
footer #footer_nav .top_btn {
	position: relative;
	float :right;
	width: 50px;
	height: 50px;
	background: #000;
}
footer #footer_nav .top_btn div{
	position: absolute;
	top: 15px;
	left: 15px;
	width: 15px;
	height: 15px;
	border: 2px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(-45deg);
}
footer #footer_nav .top_btn div a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-999px;
}
footer #page_top a {
	float: right;
	width: 50px;
	height: 50px;
	background: #000;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	transition: 0.5s;
}
footer a {
	color: #FFF;
	text-decoration: none;
}
footer a:visited {
	color: #FFF;
}
footer #page_top a:before {
	content: "";
	width: 15px;
	height: 15px;
	border: solid #FFF;
	border-width: 1px 0 0 1px;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	left: calc(50% - 8px);
}
footer #page_top a:hover {
	opacity: 0.7;
	transition: 0.3s;
	border: none;
}
.sp_br {
	display: none;
}
    
/*190627追加*/
aside.contact {
    width: 100%;
    margin: 0 auto;
    padding: 5% 0;
    background: #F1F1F1;
}
aside.contact > div {
    width: 80%;
    margin: 0 auto;
}
aside.contact .btn_contact {
    display:block;
    width: 40%;
    margin: 0 auto;
    padding: 1% 2%;
    border-radius: 40px;
    background-image: -webkit-linear-gradient(top, #047cf5, #0066cc);
    background-image: linear-gradient(to bottom, #047cf5, #0066cc);
    color:#FFF;
    text-align:center;
    font-size: 156.2%;
    font-weight: bold;
}
aside.contact .btn_contact a {
    color: #000;
    text-align: center;
}
aside.contact .btn_contact:hover {
  background-color: #1ab0ec;
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
aside.contact .btn_contact:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
aside.contact p {
    padding: 3% 0 0;
    font-size: 125%;
    line-height: 1.8;
    text-align: center;
}
aside.contact span {
    font-size: 75%;
}
/*pagetop*/
a#pagetop {
    display: block;
	position: relative;
    top: 0;
    left: 0;
    line-height: 0;
    padding-bottom: 0;
    margin-top: -140px;
}
.sp_nav{display: none;}
}


@media screen and (min-width:600px) and ( max-width:959px) {
	/*　画面サイズが600pxから959pxまではここを読み込む　*/
	/* header */
	header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
    height: 70px;
	padding: 2% 0;
	background: #000;
	transition: .3s;
}
header.is-fixed {
    position: fixed;
    top: 0px;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 70px;
    background: 
    #000;
    transition: .3s;
}
header h1 {
	float: left;
	width: 38%;
    padding-left: 2%;
}
header h1 a:hover{
	border: none;
}
#pc_nav nav{
	display: none;
}
/*nav*/
#nav-drawer {
	float: right;
	position: relative;
	width: 10%;
	padding: 1% 0 0;
}
/*チェックボックス等は非表示に*/
.nav-unshown {
	display:none;
}
/*アイコンのスペース*/
#nav-open {
	position: fixed;
	display: inline-block;
	width: 40px;
	height: 22px;
	vertical-align: middle;
    top: 11px
}

/*ハンバーガーアイコン*/
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	height: 3px;/*線の太さ*/
	width: 40px;/*長さ*/
	border-radius: 3px;
	background: #555;
	display: block;
	content: '';
	cursor: pointer;
}
#nav-open span:before {
	bottom: -10px;
}
#nav-open span:after {
	bottom: -20px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;/*最前面に*/
	width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 12.5rem;/*200px*/
	height: 100%;
	background: #333;
	color: #FFF;
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);/*左に隠しておく*/
}
#nav-content ul {
	padding: 5% 8%;	
}
#nav-content ul a {
	color: #FFF;
	text-decoration: none;
}
#nav-content ul a:hover {
	color: #CCC;
}
#nav-content ul li {
	line-height: 2.5;
}
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}
#nav-input:checked ~ #nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
/* subnav用のheader */
#subnav_area {
	position: fixed;
    top: 70px;
    left: 0;
	z-index: 2;
	width: 100%;
	height: 50px;
    background: #FFF; 
	color: #666;
    font-size: 14px;
    transition: .3s;
}
header.is-fixed #subnav_area {
	height: 45px;
    top: 0;
} 
/*PC用のnav非表示*/
#subnav ul.pc_nav {display: none;}
#subnav{
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
    background: #FFF;
	text-align: center;
}
#subnav ul li {
    border-bottom: solid 1px #F1F1F1;
}
#subnav ul li:last-child{
    border-bottom: 0px;
}
#subnav ul li a{
 position:relative;
 height:55px;
 padding:0 50px;
 display:-webkit-flex;
 display:-ms-flexbox;
 -webkit-align-items:center;
 -ms-flex-align:center;
 align-items:center;
 font-size:16px;
 font-weight:700;
 color:#000;
}
#subnav ul li.current{
	height: 100%;
    background: #F1F1F1;
}
#subnav ul li.pro_logo {
    width: 18%;
    padding-right: 1%;
}
#subnav ul li.pro_logo img {
    width: 100%;
}
header.is-fixed #subnav ul li.pro_logo {
    width: 14%;
    transition: .3s;
}
#subnav ul li .btn_inquiry {
    display: inline-block;
    height: 35px;
    margin: 2% 0;
    padding: 1% 5% 0;
    border-radius: 25px;
    text-decoration: none;
    color: #FFF!important;
    font-size: 14px;
    background-color: #0066cc;
    transition: .3s;
}
#subnav ul li .btn_inquiry:hover {
  background-color: #0270df;
}
.pro_logo {
    width: 25%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
.pro_logo:after {
    content: "";
    position: absolute;
    right: 32%;
    top: 45%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #666;
    border-right: solid 2px#666;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

/*アコーディオン*/
.sp_nav {
	width: 100%;
}
.sp_nav label {
    display: block;
    padding : 2% 2% 2%;
    color :#000;
    font-weight: bold;
    background: #FFF;
    cursor :pointer;
    transition: all 0.2s;
}
.sp_nav input {
    display: none;
}
.sp_nav .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.2s;
}
.sp_nav .accshow > p {
    padding: 2% 0;
    }

.cssacc:checked + .accshow {
    height: auto;
    padding: 5px;
    background: #FFF;
    opacity: 1;
}
.accshow ul {
    padding: 0 3%;
    }
    
h1{
	margin: 0;
	color: #000;
	font-size: 1rem;/*16px*/
	line-height: 1;
}
h2{
	margin: 0;
	color: #000;
	font-size: 2.4rem;/*50px*/
	line-height: 1.5;
}
h3{
	display: inline-block;
	margin: 0 0 5%;
	color: #000;
	font-size: 1.125rem;/*18px*/
	line-height: 1.5;
	/*border-bottom: 2px solid #000;*/
}
h4{
	margin: 0;
	color: #000;
	font-size: 1.125rem;/*18px*/
	line-height: 1.8;
}
ul,dl {
	margin: 0;
	padding: 0;
}
li{	list-style: none;}
p {margin: 0;}
img {margin: 0;}
figure {margin: 0;}

/*btn*/
.btn {
	display: inline-block;
	padding: 0.937rem 1.562rem;
	border: solid 1px #CCC;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1rem;
	font-weight: normal;
	text-decoration: none !important;
}
.btn01 {
	background-color: #000;
	color: #CCC !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn:hover {
	background-color: #333333;
}
.btn2 {
	display: inline-block;
	padding: 2% 4% 1.5%;
	border: solid 3px #0066cc;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1.125rem; /*18px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn02 {
	background-color: #FFF;
	color:  #0066cc;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn2:hover {
	color: #FFF;
	background-color: #0066cc;
	padding: 2% 4% 1.5%;
}
.btn3 {
	display: inline-block;
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn03 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn3:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
}
.btn_jp_en {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn_jp_en01 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn_jp_en:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
	border-bottom: 0px!important;
}
.btn_area {
	text-align: center;
	margin: 2% 0;
}
.btn_area_right {
	text-align: right;
	margin: 2% 0;
}
.btn_back_area {
	text-align: center;
	margin: 4% 0 2%;
}
.btn_back {
	position: relative;
	display: inline-block;
	padding: 2% 6%;
	background-color: #FFF;
	border: 2px solid #000;
	color: #000;
	font-size: 1.125rem; /*18px*/
	text-align: center;
	text-decoration: none;
}
.btn_back::after {
	position: absolute;
	top: 45%;
	left: 2%;
	content: '';
	margin-top: -5px;
	border: 10px solid transparent;
	border-top-width: 8px;
	border-bottom-width: 8px;
	border-left-color: #000;
	transition: all .2s;
	transform: rotate(-180deg);
}
.btn_back:hover::after {
	left: 1%;
}
.btn_back:hover {
	padding: 2% 6%;
	color: #666;
}
/* contents */
#contentsu_title {
	width: 100%;
	height: 20%;
	background: #333 url(../img/bg_contents_x.png) no-repeat;
	background-position: left top;
    background-size: cover;
}
#contentsu_title > div {
	overflow: hidden;
	width: 80%;
	height: 50px;
	margin: 0 auto;
}
#contentsu_title h2 {
	float: left;
	color: #FFF;
	padding-right: 1.25rem;/*20px*/
	font-size: 2.5rem;/*40px*/
	font-weight: normal;
	vertical-align: middle;
	line-height: 8.125rem;/*130px*/
}
#contentsu_title h3 {
	float: left; 
	color: #FFF;
	font-size: 0.875rem;/*14px*/
	font-weight: normal;
	border: none;
	line-height: 9.375rem;/*150px*/
}
a {
	padding-bottom: 0.125rem; 
	color: #0066cc;
	text-decoration: none;
}
a::hover {
	padding-bottom: 0.125rem; 
	color: #c45500;
	border-bottom: solid 1px #c45500;
}
.contentsu_area_top {
	width: 100%;
	padding: 3.125rem 0 5rem; 
	text-align: center;
}
.contentsu_area {
	margin: 0 auto;
	width: 100%;
	padding: 3.125rem 0 3.125rem;
	text-align: center;
}
.contentsu_area_top .inner,
.contentsu_area .inner{
	width: 90%;
	margin: 0 auto;
	text-align: left;
}
h2.contentsu_title {
	display: inline-block;
	margin: 0 0 3%;
	padding: 0 0 0.5%;
	color: #000;
	font-size: 157%;
	border-bottom: solid 4px #000;
}
.contentsu_area_top .title,
.contentsu_area .title {
	margin: 5% 0 0;
	text-align: center;
}
.inner_main{
	width: 100%;
	margin: 0 auto;
	padding: 1.25rem 0 0;
}
/* 製品・導入事例紹介 */
.products_box,
.user_box {
	margin: 2% 0 3%;
	overflow: hidden;
	font-size: 85%;
}
.products_box > dl,
.user_box > dl {
	border: 1px solid #cccccc;
}
.products_box > dl dt,
.user_box > dl dt {
	background: #b4d2e6;
	padding: 8px;
	font-size: 120%;
	font-weight: bold;
	color: #263238;
}
.products_box > dl dd,
.user_box > dl dd {
	overflow: hidden;
	padding: 2%;
}
.products_box .logo{
	float: left;
	width: 20%;
	margin-right: 2%;
}
.user_box .user_photo{
	float: left;
	width: 40%;
	margin-right: 2%;
}
.products_box .text{
	width: 78%;
	float: left;
}
.user_box .text{
	width: 58%;
	float: left;
}
.products_box .title,
.user_box .title{
	margin: 0 0 1%;
	padding: 0 0 1%;
	font-size: 120%;
	font-weight: bold;
	border-bottom: dotted 1px #CCC;
}
.products_box .pro_btn,
.user_box .user_btn{
	display: flex;
	flex-wrap: wrap;
	margin: 2% 0 0;
}
.products_box .pro_btn a,
.user_box .user_btn a {
	margin: 1%;
	padding: 2%;
	color: #FFF;
	text-decoration: none;
	background-color: #0066cc;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */
	transition: all .3s;
}
.products_box .pro_btn a:hover,
.user_box .user_btn a:hover {
	margin: 1%;
	padding: 2%;
	color: #FFF;
	text-decoration: none;
	background-color: #5990c8;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */
	border-bottom: 0px;
}
    
/*subnav用*/
.subnav_area_top{
    padding-top: 180px;
}
    
/* footer */	
footer {
	width: 100%;
	height: 150px;
	background-color: #000;
	overflow: hidden;
}
footer > div{
	width: 98%;
	margin: auto;
}
footer .footer_area {
	overflow: hidden;
	padding: 3% 0 2%;
}
footer #footer_logo {
	float: left;
	padding: 0 2% 0 0;
	width: 10%;
}
footer #copyright {
	float: left;
	padding: 3% 0 0;
	color: #CCC;
	font-size: 0.75rem;
}
footer #footer_nav {
	width: 100%;
	height: 50px;
	background-color: #333;
	
}
footer #footer_nav > div{
	width: 98%;
	margin: auto;
}
footer #footer_nav ul {
	display : table;
	float: left;
	width: 400px;
	height: 50px;
	justify-content: space-between;
}
footer #footer_nav ul li{
	display : table-cell ;
	text-align: center;
	vertical-align : middle ;
}
footer #footer_nav ul li a{
	position: relative;
	display: inline-block;
	font-size: 16px;
	color: #FFF;
}
footer #footer_nav ul li a:hover {
	color: #FFF;
}
footer #footer_nav ul li a:before,
footer #footer_nav ul li a:after{
	position: absolute;
	top: 1.6rem;
	content: "";
	display: inline-block;
	width: 0;
	height: 2px; 
	background: #FFF;
	transition: 0.3s;
	color: #CCC;
}
footer #footer_nav ul li a:before{
	left: 50%;
}
footer #footer_nav ul li a:after{
	right: 50%;
}
footer #footer_nav ul li a:hover:before,
footer #footer_nav ul li a:hover:after{
	width: 50%;
}
footer #footer_nav .top_btn {
	position: relative;
	float :right;
	width: 50px;
	height: 50px;
	background: #000;
}
footer #footer_nav .top_btn div{
	position: absolute;
	top: 15px;
	left: 15px;
	width: 15px;
	height: 15px;
	border: 2px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(-45deg);
}
footer #footer_nav .top_btn div a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-999px;
}
footer #page_top a {
	float: right;
	width: 50px;
	height: 50px;
	background: #000;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	transition: 0.5s;
}
footer a {
	color: #FFF;
	text-decoration: none;
}
footer a:visited {
	color: #FFF;
}
footer #page_top a:before {
	content: "";
	width: 15px;
	height: 15px;
	border: solid #FFF;
	border-width: 1px 0 0 1px;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	left: calc(50% - 8px);
}
footer #page_top a:hover {
	opacity: 0.7;
	transition: 0.3s;
	border: none;
}
.sp_br {
	display: none;
}
/*190627追加*/
aside.contact {
    width: 100%;
    margin: 0 auto;
    padding: 5% 0;
    background: #F1F1F1;
}
aside.contact > div {
    width: 80%;
    margin: 0 auto;
}
aside.contact .btn_contact {
    display:block;
    width: 60%;
    margin: 0 auto;
    padding: 1.5% 2%;
    border-radius: 40px;
    background-image: -webkit-linear-gradient(top, #047cf5, #0066cc);
    background-image: linear-gradient(to bottom, #047cf5, #0066cc);
    color:#FFF;
    text-align:center;
    font-size: 125%;
    font-weight: bold;
}
aside.contact .btn_contact a {
    color: #000;
    text-align: center;
}
aside.contact .btn_contact:hover {
  background-color: #1ab0ec;
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
aside.contact .btn_contact:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
aside.contact p {
    padding: 3% 0 0;
    font-size: 125%;
    line-height: 1.8;
    text-align: center;
}
aside.contact span {
    font-size: 75%;
}
}


@media screen and (min-width:320px) and ( max-width:599px) { 
	/*　画面サイズが320pxからはここを読み込む　*/
html {
	overflow: auto;
}
body {
	overflow: hidden;
	min-width: 100%;
}
    
.mt50{margin-top: 5%!important;}
.mt80{margin-top: 8%!important;}
.mb80{margin-bottom: 8%!important;}
    
/* header */
header {
position: fixed;
top: 0;
left: 0;
z-index: 2;
width: 100%;
height: 50px;
padding: 2% 2%;
background: #000;
transition: .3s;
}
header.is-fixed {
    position: fixed;
    /* top: -50px; */
    left: 0;
    z-index: 3;
    width: 100%;
    height: 50px;
    background: 
    #000;
    transition: .3s;
}
header h1 {
	float: left;
	width: 38%;
    padding-left: 2%;
}
header h1 a:hover{
	border: none;
}
#pc_nav nav{
	display: none;
}

/*nav*/
#nav-drawer {
	z-index: 999;
	float: right;
	position: relative;
	width: 10%;
	padding: 2% 0 0;
}
/*チェックボックス等は非表示に*/
.nav-unshown {
	display:none;
}
/*アイコンのスペース*/
#nav-open {
	position: fixed;
	display: inline-block;
	width: 30px;
	height: 20px;
	vertical-align: middle;
    top:11px;
}

/*ハンバーガーアイコン*/
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	height: 3px;/*線の太さ*/
	width: 30px;/*長さ*/
	border-radius: 3px;
	background: #555;
	display: block;
	content: '';
	cursor: pointer;
}
#nav-open span:before {
	bottom: -10px;
}
#nav-open span:after {
	bottom: -20px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;/*最前面に*/
	width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 12.5rem;/*200px*/
	height: 100%;
	background: #333;
	color: #FFF;
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);/*左に隠しておく*/
}   
#nav-content ul {
	padding: 5% 8%;	
}
#nav-content ul a {
	color: #FFF;
	text-decoration: none;
}
#nav-content ul a:hover {
	color: #CCC;
}
#nav-content ul li {
	line-height: 2.5;
}
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}
#nav-input:checked ~ #nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

/* subnav用のheader */
#subnav_area {
	position: fixed;
    top: 50px;
    left: 0;
	z-index: 2;
	width: 100%;
	height: 50px;
    background: #FFF; 
	color: #666;
    font-size: 14px;
    transition: .3s;
}
header.is-fixed #subnav_area {
	height: 45px;
    top: 0;
} 
/*PC用のnav非表示*/
#subnav ul.pc_nav {display: none;}
#subnav{
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
    padding: 2% 0;
    background: #FFF;
	text-align: center;
}
#subnav ul li {
    border-bottom: solid 1px #F1F1F1;
}
#subnav ul li:last-child{
    border-bottom: 0px;
}
#subnav ul li a{
 position:relative;
 height:55px;
 padding:0 50px;
 display:-webkit-flex;
 display:-ms-flexbox;
 -webkit-align-items:center;
 -ms-flex-align:center;
 align-items:center;
 font-size:16px;
 font-weight:700;
 color:#000;
}
#subnav ul li.current{
	height: 100%;
    background: #F1F1F1;
}
#subnav ul li.pro_logo {
    width: 18%;
    padding-right: 1%;
}
#subnav ul li.pro_logo img {
    width: 100%;
}
header.is-fixed #subnav ul li.pro_logo {
    width: 14%;
    transition: .3s;
}
#subnav ul li .btn_inquiry {
    display: inline-block;
    height: 35px;
    margin: 2% 0;
    padding: 2% 5% 0;
    border-radius: 25px;
    text-decoration: none;
    color: #FFF!important;
    font-size: 14px;
    background-color: #0066cc;
    transition: .3s;
}
#subnav ul li .btn_inquiry:hover {
  background-color: #0270df;
}
.pro_logo {
    width: 35%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
.pro_logo:after {
    content: "";
    position: absolute;
    right: 24%;
    top: 42%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #666;
    border-right: solid 2px#666;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

/*アコーディオン*/
.sp_nav {
	width: 100%;
}
.sp_nav label {
    display: block;
    padding : 2% 2% 2%;
    color :#000;
    font-weight: bold;
    background: #FFF;
    cursor :pointer;
    transition: all 0.2s;
}
.sp_nav input {
    display: none;
}
.sp_nav .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.2s;
}
.sp_nav .accshow > p {
    padding: 2% 0;
    }

.cssacc:checked + .accshow {
    height: auto;
    padding: 5px;
    background: #FFF;
    opacity: 1;
}
.accshow ul {
    padding: 0 3%;
    }
    
h1{
	margin: 0;
	color: #000;
	font-size: 1rem;/*16px*/
	line-height: 1;
}
h2{
	margin: 0;
	color: #000;
	font-size: 1.875rem;/*30px*/
	line-height: 1.5;
}
h3{
	display: inline-block;
	margin: 0 0 5%;
	color: #000;
	font-size: 0.75rem;/*12px*/
	line-height: 1.5;
	/*border-bottom: 2px solid #000;*/
}
h4{
	margin: 0;
	color: #000;
	font-size: 1rem;/*16px*/
	line-height: 1.8;
}
ul,dl {
	margin: 0;
	padding: 0;
}
li{	list-style: none;}
p {margin: 0;}
img {margin: 0;}
figure {margin: 0;}

/*btn*/
.btn {
	display: inline-block;
	padding: 0.937rem 1.562rem;
	border: solid 1px #CCC;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1rem;
	font-weight: normal;
	text-decoration: none !important;
}
.btn01 {
	background-color: #000;
	color: #CCC !important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn:hover {
	background-color: #333333;
}
.btn2 {
	display: inline-block;
	padding: 2% 4% 1.5%;
	border: solid 3px #0066cc;
	border-radius: 0.312rem;
	color: #FFF;
	font-size: 1.125rem; /*18px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn02 {
	background-color: #FFF;
	color:  #0066cc;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn2:hover {
	color: #FFF;
	background-color: #0066cc;
	padding: 2% 4% 1.5%;
}
.btn3 {
	display: inline-block;
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn03 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn3:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
}
.btn_jp_en {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color: #FFF!important;
	font-size: 1rem; /*16px*/
	font-weight: normal;
	text-decoration: none !important;
}
.btn_jp_en01 {
	padding: 1% 2%;
	background: #333;
	border-radius: 0.312rem;
	color:  #FFF!important;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn_jp_en:hover {
	border-radius: 0.312rem;
	color: #FFF!important;
	background-color: #666;
	padding: 1% 2%;
	border-bottom: 0px!important;
}
.btn_area {
	text-align: center;
	margin: 3% 0;
}
.btn_back_area {
	text-align: center;
	margin: 4% 0 2%;
}
.btn_area_right {
	text-align: right;
	margin: 2% 0;
}
.btn_back {
	position: relative;
	display: inline-block;
	padding: 2% 11%;
	background-color: #FFF;
	border: 2px solid #000;
	color: #000;
	font-size: 90%;
	text-align: center;
	text-decoration: none;
}
.btn_back::after {
	position: absolute;
	top: 45%;
	left: 2%;
	content: '';
	margin-top: -5px;
	border: 10px solid transparent;
	border-top-width: 8px;
	border-bottom-width: 8px;
	border-left-color: #000;
	transition: all .2s;
	transform: rotate(-180deg);
}
.btn_back:hover::after {
	left: 1%;
}
.btn_back:hover {
	padding: 2% 11%;
	color: #666;
}
/* contents */
#contentsu_title {
	width: 100%;
	padding: 8% 0 0;
	background: #333 url(../img/bg_contents_x.png) no-repeat;
	background-position: left top;
	background-size: cover;
}
#contentsu_title > div {
	overflow: hidden;
	width: 60%;
    height: 20px;
	margin: 0 auto;
	text-align: center;
}
#contentsu_title h2 {
	color: #FFF;
	font-size: 1.875rem;/*30px*/
	font-weight: normal;
	vertical-align: middle;
	line-height: 1.875rem;
}
#contentsu_title h3 {
	color: #FFF;
	font-size: 0.875rem;/*14px*/
	font-weight: normal;
	line-height: 1.875rem;
	border: none;
}
a {
	padding-bottom: 0.125rem; 
	color: #0066cc;
	text-decoration: none;
}
a::hover {
	padding-bottom: 0.125rem; 
	color: #c45500;
	border-bottom: solid 1px #c45500;
}
.contentsu_area_top {
	width: 100%;
	padding: 8% 0 8%;
	text-align: center;
}
.contentsu_area {
	margin: 0 auto;
	width: 100%;
	padding: 8% 0 8%;
	text-align: center;
}
h2.contentsu_title {
	display: inline-block;
	margin: 0 0 3%;
	padding: 0 2% 0.5%;
	color: #000;
	font-size: 113%;
	border-bottom: solid 4px #000;
}
.contentsu_area_top .title,
.contentsu_area .title {
	margin: 5% 0 0;
	text-align: center;
}
.contentsu_area_top .inner,
.contentsu_area .inner{
	width: 90%;
	margin: 0 auto;
	text-align: left;
}

/*subnav用*/
.subnav_area_top{
    padding-top: 130px;
}  
    
/* footer */	
footer {
	width: 100%;
	height: 150px;
	background-color: #000;
	overflow: hidden;
}
footer > div{
	width: 100%;
	margin: auto;
	padding: 0 2%;
	text-align: center;
}
footer .footer_area {
	width: 80%;
	padding: 0 0 2%;
}
footer #footer_logo {
	text-align: center;
	padding: 5% 2% 0 0;
	width: 15%;
	margin: 0 auto;
}
footer #copyright {
	padding: 2% 0 0;
	color: #CCC;
	font-size: 0.75rem;
}
footer #footer_nav {
	width: 100%;
	height: 30%;
	background-color: #333;
	
}
footer #footer_nav > div{
	width: 98%;
	margin: auto;
}
footer #footer_nav ul {
	display : none;
}
footer #footer_nav ul li{
	display : table-cell ;
	text-align: center;
	vertical-align : middle ;
}
footer #footer_nav .top_btn {
	position: relative;
	float :right;
	width: 20%;
	height: 20%;
	background: #000;
}
footer #footer_nav .top_btn div{
	position: absolute;
	top: 15px;
	left: 15px;
	width: 15px;
	height: 15px;
	border: 2px solid;
	border-color: #FFF #FFF transparent transparent;
	transform: rotate(-45deg);
}
footer #footer_nav .top_btn div a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-indent:-999px;
}

footer #page_top a {
	float: right;
	width: 50px;
	height: 50px;
	background: #000;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	transition: 0.5s;
}
footer a {
	color: #FFF;
	text-decoration: none;
}
footer a:visited {
	color: #FFF;
}
footer a:hover {
	padding-bottom: 2px;
	border-bottom: solid 1px #FFF;
	color: #FFF;
	text-decoration: none;
}
footer #page_top a:before {
	content: "";
	width: 15px;
	height: 15px;
	border: solid #FFF;
	border-width: 1px 0 0 1px;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 4px);
	left: calc(50% - 8px);
}
footer #page_top a:hover {
	opacity: 0.7;
	transition: 0.3s;
	border: none;
}
.pc_br {
	display: none;
}
/*190627追加*/
aside.contact {
    width: 100%;
    margin: 0 auto;
    padding: 10% 0;
    background: #F1F1F1;
}
aside.contact > div {
    width: 90%;
    margin: 0 auto;
}
aside.contact .btn_contact {
    display:block;
    width: 90%;
    margin: 0 auto;
    padding: 3% 2%;
    border-radius: 40px;
    background-image: -webkit-linear-gradient(top, #047cf5, #0066cc);
    background-image: linear-gradient(to bottom, #047cf5, #0066cc);
    color:#FFF;
    text-align:center;
    font-size: 112.5%;
    font-weight: bold;
}
aside.contact .btn_contact a {
    color: #000;
    text-align: center;
}
aside.contact .btn_contact:hover {
  background-color: #1ab0ec;
  background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
  background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}
aside.contact .btn_contact:active {
  background: #1a92c2;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
  color: #1679a1;
  text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}
aside.contact p {
    padding: 3% 0 0;
    font-size: 100%;
    line-height: 1.5;
    text-align: center;
}
}
/* englishボタン */
#footer_nav > .footer_nav-outer{
    display: flex;
}
#footer_nav .eng-footer{
    width:98%;
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.eng-footer > dt{
    flex: 9;
}
.eng-footer > dd{
    flex:1;
    margin-bottom: 0px;
}

.engbtn{
    vertical-align: middle;
    text-align: center;
    overflow: hidden;
    background-color: #7a7a7a;
    border-radius: 20px;
    color: #fff;
    padding: 3px;
    margin-right:8%;
   
}

@media screen and (max-width: 600px){
    .engbtn{
        display: none;
    }
}

.engbtn a{
    display: block;
    width: 100%;
}


/* englishボタン */
/*downloadページ*/

.download_wrapper {
  width: 1140px;
  margin: 0 auto;
  padding-top: 380px;
}
@media screen and (max-width: 1140px) {
  .download_wrapper {
    width: 90%;
    padding-top: 160px;
  }
}
.download_wrapper .download_ttl {
  margin: 0 0 6%;
  padding: 1.5% 0 1%;
  color: #000;
  font-size: 157%;
  border-top: solid 2px #4f5461;
  border-bottom: solid 4px #4f5461;
  text-align: center;
}

.download_top {
  width: 1140px;
  margin: 0 auto;
}
@media screen and (max-width: 1140px) {
  .download_top {
    width: 100%;
  }
}
.download_top .download_heading {
  text-align: center;
  width: 100%;
  margin: 0 auto 20px;
  font-size: 1.25rem;
}
.download_top p {
  text-align: center;
  width: 100%;
  margin: 0 auto 90px;
}
.download_top .download_thum-outer {
  width: 100%;
  margin: 0 auto 100px;
  display: flex;
  justify-content: space-around;
  text-align: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 1140px) {
  .download_top .download_thum-outer {
    flex-direction: column;
  }
}
.download_top .download_thum-outer .download_thum-inner {
  flex-basis: 29%;
  box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.1);
  padding: 0 0 60px;
  margin-bottom: 80px;
}
@media screen and (max-width: 1140px) {
  .download_top .download_thum-outer .download_thum-inner {
    flex-basis: 80%;
    margin: 0 auto 90px;
  }
}
.download_top .download_thum-outer .download_thum-inner .download_imgunit {
  margin: 0 0 30px;
}
.download_top .download_thum-outer .download_thum-inner .download_thum-text {
  margin: 0 0 35px;
}
.download_top .download_thum-outer .download_thum-inner .download_thum-inner > .download_thum-text:first-child,
.download_top .download_thum-outer .download_thum-inner .download_thum-inner > .download_thum-text:nth-child(2) {
  line-height: 4;
}
.download_top .download_thum-outer .download_thum-inner a {
  padding-bottom: 0;
}
.download_top .download_thum-outer .download_thum-inner a .download_thum-btn {
  display: inline-block;
  text-align: center;
  border-radius: 30px;
  background-color: #309AF1;
  padding: 2.5% 7%;
  color: #fff;
  transition: all 0.5s 0s ease;
  border: 3px solid #309AF1;
  line-height: 1.8;
}
.download_top .download_thum-outer .download_thum-inner a .dowonload_active {
  background-color: white;
  color: #309AF1;
  transition: all 0.6s 0s ease;
  border: 3px solid #309AF1;
}

header {
  width: 100%;
}
header .fixmenu {
  width: 1140px;
}
header .fixmenu #h_area {
  display: flex;
}
/*downloadページここまで*/
/*download disitalassets lp 用*/

.dl_da-header {
    width: 100%;
    background-color: #000;
    height: auto;
    position: relative;
    
  }
  @media screen and (max-width: 1140px) {
    .dl_da-header {
        padding: 0;
  }
}

  .dl-da_header-nav{
  width: 1140px;
  margin: 0 auto;
  padding: 40px 0 38px 0;
  overflow: hidden;
  z-index: 31;
  float: none;
}
@media screen and (max-width: 1140px) {
    .dl-da_header-nav {
    width: 100%;
  }
}
.nav_outer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  
}
.nav_outer > dt {
  flex: 1;
  margin-right: 20px;
}

.nav_outer > dd {
  flex: 8;
  margin-bottom: 0;
  
}
.nav_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  
}

.nav_inner > li {
    font-size: 1rem;
    color: #fff;
    font-size: 0.8rem;
    margin-left: 30px;
}
.nav_inner > li:nth-child(6){
    background: linear-gradient(to bottom, rgba(192,47,49,1) 0%,rgba(223,3,26,1) 100%);
    margin: -10px 0 0px 70px;
    padding: 8px 14px;
    text-align: center;
    border-radius: 47px;
}
.nav_inner > li:last-child{
    background: rgb(153,153,153);
    margin: -10px 0 0 8px;
    padding: 8px 24px;
    text-align: center;
    border-radius: 25px;
}

.nav_inner > li a{
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}


@media screen and (max-width: 1140px) {
    .dl-da_header-nav {
    display: none;
  }
}

/* ハンバーガー */


.dl_da_header--hambergar {
    display: none;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 22;
    cursor: pointer;
  }
  .dl_da_header--hambergar > span {
    display: block;
    width: 30px;
    height: 5px;
    background-color: #9e9e9e;
    margin: 6px 0 6px 0;
    border-radius: 5px;
    transition: all 0.7s 0s ease;
  }
  @media screen and (max-width: 1140px) {
  .dl_da_header--hambergar {
      display: block;
      width: 50px;
    }
  }
  
  .dl_da_header--hambergar--active {
    z-index: 22;
  }
  .dl_da_header--hambergar--active > span:first-child {
    transform: translateY(11px) rotate(45deg);
    transition: all 0.7s 0s ease;
    background-color: #fff;
  }
  .dl_da_header--hambergar--active > span:nth-child(2) {
    transform: rotate(-220deg);
    transition: all 0.7s 0s ease;
    background-color: #fff;
  }
  .dl_da_header--hambergar--active > span:nth-child(3) {
    opacity: 0;
    transition: all 0.3s 0s ease;
  }


/* ドロワー */

.dl_da_spnav-outer{
  transition: all 0.8s 0s ease;
  width: 100%;
  height: 100%;
  background-color: transparent;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 20;
  pointer-events: none;
  transition: all 0.5s 0.2s ease;
}

.dl_da_spnav-inner {
  transform: translateX(-100%);
  padding: 60px 50px 30px 50px;
  transition: all 0.7s 0s ease;
  width: 60%;
  height: 100%;
  background-color: #000000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 21;
}
.dl_da_spnav-inner > li {
  margin-bottom: 20px;
  font-size: 0.8rem;
  color: #ffffff;
}
.dl_da_spnav-inner > li > a {
    color: #ffffff;
  }

.show {
  transition: all 0.9s 0s ease;
}
.show .dl_da_spnav-outer {
  background-color: rgba(0, 0, 0, 0.6);
  pointer-events: auto;
}
.activeMenu {
  transform: translateX(0%);
  transition: all 0.6s 0s ease;
}
/*download disitalassets lp 用*/

/*pim用 0720追加*/
.pim-wrapper {
  width: 1140px;
  margin: 0 auto;
  padding: 380px 0 0 0;
}
@media screen and (max-width: 1140px) {
  .pim-wrapper {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .pim-wrapper {
    padding: 30% 0 0 0;
  }
}
@media screen and (max-width: 414px) {
  .pim-wrapper {
    padding: 40% 0 0 0;
  }
}
.pim-wrapper .pim_ttl {
  margin: 0 0 6%;
  padding: 1.5% 0 1%;
  color: #000;
  font-size: 157%;
  border-top: solid 2px #4f5461;
  border-bottom: solid 4px #4f5461;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .pim-wrapper .pim_ttl {
    font-size: 117%;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
/* .pim-wrapper .pim_ttl::after {
  content: "";
  display: inline-block;
  width: 145px;
  height: 29px;
  background-image: url(https://www.cierto-ccc.com/cierto/img/ciert-plus_logo.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 40px;
  vertical-align: text-bottom;
}*/
@media screen and (max-width: 960px) {
  .pim-wrapper .pim_ttl::after {
    display: block;
    margin: 0 auto;
    margin: 20px auto;
  }
}
.pim-wrapper .pim_info_area {
  width: 80%;
  margin: 0 auto;
}
.pim-wrapper .pim_info_area .pim_heading {
  width: 100%;
  margin: 0 0 9%;
  padding: 1.5% 0 1%;
  color: #000;
  font-size: 130%;
  border-top: solid 2px #4f5461;
  border-bottom: solid 4px #4f5461;
  text-align: center;
}
.pim-wrapper .pim_info_area .pim_info_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 960px) {
  .pim-wrapper .pim_info_area .pim_info_container {
    flex-direction: column;
  }
}
.pim-wrapper .pim_info_area .pim_info_container .info_outer {
  flex-basis: 48%;
  margin: 0 0 10%;
}
.pim-wrapper .pim_info_area .pim_info_container .info_outer .info_inner_ttl {
  border-left: solid 8px #206FB1;
  font-size: 120%;
  padding: 0 0 0 5%;
  font-weight: 700;
  text-align: left;
  line-height: 1.8;
  margin: 0 0 7%;
}
.pim-wrapper .pim_info_area .pim_info_container .info_outer .info-inner {
  display: flex;
  justify-content: center;
}
.pim-wrapper .pim_info_area .pim_info_container .info_outer .info-inner li p {
  text-align: left;
}
/*pim用 0720追加　ここまで*/

/*pim用 1023追加　 ここから*/

.pim_info_area .pim_info_container {
  width: 100%;
  margin: 0 auto;
}
.pim_info_area .pim_info_container li {
  margin: 0 0 60px;
}
.pim_info_area .pim_info_container li .pim-info_ttl {
  margin: 0 0 20px;
  text-align: left;
  font-weight: 800;
  font-size: 1.2rem;
  border-left: solid 7px #0071BC;
  padding-left: 14px;
}
.pim_info_area .pim_info_container li .pim-info_outer {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1140px) {
  .pim_info_area .pim_info_container li .pim-info_outer {
    display: block;
  }
}
.pim_info_area .pim_info_container li .pim-info_outer dt {
  flex: 1;
  text-align: left;
  margin: 0 35px 0 0;
}
@media screen and (max-width: 1140px) {
  .pim_info_area .pim_info_container li .pim-info_outer dt {
    margin: 0 0 35px 0;
  }
}
.pim_info_area .pim_info_container li .pim-info_outer dd {
  flex: 1;
}
.pim_info_area .pim_info_container li .pim-info_outer dd .pim-img {
  width: 100%;
  margin: 0 auto;
  border: solid 1px #e5e5e5;
}
.pim_info_area .pim_info_container li .pim-info_outer dd .pim-img img {
  width: 100%;
  height: auto;
}
.pim_info_area .pim_info_container li > p {
  text-align: left;
}
.pim_info_area .pim_info_container li:first-child > dl {
  display: block;
}
.pim_info_area .pim_info_container li:first-child > dl dt {
  margin: 0 0 35px 0;
}
.pim_info_area .pim_info_container li:first-child > dl dd .pim-img {
  width: 85%;
}
@media screen and (max-width: 1140px) {
  .pim_info_area .pim_info_container li:first-child > dl dd .pim-img {
    width: 100%;
  }
}

/*pim用 1023追加　 ここまで*/

/*コンセプト動画用 3015追加　 ここから*/

.contentsu_area_movie {
    width: min(90%, 560px);
    margin: 0 auto 80px;

}
.contentsu_area_movie > h2 {
    text-align: center;
}
.contentsu_area_movie > h3 {
    display: block;
    text-align: center;
    margin-bottom: 30px;
}
.conceptMovie {
    width: min(90%, 800px);
    margin: 0 auto;
}
/*コンセプト動画用 3015追加　 ここまで*/






