@charset "utf-8";
/*------------------ 共通ここから ------------------*/
html{overflow-y: scroll;}

.clearfix:after,
#space .tab_panel:after{
    content:" ";
    display:block;
    clear:both;
}

a:hover{
    opacity: 0.7;
}

body{
    margin: 0 auto;
    min-width: 320px;
    max-width: 1280px;
    font-family: "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
    -webkit-text-size-adjust: 100%;
}
main{
    display: block;
}
main p a{
    color: #cc0000;
}
main a{
    color: #cc0000;
}
input, button, select, textarea {
    -webkit-appearance: none;
    outline: none;
}
/* IE表示用のCSS　*/
_:-ms-input-placeholder, :root {
  font-family: Meiryo, sans-serif;
}
form.wpcf7-form dl.dltable dt{
    background-color: #ffffff;
    padding: 16px 16px 10px;
    box-sizing: border-box;
    margin-right: 0;
    font-size: 14px;
    font-weight: bold;
    width: 35%;
}
form.wpcf7-form dl.dltable dt span{
    color: red;
    font-weight: normal;
}
form.wpcf7-form dl.dltable dt p,
form.wpcf7-form dl.dltable dd p{
    font-size: 14px;
}
form.wpcf7-form dl.dltable dd{
    background-color: #d9d9d9;
    display: block;
    border-top: none;
    padding: 16px 16px 10px;
    box-sizing: border-box;
    font-size: 14px;
    width: 65%;
}
form.wpcf7-form dl.dltable dd.half{
    display: flex;
    justify-content: space-between;
}
form.wpcf7-form dl.dltable dd.half label{
    width: 48%;
    text-align: right;
}
form.wpcf7-form dl.dltable dd.half label input{
    width: calc(100% - 2.5em);
}
form.wpcf7-form input[type="text"],
form.wpcf7-form input[type="email"]{
    border: 1px solid #646464;
    -webkit-appearance: none;
    font-size: 14px;
    padding: 4px;
    width: 100%;
    box-sizing: border-box;
}
form.wpcf7-form textarea{
    font-size: 14px;
    padding: 4px;
    width: 100%;
    box-sizing: border-box;
}
form.wpcf7-form input[type="checkbox"]{
    width: 16px;
    height: 16px;
    border: 1px solid #646464;
    vertical-align: text-bottom;
    position: relative;
    margin: 0 6px 0 0;
    border-radius: 2px;
    background-color: #ffffff;
}
form.wpcf7-form input[type="checkbox"]:checked:after{
    position: absolute;
    content: '';
    display: block;
    width: 4px;
    height: 8px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    top: 1px;
    left: 4px;
}
form.wpcf7-form label{
    display: block;
    margin-bottom: 8px;
}
form.wpcf7-form p{
    margin-bottom: 0;
    margin-top: 0;
}
form.wpcf7-form input[type="submit"]{
    margin: 27px auto 27px;
    display: block;
    width: 240px;
    font-size: 18px;
    padding: 6px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    background-color: #d9d9d9;
}
form.wpcf7-form input[type="submit"]:hover{
    opacity: 0.7;
}
form.wpcf7-form span.wpcf7-not-valid-tip{
    font-size: 14px;
}
.formArea ul{
}
.formArea ul li{
    font-size: 14px;
}
.wpcf7-form-control-wrap{
    margin-bottom: 18px;
}
@media all and (max-width: 1080px) {
    form.wpcf7-form dl.dltable dt{
	font-size: 14px;
	padding: 10px 10px 0;
	width: 100%;
    }
    form.wpcf7-form dl.dltable dd{
	padding: 10px 10px 0;
	width: 100%;
	font-size: 14px;
	background-color: #fff;
    }
    form.wpcf7-form dl.dltable dt p,
    form.wpcf7-form dl.dltable dd p{
	font-size: 14px;
    }
    form.wpcf7-form input[type="text"],
    form.wpcf7-form input[type="email"]{
	font-size: 14px;
	border-radius: 0;
    }
    form.wpcf7-form textarea{
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
	max-width: 100%;
	border-radius: 0;
    }
    form.wpcf7-form label{
	margin-bottom: 12px;
    }
    form.wpcf7-form input[type="submit"]{
	margin: 0 auto 18px;
    }
    dd ul{
	margin: 1em 0;
	padding-left: 1.5em;
    }
    dd ul li{
	font-size: 14px;
	margin-bottom: 6px;
    }
    .formArea ul{
	margin: 1em 0;
	padding-left: 1.5em;
    }
    .formArea ul li{
	font-size: 14px;
	margin-bottom: 6px;
    }
}

/*------------------ 共通ここまで ------------------*/

/*------------------ headerここから ------------------*/

header{
    border-top: 4px solid #cc0000;
    position: fixed;
    width: 100%;
    max-width: 1280px;
    min-width: 320px;
    top: 0;
    background-color: #fff;
    font-family: TBGothic M, "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
    z-index: 2;
}

nav{
    position: relative;
}

header h1{
    width: 320px;
    height: 30px;
    overflow: hidden;
    margin: 18px 0;
}

header h1 img{
    width: 100%;
}

header form{
    width: 168px;
    height: 24px;
    border: 1px solid #cc0000;
    display: block;
    position: absolute;
    right: 238px;
    top: 3px;
}

header input[type="text"]{
    border: none;
    width: 168px;
    line-height: 24px;
    padding: 0;
    margin: 0;
    display: inline-block;
    vertical-align: top;
    outline: 0;
    padding-left: 4px;
    padding-right: 30px;
    font-size: 16px;
    box-sizing: border-box;
}

header input[type="text"] + input{
    position: absolute;
    height: 0;
    width: 24px;
    padding: 24px 0 0 0;
    outline: none;
    cursor: pointer;
    overflow: hidden;
    right: 0;
    top: 0;
    background-image: url(../images/serch.svg);
    background-size: cover;
    background-color: transparent;
    border: none;
    vertical-align: top;
}

img.subLogo{
    position: absolute;
    right: 74px;
    top: 0;
    width: 150px;
    height: 30px;
}

ul.menu{
    padding: 0 74px;
}

ul.menu li{
    display: inline-block;
    margin-right: 24px;
}

ul.menu li:last-child{
    margin-right: 0;
}

ul.menu li a{
    font-size: 14px;
    text-decoration: none;
    color: #1e1e1e;
}

