/* **************************
 basic
************************** */
.clearfix:after { content:""; display:block; clear:both; }

.freeblock_ { line-height:initial; width: 1000px;margin: 0 auto;font-size: 12px;}
.freeblock_ *{ box-sizing: content-box;}

/* column common */
.freeblock_ .column02a, .freeblock_ .column02b, .freeblock_ .column03, .freeblock_ .column04 {
display:-webkit-flex;
display:flex;
-webkit-flex-wrap:wrap;
flex-wrap:wrap;
}
.freeblock_ .column02a { margin:0 auto; width:860px; }

.freeblock_ .area { margin:0 20px 20px 0; }

.freeblock_ .column02a .area { width:420px; }
.freeblock_ .column02b .area { width:490px; }
.freeblock_ .column03 .area { width:320px; }
.freeblock_ .column04 .area { width:235px; }

.freeblock_ .column02a .area:nth-of-type(2n),
.freeblock_ .column02b .area:nth-of-type(2n),
.freeblock_ .column03 .area:nth-of-type(3n),
.freeblock_ .column04 .area:nth-of-type(4n) { margin-right:0 !important; }

.freeblock_ .column02 .area:nth-of-type(2n):after,
.freeblock_ .column03 .area:nth-of-type(3n):after,
.freeblock_ .column04 .area:nth-of-type(4n):after { content:""; display:block; clear:both; }

/* font-size, weight */
.freeblock_ h1 { font-size:36px; font-weight:bold; }
.freeblock_ h2:not(dsgn01),
.freeblock_ h2:not(dsgn02) { font-size:26px; font-weight:bold; }
.freeblock_ h2.dsgn01,
.freeblock_ h2.dsgn02,
.freeblock_ h3 { font-size:22px; font-weight:bold; }
.freeblock_ .CategoryStyleP_Item_ h3 { font-weight:normal; }
.freeblock_ p.txt,
.freeblock_ ul.btnarrow01 li,
.freeblock_ ul.btnarrow02 li,
.freeblock_ ul.btnarrow03 li { font-size:14px; line-height:20px; padding:7px; }

.freeblock_ .att { font-size:12px; line-height:20px; }
	
/* elements margin in column */
.column02a .area h2, .column02a .area h3, .column02a .area h4, .column02a .area p.txt, .column02a .area ul,
.column02b .area h2, .column02b .area h3, .column02b .area h4, .column02b .area p.txt, .column02b .area ul,
.column03 .area h2, .column03 .area h3, .column03 .area h4, .column03 .area p.txt, .column03 .area ul
{ margin-right:20px; margin-left:20px; }

.column04 .area h2, .column04 .area h3, .column04 .area h4, .column04 .area p.txt, .column04 .area ul
{ margin-right:10px; margin-left:10px; }

