﻿@charset "utf-8";
/* CSS Document */

/*----------------
全ページ共通
------------------*/
body{
	overflow-x:hidden;
}
.inner{
	max-width:1150px;
	margin:0 auto;
	position:relative;
	box-sizing:border-box;
}

h1{
	font-size:3.6rem;
	margin-bottom:0.5em;
}

h2{
	font-size:3rem;
	margin-bottom:1em;
}
h2 a{
	background-color:#ff0000;
	border-radius:0.4em;
	color:#FFF;
	display:inline-block;
	position:relative;
	padding:0.3em 1.5em 0.3em 1.2em;
	margin-left:1em;
	font-size:1.6rem;
	text-decoration:none;
	top:-0.3em;
	transition:0.3s;
	backface-visibility: hidden;
}
h2 a:after {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: 50%;
	margin-top:-0.15em;
    right: 0.5em;
    width: 0.3em;
    height: 0.3em;
    border-top: 0.15em solid #FFF;
    border-right: 0.15em solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
h2 a:hover{
	opacity:0.7;
}

main{
	border-top:1px solid #e5e5e5;
	display:block;
}

/*------------------
ヘッダー
--------------------*/
header{
	max-width:1150px;
	margin:0 auto;
	display:flex;
	padding:0.8rem 0rem;
	justify-content:space-between;
	align-items:flex-end;
	box-sizing:border-box;
	transition-duration:0.3s;
	background-color:#FFF;
}
header.mb{
	margin-bottom:5.6rem;
}
header a{
	font-family: 'Sawarabi Gothic', sans-serif;
   transform: rotate(0.001deg);
	text-decoration:none;
}
header .header_menu{
	text-align:right;
	justify-content:flex-end;
	align-items:center;
}
header .header_menu li{
	display:inline-block;
	font-size:1.4rem;
	margin-right:1.5em;
	position:relative;
}

header .header_menu li:last-child{
	margin-right:0px;
}
header .header_menu li a{
	color:#3c3c3c;
}

header .header_menu li a:hover{
	color:#ff0100;
}
header .header_menu li a:hover span{
	color:#ff0100;
}
header .header_menu .calsuppo a:before{
	content:"";
	width:1.5em;
	height:1.5em;
	background:url(/common/img/icon_culsapo.png) 0 0 /contain no-repeat;
	position:absolute;
	left:-2em;
	top:50%;
	margin-top:-0.75em;
}
header .header_menu .calsuppo a:hover:before{
	background:url(/common/img/icon_culsapo_hover.png) 0 0 /contain no-repeat;
}
header .header_menu .english{
	margin-right:2em;
}
/*header .header_menu .english a:after{
	content:"";
	width:0.9em;
	height:0.9em;
	background:url(/common/img/icon_blank.png) 0 0 /contain no-repeat;
	position:absolute;
	right:-1.2em;
	top:50%;
	margin-top:-0.3em;
}
header .header_menu .english a:hover:after{
	background:url(/common/img/icon_blank_hover.png) 0 0 /contain no-repeat;
}*/
header .header_menu .search input{
	border:none;
	outline:0;
	transition:none!important;
}
header .header_menu .search input::placeholder {
   color: #b1b0b0;
}
header .header_menu .search #searchform1{
	border:solid 1px #cfcfcf;
	border-radius:3px;
	padding:0.2857em 0.2142em 0.2857em 0.3571em;
	line-height:1;
		transition:none!important;
}
header .header_menu #searchBtn1{
	width:1.7rem;
}

header .header_navi{
	text-align:right;
	font-size:0px;
	margin-top:1.2rem;
	background-color:#FFF;
}
header .header_navi li{
	display:inline-block;
}
header .header_navi li.sp_display{
	display:none;
}
header .header_navi li a{
	font-size:1.6rem;
	color:#2f2f2f;
	display:block;
	padding:0.3em 1.4em 0.3em 1.4em;
	border-left:1px solid #e5e5e5;
	position:relative;
}
header .header_navi li.active a{
	color:#ff0100;
}
header .header_navi li.active a:after{
	border-bottom:0.25em solid;
	content:"";
	width:100%;
	position:absolute;
	bottom:-0.8rem;
	left:0px;
}
header .header_navi li.soudanshitsu a{
	border-right:1px solid #e5e5e5;
}
header .header_navi li a:hover{
	color:#ff0100;
}
header .header_navi li a:hover:after{
	border-bottom:0.25em solid;
	content:"";
	width:100%;
	position:absolute;
	bottom:-0.8rem;
	left:0px;
}

/*------------------
ヘッダーシンプル版
--------------------*/
#header_calbeeroot a{
	font-size:0px;
}
#header_calbeeroot img{
	width:108px;
	height:46px;
}



/*----------------
ヘッダーサブナビ
------------------*/
header .header_navi li div.sub{
	position:absolute;
	left:0px;
	top:8.35rem;
	width:100%;
	z-index:-1;
	height:0px;
	overflow:hidden;
	padding-top:0.8rem;
}
header .header_navi li div.sub.active{
	z-index:1;
	height:9.3rem;
	border-bottom: 1px solid #e5e5e5;
	overflow:visible;
}
header .header_navi li div.sub.active:after{
	content:"";
	position:absolute;
	top:93px;
	left:0px;
	width:100%;
	height:150vh;
	background-color:#000;
	opacity:0.2;
	pointer-events:none;
}
header .header_navi li div.sub a:hover:after{
	display:none;
}
header .header_navi li div.sub div{
	border-top: 1px solid #e5e5e5;
	background-color:#FFF;
}
header .header_navi li div ul{
	justify-content:center;
}
header .header_navi li.active div ul li a{
	color:#2f2f2f;
	position:relative;
}