ul.menu li .box{
    display: none;
    position: absolute;
    width: 100%;
    background-color: rgba(200,0,0,0.9);
    top: 84px;
    left: 0;
    max-width: 1280px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

ul.menu li .box_sub{
    display: none;
    position: absolute;
    width: 100%;
    background-color: rgba(200,0,0,0.9);
    top: 87px;
    left: 0;
    max-width: 1280px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

ul.menu li .box ul{
    padding: 22px 74px;
    font-size: 12.5px;
    color: #fff;
    min-height: 40px;
    margin: 0;
}
ul.menu li .box ul li a{
    text-decoration: none;
    color: #ffffff;
    padding-right: 16px;
    background: url(../images/bc_arrow_w.svg) right center no-repeat;
    background-size: 16px;
}

ul.menu li .box ul li a.ac_sub{
    padding-right: 24px;
    background: url(../images/ac_arrow_w.svg) right center no-repeat;
    background-size: 16px;
}

ul.menu li .box ul li a.ac_sub.open{
    background: url(../images/ac_arrow_w_open.svg) right center no-repeat;
    background-size: 16px;
}

ul.menu li .box ul li.products_01 a.ac_sub span{
    background: url(../images/products_01.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_02 a.ac_sub span{
    background: url(../images/products_02.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_03 a.ac_sub span{
    background: url(../images/products_03.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_04 a.ac_sub span{
    background: url(../images/products_04.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_05 a.ac_sub span{
    background: url(../images/products_05.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_06 a.ac_sub span{
    background: url(../images/products_06.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_07 a.ac_sub span{
    background: url(../images/products_07.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_08 a.ac_sub span{
    background: url(../images/products_08.png) left center no-repeat;
    background-size: 40px;
}
ul.menu li .box ul li.products_09 a.ac_sub span{
    background: url(../images/products_09.png) left center no-repeat;
    background-size: 40px;
}

#doropMenu{
    display: none;
    z-index: 3;
}

ul.subMenu{
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    right: 454px;
}

ul.subMenu li{
    display: inline-block;
    margin-right: 10px;
    line-height: 30px;
}

ul.subMenu li:last-child{
    margin-right: 0;
}

ul.subMenu li a{
    font-size: 12.5px;
    text-decoration: none;
    color: #1e1e1e;
}

ul.menu li a.ac{
    padding-right: 24px;
    background: url(../images/ac_arrow.svg) right center no-repeat;
}

ul.menu li a.ac.open{
    background: url(../images/ac_arrow_open.svg) right center no-repeat;
}

.breadcrumb{
    border-top: 1px solid #cc0000;
    border-bottom: 1px solid #cc0000;
    font-size: 12.5px;
    color: #cc0000;
    line-height: 28px;
    padding: 10px 74px;
    background-color: #fff;
}

.breadcrumb a{
    display: inline;
    color: #646464;
    text-decoration: none;
    padding-right: 14px;
    margin-right: 6px;
    transition: text-decoration 0.3s ease 0.5s;
    background: url(../images/bc_arrow.svg) right center no-repeat;
    background-size: 12px;
}

a#subCategory{
    height: 0;
    width: 48px;
    padding-top: 28px;
    background: url(../images/ac_arrow_b.svg) center center no-repeat;
    background-size: 16px;
    position: absolute;
    top: 67px;
    right: 14px;
    overflow: hidden;
    z-index:2;
}
a#subCategory.open{
    background-image: url(../images/ac_arrow_b_open.svg);
}

.subCategory{
    background-color: #d7d7d7;
    font-size: 14px;
    line-height: 28px;
    padding: 6px 74px;
    display: none;
}

.subCategory a{
    display: inline-block;
    color: #1e1e1e;
    text-decoration: none;
    padding-right: 20px;
}

.subCategory a.here{
    color: #cc0000;
}

.subCategory a.here::after {
  border-bottom: 1px solid #cc0000;
}

@media all and (max-width: 750px) {
    header h1{
	padding: 0 18px;
	width: 210px;
	height: 30px;
	overflow: hidden;
	margin: 18px 0;
    }
    header h1 img{
    	padding: 5px 0;
    }
    ul.menu{
	padding: 0;
    }
    ul.menu a:hover{
	opacity: 1;
    }
    ul.menu li{
    	display: block;
	margin-right: 0;
    }
    ul.menu li a{
	color: #ffffff;
	font-size: 15px;
	display: block;
	line-height: 48px;
	border-bottom: 1px solid #d8d9d9;
    }
    ul.menu li a.ac{
	padding-right: 24px;
	background: url(../images/ac_arrow_w.svg) right center no-repeat;
	background-size: 16px;
    }
    
    ul.menu li a.ac.open{
	background: url(../images/ac_arrow_w_open.svg) right center no-repeat;
	background-size: 16px;
    }
    ul.menu li .box{
    	position: relative;
	top: auto;
	background-color: transparent;
    }
    ul.menu li .box_sub{
    	position: relative;
	top: auto;
	background-color: transparent;
    }
    ul.menu li .box ul{
	padding: 0 0 0 24px;
	min-height: auto;
    }
    ul.menu li .box ul li{
	line-height: 48px;
    }
    ul.menu li .box ul li a{
	padding-right: 0;
	background: none;
    }
    ul.menu li .box ul li a.ac_sub{
	line-height: 1.5em;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
    }
    ul.menu li .box ul li a.ac_sub span{
	line-height: 1.5em;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 48px;
	display: block;
    }
    ul.subMenu{
	position: relative;
	top: auto;
	right: auto;
	display: flex;
	justify-content: space-between;
	margin-top: 90px;
	margin-bottom: 144px;
    }
    ul.subMenu li{
	margin: 0;
    }
    ul.subMenu li:first-child{
	display: none;
    }
    ul.subMenu li a{
	color: #ffffff;
	font-size: 15px;
    }
    .subCategory{
	padding: 9px 18px 18px 18px;
	background-color: #ffffff;
	position: fixed;
	width: 100%;
	box-sizing: border-box;
    }
    .subCategory .categoryTitle{
	font-size: 16px;
	line-height: 32px;
	border-bottom: 1px solid #646464;
    }
    .subCategory a{
	display: block;
	line-height: 36px;
	border-bottom: 1px solid #646464;
	padding-right: 0;
    }
    .subCategory a.here{
    	color: #1e1e1e;
    }
    .breadcrumb{
	padding: 0 58px 0 18px;
	border-bottom: none;
	background-color: #d9d9d9;
    }
    .sp{
	display: block;
    }
    .pc{
    	display: none;
    }
    #menu{
    	position: absolute;
	right: 18px;
	top: 0;
	display: block;
	width: 40px;
	height: 30px;
    }
    #menu span{
	position: absolute;
	display: block;
	top: calc(50% - 1px);
	left: calc(50% - 16px);
	width: 32px;
	border-top: 2px solid #cc0000;
	transition-duration: .3s;
    }
    #menu span:first-child{
	position: absolute;
	display: block;
	top: 7px;
	left: calc(50% - 18px);
	width: 36px;
	border-top: 2px solid #cc0000;
    }
    #menu span:last-child{
	position: absolute;
	display: block;
	bottom: 7px;
	left: calc(50% - 14px);
	top: auto;
	width: 28px;
	border-top: 2px solid #cc0000;
    }
    #menu.open span{
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 16px);
	width: 32px;
	display: none;
    }
    #menu.open span:first-child{
	bottom: auto;
	left: calc(50% - 18px);
	top: calc(50% - 1px);
	width: 36px;
	transform:rotate(225deg);
	display: block;
    }
    #menu.open span:last-child{
	bottom: auto;
	left: calc(50% - 18px);
	top: calc(50% - 1px);
	width: 36px;
	transform:rotate(-225deg);
	display: block;
    }
    #doropMenu{
	background-color: #cc0000;
	position: absolute;
	top: 48px;
	left: 0;
	width: 100%;
	height: calc(100vh - 48px);
	padding: 21px 37px;
	box-sizing: border-box;
	overflow-y: scroll;
    }
    #doropMenu form{
	position: relative;
	top: auto;
	right: auto;
	width: 100%;
	margin-bottom: 27px;
    }
    #doropMenu form input[type="text"]{
	width: 100%;
	line-height: 36px;
	height: 36px;
	border-radius: 2px;
	background-color: #dadada;
    }
    #doropMenu form input[type="text"]:focus{
	background-color: #ffffff;
    }
    header input[type="text"] + input{
	width: 36px;
	padding-top: 36px;
	background-image: url(../images/serch_red.svg);
    }
}

@media screen and (min-width: 751px) and (max-width: 1080px){
    header h1{
	padding: 0 18px;
    }
    ul.menu{
	padding: 0;
    }
    ul.menu a:hover{
	opacity: 1;
    }
    ul.menu li{
    	display: block;
	margin-right: 0;
    }
    ul.menu li a{
	color: #ffffff;
	font-size: 15px;
	display: block;
	line-height: 48px;
	border-bottom: 1px solid #d8d9d9;
    }
    ul.menu li a.ac{
	padding-right: 24px;
	background: url(../images/ac_arrow_w.svg) right center no-repeat;
	background-size: 16px;
    }
    
    ul.menu li a.ac.open{
	background: url(../images/ac_arrow_w_open.svg) right center no-repeat;
	background-size: 16px;
    }
    ul.menu li .box{
    	position: relative;
	top: auto;
	background-color: transparent;
    }
    ul.menu li .box_sub{
    	position: relative;
	top: auto;
	background-color: transparent;
    }
    ul.menu li .box ul{
	padding: 0 0 0 24px;
	min-height: auto;
    }
    ul.menu li .box ul li{
	line-height: 48px;
    }
    ul.menu li .box ul li a{
	padding-right: 0;
	background: none;
    }
    ul.menu li .box ul li a.ac_sub{
	line-height: 1.5em;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
    }
    ul.menu li .box ul li a.ac_sub span{
	line-height: 1.5em;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 48px;
	display: block;
    }
    ul.subMenu{
	position: relative;
	top: auto;
	right: auto;
	display: flex;
	justify-content: space-between;
	margin-top: 90px;
	margin-bottom: 90px;
    }
    ul.subMenu li{
	margin: 0;
    }
    ul.subMenu li:first-child{
	display: none;
    }
    ul.subMenu li a{
	color: #ffffff;
	font-size: 15px;
    }
    .subCategory{
	padding: 9px 18px 18px 18px;
	background-color: #ffffff;
	position: fixed;
	width: 100%;
	box-sizing: border-box;
    }
    .subCategory .categoryTitle{
	font-size: 14px;
	border-bottom: 1px solid #646464;
    }
    .subCategory a{
	display: block;
	line-height: 36px;
	border-bottom: 1px solid #646464;
	padding-right: 0;
    }
    .subCategory a.here{
    	color: #1e1e1e;
    }
    .breadcrumb{
	padding: 0 18px;
	border-bottom: none;
	background-color: #d9d9d9;
    }
    .sp{
	display: block;
    }
    .pc{
    	display: none;
    }
    #menu{
    	position: absolute;
	right: 18px;
	top: 0;
	display: block;
	width: 40px;
	height: 30px;
    }
    #menu span{
	position: absolute;
	display: block;
	top: calc(50% - 1px);
	left: calc(50% - 16px);
	width: 32px;
	border-top: 2px solid #cc0000;
	transition-duration: .3s;
    }
    #menu span:first-child{
	position: absolute;
	display: block;
	top: 7px;
	left: calc(50% - 18px);
	width: 36px;
	border-top: 2px solid #cc0000;
    }
    #menu span:last-child{
	position: absolute;
	display: block;
	bottom: 7px;
	left: calc(50% - 14px);
	top: auto;
	width: 28px;
	border-top: 2px solid #cc0000;
    }
    #menu.open span{
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - 16px);
	width: 32px;
	display: none;
    }
    #menu.open span:first-child{
	bottom: auto;
	left: calc(50% - 18px);
	top: calc(50% - 1px);
	width: 36px;
	transform:rotate(225deg);
	display: block;
    }
    #menu.open span:last-child{
	bottom: auto;
	left: calc(50% - 18px);
	top: calc(50% - 1px);
	width: 36px;
	transform:rotate(-225deg);
	display: block;
    }
    #doropMenu{
	background-color: #cc0000;
	position: absolute;
	top: 48px;
	left: 0;
	width: 100%;
	height: calc(100vh - 48px);
	padding: 21px 37px;
	box-sizing: border-box;
	overflow-y: scroll;
    }
    #doropMenu form{
	position: relative;
	top: auto;
	right: auto;
	width: 100%;
	margin-bottom: 27px;
    }
    #doropMenu form input[type="text"]{
	width: 100%;
	line-height: 36px;
	height: 36px;
	border-radius: 2px;
	background-color: #dadada;
    }
    #doropMenu form input[type="text"]:focus{
	background-color: #ffffff;
    }
    header input[type="text"] + input{
	width: 36px;
	padding-top: 36px;
	background-image: url(../images/serch_red.svg);
    }
}

