@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese');
@import url(https://fonts.googleapis.com/css?family=Merriweather:400,900);


/**
 * reset
 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, /*sup, */tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video, main {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 14px;
	font-weight: normal;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
}

sup {
	vertical-align: top;
    font-size: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: normal;
	font-style: normal;
	background: transparent;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display: block;
	margin: 0;
	font-size:120%;
}

nav.pc {
	height: 45px;
	margin: 0 15px;
	transition: .3s;
}

#client-testimonial {
	text-align: left;
	height: inherit;
	padding:0; 
	margin-bottom:8%; 
	background: #486b8c;
}

.user-video {
    position: absolute;
    opacity: 0.8;
	top: -40%;
}


#user-link {
    margin: 180px auto;
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}
.is-hide {
  transform: translateY(-100%);
}

body {
	color: #414242;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif\9;
	-ms-font-feature-settings: "normal";
	text-align: left;
	overflow-x:hidden;
}


@media all and (-ms-high-contrast: none){
	/* IE10以上 */
	body {
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	}
}

ol, ul {
	list-style: none;
}

a {
  text-decoration: none;
  color: #368fef;
}



/**
 * base
 */
.header {
	width: 100%;
	height:112px;
	text-align: center;
	font-size: 13px;
	background: white;
	position: fixed;
	box-shadow: 0 3px 5px rgba(0, 79, 153, 0.14);
	z-index:1000;
	line-height:normal;
	top:0;
}

div.content_box {
	padding-top: 112px;
}

.contents {
	width: 100%;
	height: 100%;
}

.contents__inner {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0 0 0;
	color: #fff;
}

.contents__inner h1 {
    margin-top:0;
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
    padding: 15px 0 5px 30px;
}


/**
 * btn
 */
.btn__box {
	width: 250px;
	height: 50px;
	line-height: 50px;
	margin: 100px auto 0;
	font-size: 13px;
}

.btn__box a {
	position: relative;
	display: block;
	color: #666;
	background: #fff;
}

.btn__box a:before {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	box-sizing: border-box;
	width: 250px;
	height: 50px;
	border: 1px solid #666;
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
}

.btn__box a:hover:before {
	-webkit-transform: translate(10px, 10px);
	transform: translate(10px, 10px);
}


/**
 * menu
 */
.menu {
	position: relative;
	width: 100%;
	height: 45px;
	margin: 0 auto;
}

.menu > li {
	float: left;
	height: 45px;
	padding: 0 10px;
	line-height: 50px;
	background: rgb(255, 255, 255);
	position:relative;
}

.menu > li a {
	display: block;
	color: #004f99;
	font-weight: 500;
	font-weight: 500\9;
	font-size:14px;
	line-height: 50px;
}

@media all and (-ms-high-contrast: none){

  .menu > li a {
    font-weight: 500; /* IE10以上 */
  }
  
	.menu > li {
		padding: 0 8px;
	}
}

@supports (-ms-ime-align: auto) {
  /* Edge のみ適用される */
	.menu > li {
		padding: 0 8px;
	}
}

.menu > li a:hover {
	color: #055681;
}

.menu__none:hover,
.menu__multi:hover,
.menu__mega:hover,
.menu__single:hover {
  -webkit-transition: .2s ease;
  transition: .2s ease;
  border-bottom: 5px solid #1b68ca;
}

.menu__second-level li {
  border-top: 1px solid #f0f0fa;
}

.menu__third-level li {
  border-top: 1px solid #111;
}

.menu__second-level li a.sub-t {
	border-left: 7px solid #e4edf9;
	margin-bottom: 5px;
}


.menu__second-level li a:hover {
  background: #368fef;
}

.menu__second-level li a.sub-t:hover {
/*  background: none; */
}

.menu__third-level li a:hover {
  background: #2a1f1f;
}

.menu__fourth-level li a:hover {
  background: #1d0f0f;
}



.menu:before,
.menu:after {
  content: "";
  display: table;
}

.menu:after {
  clear: both;
}

.menu {
  *zoom: 1;
}


/**
 * single menu
 */
.menu > .menu__single {
  position: relative;
}

.menu > .language-title {
    float: right;
    border: 2px solid #e6f2ff;
    height: 27px;
    width:64px;
    margin-top: 8px;
    line-height: 28px;
    padding: 1px 8px;
    margin:10px 8px;
    cursor:pointer;
}