header .header_navi li.active div ul li a:hover {
    color: #ff0100;
}
header .header_navi li.active div ul li a:after {
	display:none;
}
header .header_navi li div ul li a:before {
	content:"";
	position:absolute;
	left:0px;
	top:2.1em;
	height:1em;
	border-left:1px solid #d5d5d5;
}
header .header_navi li div ul li:last-child a:after {
	content:"";
	position:absolute;
	right:0px;
	top:2.1em;
	left:auto;
	border-bottom:none;
	bottom:auto;
	width:0px;
	height:1em;
	border-right:1px solid #d5d5d5;
	display:block;
}
header .header_navi li div.active ul li:last-child a:hover:after {
	display:block;
}
header .header_navi li div ul a {
    padding: 1.8em 0em;
    border-left: none;
	text-align:center;
}

header .header_navi li div.products_sub ul li{
	width:25%;
}
header .header_navi li div.campaign_sub ul li{
	width:50%;
}
header .header_navi li div.shop_sub ul li{
	width:50%;
}
header .header_navi li div.experience_sub ul li{
	width:25%;
}
header .header_navi li div.csr_sub ul li{
	width:50%;
}
header .header_navi li div.corporate_sub ul li{
	width:33.33%;
}
header .header_navi li div.soudanshitsu_sub ul li{
	width:33.33%;
}
header .header_navi li.soudanshitsu div.soudanshitsu_sub ul li a {
    border-right: none;
}



/*----------------
パンくず
------------------*/
#breadcrumbs{
	padding:0.7em 0;
}
#breadcrumbs li{
	display:inline;
	font-size:1.3rem;
	position:relative;
}
#breadcrumbs li span{
	margin-left:0.5em;
	margin-right:0.5em;
}
#breadcrumbs li a{
	text-decoration:underline;
}

/*----------------
大切なお知らせ
------------------*/
#news{
	padding-top:2rem;
}
#news .ttl{
	font-size:1.5rem;
	margin-right:1em;
	white-space:nowrap;
	font-weight:bold;
}
#news div.flex{
	flex-wrap:nowrap;
	width:100%;
	justify-content: flex-start;
}


#news dl{
	margin-top:0.3rem;
	width:100%;
}
#news dl div.box{
	align-items:flex-start;
	margin-bottom:0.8em;
	justify-content: flex-start;
	display:flex;
	max-width:100vw;
}

#news .box_wrap_2{
	display:none;
}
#news .box_wrap_2.open{
	display:block;
}

#news dl dt{
	font-size:1.3rem;
	background-color:#efefef;
	padding:0.3em 0.5em 0.2em 0.5em;
	line-height:1;
	white-space:nowrap;
	margin-right:1em;
	color:#2f2f2f;
}
#news dl dd{
	font-size:1.5rem;
	flex:1;
	padding-right:2em;
}
#news dl dd a{
	width:100%;
	color:#2f2f2f;
	display:inline-block;
	/display:inline; /*IE7*/
	/zoom:1; /*IE7*/
}
#news dl dd a:hover{
	text-decoration:underline;
}
	/*アイコン*/
	#news dl dd a.icon2_pdf{
		padding-left: 1.7em;
	}
	#news dl dd a.icon2_pdf{
		background: url(/common/img/icon2_pdf.svg) no-repeat left 0;
    background-size:20px 21px;
	}
	#news dl dd a.icon2_blank_red img{
		padding-left: 5px;
		padding-top: 3px;
		vertical-align: top;
	}

#news .btn{
	width:1.65em;
	margin:0 auto;
	text-align:center;
	font-size:1.4rem;
	padding-top:0.1rem;
	background-color:#e0e0e0;
	transition:0.3s;
	position:relative;
	text-indent:-10000px;
	position:absolute;
	right:1.2rem;
	top:0.3rem;
	color:#2f2f2f;
}
#news .btn:hover{
	opacity:0.7;
	cursor:pointer;
}
#news .btn:before, #news .btn:after {
  position: absolute;
  top: 50%;
  left: 0.85em;
  margin-top:-0.1em;
  content: '';
  display: inline-block;
  width: 0.8em;
  height: 1em;
  border-top: 0.2em solid #3c3c3c;
  transform: translateX(-50%);
	transition:0.3s;
}


#news .btn.close:after {
  top: 50%;
  left: -0.1em;
  margin-top:-0.6em;
  transform: rotate(90deg);

}


#news_foot{
	margin-top:5rem;
}
#news_foot .ttl{
	font-size:1.5rem;
	margin-bottom:0.5em;
	white-space:nowrap;
	font-weight:bold;
	
}
#news_foot div.flex{
	width:100%;
	display:block;
}


#news_foot dl{
	margin-top:0.3rem;
	width:100%;
}
#news_foot dl div.box{
	padding-bottom:1em;
	padding-top:1em;
    border-bottom: 1px solid #ccc9c9;
}
#news_foot dl div.box:first-child{
    border-top: 1px solid #ccc9c9;
}
#news_foot dl div.box:last-child{
	margin-bottom:0em;
}
#news_foot .box_wrap_2{
	display:none;
}
#news_foot .box_wrap_2.open{
	display:block;
}