@media screen and (min-width: 1081px) and (max-width: 1280px){
    header h1{
	padding: 0 27px;
    }
    ul.menu{
	padding: 0 27px;
    }
    ul.menu li .box ul{
	padding: 22px 27px;
    }
    ul.menu li .box ul li{
	margin-bottom: 12px;
    }
    ul.menu li .box ul li a.ac_sub{
	display: block;
    }
    ul.menu li .box ul li a.ac_sub span{
	display: inline-block;
	line-height: 4em;
	padding-left: 48px;
    }
    ul.menu li .box ul li .box_sub span{
	display: block;
	padding: 0 27px;
	font-size: 18px;
    }
    header form{
        right: calc(238px - 47px);
    }
    ul.subMenu{
        right: calc(454px - 47px);
    }
    img.subLogo{
        right: 27px;
    }
    #doropMenu{
	display: block!important;
    }
    .subCategory{
	padding: 6px 27px;
	display: none;
    }
    @-webkit-keyframes show {
	0%{ height:0; opacity:0; }
	100% { height:24px; opacity:1; }
    }
    .breadcrumb{	padding: 10px 27px;
    }
    .breadcrumb:hover + #subCategory + .subCategory{
	display: block!important;
	overflow: hidden;
	animation: show 0.2s linear 0s;
    }
    .subCategory:hover{
	display: block!important;
    }
    .sp{
	display: none;
    }
    .pc{
    	display: block;
    }
}

@media screen and (min-width: 1281px){
    body.fullsize {
	max-width: 100%;
    }
    body.fullsize header{
	max-width: 100%;
    }
    body.fullsize header nav{
	max-width: 1280px;
	margin: 0 auto;
    }
    body.fullsize main section{
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
    }
    body.fullsize main #space section{
	max-width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
    }
    header h1{
	padding: 0 74px;
    }
    #doropMenu{
	display: block!important;
    }
    ul.menu li .box ul li{
	margin-bottom: 12px;
    }
    ul.menu li .box ul li a.ac_sub{
	display: block;
    }
    ul.menu li .box ul li a.ac_sub span{
	display: inline-block;
	line-height: 4em;
	padding-left: 56px;
	background-size: 50px!important;
    }
    ul.menu li .box ul li .box_sub span{
	display: block;
	padding: 0 74px;
	font-size: 18px;
    }
    .subCategory{
	display: none;
    }
    @-webkit-keyframes show {
	0%{ height:0; opacity:0; }
	100% { height:24px; opacity:1; }
    }
    .breadcrumb:hover + #subCategory + .subCategory{
	display: block!important;
	animation: show 0.2s linear 0s;
    }
    .subCategory:hover{
	display: block!important;
    }
    .sp{
	display: none;
    }
    .pc{
    	display: block;
    }
}
/*------------------ headerここまで ------------------*/

/*------------------ footerここから ------------------*/
footer{
    background-color: #d9d9d9;
    z-index: 1;
    position: relative;
}
footer a{
    color: #1e1e1e;
    text-decoration: none;
}
footer .container{
    padding: 18px;
}
footer ul.footerList{
    padding: 0;
    margin: 0;
    list-type: none;
}
footer ul.footerList li{
    list-style-type: none;
    font-size: 14px;
    line-height: 36px;
    border-bottom: 1px solid #646464;}
footer ul.footerList:first-child{
    border-top: 1px solid #646464;
}
footer ul.footerList li a.ac{
    display: block;
    padding-right: 30px;
    background: url(../images/ac_arrow_b.svg) right 12px center no-repeat;
    background-size: 16px;
}
footer ul.footerList li a.ac.open{
    background: url(../images/ac_arrow_b_open.svg) right 12px center no-repeat;
    background-size: 16px;
}
footer ul.footerList li a.ac + .box{
    display: none;
}
footer .box ul{
    padding-left: 0;
}
footer a.ac + .box{
    padding-bottom: 16px;
}
footer .box .box ul{
    padding-left: 1em;
}
footer .box ul li{
    font-size: 14px;
    border-bottom: none;
    line-height: 2.4em;
}
footer #copyright{
    display: block;
    justify-content: space-between;
    padding: 0 18px 18px;
}
footer #copyright a{
    display: block;
    font-size: 14px;
    color: #646464;
    line-height: 2.4em;
}
footer #copyright span{
    display: block;
    font-size: 12.5px;
    color: #646464;
    line-height: 2.4em;
}
footer .toTop{
    text-align: right;
    heihgt: 0;
    margin: 0;
    position: relative;
}
footer .toTop a{
    display: inline-block;
    height: 0;
    width: 40px;
    padding-top: 32px;
    overflow: hidden;
    font-size: 0;
    background-color: #cc0000;
    margin-top: -32px;
    position: absolute;
    right: 18px;
    border-radius: 8px 8px 0 0;
    background-image: url(../images/ac_arrow_w_open.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px;
}
footer .contact{
    margin: 0;
    padding: 0 18px;
    border-top: 1px solid #cc0000;
    background-color: #ffffff;
}
footer .contact a.contactBtn{
    display: block;
    text-align: left;
    padding: 12px 30px 12px 64px;
    color: #cc0000;
    background: url(../images/ac_arrow.svg) right 10px center no-repeat;
    background-size: 22px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    width: 220px;
    margin-top: -49px;
    height: 48px;
    background-color: #ffffff;
    border-left: 1px solid #cc0000;
    border-right: 1px solid #cc0000;
    border-top: 1px solid #cc0000;
    box-sizing: border-box;
    border-radius: 6px 6px 0 0;
    position: relative;
}
footer .contact a.contactBtn:before{
    content: "";
    display: block;
    width: 43px;
    height: 31px;
    background: url(../images/contact.svg) right center no-repeat;
    background-size: 43px 31px;
    position: absolute;
    left: 14px;
    top: 8px;
}
footer .contact a.contactBtn.open{
    background: url(../images/ac_arrow_open.svg) right 10px center no-repeat;
    background-size: 22px;
    background-color: #ffffff;
}
footer .contact .formArea{
    display: none;
    padding: 0 0 32px;
    font-size: 14px;
    margin: 0 auto;
}
footer input, footer button, footer select, footer textarea {
    -webkit-appearance: none;
    border: 1px solid #646464;
}
footer dl.dltable{
    border: none;
    display:flex;
    flex-flow: column wrap;
    box-sizing: border-box;
    margin-top: 0;
    margin-bottom: 18px;
}
footer dl.dltable dt{
    border-top: 1px solid #646464;
    padding: 8px 0 4px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    line-height: 1.8em;
    width: 100%;
    min-width: 8em;
}
footer dl.dltable dd{
    padding: 0 0 8px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: normal;
    line-height: 1.8em;
    width: 100%;
    margin: 0;
}
footer dl.dltable dd:last-child{border-bottom: 1px solid #646464;}

@media screen and (min-width: 1081px){
    footer dl.dltable{
	border: none;
	display:flex;
	flex-flow: wrap;
	box-sizing: border-box;
    }
    footer dl.dltable dt{
	border-top: none;
	border-bottom: 1px solid #646464;
	padding: 16px 0;
	vertical-align: top;
	font-size: 14px;
	text-align: left;
	font-weight: bold;
	line-height: 1.8em;
	width: 25%;
	min-width: 8em;
	margin-right: 16px;
    }
    footer dl.dltable dd{
	border-bottom: 1px solid #646464;
	padding: 16px 0;
	vertical-align: top;
	font-size: 14px;
	text-align: left;
	font-weight: normal;
	line-height: 1.8em;
	width: calc(75% - 16px);
	margin: 0;
    }
    footer dl.dltable dt:first-child{border-top: 1px solid #646464; padding-top: 16px;}
	footer dl.dltable dt:first-child + dd{border-top: 1px solid #646464; padding-top: 16px;}
    footer .contact .formArea{
	padding: 0 0 54px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1080px){
    footer #copyright{
	display: flex;
	justify-content: space-between;
    }
    footer #copyright a{
	display: inline-block;
	font-size: 11.2px;
    }
    footer #copyright span{
	display: inline-block;
	font-size: 11.2px;
    }
}
@media screen and (min-width: 1081px) and (max-width: 1280px){
    footer .container{
	padding: 40px 27px;
	display: flex;
	justify-content: space-between;
    }
    footer #copyright{
	display: flex;
	justify-content: space-between;
	padding: 0 0 54px;
	margin: 0 27px;
	border-top: 1px solid #646464;
    }
    footer ul.footerList{
    	width: 20%;
    }
    footer ul.footerList li{
    	border-bottom: none;
	font-size: 16px;
    }
    footer ul.footerList:first-child{
    	border-top: none;
    }
    footer ul.footerList li a.ac{
	background: none;
    }
    footer ul.footerList li a.ac + .box{
	display: block!important;
    }
    footer .box ul li{
	font-size: 12.5px;
    }
    footer #copyright a{
	display: inline-block;
	font-size: 12px;
    }
    footer #copyright span{
	display: inline-block;
	font-size: 12px;
    }
    footer .toTop a{
	width: 54px;
	padding-top: 40px;
	margin-top: -40px;
	right: 27px;
	background-size: 24px;
    }
    footer .contact{
	padding: 0 27px;
    }
    footer .contact a.contactBtn{
	text-align: center;
	font-size: 16px;
    }
    footer dl.dltable{
	margin-top: 12px;
	margin-bottom: 12px;
    }
}
@media screen and (min-width: 1281px){
    body.fullsize footer .container{
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
    }
    body.fullsize footer #copyright{
	max-width: 1132px;
	margin: 0 auto;
	box-sizing: border-box;
    }
    footer .container{
	padding: 40px 74px;
	display: flex;
	justify-content: space-between;
    }
    footer ul.footerList{
    	width: 20%;
    }
    footer ul.footerList li{
    	border-bottom: none;
	font-size: 16px;
    }
    footer ul.footerList:first-child{
    	border-top: none;
    }
    footer ul.footerList li a.ac{
	background: none;
    }
    footer ul.footerList li a.ac + .box{
	display: block!important;
    }
    footer .box ul li{
	font-size: 12.5px;
    }
    footer #copyright{
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #646464;
	padding: 0 0 54px;
	margin: 0 74px;
    }
    footer #copyright a{
	display: inline-block;
	font-size: 12px;
    }
    footer #copyright span{
	display: inline-block;
	font-size: 12px;
    }
    footer .toTop{
	max-width: 1280px;
	margin: 0 auto;
    }
    footer .toTop a{
	width: 54px;
	padding-top: 40px;
	margin-top: -40px;
	right: 74px;
	background-size: 24px;
    }
    footer .contact{
	padding: 0 74px;
    }
    footer .contact .inner{
	max-width: 1132px;
	margin: 0 auto;
    }
    footer .contact a.contactBtn{
	text-align: center;
	font-size: 16px;
    }
}
/*------------------ footerここまで ------------------*/