.menu > li.language-title:hover a{
	color:white;
}

.menu > .language-title:hover {
	background:#5881ad;
	border:2px solid #5881ad;
}

.menu > .search-title {
    float: right;
    border: 2px solid #5881ad;
    width:25px;
    height: 26px;
    margin-top: 8px;
    line-height: 28px;
    border-radius: 5px;
    padding: 1px 8px;
    margin:10px 8px;
    background:#5881ad;
    color:white;
}

.menu > .search-title:hover {
	background:#004f99;
	border:2px solid #004f99;
}

.menu__single .menu__second-level {
  position: absolute;
  top: 40px;
  background-color: rgba(16,61,132,0.9);
  -webkit-transition: .2s ease;
  transition: .2s ease;
  visibility: hidden;
  opacity: 0;
}

.menu__single .language-down {
    margin: -19px 0 0 -10px;
    width: 80px;
    background: #5881ad;
    border: 2px solid #5881ad;
}


.menu__single:hover > .menu__second-level {
  top: 50px;
  visibility: visible;
  opacity: 1;
}

.menu__single .menu__second-level li,
.menu__single .menu__second-level li a {
	color: white;
	font-weight: normal;
}


/**
 * mega menu
 */
.menu__mega .menu__second-level {
  position: absolute;
  top: 40px;
  left: 0;
  box-sizing: border-box;
  width: 850px;
  padding: 20px;
  background-color: rgba(16,61,132,0.9);
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

.menu__mega:hover .menu__second-level {
  top: 50px;
  visibility: visible;
  opacity: 1;
}

.menu__mega .menu__second-level > li {
  float: left;
  width: 32%;
  border: none;
}

.menu__mega .menu__second-level > li:nth-child(3n+2) {
  margin: 0 1%;
}

.menu__mega:hover .menu__second-level li a {
	color: white;
	text-align: left;
	padding-left: 15px;
	line-height: 2.6;
	font-weight: normal;
}

.menu__second-level li ul li{
	border: none;
	height: 35px;
	line-height: 2.4;
}

.menu__second-level li ul li a,
.menu__second-level li ul li a:hover {
	height: 35px;
}

.icon {
 padding-right: 7px;
}

div.sitemap{
	background: #e7e7e9;
	padding-bottom: 50px;
}

div.sitemap-box {
	width: 1000px;
	margin: 0 auto;
	padding: 50px 0;
}

div.sitemap-box ul.first,
div.sitemap-box ul.second {
	width: 33%;
	float: left;
	text-align: left;
}

div.sitemap-box ul.third {
	width: 34%;
	float: right;
	text-align: left;
}

div.sitemap-box a {
	color: #605655;
}

div.sitemap-box a:hover {
	color: #368fef;
}

div.sitemap-box ul li ul {
	margin: 10px 0 20px 0;
}

div.sitemap-box ul > li,
div.sitemap-box ul > li a {
	font-size: 16px;
	font-weight: 500;
}

div.sitemap-box ul > li.wide {
	margin-bottom: 20px;
}

div.sitemap-box ul li ul li,
div.sitemap-box ul li ul li a {
	font-size: 12px;
	font-weight: normal;
	padding-bottom: 5px;
}


div.sitemap-box ul li ul li ul li,
div.sitemap-box ul li ul li ul li a {
	padding-left: 10px;
}


#pop_up {
background:#004f99; margin-top:9px; padding-top:20px; width:280px;
}

div.footer {
	clear: both;
	width: 100%;
	background: #004f99;
}

div.footer-box {
	width: 1000px;
	height: 25px;
	margin: 0 auto;
	text-align: left;
	padding-top: 5px;
	font-size: 12px;
	color: white;
}

div.footer-box a:hover {
	color: #a4bdf7;
}

div.footer-box p {
	float:left;
	padding-right: 30px;
}

div.footer-box address {
	float: right;
	font-size:12px;
}

div.footer-box a {
	color: white;
	font-size:12px;
}

div.sitemap-sp {
	display: none;
}



div.pan {
	width: 100%;
	background: white;
}

div.pan-box {
	width: 1000px;
	margin: 0 auto;
	padding: 10px 0;
	font-size: 14px;
}

div.pan-box span {
	padding: 0 7px;
}

div.pan-box a:hover {
	text-decoration: underline;
}

div.pan-box p,
div.pan-box p a,
div.pan-box p a span{
	font-size: 12px;
}






header {
	display: none;
}