#news_foot dl dt{
	font-size:1.4rem;
	white-space:nowrap;
	color:#2f2f2f;
	display:block;
	margin-bottom:0.5em;
}
#news_foot dl dd{
	font-size:1.5rem;
	flex:1;
}
#news_foot dl dd a{
	width:100%;
	color:#2f2f2f;
	display:inline-block;
	/display:inline; /*IE7*/
	/zoom:1; /*IE7*/
}
#news_foot dl dd a:hover{
	text-decoration:underline;
}
	/*アイコン*/
	#news_foot dl dd a.icon2_pdf{
		padding-left: 1.8em;
	}
	#news_foot dl dd a.icon2_pdf{
		background: url(/common/img/icon2_pdf.svg) no-repeat left 0;
    background-size:20px 21px;
	}
	#news_foot dl dd a.icon2_blank_red img{
		padding-left: 5px;
		padding-top: 3px;
		vertical-align: top;
	}


/*----------------
ニュース
------------------*/
#news2 .tab{
	font-size:0px;
	margin-bottom:1.5rem;
	position:relative;
	z-index:2;
}
#news2 .tab li{
	font-size:1.8rem;
	width:13em;
	padding:0.4em 0;
	border-left:1px solid #ccc9c9;
	text-align:center;
	display:inline-block;
	position:relative;
	line-height:1;
  cursor:pointer;
}
#news2 .tab li a{
	display:block;
}
#news2 .tab li:last-child{
	border-right:1px solid #ccc9c9;
}
#news2 .tab .tab_current{
	color:#ff0000;
}
#news2 .tab .tab_current a{
	color:#ff0000;
}
#news2 .tab li:hover{
	color:#ff0000;
}
#news2 .tab .tab_current:after {
	content:"";
	position:absolute;
	bottom:-1.5rem;
	left:0px;
	border-bottom:3px solid #ff0000;
	width:100%;
}
#news2 .tab li:hover:after {
	content:"";
	position:absolute;
	bottom:-1.5rem;
	left:0px;
	border-bottom:3px solid #ff0000;
	width:100%;
}
#news2 .contents li {
  display : none;
}
#news2 .contents .content_current {
  display : block;
}
#news2 .contents dl{
	border-bottom:1px solid #ccc9c9;
}
#news2 .contents dt{
	font-size:1.4rem;
	border-top:1px solid #ccc9c9;
	padding-top:1em;
	padding-bottom:0.5em;
}
#news2 .contents dt span{
	font-size:1.3rem;
	color:#ff0000;
	border:solid 1px;
	line-height:1;
	display:inline-block;
	padding:0.2em 0.7em 0.1em 0.7em;
	margin-left:1em;
	width:7.4em;
	text-align:center;
	white-space:nowrap;
}
#news2 .contents dd{
	margin-bottom:1em;
}
	#news2 .contents dd a{
		display:inline-block;
		/display:inline; /*IE7*/
		/zoom:1; /*IE7*/
	}
	/*アイコン*/
	#news2 dl dd a.icon2_pdf{
		padding-left: 1.8em;
	}
	#news2 dl dd a.icon2_pdf{
		background: url(/common/img/icon2_pdf.svg) no-repeat left 0;
    background-size:20px 21px;    
	}
	#news2 dl dd a.icon2_blank_red img{
		padding-left: 5px;
		padding-top: 3px;
		vertical-align: top;
	}
#news2 .contents dd a:hover{
	text-decoration:underline;
}
#news2 .navi{
	text-align:center;
	display:flex;
	justify-content:flex-end;
	align-items:center;
	margin-top: -3.5em;
    margin-bottom: 0.5em;
}
#news2 .contents + .navi{
	margin-top: 2em;
    margin-bottom: 0em;
}
#news2 .navi a{
	text-decoration:underline;
}
#news2 .navi a:hover{
	text-decoration:none;
}

#news2 .navi ul{
	display:flex;
	justify-content:center;
	margin:0 2rem;
}
#news2 .navi li a{
	display:block;
	width:3em;
	height:3em;
	display:flex;
	justify-content:center;
	align-items:center;
	border:solid 1px #ccc9c9;
	text-decoration:none;
	margin:0 0.6rem;
}
#news2 .navi li a:hover{
	background-color:#efefef;
}
#news2 .navi li a.active{
	background-color:#efefef;
}
#news2 .navi select{
	height:3em;
	/*position:absolute;*/
	right:0px;
	top:4rem;
	font-size:1.6rem;
	width:9em;
	padding-left:0.5em;
	border:solid 1px #ccc9c9;
	background-color:#FFF;
	z-index:3;
}

/*------------------
左ナビ
--------------------*/
#side_navi{
	width:22%;
}
#side_navi p{
	font-family: Sawarabi Gothic;
	font-size:2.2rem;
	margin-bottom:0.5em;
}
#side_navi ul{
	border-top:1px solid #cbc9ca;
}
#side_navi li a{
	display:block;
	border-bottom:1px solid #cbc9ca;
	padding:1em 1em;
}
/** ie11　ハック　**/
_:-ms-fullscreen, :root #side_navi li a {
	padding:1.3em 1em 1em 1em;
}
#side_navi li.two_line a{
	padding:0.55em 1em;
	line-height:1.3;
}
/** ie11　ハック　**/
_:-ms-fullscreen, :root #side_navi li.two_line a {
	padding:1em 1em 0.55em 1em;
}
#side_navi li.active a{
	color:#ff0000;
	border-bottom:1px solid #ff0000;
	background-color:#f2f2f2;
}
#side_navi li a:hover{
	color:#ff0000;
	border-bottom:1px solid #ff0000;
	background-color:#f2f2f2;
}
#right_box{
	width: 72.435%;
}
#right_box h1{
	font-size:3.2rem;
	margin-bottom:0.5em;
}
#right_box h2{
	margin-bottom:0.5em;
}