/*------------------ コンテンツ共通ここから ------------------*/
main{}
div.mainContents{}
section{padding: 18px 18px 48px;}
main h1{
    font-family: TBGothic M, "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
    color: #cc0000;
    font-size: 24px;
    margin: 0 0 12px; 
}
main h2{
    font-family: TBGothic M, "Helvetica Neue", Arial, -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
    color: #cc0000;
    font-size: 18px;
    margin: 0 0 12px; 
}
main h3{font-size: 16.5px; font-weight: bold; margin: 12px 0 3px;}
main img{margin: 12px auto; display: block; max-width: 100%; height: auto;}
main p{font-size: 14px; line-height: 1.5em; margin: 0 0 12px;}
main .accordionlist{
    border-bottom: 1px solid #646464;
}
main .accordionlist dt.title{
    font-size: 14px;
    line-height: 36px;
    border-top: 1px solid #646464;
    padding: 0 30px 0 6px;
    background: url(../images/ac_arrow.svg) right 10px center no-repeat;
    background-size: 22px;
    cursor: pointer;
}
main .accordionlist dt.title.open{
    background: url(../images/ac_arrow_open.svg) right 10px center no-repeat;
    background-size: 22px;
}
main .accordionlist dd{
    display: none;
    border-top: 1px solid #646464;
    margin: 0;
}
main .linkArea{}
main .linkArea a{
    display: inline-block;
    line-height: 24px;
    padding: 0 24px 0 6px;
    border: 1px solid #1e1e1e;
    border-radius: 4px;
    font-size: 13px;
    color: #1e1e1e;
    text-decoration: none;
    background: url(../images/link.svg) right center no-repeat;
    background-size: 24px;
    margin: 0 12px 12px 0;
}
main .btnArea{margin-top: 12px;}
main .btnArea a{
    display: inline-block;
    line-height: 24px;
    padding: 0 24px 0 6px;
    border: 1px solid #1e1e1e;
    border-radius: 4px;
    font-size: 13px;
    color: #1e1e1e;
    text-decoration: none;
    background: url(../images/link.svg) right center no-repeat;
    background-size: 24px;
    margin: 0 12px 12px 0;
    background-color: #FFF;
}
main hr{border-top: 1px solid #646464; border-bottom: none; margin: 36px 0;}
main ul.productsList{
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    justify-content: space-between;
    padding: 0;
}
main ul.productsList li{
    width: 46%;
}
main ul.productsList li a.productsName{
    color: #cc0000;
    text-decoration: none;
    font-size: 14px;
}
main .productsInfo{
    display: block;
}

@media screen and (min-width: 751px) and (max-width: 1080px){
    section{padding: 18px 18px 48px;}
    main ul.productsList li{width: 23%;}
    main ul.productsList li a.productsName{ font-size: 16px;}
    main .productsInfo{display: flex; justify-content: space-between;}
    main .productsInfo .imageArea{width: 40%;}
    main .productsInfo .imageArea img{margin-top: 0;}
    main .productsInfo .detailArea{width: 60%;}
    main img{margin: 18px 0;}
}
@media screen and (min-width: 1081px) and (max-width: 1280px){
    section{padding: 27px 27px 54px 27px;}
    main h1{font-size: 43px; font-weight: normal;}
    main h2{font-size: 30px; font-weight: normal;}
    main p{font-size: 20px; margin: 0 0 27px;}
    main .accordionlist{margin: 27px 0;}
    main .accordionlist dt.title{font-size: 18px; line-height: 60px;}
    main .accordionlist dd{padding: 18px 0;} 
    main .accordionlist dd p{font-size: 18px;} 
    main h3{font-size: 24px; line-height: 1.5em; margin: 27px 0 9px;}
    main img{margin: 27px 0;}
    main .linkArea a{
	line-height: 44px;
	padding: 0 44px 0 14px;
	font-size: 18px;
	background-size: 44px;
	margin: 0 18px 24px 0;
    }
    main .btnArea {margin-top: 27px;}
    main .btnArea a{
	line-height: 44px;
	padding: 0 44px 0 14px;
	font-size: 18px;
	background-size: 44px;
	margin: 0 18px 24px 0;
    }
    main ul.productsList li{width: 23%;}
    main ul.productsList li a.productsName{ font-size: 20px;}
    main .productsInfo{display: flex; justify-content: space-between;}
    main .productsInfo .imageArea{width: 44%;}
    main .productsInfo .imageArea img{margin-top: 0;}
    main .productsInfo .detailArea{width: 56%;}
}
@media screen and (min-width: 1281px){
    section{padding: 27px 74px 54px 74px;}
    main h1{font-size: 43px; font-weight: normal;}
    main h2{font-size: 30px; font-weight: normal;}
    main p{font-size: 20px; margin: 0 0 27px;}
    main .accordionlist{margin: 27px 0;}
    main .accordionlist dt.title{font-size: 18px; line-height: 60px;}
    main .accordionlist dd{padding: 18px 0;} 
    main .accordionlist dd p{font-size: 18px;} 
    main h3{font-size: 24px; line-height: 1.5em; margin: 27px 0 9px;}
    main img{margin: 27px 0;}
    main .linkArea a{
	line-height: 44px;
	padding: 0 44px 0 14px;
	font-size: 18px;
	background-size: 44px;
	margin: 0 18px 24px 0;
    }
    main .btnArea {margin-top: 27px;}
    main .btnArea a{
	line-height: 44px;
	padding: 0 44px 0 14px;
	font-size: 18px;
	background-size: 44px;
	margin: 0 18px 24px 0;
    }
    main ul.productsList li{width: 23%;}
    main ul.productsList li a.productsName{ font-size: 20px;}
    main .productsInfo{display: flex; justify-content: space-between;}
    main .productsInfo .imageArea{width: 44%;}
    main .productsInfo .imageArea img{margin-top: 0;}
    main .productsInfo .detailArea{width: 615px;}
}
main h3 + .tableArea{
    margin-top: 12px;
}
main .tableArea{
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 18px;
    margin-bottom: 18px;
}
main .tableArea table{
    width: 715px;
}
main table{
    border: none;
    border-collapse: 0;
    border-spacing: 0;
    border-bottom: 1px solid #646464;
    -webkit-text-size-adjust: 100%;
    overflow: hidden;
    width: 100%;
}
main table tr.gray th{
    border-top: 1px solid #646464;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    line-height: 1.5em;
    background-color: #D3D4D4;
    padding: 16px;
    -webkit-text-size-adjust: 100%;
}
main table tr:hover{
    background-color: #E6E6E6;
}
main table.focusTable th:hover,
main table.focusTable td:hover{
    background-color: #CFCFCF;
}
main table th{
    border-top: 1px solid #646464;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    line-height: 1.5em;
    position: relative;
    padding: 16px;
    -webkit-text-size-adjust: 100%;
}
main table td{
    border-top: 1px solid #646464;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: normal;
    line-height: 1.5em;
    position: relative;
    padding: 16px;
    -webkit-text-size-adjust: 100%;
}
main table.focusTable th:hover:after,
main table.focusTable td:hover:after{
  content: "";
  background-color: #E6E6E6;
  width: 100%;
  height: 200vh;
  position: absolute;
  top: -100vh;
  left: 0;
  z-index: -1;
}

main table.dltable{
    border: none;
    margin-left: -16px;
    margin-right: -16px;
    border-collapse: separate;
    border-spacing: 16px;
    width: calc(100% + 32px);
}
main table.dltable th{
    border-bottom: 1px solid #646464;
    border-top: none;
    padding: 0 0 16px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    line-height: 1.8em;
}
main table.dltable td{
    border-bottom: 1px solid #646464;
    border-top: none;
    padding: 0 0 16px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: normal;
    line-height: 1.8em;
}
main table.dltable tr:first-child th{border-top: 1px solid #646464; padding-top: 16px;}
main table.dltable tr:first-child td{border-top: 1px solid #646464; padding-top: 16px;}
main table.dltable tr:hover{
    background-color: transparent;
}


main .btnArea.fileLink a{
    font-size: 14px;
    padding: 4px 8px;
    line-height: 1.5em;
    background: none;
}

.tableArea::-webkit-scrollbar{
    -webkit-appearance: none;
    height: 12px;
}
.tableArea::-webkit-scrollbar-track{
    background-color: #ccc;
    border: none;
}
.tableArea::-webkit-scrollbar-thumb{
    background-color: #c00;
    border-radius: 0;
    box-shadow: none;
}

main dl.dltable{
    border: none;
    display:flex;
    flex-flow: column wrap;
    box-sizing: border-box;
    margin-bottom: 18px;
}
main dl.dltable dt{
    border-top: 1px solid #646464;
    padding: 16px 0 4px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    line-height: 1.8em;
    width: 100%;
    min-width: 8em;
}
main dl.dltable dd{
    padding: 0 0 16px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: normal;
    line-height: 1.8em;
    width: 100%;
    margin: 0;
}
main dl.dltable dd:last-child{border-bottom: 1px solid #646464;}
main .forSp{display: block;}
main .forTabPc{display: none;}
@media screen and (min-width: 751px){
    main .forSp{display: none;}
    main .forTabPc{display: block;}
}
@media screen and (min-width: 1081px){
    main dl.dltable{
	border: none;
	display:flex;
	flex-flow: wrap;
	box-sizing: border-box;
    }
    main dl.dltable dt{
	border-top: none;
	border-bottom: 1px solid #646464;
	padding: 16px 0;
	vertical-align: top;
	font-size: 14px;
	text-align: left;
	font-weight: bold;
	line-height: 1.8em;
	width: 25%;
	min-width: 8em;
	margin-right: 16px;
    }
    main dl.dltable dd{
	border-bottom: 1px solid #646464;
	padding: 16px 0;
	vertical-align: top;
	font-size: 14px;
	text-align: left;
	font-weight: normal;
	line-height: 1.8em;
	width: calc(75% - 16px);
	margin: 0;
    }
    main dl.dltable dt:first-child{border-top: 1px solid #646464; padding-top: 16px;}
    main dl.dltable dt:first-child + dd{border-top: 1px solid #646464; padding-top: 16px;}
}

/*------------------ コンテンツ共通ここまで ------------------*/

/*------------------ #detail専用レイアウトここから ------------------*/
#detail section{padding: 18px 18px 48px;}
@media screen and (min-width: 751px) and (max-width: 1080px){
    #detail section{padding: 18px 18px 48px calc(40% + 36px); position: relative;}
    #detail .imageArea{
    	width: 40%;
	position: fixed;
	left: 18px;
	top: 10%;
	z-index: 1;
    }
}
@media screen and (min-width: 1081px) and (max-width: 1280px){
    #detail section{padding: 27px 27px 54px calc(40% + 54px); position: relative;}
    #detail .imageArea{
    	width: 40%;
	position: fixed;
	left: 27px;
	top: 20%;
	z-index: 1;
    }
    #detail .imageArea img{max-width: 440px;}
}
@media screen and (min-width: 1281px){
    #detail section{padding: 27px 74px 54px calc(517px + 74px); position: relative;}
    #detail .imageArea{
    	width: 480px;
	position: fixed;
	left: 50%;
	top: 20%;
	margin-left: calc(-480px - 87px);
	z-index: 1;
    }
    #detail .imageArea img{max-width: 480px;}
}
/*------------------ #detail専用レイアウトここまで ------------------*/

/*------------------ #basic専用レイアウトここから ------------------*/
#basic section{padding: 18px 18px 48px;}
#basic .imageArea img{width: 100%; margin: 18px 0;}
@media screen and (min-width: 751px) and (max-width: 1080px){
    #basic section{padding: 18px 18px 48px 318px; position: relative;}
    #basic .imageArea{
    	width: 300px;
	position: fixed;
	left: 0;
	top: 10%;
	z-index: 1;
    }    
    #basic .imageArea img{max-width: 300px; margin: 0;}
}
@media screen and (min-width: 1081px) and (max-width: 1280px){
    #basic section{padding: 27px 27px 54px 434px; position: relative;}
    #basic .imageArea{
    	width: 40%;
	position: fixed;
	left: 0;
	top: 20%;
	z-index: 1;
    }
    #basic .imageArea img{max-width: 406px; margin: 0;}
}
@media screen and (min-width: 1281px){
    #basic section{padding: 27px 74px 54px 491px; position: relative;}
    #basic .imageArea{
    	width: 430px;
	position: fixed;
	left: 50%;
	margin-left: calc(-480px - 160px);
	z-index: 1;
    }
    #basic .imageArea img{max-width: 430px; margin: 0;}
}
main #basic .forSp{display: block;}
main #basic .forTabPc{display: none;}
@media screen and (min-width: 751px){
    main #basic .forSp{display: none;}
    main #basic .forTabPc{display: block;}
}
/*------------------ #basic専用レイアウトここまで ------------------*/

