@charset "UTF-8";

/* CSS Document */

html{
    position: relative;
    font-size: 85%;
    box-sizing: border-box;
}

/*html,body{
    width: 100%;
}*/

body{
    /*position: absolute;*/
    margin: 0;
    padding: 0;
    font-size: 12px;
    font-size: 1.2rem;
    /* font-family: "Noto Sans Japanese", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
	/* font-family:1em/1.8 "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",游明朝,"Yu Mincho",YuMincho,HGS明朝E,Verdana,Georgia,メイリオ,Meiryo,serif;*/
    color: #000;
    margin: 0;
    overflow-x: hidden;
}

html,
body,
#wrapper {
	overflow-x:hidden;
}

#wrapper{
    width: 100%;
    height: 100%;
    position: relative;
    margin: 0 auto;
    -webkit-transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    z-index: 2;
    background-color: #fff;
    /*overflow: hidden;*/
}

#wrapper.visible {
    -webkit-transform: translate3d(-80%,0,0);
    transform: translate3d(-80%,0,0);
}

* {
	margin: 0px;
	padding: 0px;
}

*, *:before, *:after {
    box-sizing: inherit; 
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight:normal;
}

strong, em {
	font-weight:normal;
	font-style:normal;
}

li { list-style-type: none; }

img {
	border-style: none;
	vertical-align: bottom;
	margin: 0;
	padding: 0;
        display: block;
}

a,
a::before,
a::after {
  -webkit-transition: all .4s;
  transition: all .4s;
}

a:link, a:visited, a:active {
    text-decoration: none;
    color: currentColor;
    display: block;
}

.mincho{
    font-family: "Sawarabi Mincho", 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', serif;
}


::selection {
    background: transparent;
    color: #f7906e;
    outline: none;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* pagetop用css */
#pageTop *, *:before, *:after {
	box-sizing:content-box !important;
}
#pageTop *,
*:before,
*:after {
	-webkit-appearance: none;
	box-sizing:content-box !important;
}
/* pagetop用css */

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

.clearfix{
	clear: both;
}

.mr_0{
    margin-right: 0 !important;
}

a:hover{
	opacity: .55;
}

br.pc{
	display: block;
}
br.sp{
	display: none;
}


/*HEADER*/
header{
    position: relative;
	border-top: solid 10px #0b2989;
	border-bottom: solid 3px #0b2989;
}

#headerInner{
	max-width: 1000px;
	margin: 0 auto;
    padding: 0 15px;
}


header .logo{
    /*width: 525px;*/
    width: 50%;
	float: left;
    margin-top: 89px;
}

#header_right{
    float: right;
}

#header_right .contact{
    width: 170px;
    height: 30px;
	margin: 16px 0 20px;
    background-color: #bc0015;
	border: solid 1px #fff;
	box-shadow:0px 0px 6px 3px #f2f2f2;
	float: right;
}

#header_right .contact a{
    color: #fff;
	font-size: 16px;
    padding: 1px 0 0 41px;
    background: url(../img/common/icon_mail.png) no-repeat 8px 5px;
    position: relative;
}

#header_right .contact a:after {
    content: '';
    border: 2px solid #fff;
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: auto;
    position: absolute;
    top: 10px;
    right: 16px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-46deg);
    border-top: none;
    border-left: none;
    -webkit-transition: all .4s;
    transition: all .4s;
}

#header_right .flag img{
    float: left;
	max-height: 66px;
	box-shadow: 0px 0px 3px 3px #f2f2f2;
}

#header_right .japan_flag{
    margin-left: 17px;
}

header nav{
	width: 100%;
	clear: both;
    overflow: hidden;
}

header nav ul{
	padding: 39px 0 18px;
	margin-bottom: 18px;
    position: relative;
    float: left;
    left: 50%;

}

header nav ul li{
    float: left;
	font-size: 17px;
	/*padding: 0 55px;*/
	border-right: solid 2px #222;
    position: relative;
    left: -50%;
}

header nav ul li a{
    padding: 0 50px;
}

header nav ul li:last-child {
	border-right: none;
}

/* SLIDE MENU */
#btn{
	display: none;
    float: right;
    width: 80px;
    height: 80px;
    line-height: 40px;
    text-align: center;
    border: none;
    padding: 22px;
    background-color: transparent;
    outline: 0;
    overflow: inherit;
}

.hamburger-icon {
    display: block;
    width: 100%;
    height: 3px;
    -webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
    transition: all .6s cubic-bezier(.19,1,.22,1);
    background-color: #222222;
    position: relative;
}

.visible .hamburger-icon{
    background-color: transparent;
}

.hamburger-icon:after, .hamburger-icon:before{
    display: block;
    width: 100%;
    height: 3px;
    -webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
    transition: all .6s cubic-bezier(.19,1,.22,1);
    background-color: #222222;
}

.hamburger-icon:before {
    position: absolute;
    top: -12px;
    left: 0;
    content: ' ';
}