/*------------------
フッター
--------------------*/
footer{
	margin-top:10rem;
	border-top:0.2rem solid #ff0000;
	padding:3.4rem 0;
}
footer .logo{
	justify-content:flex-start;
	align-items:flex-end;
	margin-bottom:3rem;
}
footer .logo p{
	margin-left:6em;
}
footer .logo a{
	font-size:0px;
}
footer .logo p a{
	position:relative;
	display:block;
	font-size:1.5rem;
	text-decoration:none;
	color:#2f2f2f;
}
footer .logo p a:hover{
	color:#ff0100;
}
footer .logo p a:before{
	background:url(/common/img/icon_home.png) 0 0 /contain no-repeat;
	position:absolute;
	left:-1.5em;
	top:50%;
	margin-top:-0.5em;
	content:"";
	width:1em;
	height:1em;
}
footer .content div{
	width:21.3%;
	margin-bottom:3rem;
}
footer .content div.wide{
	width:100%;
	margin-bottom:1rem;
}
footer .content div.wide ul{
  display:flex;
}
footer .content div.wide ul li{
  margin-right:2.5em;
}

footer .content p a{
	color:#2f2f2f;
	font-size:1.5rem;
	display:block;
	position:relative;
	text-decoration:none;
	padding-bottom:0.5em;
	margin-bottom:0.5em;
	border-bottom:1px solid #ccc9c9;
}
footer .content p a:hover{
	color:#ff0100;
}
footer .content p a:after {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: 50%;
    margin-top: -0.5em;
    right: 0.5em;
    width: 0.3em;
    height: 0.3em;
    border-top: 0.15em solid #ff0a0a;
    border-right: 0.15em solid #ff0a0a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
footer .content li a{
	font-size:1.4rem;
	color:#3c3c3c;
	text-decoration:none;
   transform: rotate(0.001deg);
   display:inline-block;
   margin-bottom:0.5em;
}

footer .content li:last-child{
   margin-bottom:0em;
}
footer .content li a:hover{
	text-decoration:underline;
}
footer .content div:last-child li a{
	font-size:1.3rem;
}
footer .copy{
	text-align:right;
	font-size:1.2rem;
}

/*------------------
フッターシンプル版
--------------------*/
#footer_calbeeroot{
	border-top:2px solid #fe0000;
	background-color:#FFF;
	/*margin-top: 8rem;*/
	margin-top:0px;
	padding:0px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "メイリオ", sans-serif;
}
#footer_calbeeroot .inner{
	max-width:1150px;
	margin:0 auto;
	padding:2.5rem 0 3rem 0;
}
#footer_calbeeroot ul{
	margin-bottom:-1.3em;
	text-align:left;
}
#footer_calbeeroot ul li{
	display:inline-block;
	position:relative;
}
#footer_calbeeroot ul li:first-child {
    margin-left: 1.5em;
}
#footer_calbeeroot ul li a{
	font-size:1.4rem;
	padding-right:1em;
	margin-right:1em;
	border-right:1px solid #cbc9ca;
	text-decoration:none;
	color:#3c3c3c;
}
#footer_calbeeroot ul li:last-child a{
	padding-right:0em;
	margin-right:0em;
	border-right:0px solid #cbc9ca;
	
}
#footer_calbeeroot ul li a:hover{
	text-decoration:underline;
}
#footer_calbeeroot ul li:first-child a:before {
    background: url(/common/img/icon_home.png) 0 0 /contain no-repeat;
    position: absolute;
    left: -1.5em;
    top: 50%;
    margin-top: -0.5em;
    content: "";
    width: 1em;
    height: 1em;
}
#footer_calbeeroot .copy{
	text-align:right;
	font-size:1.2rem;
	color:#636363;
}

/*------------------
フッターシンプル版PCのみ
--------------------*/
#footer_calbeeroot.pc .inner{
	width:1150px;
}


/*------------------
赤い角丸ボタン
--------------------*/
.btn_red{
	text-align:center;
}
.btn_red a{
	font-size:1.8rem;
	color:#FFF;
	padding:1em 7em;
	border-radius:3em;
	background-color: #ff0909;
	transition:0.5s;
	display:inline-block;
	position:relative;
}
.btn_red a:hover{
	opacity:0.7;
}
.btn_red a:after {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: 50%;
    margin-top: -0.25em;
    right: 1em;
    width: 0.35em;
    height: 0.35em;
    border-top: 0.15em solid #FFF;
    border-right: 0.15em solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_red.pdf a:after {
    top: 50%;
    margin-top: -0.7em;
    width: 1.33em;
    height: 1.38em;
    border-top: none;
    border-right: none;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
	background:url(../img/icon_pdf.png) 0 0 /contain ;
}
.btn_red.blank a:after {
    width: 0.82em;
    height: 0.69em;
    background: url(../img/icon_blank_white.png) 0 0 /contain no-repeat;
    right: 1em;
    top: 50%;
    margin-top: -0.4em;
    border: none;
    transform: rotate(0deg);
}

/*------------------
共通　お知らせ
--------------------*/
#news_common{
	background:url(../img/news_common_bg.png) 0 0 repeat;
	padding:0.5rem;
}
#news_common .news_common_inner{
	background-color:#FFF;
	padding:3rem;
}
#news_common .ttl{
	text-align:center;
}
#news_common .ttl span{
	color:#ff0000;
	font-size:2.2rem;
	display:inline-block;
	position:relative;
	margin-bottom:1em;
}
#news_common .ttl span:before{
	position:absolute;
	width:1.32em;
	height:1.79em;
	content:"";
	background:url(../img/icon_bell.png) 0 0 /contain no-repeat;
	left:-1.7em;
	top:50%;
	margin-top:-0.885em;
}
#news_common .red{
	color:#ff0000;
}
#news_common li{
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:0.5em;
}
#news_common li:last-child{
	margin-bottom:0px;
}