/*------------------ #topPage専用レイアウトここから ------------------*/
.mainImages{
    width: 100%;
    overflow: hidden;
    height: 520px;
    text-align: center;
    background-size: cover;
    background-position: center;
    position: relative;
    margin-top: -520px;
}
.mainImages div{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
    z-index: 1;
    position: relative;
    text-decoration: none;
    height: 520px;
    text-align: center;
    width: 100%;
}
.mainImages div span{
    letter-spacing: 2px;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4em;
    font-family: "Helvetica Neue", Arial;
}
.mainImages div span + span{
    letter-spacing: 0;
    padding-top: 8px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.6em;
}

@media screen and (min-width: 1081px){
    .mainImages div span{
	letter-spacing: 3px;
	font-size: 52px;
    }
    .mainImages div span + span{
	font-size: 24px;
    }
}

.contentsImages{
    width: 100%;
    overflow: hidden;
    height: 524px;
    text-align: center;
    background-size: cover;
    background-position: center;
    background-color: #efefef;
    position: relative;
}
.contentsImages a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
    z-index: 1;
    position: relative;
    text-decoration: none;
    height: 524px;
    text-align: center;
    width: 100%;
}
.contentsImages a span{
    font-family: "Helvetica Neue", Arial;
    letter-spacing: 4px;
    font-size: 32px;
    font-weight: normal;
    line-height: 1.4em;
}
.contentsImages a span + span{
    font-size: 16px;
    font-weight: normal;
    line-height: 1.6em;
    letter-spacing: 0;
    padding-top: 4px;
}
.contentsImages a img{
    width: 27px;
    height: 27px;
}
.contentsImages:after{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    transition: all 3s ease-out;
}

.contentsImages.space:after{
    background: url(../images/main/main_image_space@2x.jpg) no-repeat center center;
    background-size: cover;
}
.contentsImages.products:after{
    background: url(../images/main/main_image_products@2x.jpg) no-repeat center center;
    background-size: cover;
}
.contentsImages.excellentQuality:after{
    background: url(../images/main/main_image_excellentquality@2x.jpg) no-repeat center center;
    background-size: cover;
}
.contentsImages.sustanability:after{
    background: url(../images/main/main_image_sustanability@2x.jpg) no-repeat center center;
    background-size: cover;
}
.contentsImages.careers:after{
    background: url(../images/main/main_image_careers@2x.jpg) no-repeat center center;
    background-size: cover;
}
.contentsImages.aboutcannon:after{
    background: url(../images/main/main_image_aboutcannon@2x.jpg) no-repeat center center;
    background-size: cover;
}
.contentsImages.investor:after{
    background: url(../images/main/main_image_investor@2x.jpg) no-repeat center center;
    background-size: cover;
}

.contentsImages:hover:after {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.contentsImages.half{
    height: 524px;
}
.contentsImages.half span{
    font-family: "Helvetica Neue", Arial;
    font-size: 24px;
    line-height: 1.6em;
    font-weight: normal;
}
.contentsImages.half span + span{
    font-size: 14px;
}

@media screen and (min-width: 1081px){
    .mainImages{
	height: 620px;
	margin-top: -620px;
    }
    .mainImages div{
	height: 620px;
    } 
    .contentsImages{
	height: 670px;
    }
    .contentsImages a{
	height: 670px;
    }
    .contentsImages a span{
	letter-spacing: 2px;
	font-size: 84px;
    }
    .contentsImages a span + span{
	font-size: 24px;
    }
    .contentsImages a img{
	width: 52px;
	height: 52px;
    }
    .halfBox{
	display: flex;
    }
    .contentsImages.half{
	height: 390px;
	width: 50%;
    }
    .contentsImages.half a{
	height: 390px;
    }
    .contentsImages.half a span{
	font-size: 42px;
    }
    .contentsImages.half a span + span{
	font-size: 24px;
    }
}

main #topPage dl{
    border: none;
    display:flex;
    flex-flow: column wrap;
    box-sizing: border-box;
}
main #topPage dl dt{
    border-top: 1px solid #646464;
    padding: 16px 0 4px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: normal;
    line-height: 1.8em;
    width: 100%;
    min-width: 8em;
    color: #cc0000;
}
main #topPage dl dd{
    padding: 0 0 16px 0;
    vertical-align: top;
    font-size: 14px;
    text-align: left;
    font-weight: normal;
    line-height: 1.8em;
    width: 100%;
    margin: 0;
}
main #topPage dl dd span.tag{
    display: inline-block;
    font-size: 12px;
    border: 1px solid #646464;    padding: 1px 4px;
    line-height: 18px;
    vertical-align: baseline;
    border-radius: 4px;
}
main #topPage dl dd:last-child{border-bottom: 1px solid #646464;}
main #topPage dl dd a{
    text-decoration: none;
    color: #1e1e1e;
    margin-right: 12px;
}
@media screen and (min-width: 1081px){
    main #topPage dl{
	border: none;
	display:flex;
	flex-flow: wrap;
	box-sizing: border-box;
    }
    main #topPage dl dt{
	border-top: none;
	border-bottom: 1px solid #646464;
	padding: 16px 0;
	vertical-align: top;
	font-size: 18px;
	text-align: left;
	font-weight: normal;
	line-height: 1.8em;
	width: 7em;
	min-width: 7em;
    }
    main #topPage dl dd{
	border-bottom: 1px solid #646464;
	padding: 16px 0;
	vertical-align: top;
	font-size: 18px;
	text-align: left;
	font-weight: normal;
	line-height: 1.8em;
	width: calc(100% - 7em);
	margin: 0;
    }
    main #topPage dl dt:first-child{border-top: 1px solid #646464; padding-top: 16px;}
    main #topPage dl dt:first-child + dd{border-top: 1px solid #646464; padding-top: 16px;}
    main #topPage dl dd span.tag{
	vertical-align: text-top;
   }
}

main #topPage p.more{text-align: right;}
main #topPage p.more a{
    text-decoration: none;
    color: #1e1e1e;
    display: inline-block;
    padding-right: 24px;
    background: url(../images/bc_arrow.svg) right center no-repeat;
    background-size: 24px;
    font-family: "Helvetica Neue", Arial;
    font-weight: bold;
}
/*------------------ #topPage専用レイアウトここまで ------------------*/