.visible .hamburger-icon:before{
    top: 0px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.hamburger-icon:after {
    position: absolute;
    top: 12px;
    left: 0;
    content: ' ';
}

.visible .hamburger-icon:after{
    top: 0px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#filterBtn{
    visibility: hidden;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 3;
    pointer-events: all;
}

#filterBtn.visible {
	visibility:visible;
	-webkit-transition: visibility 0s 0s;
	transition: visibility 0s 0s;
}


/* SP MENU */
#spMenu {
    position: fixed;
    top: 0;
    right: 0;
    visibility: hidden;
    -webkit-transition: visibility 0s 0.3s;
    transition: visibility 0s 0.3s;
    width: 80%;
    z-index: 1;
    height: 100%;
    background: #e5e4e1;
}

#spMenu.visible {
	visibility:visible;
	-webkit-transition: visibility 0s 0s;
	transition: visibility 0s 0s;
}

#sp-nav{
}

#sp-nav ul{
    padding: 40px 20px 0;
}

#sp-nav ul li{
    position: relative;
}

#sp-nav ul li:after {
    content: '';
    border: 1px solid #231815;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: auto;
    position: absolute;
    right: 0;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    top: 50%;
    margin-top: -8px;
    border-top: none;
    border-right: none;
}

#sp-nav ul li a{
    padding: 12px 0;
    display: block;
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: 1px;
    color: #231815;
}


/* content */
#content{
	clear: both;
}

.breadcrumbwrap{
	max-width: 1000px;
    margin: 0 auto;
}

.breadcrumb {
    font-size: 12px;
    margin: 13px 0 85px;
    display: block;
}

.breadcrumb a{
	display: inline-block;
}


/* footer */
#footer {
	/*height: 182px;*/
    color: #fff;
    background-color: #0b2989;
    clear: both;
	margin-top: 70px;
}

#footer .footerInner {
    padding: 20px 0;
    position: relative;
}

#pageTop{
    height: 64px;
    width: 64px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: url(../img/common/pagetop.png);
    background-repeat: no-repeat;
    background-position: left top;
    text-indent: -9999px;
    -webkit-transition: all .5s ease;
    transition: all .5ase;
    opacity: 1 !important;
    z-index: 9995;
}

#footerLogo{
	width: 416px;
	margin: 0 auto;
    padding-bottom: 10px;
    clear: both;
}

#footerNavi{
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 82px;
}

#footerNavi ul li{
	font-size: 13px;
	padding: 0px 29px;
	float: left;
}

.company_name{
    font-size: 11px;
    font-size: 1.1rem;
    text-align: center;
	width: 416px;
    margin: 0 auto;
}

.footer_address{
    font-size: 11px;
    font-size: 1.1rem;
    text-align: center;
}


.productBtnStyle{
	text-align:center !important;
}
.productBtnStyle img{
	display:inherit !important;
}
.productBtnStyle #contact-info{
	max-width:960px;
}
.productBtnStyle #contact-info-back #contact-info{
	margin:0 auto !important;
}
.productBtnStyle #contact-info ul.bottonlink li a{
	width:95%;
}
.productBtnStyle .boxColumn .col2 .box, .boxColumn .m-col2 .box{
	margin-right:0 !important;
}
.productBtnStyle #contact-info .backbox.titletuki-backbox{
	padding-right:0% !important;
}
@media all and (-ms-high-contrast:none){
ul.bottonlink.arrow.arrow-center li.wide a::before {
margin-left:375px!important;
}
}

/*===============================================画面の横幅が1100pxまで====*/
@media screen and (max-width: 1100px){
/*HEADER*/
header nav ul li a{
    padding: 0 2.5vw;
}

/* content */
.breadcrumbwrap{
	padding: 0 10px;
}

}

/*===============================================画面の横幅が990pxまで====*/
@media screen and (max-width: 990px){

}

/*================================================画面の横幅が767pxまで====*/
@media screen and (max-width: 767px){

br.pc{
	display: none;
}
br.sp{
	display: block;
}

#headerInner{
	width: 100%;
	overflow: hidden;
	padding: 0;
}

h1.logo{
    width: 72vw;
    position: absolute;
    top: -58px;
    left: 10px;
    z-index: 2;
}

#btn,#spMenu,#sp-nav{
	display: block;
}

#header_right,nav,.breadcrumb{
	display: none;
}

#footer{
    height: auto;
}

#footerLogo{
    width: 360px;
    padding: 10px 15px;
}

.company_name{
	width: 100%;
}

#footerNavi{
    width: 100%;
}

#footerNavi ul li{
	width: 180px;
    padding: 5px 10px 5px 20px;
}

#pageTop{
    position: fixed;
    right: 10px;
    bottom: 10px;
}

}


/*================================================画面の横幅が640pxまで====*/
@media screen and (max-width: 640px){
#footerNavi ul li{
	width: 50%;
    padding: 5px 10px 5px 20px;
}

}

/*================================================画面の横幅が370pxまで====*/
@media screen and (max-width: 370px){


#footerLogo{
    width: 100%;
}

/*=====================================画面の横向き====*/
@media only screen and (max-device-width:736px) and (orientation:landscape) {

}