/*TOPへ戻るボタンの領域*/
.top {
	position:fixed; /*画面に固定*/
	bottom:50px; /*画面下へ*/
	right:0px; /*画面右へ*/
	z-index:1000; /*レイヤー順序を上に*/
	background-color:transparent; /*領域の背景色（透明）*/
}
/*丸ボタン*/
.re-top {
	position:relative;
	display:block; 
	background-color:rgba(0,79,153,0.7); /*丸ボタンの色*/
	color:rgb(255,255,255); /*三角と文字色*/
	text-decoration:none;
	font-weight:bold;
	font-size:12px;
	width:60px;
	height:60px;
	text-align:center;
	line-height:24px;
	border-radius:10px 0 0 10px;
	padding-top:30px;
	box-sizing:border-box;
}

/*三角部分*/
.re-top:before {
	content:'\25B2';
	position:absolute;
	top:10px;
	left:0;
	width:100%;
	text-align:center;
	font-size:20px;
}

.blue {
	color: #004f99;
	margin-left: 5px;
}

.blue:hover {
	color: #368fef;
}

.fb {
	padding: 0px 5px;
}

.fb:hover {
	opacity: 0.5;
}

.sns {
	margin-right: 5px;
	font-size:150%;
	box-sizing: border-box;
	width:21px;
	height:24px;
	position:relative;
}

.sns:hover {
/*	margin-bottom: 30px;	*/
}

.sns-s {
	margin-right: 5px;
	font-size:170%;
	box-sizing: border-box;
	width:28px;
	height:24px;
	position:relative;
}

.sns-s:hover {
/*	margin-bottom: 30px;	*/
}

.purple_icon {
	color: #a975e2;
}

.purple_icon:hover {
	color: #eaaaff;
}

.fb_icon,
.blue_icon {
	color: #004f99;
}

.fb_icon:hover,
.blue_icon:hover {
	color: #5881ad;
}

.yt_icon {
	color: #ff0000;
}

.yt_icon:hover {
	color: #ff6c6c;
}
.green_icon {
	color: #2ead9b;
}	

.green_icon:hover {
	color: #40d6c1;
}

.fb_text,
.ss_insta_text,
.wg_insta_text,
.vr_insta_text,
.yt_text,
.blog_text {
	color:#5881ad;
	font-size:12px;
	padding: 5px 8px;
	transition: all .2s ease;
	box-sizing: border-box;
	display:none;
	position:absolute;
	top:40px;
	background:#f1f1f1;
	margin-left: -10px;
	box-shadow: 2px 5px 5px rgba(0,0,0,0.2);
	border-radius:5px;
	min-width: 55px;
	z-index:2;
}

.fb_text:before,
.ss_insta_text:before,
.wg_insta_text:before,
.vr_insta_text:before,
.yt_text:before,
.blog_text:before {
  content: "";
  position: absolute;
  top: -17px;
  left: 15px;
  margin-left: -1px;
  border: 7px solid transparent;
  border-bottom: 12px solid #f1f1f1;
}


.fb_icon:hover .fb_text,
.blue_icon:hover .ss_insta_text,
.purple_icon:hover .wg_insta_text,
.green_icon:hover .vr_insta_text,
.yt_icon:hover .yt_text,
.blog_icon:hover .blog_text
 {
	display:block;
}

.sukima {
	padding-right: 10px;
}

p.blue_b,
p.gray_b,
p.blue_b_cadcam {
    height: 30px;
    padding: 8px 30px;
    padding: 10px 30px\9;
    color: white;
    border-radius: 10px;
    box-shadow: 0 3px 15px rgba(0, 79, 153, 0.4);
    margin: 30px 0;
    width:300px;
    position: relative;
    line-height:1.8;
    font-size:16px;
    text-shadow:none;
}

p.blue_b,
p.blue_b_cadcam {
	background: #5881ad;
}

p.gray_b{
	background: gray;
}


p.white_b{
    height: 30px;
    padding: 8px 30px;
    padding: 10px 30px\9;
    background: white;
    color: #004f99;
    border-radius: 10px;
    box-shadow: 0 3px 15px rgba(0, 79, 153, 0.4);
    margin: 30px 0;
    width:300px;
    position: relative;
    font-weight: 500;
    line-height:1.8;
    font-size:16px;
}

@media all and (-ms-high-contrast: none){
  p.blue_b,
  p.white_b,
  p.gray_b,
  p.blue_b_cadcam {
    padding: 10px 30px; /* IE10以上 */
  }
}