/*------------------ #result専用レイアウトここから ------------------*/
main #result section{
    margin: 0 auto;
    max-width: 800px;
}
main #result form{
    width: 100%;
    height: 24px;
    border: 1px solid #cc0000;
    display: block;
    position: relative;
}
main #result input[type="text"]{
    border: none;
    width: 100%;
    line-height: 24px;
    height: 24px;
    padding: 0;
    margin: 0;
    display: inline-block;
    vertical-align: top;
    outline: 0;
    padding-left: 4px;
    padding-right: 30px;
    font-size: 16px;
    box-sizing: border-box;
}
main #result input[type="text"] + input{
    position: absolute;
    height: 0;
    width: 24px;
    padding: 24px 0 0 0;
    outline: none;
    cursor: pointer;
    overflow: hidden;
    right: 0;
    top: 0;
    background-image: url(../images/serch.svg);
    background-size: cover;
    background-color: transparent;
    border: none;
    vertical-align: top;
}
main #result a.pageLink{
    font-size: 14px;
    color: #1e1e1e;
    text-decoration: none;
    word-break: break-all;
}
main #result span.tag{
    padding: 8px;
    border: 1px solid #646464;
    border-radius: 6px;
    margin-right: 12px;
    font-size: 12px;
    display: inline-block;
}
main #result .pager{
    margin-bottom: 18px;
}
main #result .pager a{
    display: inline-block;
    padding: 6px;
    background-color: #d5d5d5;
    border-radius: 6px;
    min-width: 1.6em;
    text-align: center;
    font-size: 13px;
    text-decoration: none;
    color: #1e1e1e;
    line-height: 1.6em;
    margin-right: 9px;
    margin-bottom: 12px;
}
main #result .pager a.prev{
    padding: 6px 6px;
    margin-right: 12px;
    margin-left: 0;
    min-width: 4.6em;
}
main #result .pager a.next{
    padding: 6px 6px;
    margin-left: 0;
    margin-right: 0;
    min-width: 4.6em;
}
main #result .pager a.here{
    background-color: #646464;
    color: #ffffff;
}
main #result .pager .num{
    display: inline-block;
    overflow: hidden;
    height: 42px;
}
main #result .pager .num span{
    display: inline-block;
    background-color: #646464;
    color: #ffffff;
    padding: 6px;
    border-radius: 6px;
    min-width: 1.6em;
    text-align: center;
    font-size: 13px;
    line-height: 1.6em;
    margin-right: 9px;
    margin-bottom: 12px;
}
main #result .pager{
    display: flex;
    justify-content: flex-start;
}
@media screen and (min-width: 751px) and (max-width: 1080px){
    main #result .pager a{margin-right: 12px;}
    main #result .pager a.prev{padding: 6px 12px;}
    main #result .pager a.next{padding: 6px 12px;}
}
@media screen and (min-width: 1081px) and (max-width: 1280px){
    main #result form{
	height: 32px;
    }
    main #result input[type="text"]{
	line-height: 32px;
	height: 32px;
	padding-right: 32px;
    }
    main #result input[type="text"] + input{
	width: 32px;
	padding: 32px 0 0 0;
    }
    main #result .pager{justify-content: flex-start;}
    main #result p{margin-bottom: 18px;}
    main #result .pager a{font-size: 15px; margin-right: 12px;}
    main #result .pager .num span{font-size: 15px; margin-right: 12px;}
    main #result .pager a.prev{padding: 6px 18px;}
    main #result .pager a.next{padding: 6px 18px;}
}
@media screen and (min-width: 1281px){
    main #result form{
	height: 32px;
    }
    main #result input[type="text"]{
	font-size: 18px;
	line-height: 32px;
	height: 32px;
	padding-right: 32px;
    }
    main #result input[type="text"] + input{
	width: 32px;
	padding: 32px 0 0 0;
    }
    main #result .pager{justify-content: flex-start;}
    main #result p{margin-bottom: 18px;}
    main #result .pager a{font-size: 15px; margin-right: 12px;}
    main #result .pager .num span{font-size: 15px; margin-right: 12px;}
    main #result .pager a.prev{padding: 6px 18px;}
    main #result .pager a.next{padding: 6px 18px;}
}
/*------------------ #reslt専用レイアウトここまで ------------------*/

/*------------------ #space専用レイアウトここから ------------------*/
main #space{}
main #space .forSp{display: block;}
main #space .forTabPc{display: none;}
@media screen and (min-width: 751px){
    main #space .forSp{display: none;}
    main #space .forTabPc{display: block;}
}
main #space section{background-color: #000000; color: #ffffff; padding-top: 0; padding-bottom: 36px;}
main #space .imageWrap{
    position: relative;
    height: 450px;
    overflow: hidden;
    margin-left: -18px;
    margin-right: -18px;
}
main #space .imageWrap .inner{
    position: relative;
    z-index: 1;
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 84%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 84%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0) 84%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
    height: 450px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
main #space .imageWrap .inner .textBox{
    position: relative;
    z-index: 1;
}

main #space .imageWrap.dreamImage{
    height: 800px;    
    overflow: hidden;
}
main #space .imageWrap.dreamImage .inner{
    height: 800px;
}
main #space .imageWrap.dreamImage .inner:after{
    background: url(../images/main/box@2x.png) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    width: 150px;
    height: 160px;
    position: absolute;
    top: calc(50% - 80px);
    right: 30%;
}
main #space .tabWrap{
    margin-top: -60px;
    z-index: 1;
    position: relative;
}
main #space .imageWrap:after{
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    transition: all 3s ease-out;
}
main #space .imageWrap.dreamImage:after{
    background: url(../images/main/main_image_dream@2x.jpg) no-repeat center center;
    background-size: cover;
}
main #space .imageWrap.technologyImage:after{
    background: url(../images/main/main_image_technology@2x.jpg) no-repeat center center;
    background-size: cover;
}
main #space .imageWrap.businessImage:after{
    background: url(../images/main/main_image_business@2x.jpg) no-repeat center center;
    background-size: cover;
}
main #space .imageWrap:hover:after {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
main #space .tabArea{
    box-sizing: border-box;
    margin: 0 auto;
    padding:0;
}
main #space .tabArea{
    position: relative;
    z-index: 1;
}
main #space .tabArea label{
    margin:0;
    padding:0;
    color:#ffffff;
    background:transparent;
    text-align:center;
    font-size:13px;
    cursor:pointer;
    transition:ease 0.2s opacity;
    border-left: 1px solid #ffffff;
    border-top: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    border-radius: 9px 9px 0 0;
}
.tabArea label:hover{opacity:0.5;}
.panelArea{background:transparent; max-width: 1020px; margin: 0 auto;}
.tab_panel{width:100%; padding:0; display:none; position: relative; margin-bottom: 32px;}
.tab_panel p{font-size:14px; letter-spacing:1px;}
.tab_panel dl{}
.tab_panel dt{
    font-size: 30px;
    padding: 0;
    margin: 0 0 16px;
    font-family: "Helvetica Neue", Arial;
}
.tab_panel dd{
    padding: 0;
    margin: 0 0 24px;
    font-size: 14px;
    line-heihgt: 1.5em;
}

main #space h1{
    font-size: 30px;
    color: #ffffff;
    text-align: center;
    font-weight: normal;
}
main #space h1 + p{
    font-size: 16px;
    text-align: center;
    margin-bottom: 320px;
}
main #space h2{
    font-size: 14px;
    color: #ffffff;
    text-align: center;
}
main #space h2 + p{
    font-size: 22px;
    text-align: center;
}

.panelArea h3{
    border: 1px solid #ffffff;
    padding: 18px;
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    font-weight: normal;
    cursor: pointer;
    position: relative;
    margin-bottom: 60px;
}
.panelArea h3.active{
    margin-bottom: 0;
}
.panelArea h3:after{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(../images/ac_arrow_w.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    bottom: -34px;
    left: calc(50% - 12px);
}
.panelArea h3.active:after{
    display: none;
} 
.panelArea h4{
    text-align: center;
    font-size: 16px;
}

.panelArea ul.photoSelect{
    list-style-type: none;
    margin: 12px 0;
    padding: 0;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.panelArea ul.photoSelect li{
    margin-top: 24px;
    width: 47%;
}
.panelArea ul.photoSelect li a{
    color: #ffffff;
    text-decoration: none;
    line-height: 1.5em;
    font-size: 14px;
}
.panelArea ul.photoSelect li a img{
    margin-top: 0;
    margin-bottom: 18px;
}
.panelArea .photoArea{
    display: none;
}
.panelArea .photoArea .photo{
    display: none;
}
.close{
    text-align: right;
}
.close a{
    text-decoration: none;
    color: #ffffff;
    display: block;
    margin: 0 auto;
    width: 32px;
    height: 32px;
    background: url(../images/space/close.svg) center center no-repeat;
    background-size: cover; 
}

main #space .tabArea label.active{background:#fff; color:#000;}
.tab_panel.active{display:block;}

main #space .accordionbox{
    margin-top: 48px;
}
main #space .accordionlist{
    border-bottom: none;
    border-top: 1px solid #fff;
    margin: 0;
}
main #space .accordionlist:first-child{
    border-top: none;
}
main #space .accordionlist dt.title{
    width: 100%;
    border: none;
    background-color: #d9d9d9;
    color: #1e1e1e;
    box-sizing: border-box;
    margin-bottom: 0;
    padding-left: 10px;
}
main #space .accordionlist dt.title + dd{
    width: 100%;
    padding-left: 0;
}
main #space .accordionlist dd{
    border-top: none;
}
main #space .accordionlist dt.title + dd h4{
    display: inline-block;
    font-size: 16px;
    padding: 12px;
    border-left: 1px solid #646464;
    border-top: 1px solid #646464;
    border-right: 1px solid #646464;
    border-radius: 6px 6px 0 0;
    margin-bottom: 0;
}
main #space .accordionlist dt.title + dd table{
    width: 100%;
    border-bottom: none;
    margin-bottom: 40px;
}
main #space .accordionlist dt.title + dd tr td.pc {
    width: 34%;
}
main #space .accordionlist dt.title + dd tr.sp{
    display: none;
}
main #space .accordionlist dt.title + dd tr td.pc{
    display: table-cell;
}
main #space table.satdata{
    width: 100%;
    border-bottom: none;
    margin-bottom: 40px;
}
main #space table.satdata tr td.pc {
    width: 34%;
}
main #space table.satdata tr.sp{
    display: none;
}
main #space table.satdata tr td.pc{
    display: table-cell;
}