/* font-color */
h1.dsgn01, h1.dsgn02, h2.dsgn01, h2.dsgn02, h2.dsgn03, h3.dsgn01
{ color:#333333; }
.dsgn03b h1, .dsgn04b h1, p.txt { color:#000000; }

/* decoration */		
.dsgn01, .dsgn02, .dsgn03, .dsgn03b, .dsgn03w, .dsgn04b, .dsgn04w,
.freeblock_ p.txt { margin-bottom:20px; }

h1.dsgn01 { text-align:left; }
h1.dsgn02 { text-align:center; }
.dsgn03b, .dsgn03w, .dsgn04b, .dsgn04w { position:relative; }
.dsgn03b h1, .dsgn03w h1, .dsgn04b h1, .dsgn04w h1 { height:1em; position:absolute; top:0; bottom:0; margin:auto 0; }
.dsgn03b h1, .dsgn03w h1 { left:20px; }
.dsgn04b h1, .dsgn04w h1 { right:0; left:0; text-align:center; }
.dsgn03b h1, .dsgn04b h1 { text-shadow:0px 0px 5px #ffffff; }
.dsgn03w h1, .dsgn04w h1 { color:#ffffff; text-shadow:0px 0px 5px #000000; }

/* arch tech color */
div:not(arch) h2.dsgn01, div:not(tech) h2.dsgn01 { border-left:#dcdcdc 5px solid; }
h2.dsgn01, h2.dsgn02 { background:#eeeeee; padding:10px 15px; }
.arch .freeblock_ h2.dsgn01 { border-left:#2346aa 5px solid; }
.tech .freeblock_ h2.dsgn01 { border-left:#fde100 5px solid; }
h2.dsgn02 { border-left:#333333 5px solid; }

h3.dsgn01 { border-bottom:#dcdcdc solid 3px; line-height:1; }

/* float */
.fltlft { float:left; margin:0 20px 20px 0; }
.fltrght { float:right; margin:0 0 20px 20px; }

/* bland title */
.freeblock_ .bland01, .freeblock_ .bland02,.freeblock_ .bland03 {  font-size:26px; font-weight:bold; margin-bottom:20px; padding:10px 15px; }
.freeblock_ .bland01 .logo, .freeblock_ .bland02 .logo, .freeblock_ .bland03 .logo { margin-right:20px; }
.freeblock_ .bland01 { background:#ffffff; border-left:#333333 5px solid; color:#333333; }
.freeblock_ .bland02 { background:#333333; border-left:#666666 5px solid; color:#ffffff; }
.freeblock_ .bland03 { background:#eeeeee; border-left:#333333 5px solid; color:#333333; }

/* button common */
.btn01, .btn02, .btn03, .btn04, .btn05, .btn06,
.btn01arw, .btn02arw, .btn03arw, .btn04arw, .btn05arw, .btn06arw {
display:block;
font-size:20px;
font-weight:bold;
line-height:25px;
padding:12px 10px 8px 10px;
text-align:center;
text-decoration:none;	
}

.btn02, .btn03, .btn04, .btn05,
.btn02arw, .btn03arw, .btn04arw, .btn05arw {
transition:all 0.5s ease;
}

.column02a .btn01,.column02a .btn02,.column02a .btn03,.column02a .btn04,.column02a .btn05,.column02a .btn06,
.column02b .btn01,.column02b .btn02,.column02b .btn03,.column02b .btn04,.column02b .btn05,.column02b .btn06,
.column03 .btn01,.column03 .btn02,.column03 .btn03,.column03 .btn04,.column03 .btn05,.column03 .btn06,
.column02a .btn01arw,.column02a .btn02arw,.column02a .btn03arw,.column02a .btn04arw,.column02a .btn05arw,.column02a .btn06arw,
.column02b .btn01arw,.column02b .btn02arw,.column02b .btn03arw,.column02b .btn04arw,.column02b .btn05arw,.column02b .btn06arw,
.column03 .btn01arw,.column03 .btn02arw,.column03 .btn03arw,.column03 .btn04arw,.column03 .btn05arw,.column03 .btn06arw {
max-width:240px; margin:0 auto;
}

/* button type */
.btn01, .btn01arw {
background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #dfdfdf), color-stop(0.00, #fff));
background: -webkit-linear-gradient(#fff, #dfdfdf);
background: -moz-linear-gradient(#fff, #dfdfdf);
background: -o-linear-gradient(#fff, #dfdfdf);
background: -ms-linear-gradient(#fff, #dfdfdf);
background: linear-gradient(#fff, #dfdfdf);
border:#333333 1px solid;
-moz-border-radius:3px;
-webkit-border-radius:3px;
border-radius:3px;
color:#333333;
padding:13px 11px 9px 11px;;
}
.btn01:hover, .btn01arw:hover {
background:-webkit-gradient(linear, left top, left bottom, color-stop(1.00, #fff), color-stop(0.00, #dfdfdf));
background:-webkit-linear-gradient(#dfdfdf, #fff);
background:-moz-linear-gradient(#dfdfdf, #fff);
background:-o-linear-gradient(#dfdfdf, #fff);
background:-ms-linear-gradient(#dfdfdf, #fff);
background:linear-gradient(#dfdfdf, #fff);
border:#999999 1px solid;
}

.btn02, .btn02arw {
border:#666666 2px solid;
box-shadow:2px 2px 3px rgba(0,0,0,0.4);
color:#333333;
}
.btn02:hover, .btn02arw:hover {
box-shadow:2px 2px 6px rgba(0,0,0,0.6);
}

.btn03, .btn03arw {
background:#eeeeee;
border:#eeeeee 2px solid;
box-shadow:2px 2px 3px rgba(0,0,0,0.4);
color:#333333;
}
.btn03:hover, .btn03arw:hover {
box-shadow:2px 2px 6px rgba(0,0,0,0.6);
}

.btn04, .btn04arw {
background:#333333;
border:#333333 2px solid;
color:#ffffff !important;
}
.btn04:hover, .btn04arw:hover {
background:#ffffff;
color:#333333 !important;
}

.btn05, .btn05arw {
box-shadow:2px 2px 3px rgba(0,0,0,0.4);
color:#333333;
}
.btn05:hover, .btn05arw:hover {
box-shadow:2px 2px 6px rgba(0,0,0,0.6);
}
div:not(arch) .btn05, div:not(tech) .btn05,
div:not(arch) .btn05arw, div:not(tech) .btn05arw {
border:#dcdcdc 2px solid;
}
.arch .btn05, .arch .btn05arw {
border:#2346aa 2px solid;
}
.tech .btn05, .tech .btn05arw {
border:#fde100 2px solid;
}

div:not(arch) .btn06, div:not(tech) .btn06,
div:not(arch) .btn06arw, div:not(tech) .btn06arw {
background:#dcdcdc;
border:#dcdcdc 2px solid;
color:#333333;
}

div:not(arch) .btn06:hover, div:not(tech) .btn06:hover,
div:not(arch) .btn06arw:hover, div:not(tech) .btn06arw:hover{
background:#ededed;
border:#ededed 2px solid;
color:#333333 !important;
}

.arch .btn06,
.arch .btn06arw {
background:#2346aa;
border:#2346aa 2px solid;
color:#ffffff;
}

.arch .btn06:hover,
.arch .btn06arw:hover {
background:#91a2d4;
border:#91a2d4 2px solid;
color:#ffffff !important;
}

.tech .btn06,
.tech .btn06arw {
background:#fde100;
border:#fde100 2px solid;
color:#333333;
}

.tech .btn06:hover,
.tech .btn06arw:hover {
background:#fef07f;
border:#fef07f 2px solid;
color:#333333 !important;
}

/* button arrow */
.btn01arw, .btn02arw, .btn03arw, .btn04arw, .btn05arw, .btn06arw {
position:relative;
text-indent:-20px;
}

.btn01arw:after, .btn02arw:after, .btn03arw:after, .btn04arw:after, .btn05arw:after, .btn06arw:after {
content:"";
display:inline-block;
position:absolute;
top:0;
bottom:0;
margin:auto 0;
width:0;
height:0;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
margin-left:10px;
}

.btn04arw:after,
.arch .freeblock_ .btn06arw:after
{ border-left: 8px solid #ffffff; }

.btn01arw:after, .btn02arw:after, .btn03arw:after, .btn05arw:after,
.tech .freeblock_ .btn06arw:after,
.btn04arw:hover:after
{ border-left: 8px solid #494949; }

.arch .btn01arw:hover:after, .arch .btn02arw:hover:after, .arch .btn03arw:hover:after, .arch .btn05arw:hover:after
{ border-left: 8px solid #0f6bc8; }

.tech .btn01arw:hover:after, .tech .btn02arw:hover:after, .tech .btn03arw:hover:after, .tech .btn05arw:hover:after
{ border-left: 8px solid #ac9900; }

.txtl {
text-indent:0;
display:inline-block;
}


/* prefix icon */
.freeblock_ .larrow01,
.freeblock_ .rarrow01,
.freeblock_ .larrow02,
.freeblock_ .rarrow02,
.freeblock_ ul.btnarrow01 li,
.freeblock_ ul.btnarrow02 li {
list-style-type:none;
position:relative;
}

.freeblock_ .larrow01,
.freeblock_ .larrow02,
.freeblock_ ul.btnarrow01 li,
.freeblock_ ul.btnarrow02 li {
padding-left:10px;
}

.freeblock_ .rarrow01,
.freeblock_ .rarrow02 {
padding-right:10px;
}

.freeblock_ .larrow01:before,
.freeblock_ .rarrow01:after,
.freeblock_ .larrow02:before,
.freeblock_ .rarrow02:after,
.freeblock_ ul.btnarrow01 li:before,
.freeblock_ ul.btnarrow02 li:before {
content:"";
display:inline-block;
position:absolute;
top:0;
bottom:0;
margin:auto 0;
width:0;
height:0;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
}
	
.freeblock_ .larrow01:before,
.freeblock_ .larrow02:before,
.freeblock_ ul.btnarrow01 li:before,
.freeblock_ ul.btnarrow02 li:before {
left:0;
}

.freeblock_ .rarrow01:after,
.freeblock_ .rarrow02:after {
display:inline-block;
margin-left:5px;
}

.arch .freeblock_ .larrow01:before,
.arch .freeblock_ .rarrow01:after,
.arch .freeblock_ ul.btnarrow01 li:before
{ border-left: 6px solid #2346aa; }

.tech .freeblock_ .larrow01:before,
.tech .freeblock_ .rarrow01:after,
.tech .freeblock_ ul.btnarrow01 li:before
{ border-left: 6px solid #fde100; }

.freeblock_ .larrow02:before,
.freeblock_ .rarrow02:after,
.freeblock_ ul.btnarrow02 li:before
{ border-left: 6px solid #000000; }


/* img on text */
.freeblock_ .imgtxtArea { position:relative; }

.freeblock_ .imgtxtArea .fblack { color:#000000; text-shadow:1px 1px 3px #ffffff; }
.freeblock_ .imgtxtArea .fwhite { color:#ffffff; text-shadow:1px 1px 3px #000000; }

.freeblock_ .imgtxtArea .txtCntrTp, .freeblock_ .imgtxtArea .txtCntrMdl, .freeblock_ .imgtxtArea .txtCntrBtm,
.freeblock_ .imgtxtArea .txtLftTp, .freeblock_ .imgtxtArea .txtLftMdl, .freeblock_ .imgtxtArea .txtLftBtm,
.freeblock_ .imgtxtArea .txtRghtBtm {
font-size:20px; font-weight:bold; line-height:26px;
}
.freeblock_ .imgtxtArea .txtCntrTp { position:absolute; top:20px; right:0; left:0; margin:0 auto; text-align:center; }
.freeblock_ .imgtxtArea .txtCntrMdl { position:absolute; top:0; bottom:0; right:0; left:0; margin:auto 0; text-align:center; }
.freeblock_ .imgtxtArea .txtCntrBtm { position:absolute; bottom:20px; right:0; left:0; margin:auto 0; text-align:center; }
.freeblock_ .imgtxtArea .txtLftTp { position:absolute; top:20px; left:20px; margin:0 auto; text-align:left;}
.freeblock_ .imgtxtArea .txtLftMdl { position:absolute; top:0; bottom:0; left:20px; margin:auto 0; text-align:left; }
.freeblock_ .imgtxtArea .txtLftBtm { position:absolute; bottom:20px; left:20px; margin:auto 0; text-align:left; } 
.freeblock_ .imgtxtArea .txtRghtBtm { position:absolute; bottom:20px; right:20px; margin:auto 0; text-align:right; }

/* youtube 2column parts */
.freeblock_ .video {
width:100%;
padding-bottom: 56.25%;/*hight padding (16:9)*/
height:0px;/*must*/
position: relative;
}

.freeblock_ .video iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}	

/* margin-bottom */
.freeblock_ .mb20 { margin-bottom:20px !important; }
.freeblock_ .mb40 { margin-bottom:40px !important; }
.freeblock_ .mb60 { margin-bottom:60px !important; }
.freeblock_ .mb80 { margin-bottom:80px !important; }


/* 門馬追加202009 */
div.CategoryStyleP_Item_{
    margin: 10px 16px 10px 0px;
}

div.CategoryStyleP_{
    margin-bottom: 70px;
}

div.CategoryStyleT_Item_{
    margin: 5px 16px 20px 0;
}

/* 製品詳細用追加 */
.block-goods-freespace1 *,.block-goods-freespace2 *{
    max-width: 100%;
}
.block-goods-freespace1 .dsgn03b h1, .block-goods-freespace1 .dsgn03w h1, .block-goods-freespace1 .dsgn04b h1, .block-goods-freespace1 .dsgn04w h1 {
    height: auto;
    position: absolute;
    top: 50%;
    bottom: inherit;
    transform: translateY(-50%);
}