p.white_b:after,
p.blue_b:after,
p.blue_b_cadcam:after {
	position: absolute;
	top:15px;
	right:15px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	content:"\f138";
}

p.gray_b:after {
	position: absolute;
	top:15px;
	right:15px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	content:"\f0ad";
}

#down p.white_b:after,
#down p.blue_b:after,
#down p.blue_b_cadcam:after {
	position: absolute;
	top:15px;
	right:15px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
	content:"\f13a";
}

p.blue_b:hover,
p.blue_b_cadcam:hover {
	background:#368fef;
}

p.white_b:hover {
	background:#368fef;
	color: white;
    box-shadow: none;
}

.center {
	text-align: center;
}

div.sustainability p.white_b {
    box-shadow: 0 3px 10px rgba(0, 79, 153, 0.2);
}

div.sustainability p.white_b:hover {
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.95);
}







.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}


/* フォーム入力にあらかじめテキストを入れておく */
 
/* Firefox */
::-moz-placeholder {
  color: #666;
}
 
/* IE */
input:-ms-input-placeholder {
  color: #666;
}

/* フォーム入力で初期入力モードを数字に固定 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
 
input[type="number"] {
    -moz-appearance:textfield;
}

input::-ms-clear {
    visibility:hidden
}

header button {
	display:none;
}


/*///// inputのスタイルをリセット（iOS対策） /////*/
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/*///// headerの検索ボタン開閉 /////*/

.cp_box_header *, .cp_box_header *:before, .cp_box_header *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box_header {
	width: auto;
	margin: -20px auto 0px auto;
	position:relative;
}

.cp_box_header p{
	text-align:center;
	font-weight:600;
	font-size:20px;
}

.cp_box_header label {
	font-weight: 600;
	position: relative;
	display: block;
	height:35px;
	margin:0 auto;
	padding: 17px 3px;
	cursor: pointer;
	text-align: center;
	color: white;
	line-height: 1.8;
	font-size:16px;
}
.cp_box_header label::after {
	font-family: "Font Awesome 5 Free";
	content: "\f002";
	font-size:120%;
	font-size:110%\9;
	line-height:1.7;
	padding:0 14px;
	position:absolute;
	left:-10px;
}
.cp_box_header label:hover::after {
	color: #ffffff;
}
.cp_box_header > input:checked ~ label::after {
	font-family: "Font Awesome 5 Free";
	content: "\f00d";
	font-size:120%;
	font-size:110%\9;
	line-height:1.7;
	padding:0 16px;
	position:absolute;
	left:-10px;
}

/*///// IE対応 /////*/
@media all and (-ms-high-contrast: none){
	.cp_box_header label::after,
	.cp_box_header > input:checked ~ label::after {
		font-size:110%;
	}
	
	.cp_box_header > input:checked ~ label::after {
		top:10px;
		left:-13px;
	}
}



.cp_box_header > input:checked ~ label:hover::after {
	color: #ffffff;
}
.cp_box_header > input {
	display: none;
}
.cp_box_header .cp_container {
	position: relative;
	z-index: 10;
	overflow:hidden;
	height: 0;
	margin-top: -1px;
}

/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box_header input:checked ~ div.cp_container {
	height: 55px;
	width: 300px;
    margin-bottom: 80px;
    margin: -90px auto 0 -265px;
    padding: 10px 20px 10px 10px;
    background:#f0f0fa;
    position:absolute;
    display: inline-block;
    overflow:visible;
    right:-10px;
    box-shadow: 0 2px 2px #c7c7de;
}

.cp_box_header input:checked ~ div.cp_container:before {
	content: "";
	position: absolute;
	top: 40px;
	right: 15px;
	width:20px;
	height:20px;
	bottom: -10px;
	transform: rotate(45deg) skew(20deg,20deg); /* 傾斜角(skew) */
	background:#f0f0fa;
	box-shadow: 0 3px 2px #c7c7de;
}


.cp_box_header input:checked ~ div.cp_container:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%; height: 100%;
	background:#f0f0fa;
}

.cp_box_header .cp_container form {
	position:absolute;
	z-index:50;
}