@media screen and (max-width: 750px){
    main #space .accordionlist dt.title + dd tr.sp{
	display: table-row;
    }
    main #space .accordionlist dt.title + dd tr.sp td{
	border-top: none;
    }
    main #space .accordionlist dt.title + dd tr.sp td img{
	width: 80%;
    }
    main #space .accordionlist dt.title + dd tr td.pc{
	display: none;
    }
    main #space .accordionlist dt.title + dd h4{
	border: none;
	text-align: left;
    }
    main #space .accordionbox{
	margin-top: 18px;
    }
    main #space table.satdata{
	margin-bottom: 18px;
    }
    main #space table.satdata tr.sp{
	display: table-row;
    }
    main #space table.satdata tr.sp td{
	border-top: none;
    }
    main #space table.satdata tr.sp td img{
	width: 80%;
    }
    main #space table.satdata tr td.pc{
	display: none;
    }
}
main #space .accordionlist dt.title + dd tr.sp td {
    width: 100%;
}
main #space .accordionlist dt.title + dd table tr td:hover{
    background-color: rgba(100,100,100,1);
}
main #space .accordionlist dt.title + dd table tr:hover{
    background-color: rgba(50,50,50,0.8);
}

main #space table.satdata tr.sp td {
    width: 100%;
}
main #space table.satdata tr td:hover{
    background-color: rgba(100,100,100,1);
}
main #space table.satdata tr:hover{
    background-color: rgba(50,50,50,0.8);
}


@media screen and (min-width: 751px){
    main #space section{padding-top: 0; padding-bottom: 54px;}
    main #space .imageWrap{
	height: 540px;
	overflow: hidden;
	margin-left: -18px;
	margin-right: -18px;
    }
    main #space .imageWrap .inner{
	height: 540px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
    }
    main #space .imageWrap.dreamImage{
	height: 880px;    
	overflow: hidden;
    }
    main #space .imageWrap.dreamImage .inner{
	height: 880px;
    }
    main #space .imageWrap.dreamImage .inner:after{
	background: url(../images/main/box@2x.png) no-repeat center center;
	background-size: cover;
	content: "";
	display: block;
	width: 150px;
	height: 160px;
	position: absolute;
	top: calc(50% - 80px);
	right: 30%;
    }
    main #space .tabWrap{
	margin-top: -60px;
    }
    main #space .imageWrap:after{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	transition: all 3s ease-out;
    }

    main #space .imageWrap.dreamImage:after{
		background: url(../images/main/main_image_dream@2x.jpg) no-repeat center center;
		background-size: cover;
	}
    main #space .imageWrap.technologyImage:after{
	background: url(../images/main/main_image_technology@2x.jpg) no-repeat center center;
	background-size: cover;
    }
    main #space .imageWrap.businessImage:after{
	background: url(../images/main/main_image_business@2x.jpg) no-repeat center center;
	background-size: cover;
    }
    main #space .imageWrap:hover:after {
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
    }
    main #space .tabArea{
	display: flex;
	justify-content: center;
	max-width: 1020px;
	box-sizing: border-box;
	margin: 0 auto;
     }
    main #space .tabArea label{
	width:25%;
	margin:0;
	display:flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding:24px 0;
	color:#ffffff;
	background:transparent;
	text-align:center;
	font-size:13px;
	cursor:pointer;
	transition:ease 0.2s opacity;
	border-left: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	border-radius: 9px 9px 0 0;
    }
    main #space h1{
	font-size: 64px;
	color: #ffffff;
	text-align: center;
	font-weight: normal;
    }
    main #space h1 + p{
	font-size: 18px;
	text-align: center;
	margin-bottom: 320px;
    }
    main #space h2{
	font-size: 24px;
	color: #ffffff;
	text-align: center;
    }
    main #space h2 + p{
	font-size: 32px;
	text-align: center;
    }
    .panelArea h4{
	text-align: left;
	font-size: 30px;
	font-weight: normal;
	padding-right: 0;
	display: inline-block;
    }
    .panelArea .tabImages{
	width: 35%;
	position: relative;
	float: right;
	margin-top: 44px;
    }
    .panelArea .tabImages img{
	margin-top: 0;
    }
    .panelArea p{
	padding-right: calc(35% + 20px);
    }
    .tab_panel dl{
	display: flex;
	justify-content: flex-start;
	flex-flow: wrap;
    }
    .tab_panel dt{
	font-size: 30px;
	padding: 0 40px 0 0;
	margin: 0;
	font-family: "Helvetica Neue", Arial;
	width: 20%;
	box-sizing: border-box;
	border-right: 1px solid #ffffff;
    }
    .tab_panel dd{
	padding: 0 0 24px 40px;
	margin: 0 ;
	font-size: 14px;
	line-height: 1.5em;
	width: 80%;
	box-sizing: border-box;
    }
    .tab_panel dd:last-child{
	padding-bottom: 0;
    }
    .panelArea ul.photoSelect{
	list-style-type: none;
	margin: 12px 0;
	padding: 0;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
    }
    .panelArea ul.photoSelect li{
	margin-top: 24px;
	margin-bottom: 24px;
	width: 23%;
	margin-right: 1%;
	margin-left: 1%;
    }
    .panelArea ul.photoSelect li a{
	color: #ffffff;
	text-decoration: none;
	line-height: 1.5em;
	font-size: 14px;
    }

    .panelArea .photoArea{}
    .panelArea .photoArea .photo{}
    .panelArea .photoArea .photo img{
	width: 100%;
    }
    .panelArea .photoArea .overview{
	display: flex;
	flex-wrap: wrap;
    }
    .panelArea .photoArea .overview p{
	padding: 0 20px 0 0;
	width: 33%;
	box-sizing: border-box;
    }
    .close a{
	display: inline-block;
	margin: 0;
	width: 48px;
	height: 48px;
    }
}
@media screen and (min-width: 1081px){
    main #space section{padding-top: 0; padding-bottom: 54px;}
    main #space .imageWrap{
	height: 640px;
	overflow: hidden;
	margin-left: -27px;
	margin-right: -27px;
    }
    main #space .imageWrap .inner{
	height: 640px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;	
    }
    main #space .imageWrap.dreamImage{
	height: 1280px;    
	overflow: hidden;
    }
    main #space .imageWrap.dreamImage .inner{
	height: 1280px;    
    }
    main #space .tabWrap{
	margin-top: -60px;
    }
    main #space h1{
	font-size: 84px;
	color: #ffffff;
	text-align: center;
	font-weight: normal;
    }
    main #space h1 + p{
	font-size: 24px;
	text-align: center;
	margin-bottom: 560px;
    }
    main #space h2{
	font-size: 32px;
	color: #ffffff;
	text-align: center;
    }
    main #space h2 + p{
	font-size: 43px;
	text-align: center;
    }
    .panelArea p{
	font-size: 18px;
	line-height: 1.6em;
    }

    .panelArea h4{
	text-align: left;
	font-size: 30px;
	font-weight: normal;
    }
    .tab_panel dl{}
    .tab_panel dt{
	font-size: 40px;
    }
    .tab_panel dd{
	font-size: 18px;
	line-height: 1.6em;
    }
}
@media screen and (min-width: 1281px){
    main #space .imageWrap{
	margin-left: -74px;
	margin-right: -74px;
    }
}

/*------------------ #space専用レイアウトここまで ------------------*/

/*------------------ スライドショー専用レイアウトここから ------------------*/

#slide_wrapp{
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    list-style-type: none;
    height: 520px;
}
.slide_item{
    opacity: 0;
    transform: scale(1);
    transition: opacity 2s linear, transform 7.5s linear;  //秒数に注意
    z-index: 1;
    height: 520px;
    width: 1080px;
    position: absolute;
    top: 0;
    left : calc(50% - 540px);
}