/*------------------
TOPに戻るボタン
--------------------*/
  #back-top {
             position: fixed;
             bottom: 3rem;
			 right:2rem;
			 z-index:9998;
			 display:none;
  }
  #back-top a {
             width: 5.1rem;
             display: block;
             text-decoration: none;
             color: #bbb;
  }
  #back-top a:hover {
             color: #000;
  }
  /* arrow icon (span tag) */
  #back-top span {
    font-size:0px;
             width: 5.1rem;
             height: 5.1rem;
             display: block;
             background: url(/common/img/btn_top.png) center center /contain no-repeat;
  }
	#back-top.fixed{
             bottom: 6rem;
	}

#scroll_top_position{
  position:absolute;
  top:0px;
  font-size:0px;
}

/*---------------------------------------------------------------
横幅768px～1190pxまでのレイアウト
---------------------------------------------------------------*/
@media screen and (min-width:768px) and (max-width:1150px){
.inner{
	padding:0em 1.2rem;
}
header{
	padding:0.8rem 1.2rem;
	height:9.1rem;
}

header .header_menu li a{
	font-size:1.19vw;
}
header .header_navi li a{
	font-size:1.35vw;
	padding:0.3em 1em 0.3em 1em;
}
header.mb{
	margin-bottom:4.5vw;
}
header .header_navi li div.sub{
	top: 8.3rem;
}
header .header_navi li div.sub.active{
	height:5.5vw;
}
header .header_navi li div.sub.active:after{
	top:8vw;
}
#header_calbeeroot{
	height:auto;
}
footer .content li a{
	font-size:1.19vw;
}
footer .content div:last-child li a{
	font-size:1.1vw;
}
#footer_calbeeroot .inner {
    padding: 2.5rem 1.2rem 3rem 1.2rem;
}

#news2 .tab li{
	font-size:1.53vw;
}
#news2 .navi{
	font-size:1.35vw;
}
#news2 .navi select {
	font-size:1.35vw;
}
#side_navi li a{
	font-size:1.35vw;
}

}


/*---------------------------------------------------------------
印刷時レイアウト
---------------------------------------------------------------*/
@media print{
header .header_navi li a {
    font-size: 11px;
	padding: 0.3em 1em 0.3em 1em;
}

}


/*---------------------------------------------------------------
スマホレイアウト
---------------------------------------------------------------*/
@media screen and (max-width:767px){

.pc_display{
	display:none;
}
.sp_display{
	display:block;
}
html{
	overflow-x:hidden;
}
body{
	overflow-x:hidden;
	-webkit-text-size-adjust: 100%;
}
#header_calbeeroot_corporate + main{
	padding-top:15vw;
}
main img{
	width:100%;
}
#news + main{
	padding-top:0px;
}
.inner{
	padding: 0rem 1.2rem;
}


#news dl dd a{display:inline;}


/*----------------
全ページ共通
------------------*/
h1{
	font-size:3.2rem;
}
h2{
	margin-bottom:1em;
}

/*------------------
ヘッダー
--------------------*/
header{
    position: fixed;
    top: 0;
	z-index:100;
	width:100%;
	box-sizing:border-box;
	background-color:#FFF;
	align-items: center;
	height:15vw;
	padding: 0;
	border-bottom:0;

}
.header_content{
	width: 100%;
    height: 100%;
    background: #fff;
    padding: 0.8rem 1.2rem;
	border-bottom: .1rem solid #e5e5e5;
}
header .header_menu{
	height: 100%;
}


header .logo {
    font-size: 0px;
    width: 25vw;
    position: absolute;
    left: .8rem;
}
header.active .logo{
	display:none;
}
header .logo img{
	width:100%;
}
header .header_menu .pc_display{
	display:none;
}
header .header_menu .search #searchform1 {
    border: none;
    padding: 0em;
	transition:0.5s;
}
header.active .header_menu .search #searchform1 {
    border: solid 1px #cfcfcf;
    padding: 0.3rem 0.3rem 0.3rem 0rem;
	width:80vw;
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-right:-1em;
}
header .header_menu .search #keywords1{
	display:none;
	transition:0.5s;
}
header.active .header_menu .search #keywords1{
	display:inline;
	margin-right:2vw;
	font-size:16px;
}
header.active .header_menu .search #keywords1::placeholder {
	position:relative;
	top:-0.15em;
}
header.active .header_menu .calsuppo{
	display:none;
}
header .header_navi_wrap{
	position: absolute;
    top: -200vw;
    left: 0px;
    width: 100%;
    overflow: hidden;
    text-align: right;
    width: 100%;
    margin-top: 0;
    background: #FFF;
    z-index: -1;
    transition: 0.5s;
	-webkit-overflow-scrolling: touch;
}
header .header_navi{
	margin: 0;
}
header .header_navi_wrap.active{
	top:100%;
	height:100vh;
  overflow-y: scroll;
}
header .header_navi_wrap.active .header_navi{
    background: #FFF;
	height:150vh;
}

header .header_navi li {
    display: block;
}
header .header_navi li.sp_display{
    display: block;
}
header .header_navi li.english{
	padding-bottom:20vw;
}
header .header_navi li.parent{
	position:relative;
}
header .header_navi li.parent .btn{
	position:absolute;
	right:0px;
	top:0px;
	width:100vw;
	height:13.5vw;
	font-size:1.6rem;
}
header .header_navi li.parent .btn:after{
    position: absolute;
    top: 50%;
    right:0.75em;
    margin-top: -0.075em;
    content: '';
    display: inline-block;
    width: 0.8em;
    border-top: 0.15em solid #FF0000;
    transition: 0.3s;
}
header .header_navi li.parent .btn:before{
    position: absolute;
    top: 50%;
    right:1.1em;
    margin-top: -0.4em;
    content: '';
    display: inline-block;
    height: 0.8em;
    border-right: 0.15em solid #FF0000;
    transition: 0.3s;
}
header .header_navi li.parent .btn.active:before{
	transform: rotate(90deg);

}
header .header_navi li div.sub {
    position: relative;
    left: 0;
    top: 0;
    z-index: 0;
    padding-top: 0rem;
	display:none;
	width:100%;
	height:100%;
}
header .header_navi li div.sub.active {
    height: auto;
    border-bottom: none;
}
header .header_navi li div.sub.active:after{
	display:none;
}