.cp_box_header .cp_container form input.text{
	float: left;
	height:25px;
	width:205px;
	padding:1px 5px;
    border:1px solid #9babbd;
    background: #fff;
    border-radius: 3px;
     
    /* Webkit */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#f4f6f7),
        to(#fff)
        );
     
    -webkit-border-radius: 3px;
    -webkit-box-shadow: 1px 1px 1px #fff;
     
    /* Firefox */
    background: -moz-linear-gradient(
        top,
        #f4f6f7,
        #fff
        );
     
    -moz-border-radius: 3px;
    -moz-box-shadow: 1px 1px 1px #fff;
     
    /* IE */
    filter:progid:DXImageTransform.Microsoft.gradient
        (startColorstr=#ffeeeeee,endColorstr=#ffffffff);
    zoom: 1;
-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}

.cp_box_header .cp_container form input.search{
	padding: 0 10px;
    background: #5881ad;
    color: white;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 79, 153, 0.4);
    font-size: 12px;
    height: 25px;
    float: left;
    margin-left: 10px;
}

.cp_box_header .cp_container form input.search:hover{
	background:#004f99;
}






/*///// スマホ幅の際のサイト内検索ボタン /////*/
input.search_sp {
border: 0;
    width: 45px;
    padding: 0 10px;
    background: #5881ad;
    color: white;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 79, 153, 0.4);
    font-size: 12px;
    height: 29px;
    float: left;
    margin-left: 5px;
}

input.text_sp {
	width:118px;
	padding:0 5px;
	float: left;
	height:25px;
	padding:1px 5px;
    border:1px solid #9babbd;
    background: #fff;
    border-radius: 3px;
     
    /* Webkit */
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#f4f6f7),
        to(#fff)
        );
     
    -webkit-border-radius: 3px;
    -webkit-box-shadow: 1px 1px 1px #fff;
     
    /* Firefox */
    background: -moz-linear-gradient(
        top,
        #f4f6f7,
        #fff
        );
     
    -moz-border-radius: 3px;
    -moz-box-shadow: 1px 1px 1px #fff;
     
    /* IE */
    filter:progid:DXImageTransform.Microsoft.gradient
        (startColorstr=#ffeeeeee,endColorstr=#ffffffff);
    zoom: 1;
-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}



/*///// サイト内検索 /////*/


.cp_box_header .fessWrapper button {
	margin: -1px 0 0 25px;
	margin: -2px 0 0 25px\9;
}

div.sitemap_b .fessWrapper {
	padding:0;
	background:none;
}

div.sitemap_b .fessWrapper button {
	margin: -1px 0 0 25px;
}

.cp_box_header .fessWrapper .form-control {
	height: 21px\9;
}

div.sitemap_b .fessWrapper .form-control {
	height: 19px\9;
}

@media all and (-ms-high-contrast: none){
	/* IE10以上 */
	.cp_box_header .fessWrapper .form-control {
		height: 21px;
	}
	
	div.sitemap_b .fessWrapper .form-control {
		height: 19px;
	}

	.cp_box_header .fessWrapper button {
		margin: -2px 0 0 25px;
	}
}

.cp_box_header .fessWrapper .form-control,
div.sitemap_b .fessWrapper .form-control {
	border-radius: 3px;
}

.cp_box_header button,
div.sitemap_b button {
	margin-left:25px;
	margin-top:-1px;
}

.cp_box_header .fessWrapper .searchButton,
.cp_box_header .fessWrapper .btn-primary
div.sitemap_b .fessWrapper .searchButton,
div.sitemap_b .fessWrapper .btn-primary {
	border:none;
}




@media only screen and (max-width: 1100px) {
	
#user-link {
    margin: 140px auto;
}
	
div.sitemap-box {
	width: 100%;
}

div.sitemap-box ul.first {
	padding: 0 2% 0 6%;
	width: 30%;
}
div.sitemap-box ul.second {
	padding: 0 1%;
	width: 22%;
}

div.sitemap-box ul.third {
	width: 30%;
	padding: 0 6% 0 2%;
}

div.footer-box {
	width: 88%;
}

div.pan-box {
	width: 88%;
}


}


@media only screen and (max-width: 900px) {
.menu__mega .menu__second-level {
	width:710px;
}

}



@media only screen and (max-width: 880px) {

.right_menu {
	display:none;
}

.overlay {
  content: '';
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0);
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  z-index: 3;
}
.overlay::after {
  content: "この部分をクリックで閉まる";
  visibility: hidden;
  position: fixed;
  top: 40%;
  left: 0;
  display: block;
  width: 100%;
  height: 50px;
  color: rgba(255,255,255,0);
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}
.side-open .overlay {
  visibility: visible;
  cursor: pointer;
  background: rgba(0,0,0,.7);
}
.side-open .overlay::after {
  visibility: visible;
  color: rgba(255,255,255,.8);
}