.slide_item.img_01{
    background-image: url(../images/main/main_image_001@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}  
.slide_item.img_02{
    background-image: url(../images/main/main_image_space@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}  
.slide_item.img_03{
    background-image: url(../images/main/main_image_products@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}  
.slide_item.img_04{
    background-image: url(../images/main/main_image_excellentquality@2x.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}  

.slide_item.show_{
    opacity: 1;
}
.slide_item.zoom_{
    transform: scale(1.1);
}
.slide_item img{
    display: block;
    height: 520px;
    width: 1080px;
    margin: 0;
    padding: 0;
}
@media screen and (min-width: 1081px) {
    #slide_wrapp{
	height: 620px;
    }
    .slide_item{
	height: 620px;
	width: 100%;
	left : 0;
    }
    .slide_item img{
	height: auto;
	width: 100%;
    }
}

/*------------------ スライドショー専用レイアウトここまで ------------------*/

/*------------------ ニュースリリース一覧専用レイアウトここから ------------------*/
#archive .tabArea{
    padding: 0;
    list-style-type: none;
    margin: 12px auto;
}
#archive .tabArea li{
    margin-bottom: 12px;
    display: block;
    background-color: #ffffff;
    border: 1px solid #cc0000;
    color: #cc0000;
    border-radius: 8px;
    padding: 8px;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;
}
#archive .tabArea li:hover{
    background-color: #cc0000;    
    color: #ffffff;
}
#archive .tabArea li.active{
    background-color: #cc0000;    
    color: #ffffff;
}
#archive .listArea .list{
    display: none;
}
#archive .listArea .list.active{
    display: flex;
    flex-wrap: wrap;
}
#archive .listArea .list .box{
    border-bottom: 1px solid #646464;
    display: flex;
    width: 100%;
}
#archive .listArea .list .box:first-child{
    border-top: 1px solid #646464;
}
#archive .listArea .list .box .imageArea{
    width: 65px;
    padding-right: 12px;
}
#archive .listArea .list .box .imageArea img{
    width: 65px;
    height: 65px;
    border: 1px solid #646464;
    display: block;
    box-sizing: border-box;
}
#archive .listArea .list .box .textArea span{
    margin: 12px 0 4px 0;
    display: block;
    color: #cc0000;
}
#archive .listArea .list .box .textArea{
    width: calc(100% - 77px);
}
#archive .listArea .list .box .textArea p{
    height: auto;
}
#archive .listArea .list .box .textArea a{
    color: #1e1e1e;
    text-decoration: none;
    display: block;
    position: relative;
    word-break: break-all;
    text-align:justify;
    text-justify: inter-ideograph;
    max-height: 4.5em;
}
.ellipsis {
    position: relative;
    overflow: hidden;
    line-height: 1.5em;
}
.ellipsis:before, .ellipsis:after {
    position: absolute;
    background: #fff;
}
.ellipsis:before {
    content: "…";
    bottom: 0;
    right: 0;
}
.ellipsis:after {
    content: "";
    width: 100%;
    height: 100%;
    background: #fff;
}
#archive .listArea .list .box .textArea .tagArea .tag{
    padding: 4px 8px;
    font-size: 12px;
    border: 1px solid #646464;
    border-radius: 6px;
    display: inline-block;
    margin-right: 12px;
    margin-top: 0;
    margin-bottom: 12px;
    color: #1e1e1e;
}
#archive ul.archiveList{
    padding: 0;
    margin: 12px 0;
    width: 100%;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
}
#archive ul.archiveList li{
    margin-bottom: 12px;
    display: inline-block;
    width: calc(50% - 9px);
    box-sizing: border-box;
    margin-right: 9px;
}
#archive ul.archiveList li:nth-child(2n){
    margin-right: 0;
    margin-left: 9px;
}
#archive ul.archiveList li a{
    display: block;
    padding: 8px 32px 8px 12px;
    border-radius: 6px;
    text-decoration: none;
    color: #1e1e1e;
    background: url(../images/link.svg) right center no-repeat #cfcfcf;
    background-size: 36px;
}
#archive ul.archiveList li.empty{
    margin-bottom: 0;
    height: 0;
}
@media screen and (min-width: 751px){
    #archive .tabArea{
	display: flex;
	justify-content: center;
	border-bottom: 1px solid #cc0000;
	margin-top: 18px;
	margin-bottom: 18px;
    }
    #archive .tabArea li{
	margin-bottom: 0;
	width: 20%;
	border-radius: 6px 6px 0 0;
	border-bottom: none;
	padding: 12px 4px;
    }
    #archive .listArea .list{
	justify-content: space-between;
    }
    #archive .listArea .list .box{
	width: 48%;
	box-sizing: border-box;
    }
    #archive .listArea .list .box:first-child + .box{
	border-top: 1px solid #646464;
    }
    #archive .listArea .list .box .textArea span.date{
	margin-top: 18px;
    }
    #archive .listArea .list .box .textArea .tagArea .tag{
	margin-bottom: 18px;
    }
    #archive ul.archiveList{
	justify-content: space-between;
    }
    #archive ul.archiveList li{
	margin-bottom: 18px;
	width: 22%;
	margin-right: 0;
    }
    #archive ul.archiveList li:nth-child(2n){
	margin-left: 0;
    }
    #archive ul.archiveList li a{
	display: block;
	padding: 8px 32px 8px 12px;
	border-radius: 6px;
	text-decoration: none;
	color: #1e1e1e;
	background: url(../images/link.svg) right center no-repeat #cfcfcf;
	background-size: 36px;
    }
}
@media screen and (min-width: 1081px){
    #archive .tabArea{
	display: flex;
	justify-content: center;
	border-bottom: 1px solid #cc0000;
	margin-top: 40px;
	margin-bottom: 40px;
    }
    #archive .tabArea li{
	margin-bottom: 0;
	width: 22%;
	border-radius: 6px 6px 0 0;
	border-bottom: none;
	padding: 24px;
	font-size: 20px;
    }
    #archive .listArea .list{
	justify-content: space-between;
    }
    #archive .listArea .list .box{
	width: 48%;
	box-sizing: border-box;
    }
    #archive .listArea .list .box:first-child + .box{
	border-top: 1px solid #646464;
    }
    #archive .listArea .list .box .imageArea{
	width: 150px;
	padding-right: 27px;
    }
    #archive .listArea .list .box .imageArea img{
	width: 150px;
	height: 150px;
    }
    #archive .listArea .list .box .textArea{
	width: calc(100% - 177px);
    }
    #archive .listArea .list .box .textArea span.date{
	margin-top: 27px;
	margin-bottom: 16px;
    }
    #archive .listArea .list .box .textArea p{
	font-size: 18px;
	line-height: 1.5em;
	margin-bottom: 16px;
    }
    #archive .listArea .list .box .textArea .tagArea .tag{
	margin-bottom: 27px;
    }
    #archive ul.archiveList{
	margin-top: 40px;
    }
    #archive ul.archiveList li{
	margin-bottom: 40px;
	width: calc(100% / 6);
	margin-right: 0;
	padding-right: 40px;
    }
    #archive ul.archiveList li a{
	padding: 10px 44px 10px 18px;
	border-radius: 10px;
	font-size: 18px;
	background-position: right 4px center;
	background-size: 40px;
    }
}
/*------------------ ニュースリリース一覧専用レイアウトここまで ------------------*/

/*------------------ ニュースリリース詳細専用レイアウトここから ------------------*/
main #post section{
    margin: 0 auto;
    max-width: 800px;
}
main #post .tableArea table {
    width: 800px;
}
/*------------------ ニュースリリース詳細専用レイアウトここまで ------------------*/

.toContact.pc{
    display: none;
    position: fixed;
    bottom: 16vh;
    border-top: 1px solid #cc0000;
    border-left: 1px solid #cc0000;
    border-bottom: 1px solid #cc0000;
    border-radius: 6px 0 0 6px;
    right: -120px;
    text-align: right;
    padding: 20px 20px 20px 70px;
    color: #cc0000;
    text-decoration: none;
    z-index: 1;
    box-sizing: border-box;
    overflow: hidden;
    white-space: nowrap;
    font-weight: bold;
    background-image: url(../images/contact.svg);
    background-position: left 12px center;
    background-repeat: no-repeat;
    background-size: 43px 31px;
    background-color: #ffffff;
}
.toContact.pc:hover{
    width: auto;
    right: 0px;
    opacity: 1;
    transition: all .3s ease-out;
}
.toContact.sp{
    display: none;
    position: fixed;
    bottom: 0;
    border-top: 1px solid #cc0000;
    border-left: 1px solid #cc0000;
    border-right: 1px solid #cc0000;
    border-radius: 6px 6px 0 0;
    left: 18px;
    width: 220px;
    text-align: left;
    padding: 12px 30px 12px 64px;    
    color: #cc0000;
    text-decoration: none;
    z-index: 1;
    box-sizing: border-box;
    overflow: hidden;
    white-space: nowrap;
    font-weight: bold;
    background-image: url(../images/contact.svg);
    background-position: left 14px center;
    background-repeat: no-repeat;
    background-size: 43px 31px;
    background-color: #ffffff;
}
.toContact.sp:after{
    content:"";
    display: block;
    position: absolute;
    background: url(../images/ac_arrow.svg) right center no-repeat;
    background-size: 22px;
    height: 22px;
    width: 22px;
    left: 186px;
    bottom: 12px;
}
.toContact.sp:hover{
    opacity: 0.7;
    transition: all .3s ease-out;
}
@media screen and (max-width: 1080px){
    .toContact.pc{
	display: none!important;
    }
}
@media screen and (min-width: 1081px){
    .toContact.sp{
	display: none!important;
    }
}

.fancybox-navigation .fancybox-button{
    height: 224px;
    top: calc(50% - 112px);
    width: 100px;    
}
figure{margin: 0;}
figcaption span.left{display: none;}
figcaption span.left+br{display: none;}

.fancybox-caption span{
    vertical-align: middle;
}

.fancybox-caption {text-align: left; padding:25px 8%;}
.fancybox-caption span.left{
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #ffffff;
    border-radius: 6px;
    margin-right: 12px;
    font-size: 22px;
}
.fancybox-caption span.text{
    display: inline-block;
    font-size: 18px;
}
.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 26px 31px 26px;
    right: 0;
}
.fancybox-navigation .fancybox-button--arrow_left {
    padding: 31px 26px 31px 26px;
    right: 0;
}
.fancybox-toolbar {
    right: 8%;
    bottom: 25px;
    top: auto;
}
.fancybox-button{
    background-color: transparent
}
.fancybox-button.fancybox-button--close{
    padding: 0;
    height: 48px;
    width: 48px;
}
svg.sp{display: none!important;}
svg.pc{display: block!important;}
@media screen and (max-width: 1080px){
    .fancybox-caption {text-align: left; padding:25px 98px 25px 25px;}
    .fancybox-caption span.left{
	display: inline-block;
	padding: 0px 6px;
	border: 1px solid #ffffff;
	border-radius: 6px;
	margin-right: 12px;
	font-size: 14px;
    }
    .fancybox-caption span.text{
	display: block;
	font-size: 14px;
	padding-top: 4px;
    }
    .fancybox-navigation .fancybox-button{
	height: 40px;
	bottom: 10em;
	top: auto;
	width: 90px;
    }
    .fancybox-button.fancybox-button--arrow_left{
	padding: 0 25px;
	box-sizing: border-box;
    }
    .fancybox-button.fancybox-button--arrow_right{
	padding: 0 25px;
	box-sizing: border-box;
    }
    .fancybox-navigation .fancybox-button div{
	padding: 0;
    }
    .fancybox-toolbar {
	right: 25px;
	bottom: 25px;
	top: auto;
    }
    svg.sp{display: block!important;}
    svg.pc{display: none!important;}
}

.hidden{display: none!important;}