header .header_navi li div ul {
	display:block;
	padding:0px;
}
header .header_navi li div ul li {
    width: 100%!important;
}
header .header_navi li div ul li a{
	text-align:left;
	padding-left:2.5em;
	border-top:none;
  padding-top:1em;
  padding-bottom:1em;
}
header .header_navi li div ul li:last-child a{
	border-bottom:none;
}
header .header_navi li.active div ul li a:after {
    display: block;
}
header .header_navi li div ul li a:before {
    left: 1.3em;
    top: 1.1em;
    height: 0.7em;
	width:0.7em;
    border-bottom: 1px solid #d5d5d5;
}
header .header_navi li div ul li:last-child a:after {
    right: 1em;
    top: 50%;
    width: 0.3em;
    height: 0.3em;
    border-left: none;
}


header .header_navi li a {
    padding: 0.8em 1em;
    border-left: 0px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
	text-align:left;
	position:relative;
}
header .header_navi li a:after {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: 50%;
    margin-top: -0.2em;
    right: 1em;
    width: 0.3em;
    height: 0.3em;
    border-top: 0.15em solid #ff0a0a;
    border-right: 0.15em solid #ff0a0a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
header .header_navi li.parent a:after {
	display:none;
}
header .header_navi li.parent ul li a:after {
	display:block;
}
header .header_navi li.active a:after{
	border-bottom:none;
    width: 0.3em;
	bottom:auto;
	left:auto;
}
header .header_navi li a:hover:after{
	border-bottom:none;
    width: 0.3em;
	bottom:auto;
	left:auto;
}

/*header .header_navi li.english a:after {
    width: 0.9em;
    height: 0.9em;
    background: url(/common/img/icon_blank.png) 0 0 /contain no-repeat;
    right: 0.8em;
    top: 50%;
    margin-top: -0.3em;
    border-top: none;
    border-right: none;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}*/
header .header_navi li:first-child a {
    border-top:none;
}
header .header_navi li:last-child a {
	border-right:none;
    border-bottom: 1px solid #e5e5e5;
}
header .header_navi li.soudanshitsu a{
	border-right:none;
}
header .header_navi li div ul li:last-child a:after {
    border-right: 0.15em solid #ff0a0a;
}
header .header_menu .calsuppo a:before {
	background:url(/common/img/icon_culsapo_sp.png) 0 0 /contain no-repeat;
    width: 2.7em;
    height: 2.7em;
    left: -2em;
    top: 50%;
    margin-top: -1.3em;
}
header .header_menu .calsuppo a:hover:before {
	background:url(/common/img/icon_culsapo_sp.png) 0 0 /contain no-repeat;
}
header .header_menu #searchBtn1.sp_display{
	width:5.5vw;
	display:inline-block;
}
header .header_menu li {
    margin-right: 2.2em;
}
header .header_menu li:last-child {
    margin-right: 4.5em;
}
header .search_cover {
	position:absolute;
	width:8vw;
	height:8vw;
	top:3vw;
	right:18vw;
	z-index:10;
	transition:none!important;
}
header .search_cover.right {
	right:3.5vw;
}
header .toggle {
    display: block;
    position: absolute;
    right: 1em;
    top: 1em;
    width: 2em;
    height: 2em;
    cursor: pointer;
    z-index: 3;
	overflow:hidden;
}

header .toggle span {
    display: block;
    position: absolute;
    width: 2em;
    border-bottom: solid 0.6vw #2f2f2f;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 0px;
}

header .toggle span:nth-child(1) {
    top: 0px;
}

header .toggle span:nth-child(2) {
    top: 0.7em;
}

header .toggle span:nth-child(3) {
    top: 1.4em;
}
header .toggle.active span:nth-child(1) {
    top: 0.7em;
    left: 0px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
header .toggle.active span:nth-child(2),
header .toggle.active span:nth-child(3) {
    top: 0.7em;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*------------------
ヘッダーシンプル版
--------------------*/
#header_calbeeroot{
	position:relative;
}
#header_calbeeroot .header_content{
	padding:0.8rem 1.2rem;
}
#header_calbeeroot img{
	width:25vw;
	height:auto;
}

/*------------------
ヘッダーシンプル版PCのみ
--------------------*/
#header_calbeeroot.pc{
	height:auto;
	padding:8px 12px;
}
#header_calbeeroot.pc a{
	position:relative;
	width:auto;
	left:auto;
}
#header_calbeeroot.pc img{
	width:108px;
	height:auto;
}
#header_calbeeroot.pc + main{
	padding-top:0px;
}

/*----------------
大切なお知らせ
------------------*/
#news{
	padding:15vw 0 4vw 0;
}
#news .ttl {
	margin-bottom:0px;
}
#news dl div.box{
	display: block;

}
	#news dl dt{
		display: inline-block;
		font-size:1.4rem;
		margin-bottom: 0.5em;
	}
	#news dl dd{
		font-size:1.6rem;
		padding-right: 0;
	}
	#news dl dd a{
		display:block;
	}
	#news dl dd a.icon2_blank_red img{
		width: 7%;
		padding-top: 4px;
	}
  
