/* 自由エリア編集のCSS
---------------------------------------------*/
.sp {display: block!important;}
.pc {display: none!important;}

img {width:100%;}
.mg0a { margin: 0 auto;}
.txt_left{ text-align: left; }
.txt_right { text-align: right; }
.txt_cnt{ text-align: center; }
.txt_cnt_sp{ text-align: center; }
.wdp70 { width: 70%; }

/* 背景色 */
.bg_pink { background: #ffeff8; }
.bg_blue { background: #e9f3ff; }
.bg_green { background: #f2fee9; }


/*style_parts css の間違い */
.mgl20 { margin-left: 20px; }

/***************************************************
アイコン
***************************************************/
/*アイコン指定*/
.new_ic {margin: 0px; padding: 0px 0px 2px 30px; background: URL(../../../core_sys/images/sys/new_ic01.gif) left top no-repeat;}
.type_ico { 
width: 100px;
    margin-bottom: 2%;
    padding: 3px 10px;
    color: #fff;
    text-align: center;
    font-size: 85%;
    line-height: 1.2;
    display: block;
}
.type01 {background:#808080;}/*お知らせ*/
.type02 {background:#00a0e9;}/*新製品*/
.type03 {background:#666;}/*追加発売*/
.type04 {background:#2ad285;} /*お知らせ*/
.type05 {background:#00a8ff;} /*講習会*/
.type06 {background:#de405e;} /*緊急情報*/
.type07 {background:red;} /*PDF*/
.type08 {background:#ff910f;} /*リニューアル*/
.type09 {background:red;} /*満席*/
.type_new {background:red;} /*NEW*/

.implant_icon { width:30px; vertical-align: middle; }
.marker_yellow { background: yellow; padding: 4px 8px; }
.marker_red { background: red; padding: 4px 8px; color:#fff; }
.marker_blue { background: #0071BB; padding: 4px 8px; color:#fff; }
.marker_gray { background: gray; padding: 4px 8px; color:#fff; }
.marker_green { background: green; padding: 4px 8px; color:#fff; }

/* トップページへボタン
-------------------- */
#page-top {
	width: 60px;
	height: 72px;
	bottom: 24px;
	right: 24px;
	/*position: absolute;*/
	position: fixed;
	opacity: 0.7;
	z-index: 1000;
}
#page-top a {
	width: 72px;
	height: 60px;
	background-color: rgba(110, 113, 117, 0.7);
	color: #fff;
	font-size: 0.8rem;
	text-align: center;
	border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	line-height: 1.2;
	display: block;
	text-decoration: none;
	padding-top: 12px;
	transition: all 300ms 0s ease;
}
#page-top a::before {
	content: '▲';
	display: block;
	color: #fff;
	margin-bottom: 4px;
}
#page-top a:hover {
	background-color: #333;
	transition: all 300ms 0s ease;
}

/***************************************************
記事タイトル装飾
***************************************************/
/* 大見出し青(h2) */
.ti_b_h2 {margin: 0px 0px 10px 0px; padding: 7px 0px; background: #eee; }
h2.h2_b {margin:0px; padding: 0; font-size:120%; color:#666; text-align: center; font-weight: normal; }

/* 大見出し-［］付きセンター */
.ti_r_h2 { margin: 30px auto; font-size: 120%; margin-bottom: 20px; text-align: center; color:#0071BC; }

h2.h2_r {
  position: relative;
  line-height: 1.4;
  padding:0.1em 2em;
  display: inline-block;
  top:0;
  font-weight: normal;
}

h2.h2_r:before, h2.h2_r:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
h2.h2_r:before {
  border-left: solid 1px #0071BC;
  border-top: solid 1px #0071BC;
  border-bottom: solid 1px #0071BC;
  left: 0;
}
h2.h2_r:after {
  content: '';
  border-top: solid 1px #0071BC;
  border-right: solid 1px #0071BC;
  border-bottom: solid 1px #0071BC;
  right: 0;
}

/* 大見出し(h2)　斜めボーダー見出し -----------------*/
.ti_g_h2 { margin: 0px 0px 10px 0px; padding: 7px 0px; }
h2.h2_g {
    color: #222;
    font-weight: bold;
    position: relative;
    line-height: 1.5;
    color: #0071BB;
    font-size: 130%;
    font-weight: normal;
    padding: 0 0 0 35px;
}
h2.h2_g::before {
    content: '';
    position: absolute;
    display: block;
    background: url(../../../core_sys/images/sys/border_h2.svg) center center/contain no-repeat;
    left: 0;
    width: 30px;
    height: 40px;
}

/* 大見出し黄(h2) */
.ti_o_h2 {margin: 0px 0px 10px 0px;padding: 7px 0px;background: url(../../../core_sys/images/sys/smartphone/con_h2_ti_bg_o.gif) left bottom repeat-x;}
h2.h2_o {margin:0px;padding: 5px 0px 5px 22px;font-size:120%;color:#666;background: url(../../../core_sys/images/sys/smartphone/h2_ti_bg_o.gif) 10px center no-repeat;}

/* 大見出し黒(h2) */
.ti_bk_h2 {margin: 0px 0px 10px 0px;padding: 7px 0px;background: url(../../../core_sys/images/sys/smartphone/con_h2_ti_bg_bk.gif) left bottom repeat-x;}
h2.h2_bk {margin:0px;padding: 5px 0px 5px 22px;font-size:120%;color:#666;background: url(../../../core_sys/images/sys/smartphone/h2_ti_bg_bk.gif) 10px center no-repeat;}

/* 中見出し黒下線 (h3) */
h3.ti_b_h3 {
margin: 6% 0;
padding: 0 0 5px;
font-size: 120%;
color: #222;
line-height: 110%;
position: relative;
border-bottom: 1px solid #B2B2B2;
}
h3.ti_b_h3::before {
    content: '';
    position: absolute;
    display: block;
    width: 150px;
    background-color: #000;
    left: 0;
    height: 1px;
    bottom: -1px;
}

/* 中見出し青(h3) */
h3.ti_r_h3 {margin: 10px 0px;padding: 4px 0px 4px 10px;color:#FFF;background:#46a9ea;}

/* 中見出し緑(h3) */
h3.ti_g_h3 {margin: 10px 0px;padding: 4px 0px 4px 10px;color:#FFF;background:#129970;}

/* 中見出し黄(h3) */
h3.ti_o_h3 {margin: 10px 0px;padding: 4px 0px 4px 10px;color:#FFF;background:#e48b00;}

/* 中見出し黒(h3) */
h3.ti_bk_h3 {margin: 10px 0px;padding: 4px 0px 4px 10px;color:#FFF;background:#525252;}

/* 小見出し青(h4) */
h4.ti_b_h4 {margin: 10px 0px;padding: 5px 0px 5px 4px;color:#0b68b1;border-bottom: 3px solid #0b68b1;}

/* 小見出し赤(h4) */
h4.ti_r_h4 {margin: 10px 0px;padding: 5px 0px 5px 4px;color:#666;border-bottom: 3px solid #b70d0d;}

/* 小見出し緑(h4) */
h4.ti_g_h4 {margin: 10px 0px;padding: 5px 0px 5px 4px;color:#666;border-bottom: 3px solid #129970;}

/* 小見出し黄(h4) */
h4.ti_o_h4 {margin: 10px 0px;padding: 5px 0px 5px 4px;color:#666;border-bottom: 3px solid #e48b00;}

/* 小見出し黒(h4) */
h4.ti_bk_h4 {margin: 10px 0px;padding: 5px 0px 5px 4px;color:#666;border-bottom: 3px solid #525252;}

p.h_no {margin:0px;padding:0px;}

/* MORE VIEW ボタン
---------------------------------------------*/
.more_btn {  }
.more_btn.wh { margin: 20px 0 20px 0; }
.more_btn a {
    display: inline-block;
    background: -webkit-linear-gradient(left, #1d88ff 0%,#8EE2FF 100%);
    background: linear-gradient(to right, #1d88ff 0%,#8EE2FF 100%);
    background-size: 100% auto;
    background-position: left center;
    color: #fff!important;
    font-size: 100%;
    letter-spacing: .2em;
    text-align: center;
    text-decoration: none;
    padding: 3vw 2vw;
    width: 40vw;
    position: relative;
}
.more_btn.wh a {
    background: none!important;
    background-position: left center;
    border:1px solid #fff;
}
.more_btn a::before {
    content: '';
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
}
.more_btn a, .more_btn a::before {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}
.more_btn.mgt60 { margin-top: 10px; }

.pdf_btn a {
    ddisplay: block;
    padding: 0.5em;
    text-decoration: none;
    color: red!important;
    transition: 0.5s;
    font-size: 1rem;
}
.pdf_btn a:before  {
    content: "";
	display: inline-block;
	vertical-align: middle;
	width: 70px;
	height: 18px;
	margin-right: 10px;
padding-bottom:4px;
    background: URL(../../../core_sys/images/others/icon_pdf.png) center no-repeat ;
	background-size: contain;
}
.pdf_btn a:hover { padding-left: 20px; opacity:0.75; color: gray;}


/* DL ボタン
---------------------------------------------*/
.download {}
.DL_btn { width: 95%; margin: 2rem auto;}
.DL_btn.wh { margin: 40px 0 40px 0; }
.DL_btn a {
    display: block;
    background: -webkit-linear-gradient(left, #1d88ff 0%,#8EE2FF 100%);
    background: linear-gradient(to right, #1d88ff 0%,#8EE2FF 100%);
    background-size: 200% auto;
    background-position: left center;
    color: #fff!important;
    font-size: 110%;
    letter-spacing: .2em;
    text-align: center;
    text-decoration: none;
    padding: 12px;
    position: relative;
}
.DL_btn.wh a {
    background: none!important;
    background-position: left center;
    border:1px solid #fff;
}
.DL_btn a:hover { 
    opacity: 0.5 ;
}
.DL_btn a::before {
    content: '';
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
}
.DL_btn a, .more_btn a::before {
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}

/***************************************************
カスタムテーブル
***************************************************/
.scroll { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;}
.scroll::-webkit-scrollbar{height: 5px;}/*tableにスクロールバーを追加*/ 
.scroll::-webkit-scrollbar-track{ background: #F1F1F1;}/*tableにスクロールバーを追加*/
.scroll::-webkit-scrollbar-thumb { background: #BCBCBC;}/*tableにスクロールバーを追加*/
table { }
table.table_product{width: 100%; font-size:0.9rem; }
table.table_product.left { text-align: left!important; }

table.ta03_gl {
margin: 0 auto;
border-collapse: collapse;
}
/* 見出しセル指定（TH） */
.ta03_gl th {
margin: 0px;
padding: 2%;
font-weight: normal;
text-align: left;
white-space: nowrap;
}
/* 項目セル指定（TD） */
.ta03_gl td {
margin: 0px;
padding: 2%;
text-align: left;
}
/* 偶数行色指定（TR） */
.ta03_gl .even {
background: #eee;
}

/***************************************************
カスタムテーブル 製品情報テーブル
***************************************************/
table.table_product {
width: auto;
margin: 10px auto;
border-collapse: collapse;
border: 2px solid #fff;
border-bottom: 1px solid #999;
border-top: 1px solid #999;
}
/* 見出しセル指定（TH） */
table.table_product th {
margin: 0px;
padding: 8px 10px;
font-weight: normal;
background: #eee;
border: 1px solid #999;
}
/* 項目セル指定（TD） */
table.table_product td {
margin: 0px;
padding: 8px 10px;
border: 1px solid #999;
}
/* 偶数行色指定（TR） */
table.table_product .even {
background: #eee;
}

/***************************************************
カスタムテーブル 製品情報テーブル
***************************************************/
.typeS {
    width: ;
    line-height: 1.6;
    border-collapse: separate;
    letter-spacing: 0;
    text-align: left;
}
.typeS th {
    color: #333;
    font-weight: normal;
    white-space: nowrap;
    font-weight: bold;
}
.typeS th, .typeS td {
    padding: 5px 15px 5px 0;
    text-align: left;
    border-bottom: 1px solid #cbcbcb;
    zoom: 1;
    letter-spacing: 0;
    display: block;
}
.typeS td {
    vertical-align: middle;
}

.map iframe {height:300px;}

/***************************************************
MOVIE ARCHIVE
***************************************************/
.archive-area-inner{ display: none; padding: 0 9%;}
.archive-area-inner.first-archive { display: block;}
.col3box .inner { margin:0; }
.col3box .box { width:100%; }
.col3box .box .box-inner { padding:0 0; }
.archive-area .movie-item{ padding-bottom: 30px;}
.archive-area .movie-item .txtbox h3{
    display: block;
    background-color: transparent;
    font-weight: normal;
    font-size:14px;
    color: #333;
    line-height: 150%;
    padding: 0px 0px 10px 0;
    border-bottom: solid #d2d2d2 1px;
}
.archive-area .movie-item .txtbox p{ margin-top: 5px; color: #333;}
.movie-item .movie-modal-btn .thum-img{ position: relative;}
.movie-item .movie-modal-btn .thum-img:after{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left: 0;
    z-index: 40;
    background: url("../../../core_sys/images/others/btn_movie.png") center  center no-repeat;
    background-size: auto 40px;
    cursor: pointer;
}

.thum-img{ position: relative;}
.thum-img .over:after{}
.thum-img{ position: relative;}
.thum-img .over:after{
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(0,0,0,0.20);
    top:0;
    left: 0;
    z-index: 10;
}
.movie-item a{ display: block; text-decoration: none;}
.movie-item .txtbox{ padding-top: 15px; text-align: left;}
.movie-item .txtbox h3{ display: inline-block; font-weight: normal; line-height: 150%; padding: 5px 15px; font-size: 14px;}
.movie-item .txtbox p{ font-size: 12px; letter-spacing: 0.1em; margin-top: 10px; line-height: 150%;}
.thum-img .icon-new{
    position: absolute;
    top:-20px;
    left: -10px;
    z-index: 30;
    display: table;
    width: 50px;
    height: 50px;
    border-radius: 40px;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
  background-color: #0d87b5;
}

.thum-img .icon-day{
    position: absolute;
    bottom:8px;
    right: 8px;
    display: inline-block;
    font-size: 12px;
    line-height: 110%;
    color: #fff;
    border: solid #fff 1px;
    padding: 3px 12px;
    z-index: 20;
}

.thum-img .icon-new span{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 12px;
}
ul.plugin { width: 50%;}
.gryBox { background: #eee; margin: 4%; padding: 6%; }


/* パーツカテゴリトップ */
 ul.parts {}
 ul.parts li { margin-bottom:1rem; }
 ul.parts li a { display: block; transition: 0.5s; padding: 0.8rem!important; border: 1px solid #999; text-decoration: none;  }
 ul.parts li a:hover { opacity:0.7;  background: #eee; }
 ul.parts li figure { text-align: left; font-size: 0.9rem; }