header {
	display: block;
}

header button {
	margin: 5px 10px 0 0;
	display:block;
}




div.sitemap-slide {
	font-size: 14px;
}


div.sitemap_b {
    border-bottom: 1px solid #c3c5cc;
    padding: 10px 20px;
    text-align: left;
}

div.sitemap-slide div.sitemap_b:hover {
	background: #e6f2ff;
}

div.sitemap-slide div.sitemap_b{
	padding: 10px;
}

div.sitemap_b a {
	color: #605655;
}

div.sitemap_b ul {
	padding: 10px 0 0 0;
}

div.sitemap_b li {
	padding: 5px 0;
	font-size: 13px;
}

div.sitemap_b li a {
	padding: 10px 0 10px 10px;
	font-size: 12px;
}

div.sitemap_b li.language a {
	color:white;
}

div.sitemap_b li.language a:hover {
	color:#76dff1;
}

div.sitemap_b li a:hover {
	color: #368fef;
}

div.sitemap_b div.b {
	height: 20px;
}

p.open {
	float: left;
	font-size:13px;
	line-height:normal;
}

p.arrow {
	float:right;
}

div.sitemap_b div.b:hover {
	cursor: pointer;
}

div.sitemap_b ul li ul{
	padding: 10px 0;
}


div.sitemap-b ul > li,
div.sitemap-b ul > li a {
	font-size: 15px;
	font-weight: 500;
}


}



@media only screen and (max-width: 850px) {

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, /*sup, */tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video, main {
	font-size:13px;
	line-height:1.8;
}

.user-video {
    height: auto;
    top: inherit;
}
	
#user-link {
    margin: 20% auto;
}
}


@media only screen and (max-width: 740px) {


.right_menu {
	display:none;
}

.contents__inner {
	padding: 0;
}

.contents__inner h1 {
	margin-bottom: 0px;
}

.left_menu {
	display:none;
}

.contents__inner h1.logo {
	margin-bottom: 0px;
	padding: 15px 0 15px 20px;
}

.contents__inner h1.logo img {
	height: 15px;
}

.menu > li a {
	font-weight: normal;
	font-size: 14px;
}

nav.pc {
	height: 45px;
	margin: 0 10px;
}

.menu > li {
	padding: 0 10px;
}



.menu > li {
	height: 40px;
	line-height: 40px;
}

.menu__single .menu__second-level,
.menu__mega .menu__second-level {
  display: none;
}

header button {
	margin: -7px 5px 0 0;
}



div.content_box {
	padding-top: 60px;
}

p.arrow2 i {
	font-size:120%;
}


}





@media only screen and (max-width: 690px) {

div.sitemap {
	display: none;
}

div.sitemap-sp {
	display: block;
	background: #e7e7e9;
	padding: 50px 10px 30px 10px;
	font-size: 14px;
}

div.footer-box {
	height: 100%;
	color: #a4bdf7;
	width: 100%;
	padding:20px 0;
}

div.footer-box p {
	font-size: 70%;
	padding: 5px 0;
	float:none;
	text-align:center;
}

div.footer-box address {
	font-size: 70%;
	clear: both;
	float: none;
	margin-top:20px;
	text-align:center;
}

div.pan-box {
	width: auto;
	padding: 10px;
}

div.pan-box p,
div.pan-box p a,
div.pan-box p a span{
	font-size: 10px;
	line-height:1.2;
}

nav {
	margin: 0 0 10px 0;
}



}






@media only screen and (max-width: 460px) {

p.white_b,
p.blue_b,
p.gray_b {
	width:220px;
	font-size: 14px;
	height: 22px;
	padding: 10px 20px 8px 20px;
	line-height:1.15;
}

	
p.blue_b_cadcam {
	width:270px;
	font-size: 14px;
	height: 22px;
	padding: 10px 20px 8px 20px;
	line-height:1.15;
}
	
p.white_b:after,
p.blue_b:after,
p.gray_b:after	{
	top:13px;
}
	
.align_left {			/*WHOLEGARMENTビジネスのボタン「デザインシステム／ソフトウェア」に指定*/
	text-align: left;
}

}