#news dl dd a.icon2_pdf,#news_foot dl dd a.icon2_pdf,#news2 dl dd a.icon2_pdf{padding-left:2em;background-size: 1.3em;}
  

#news div.flex {
    display: block;
}
#news dl div.flex {
    display: block;
}
#news .btn {
    width: 100%;
	box-sizing:border-box;
	position:relative;
	text-indent:0px;
	right:auto;
	padding:0.3em 0 0.3em 1em;
	margin-top:-1rem;
}
#news .btn:hover{
	opacity:1;
}
#news .btn:before, #news .btn:after {
    left: 9.5em;
    margin-top: -0.18em;
  	border-top: 0.3em solid #3c3c3c;
  	width:1em;
}
#news .btn.close:after {
    left: 8.48em;
    margin-top: -0.65em;
}


#news_foot dl{
	display:block;
	margin-top:0.2em;
}
#news_foot dl div.box {
    line-height: 1.7;
	display: block;
}
#news_foot dl dt {

}
#news_foot dl dd {
    display: block;
	font-size:1.6rem;
	padding-right:0px;
}
	#news_foot dl dd a.icon2_blank_red img{
		width: 7%;
		padding-top: 4px;
	}

#news_foot div.flex {
    display: block;
}
#news_foot dl div.flex {
    display: block;
}
/*------------------
ニュース
--------------------*/
#news2 .tab li {
    font-size: 3.9vw;
    width: 18%;
	box-sizing:border-box;
	padding: 0.4em 0em;
}
#news2 .tab li:nth-of-type(3){
    width: 46%;
}
	#news2 dl dd a{
		width:100%;
	}
	#news2 dl dd a.icon2_blank_red img{
			width: 7%;
			padding-top: 4px;
	}
#news2 .navi {
    /*padding: 3rem 0 15vw 0;*/
    padding: 2rem 0 5vw 0;
	margin-top: 0em;
    margin-bottom: 0em;
}
#news2 .contents + .navi {
    margin-top: 0em;
}
#news2 .navi ul {
    margin: 0 1rem;
}
#news2 .navi li a {
    width: 2.5em;
    height: 2.5em;
    margin: 0 0.3rem;
}
#news2 .navi select {
	top:auto;
	bottom:4vw;
    height: 8vw;
	width:100%;
	font-size:16px;
}


/*------------------
左ナビ
--------------------*/
#side_navi{
	width:100%;
	order:2;
	margin-top:8rem;
}
#side_navi ul {
    border-top: none;
}
#side_navi li a {
    padding: 1em 0 1em 2em;
}
#side_navi li.two_line a{
    padding: 1em 0 1em 2em;
	line-height:1.6;
}
#side_navi p {
    margin-bottom: 0em;
}
#side_navi p a{
	border-top:0.2rem solid;
	border-bottom:0.2rem solid;
	margin-bottom:0px;
	padding:0.8em 0.5em;
	display:block;
}
#right_box {
    width: 100%;
	order:1;
}
#right_box h1{
	margin-bottom:0.6em;
}
#right_box h2{
	margin-bottom:0.6em;
}

/*------------------
フッター
--------------------*/
footer {
    margin-top: 8rem;
    border-top: 0.2rem solid #ff0000;
    padding: 0 0 2rem 0;
}
footer .inner {
    padding: 0em 0rem;
}
footer .logo {
    margin-bottom: 0rem;
	display:block;
}
footer .logo img{
	display:none;
}
footer .logo p {
    margin-left: 0em;
}
footer .logo p a {
    padding: 0.8em 1em 0.8em 2.5em;
    border-bottom: 1px solid #e5e5e5;
	text-align:left;
	position:relative;
	font-size:1.7rem;
}
footer .logo p a:before {
    left: 1em;
	margin-top: -0.6em;
}
footer .logo p a:after {
    content: "";
    vertical-align: middle;
    position: absolute;
    top: 50%;
    margin-top: -0.15em;
    right: 1em;
    width: 0.3em;
    height: 0.3em;
    border-top: 0.15em solid #ff0a0a;
    border-right: 0.15em solid #ff0a0a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
footer .content div {
    width: 100%;
    margin-bottom: 0rem;
}
footer .content div ul{
	display:none;
}
footer .content div:last-child ul {
    display: block;
	padding: 0.8em 1em;
}
footer .content p a {
    padding: 0.8em 1em;
    border-bottom: 1px solid #e5e5e5;
	margin-bottom:0px;
	font-size:1.7rem;
}
/*footer .content .english p a:after {
    width: 0.9em;
    height: 0.9em;
    background: url(/common/img/icon_blank.png) 0 0 /contain no-repeat;
    right: 0.8em;
    top: 50%;
    margin-top: -0.3em;
    border-top: none;
    border-right: none;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}*/
footer .content div:last-child li a {
    font-size: 1.6rem;
}
footer .content p a:after {
    right: 1em;
	margin-top: -0.27em;
}
footer .copy {
    text-align: center;
}
footer .copy span{
	font-size:1.7em;
	position:relative;
	bottom:-0.16em;
}

/*------------------
フッター
--------------------*/
.isfw_footer {
    margin-top: 6rem;
}
.isfw_footer ul{
	padding-left:10%;
	margin-bottom:3rem;
}
.isfw_footer ul li {
    display: block;
	text-align:left;
	margin-bottom:1em;
}
.isfw_footer ul li:first-child {
    margin-left: 0em;
}
.isfw_footer ul li a {
	font-size: 1.6rem;
    padding-right: 0em;
    margin-right: 0em;
    border-right: 0px solid #cbc9ca;
}
.isfw_footer .copy {
    text-align:center;
}

.isfw_pagebody .service_mark{bottom:-5.5rem;}

/*------------------
フッターシンプル版
--------------------*/
#footer_calbeeroot {
    /*margin-top: 6rem;*/
	margin-top:0px;
}
#footer_calbeeroot ul{
	padding-left:10%;
	margin-bottom:3rem;
}
#footer_calbeeroot ul li {
    display: block;
	text-align:left;
	margin-bottom:1em;
}
#footer_calbeeroot ul li:first-child {
    margin-left: 0em;
}
#footer_calbeeroot ul li a {
	font-size: 1.6rem;
    padding-right: 0em;
    margin-right: 0em;
    border-right: 0px solid #cbc9ca;
}
#footer_calbeeroot .copy {
    text-align:center;
}

#footer_calbeeroot .service_mark{
	bottom:-5.5rem;
}
/*------------------
フッターシンプル版PCのみ
--------------------*/
#footer_calbeeroot.pc {
    /*margin-top: 80px;*/
	margin-top:0px;
}
#footer_calbeeroot.pc .inner{
	padding: 25px 12px 30px 12px;
}
#footer_calbeeroot.pc ul{
	padding-left:0%;
	margin-bottom:-20px;
	font-size:16px;
}
#footer_calbeeroot.pc ul li {
    display: inline-block;
	margin-bottom:0em;
	font-size:16px;
}
#footer_calbeeroot.pc ul li:first-child {
    margin-left: 1.5em;
}
#footer_calbeeroot.pc ul li a {
    font-size: 14px;
    padding-right: 1em;
    margin-right: 1em;
    border-right: 1px solid #cbc9ca;
}
#footer_calbeeroot.pc .copy {
    font-size: 12px;
	text-align:right;
}

/*------------------
共通　お知らせ
--------------------*/
#news_common .news_common_inner{
	padding:1rem;
}
#news_common .ttl span {
    font-size: 2rem;
}

/*------------------
赤い角丸ボタン
--------------------*/
.btn_red a{
	padding:1em 3em;
}
.btn_red.two_line a{
	padding:0.6em 3em;
	line-height:1.3;
}

/*------------------
TOPに戻るボタン
--------------------*/
#back-top {
    bottom: 8rem;
    right: 1rem;
}
	#back-top.fixed{
    bottom: 8rem;
	}

}


/* 横向きの場合のスタイル */
@media screen and (orientation: landscape) and (max-width:767px){
#header_calbeeroot_corporate + main {
    padding-top: 7vw;
}
#header_calbeeroot_corporate {
    height: 7vw;
}
#header_calbeeroot_corporate .logo {
    width: 12vw;
}
  
#header_calbeeroot_corporate .toggle {
    right: 1.5vw;
    top: 1.3vw;
    width: 5vw;
    height: 5vw;
}
#header_calbeeroot_corporate .toggle span {
    width: 5vw;
	border-bottom: solid 0.4vw #2f2f2f;
}
#header_calbeeroot_corporate .toggle span:nth-child(2) {
    top: 1.8vw;
}
#header_calbeeroot_corporate .toggle span:nth-child(3) {
    top: 3.6vw;
}
#header_calbeeroot_corporate .toggle.active span:nth-child(1) {
    top: 1.8vw;
}
#header_calbeeroot_corporate .toggle.active span:nth-child(2), #header_calbeeroot_corporate .toggle.active span:nth-child(3) {
    top: 1.8vw;
}

#header_calbeeroot_corporate .header_menu li:last-child {
    margin-right: 7vw;
	margin-top: -1vw;
}
#header_calbeeroot_corporate .header_menu #searchBtn1.sp_display {
    width: 4vw;
}
#header_calbeeroot_corporate .search_cover {
    width: 8vw;
    height: 7vw;
    top: 0vw;
    right: 8vw;
}
#header_calbeeroot_corporate .search_cover.right {
    right: 0vw;
}
#header_calbeeroot_corporate .header_menu .calsuppo a:before {
    width: 5.5vw;
    height: 5.5vw;
    left: -1vw;
    top: 50%;
    margin-top: -3vw;
}

#header_calbeeroot_corporate.active .header_menu .search #searchform1 {
    margin-right: 0vw;
	margin-top: -0.8vw;
}
 
  #header_calbeeroot {
    height:7vw;
  } 
#header_calbeeroot .logo img{
    width: 12vw;
}
  
  #footer_calbeeroot_corporate .logo p a{
    font-size:1.2rem;
  }
  #footer_calbeeroot_corporate .content p a {
    font-size:1.2rem;
}
  #footer_calbeeroot_corporate .content div:last-child li a {
    font-size: 1.1rem;
}
  #footer_calbeeroot_corporate .copy {
    font-size: 0.8rem;
}
  #footer_calbeeroot .inner {
    padding: 1.5rem 0 2rem 0;
}
  #footer_calbeeroot ul li{
    margin-bottom:0.2em;
  }
  #footer_calbeeroot ul li a{
    font-size:1.2rem;
  }
  #footer_calbeeroot .copy {
    font-size: 0.8rem;
}
 
  
#back-top {
    bottom: 10vw!important;
    right: 3vw!important;
}
#back-top a {
    width: 8vw!important;
}
#back-top span {
    width: 8vw!important;
    height: 8vw!important;
}
	#back-top.fixed{
    bottom: 10vw!important;
	}

}

@media screen and (max-width:320px){
#news dl dd a.icon2_pdf,#news_foot dl dd a.icon2_pdf,#news2 dl dd a.icon2_pdf{background-size: 1.5em;}
}
