@charset "utf-8";

/* ---------------------------------------------
　font / icon
------------------------------------------------ */

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}


/* --- material-icons --- */

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  text-transform: none;

  /* WebKitブラウザサポート */
  -webkit-font-smoothing: antialiased;
  /* Chrome、Safariサポート */
  text-rendering: optimizeLegibility;

  /* Firefoxサポート */
  -moz-osx-font-smoothing: grayscale;

  /* IEサポート */
  font-feature-settings: 'liga';
}

/* アイコンサイズ */
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

/* ---------------------------------------------
 base modules
------------------------------------------------ */

.body {
  min-width: 980px; /* コンテンツ幅に書き直す */
  clear:both;
}
.wrap{ clear:both; }

.inner {
  width: 1280px; /* コンテンツ幅に書き直す */
  margin: 0 auto;
}

.pc { display: block; }
.sp { display: none; }


.inner.w1000 {
	width: 1000px;
}


/* header */

header{
	position:relative;
}

.header{
	width:100%;
	min-height:120px;
	margin:0 auto;
	z-index:1000;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	backface-visibility: hidden;
}

.header .inner{
	width:1200px;
	margin:0 auto;
	position:relative;
}

.header .logo{
	width:145px;
	margin:0 auto 20px;
	padding-top:40px;
	text-align:center;
}

.header .snslist{
	position:absolute;
	top:40px;
	right:0;
	width:110px;
}

.header .snslist li{
	float:left;
	margin-left:20px;
}

.snslist li a{
	display:block;
}

.snslist li a img{
	width:30px;
	height:auto;
}

@media screen and ( min-width:750px ){
	.snslist li:hover img{
		visibility:hidden;
	}
	.snslist li:first-child:hover{
		background:url(../images/icon_facebook_on.png) no-repeat 0 0;
		background-size:30px auto;
	}
	
	.snslist li:last-child:hover{
		background:url(../images/icon_instagram_on.png) no-repeat 0 0;
		background-size:30px auto;
	}
	.snslist li.icon-x:hover{
		background:none;
		opacity: 0.7;
	}
	.snslist li.icon-x:hover img{
		visibility: visible !important;
	}
}

/* global-navigation */

.global-navigation{
	margin:0 auto;
}

.is-fixed{
  position:  fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height:56px;
  background-color:#000;
  -webkit-transition: all .4s ease 0s,background .6s ease .2s;
  transition: all .4s ease 0s,background .6s ease .2s;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

ul.gnavi{
	*zoom: 1;
	float:left;
	width: 920px;
	position: relative;
	z-index: 6;
	margin-left:0;
}

ul.gnavi::before,
ul.gnavi::after{
	content: "";
	display: table;
}
.gnavi::after{
	clear: both;
}
.gnavi li{
	width:115px;
	float:left;
	position: relative;
	text-align:left;
	font-weight:bold;
	transform: rotate(0.001deg);
	backface-visibility: hidden;
	text-align:center;
}

.gnavi li.nest::after{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	position: absolute;
	top: 55%;
	right: 10px;
	margin-top: -7px;
	border-right: solid 2px #000;
	border-bottom: solid 2px #000;
	transform: rotate(45deg);
}

@media screen and ( min-width:750px ){
	.gnavi li.nest:hover::after{
		border-color: #fff;
	}
}

.gnavi li a{
	display: block;
	padding:20px 0;
	color: #000;
	line-height: 1;
	text-decoration: none;
}

.gnavi li.stay > a{
	color:#379cbe;
}

.is-fixed .gnavi li a{
	color:#fff;
}

.is-fixed .gnavi li.stay > a{
	color:#ccc;
}

.is-fixed .gnavi li.nest::after{
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
}

@media screen and ( min-width:750px ){
	.gnavi li > a:hover{
		color:#fff;
	}

	.gnavi li:hover{
		background: #379cbe;
		color:#fff;
	}

	.gnavi li:hover > a{
		color:#fff;
	}
}

/* submenu */

.gnavi li .submenu{
	position: absolute;
	left:-115px;/*-63px*/
	top:50%;
	opacity: 0;
	visibility: hidden;
	width:1200px;/*680px*/
	/*height:380px;*/
	padding:40px 50px;/*0 30px*/
	color:#000;
	
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}


@media screen and ( min-width:750px ){
	.gnavi li:hover .submenu{
		top: 100%;
		visibility: visible;
		opacity: 1;
		background-color:#fafafa;
		border-top:5px solid #379cbe;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}
}

.gnavi li .submenu a{
	padding:0;
	color:#000!important;
}

@media screen and ( min-width:750px ){
	.gnavi li .submenu li:hover,
	.gnavi li .submenu li a:hover{
		padding:0;
		color:#fff!important;
		background-color:#000;
	}
}

.gnavi li .submenu h2{
	margin-bottom:20px;
	font-size:1.8rem;
	font-weight:bold;
	text-align:left;
}

.gnavi li .submenu h2 span{
	font-size:1.4rem;
	font-weight:normal;
	position:relative;
	display:inline-block;
	margin-left:10px;
	padding-left:10px;
}

.gnavi li .submenu h2 span:hover{
	text-decoration:underline;
}

.gnavi li .submenu h2 span::after {
	display: block;
	content: '';
	position: absolute;
	top: 40%;
	left:0;
	width: 5px;
	height: 5px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.gnavi li .submenu .category h2,
.gnavi li .submenu .tagert h2{
	font-family: 'Barlow', sans-serif;
	font-size:2rem;
}

.gnavi li .submenu li{
	float:none;
	width:auto;
}

.gnavi li .submenu .recommend{
	width:290px;
	margin-right:50px;
}

.gnavi li .submenu .recommend li{
	margin-bottom:20px;
}

.gnavi li .submenu .recommend li dt{
	/*margin-bottom:10px;*/
	width:130px;
	height:88px;
	overflow:hidden;
	position:relative;
}

.gnavi li .submenu .recommend li dd{
	width:130px;
	padding:10px 0 5px;
	font-size:1.4rem;
  overflow: hidden;
}

.gnavi li .submenu .recommend li:hover img{
	display:block;
  transition: 0.3s;
}

.gnavi li .submenu .recommend li dt::after{
	content:"";
	display:block;
	width:30px;
	height:30px;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background:url(../top/images/icon_arrow_m.png) no-repeat 0 0;
	background-size:30px 30px;
	opacity: 0;
    -webkit-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media screen and ( min-width:750px ){
 .gnavi li .submenu .recommend li:hover img{
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
     filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
  }
	
	.gnavi li .submenu .recommend li:hover dt::after{
		opacity: 1;
		-webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
	}
	
}


.gnavi li .submenu .category{
	width:560px;
	padding:0 50px;
	border-left:1px solid #ddd;
	border-right:1px solid #ddd;
}
.gnavi li .submenu .recommend ul,
.gnavi li .submenu .category ul{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.gnavi li .submenu .category ul{
	border-top:1px solid #ddd;
}

.gnavi li .submenu .category li{
	width : calc(100% / 3) ;
	border-left:1px solid #ddd;
	border-bottom:1px solid #ddd;
}

.gnavi li .submenu .category li:nth-child(1),
.gnavi li .submenu .category li:nth-child(4),
.gnavi li .submenu .category li:nth-child(7){
	border-left:none;
}

.gnavi li .submenu .category li a{
	font-size:1.5rem;
	font-weight:normal;
	display:block;
	padding:10px 0;
	background-position:center 10px;
	background-repeat:no-repeat;
	background-size:30px 30px;
}

.gnavi li .submenu .category li:nth-child(1) a{	background-image:url(../images/icon_01_on.png);}
.gnavi li .submenu .category li:nth-child(2) a{	background-image:url(../images/icon_02_on.png);}
.gnavi li .submenu .category li:nth-child(3) a{	background-image:url(../images/icon_03_on.png);}
.gnavi li .submenu .category li:nth-child(4) a{	background-image:url(../images/icon_04_on.png);}
.gnavi li .submenu .category li:nth-child(5) a{	background-image:url(../images/icon_05_on.png);}
.gnavi li .submenu .category li:nth-child(6) a{	background-image:url(../images/icon_06_on.png);}
.gnavi li .submenu .category li:nth-child(7) a{	background-image:url(../images/icon_07_on.png);}
.gnavi li .submenu .category li:nth-child(8) a{	background-image:url(../images/icon_08_on.png);}
.gnavi li .submenu .category li:nth-child(9) a{	background-image:url(../images/icon_09_on.png);}


.gnavi li .submenu .category li img{
	display:block;
	margin:0 auto 10px;
	width:30px;
	height:30px;
}

.gnavi li .submenu .category li:hover img{
	visibility:hidden;
}

.gnavi li .submenu .tagert{
	width:155px;
	margin-left:50px;
	text-align:left;
}

.gnavi li .submenu .tagert ul{
	border-top:1px solid #ddd;
}

.gnavi li .submenu .tagert li a{
	display:block;
	position:relative;
	padding:15px 20px;
	text-align:left;
	font-size:1.5rem;
	font-weight:normal;
	border-bottom:1px solid #ddd;
}

.gnavi li .submenu .tagert li a::after {
	display: block;
	content: '';
	position: absolute;
	top: 45%;
	right:20px;
	width: 6px;
	height: 6px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.gnavi li .submenu .tagert li a:hover::after {
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}


/* アコーディオン 言語 */
.menu {
	margin: 0 auto;
	padding: 0;
	z-index:100;
	font-family: 'Barlow', sans-serif;
	font-weight:bold;
}

.menu a {
	display: block;
	padding: 10px;
	text-decoration: none;
	color: #fff;
	background-color:#999;
	line-height: 1;
}

.menu label {
	display: block;
	margin: 0 0 2px 0;
	padding :0;
	line-height: 1;
	color :#000;
	cursor :pointer;
	font-size:1.8rem;
	text-align:left;
}

.is-fixed .menu label{
	color:#fff;
}

.menu input {
	display: none;
}

.menu ul{
	width:100px!important;
}


.menu #links02{
	margin-top:15px;
	font-weight:normal;
}

@media screen and ( min-width:750px ){
	.menu #links02 li a:hover{
		background-color:#fff;
		color:#000;
	}
}

.menu li{
	float:none;
	max-height: 0;
	overflow-y: hidden;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	backface-visibility: hidden;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

#menu_bar02:checked ~ #links02 li{
	max-height: 60px;
	opacity: 1;
}

/* 言語位置 */

.header div#lan{
	position:absolute;
	top:15px;
	right:0;
	font-weight:500;
}

.header div#lan label{
	position:relative;
}

.header div#lan label::after{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	position: absolute;
	top: 70%;
	right: 10px;
	margin-top: -7px;
	border-right: solid 2px #000;
	border-bottom: solid 2px #000;
	transform: rotate(45deg);
}

.is-fixed div#lan label::after{
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
}


.header div#lan .stay a{
	background-color: #fff;
    color: #999;
}



/* 検索 */
.winsearch {
	max-width:50px;
	margin: 0 auto;
	padding: 0;
	z-index:100;
	position:absolute;
	top:15px;
	right:120px;
}

.winsearch label {
	display: block;
	margin: 0 0 2px 0;
	padding :0;
	line-height: 1;
	color :#fff;
	cursor :pointer;
}

.is-fixed .winsearch label{
	background:url(../images/icon_serch_w.png) no-repeat 0 0;
}
.is-fixed .winsearch label img{
	visibility:hidden;
}


.winsearch input[type=checkbox] {
	display: none;
}

.winsearch ul{
	width:1200px!important;
	margin:10px 0 0 -1030px;
	background-color:#379cbe;
	text-align:left;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.winsearch li input[type=text]{
	height:45px;
	border:none;
}

.winsearch li{
	max-height: 0;
	padding:0 20px;
	font-family: 'Barlow', sans-serif;
	font-size:1.6rem;
	font-weight:700;
	overflow-y: hidden;
	color:#fff;
	width:98%!important;
}

.winsearch li input[type=text]{
	width:80%!important;
	height:35px;
	padding:5px 10px;
	border-radius:10px;
	outline:0;
	font-weight:normal;
}


#menu_bar03:checked ~ #links03 li {
	height:85px;
	min-height:85px;
	line-height:45px;
/*	max-height:100px;*/
	opacity: 1;
	padding:5px;
}

#menu_bar03:checked ~ #links03 li {
	padding:20px;
}

.winsearch .gsc-control-cse,
.winsearch .gsc-control-searchbox-only{
	background:transparent;
	border:none;
	margin:-45px 0 0 6em;
	padding:0;
}

.winsearch form.gsc-search-box{
	margin-bottom:0;
}

.winsearch table.gsc-search-box{
	margin:0;
}

.winsearch table.gsc-search-box th,
.winsearch table.gsc-search-box td{
	background:transparent;
	border:none;
	padding:0;
}

.winsearch .gsc-input-box{
	background:transparent;
	border:none;
	box-shadow:none !important;
}

.winsearch table.gsc-search-box table{
	border:none;
}

.winsearch .gsc-search-box-tools .gsc-search-box td.gsc-input{
	vertical-align:top;
}

.winsearch table.gsc-search-box td.gsib_a{
	border-radius:10px;
}

.winsearch table.gsc-search-box td input.gsc-input{
	background-position:10px 50% !important;
	border-radius:10px;
	width:100% !important;
	height:45px !important;
	padding:5px 10px !important;
}

.winsearch table.gsc-search-box td.gsc-search-button input{
	background-image:url(https://www.google.com/uds/css/v2/search_box_icon.png);
	background-repeat:no-repeat;
	background-position:50% 50%;
	border:none;
	border-radius:10px;
	height:45px;
	margin-top:0;
}

.winsearch table.gsc-search-box td input.gsc-input{
	background-position:10px 50% !important;
	border-radius:10px;
	width:100% !important;
	height:45px !important;
	padding:5px 10px !important;
}

.winsearch-wrap{
	background:#4788e1;
	visibility:hidden;
}

.winsearch-wrap .winsearch{
	max-width:1200px;
	position:relative;
	margin-top:0;
}

.winsearch-wrap .winsearch ul{
	margin:0;
}

.winsearch-wrap .winsearch label {
	position:absolute;
	top:-103px;
	right:140px;
}

/**/

.gsc-results-wrapper-overlay.gsc-results-wrapper-visible *{
	border:0!important;
	overflow:visible!important;
}

.gs-bidi-start-aligngs-snippet{
	line-height:1.8em!important;
}

.gsc-cursor .gsc-cursor-page::after{
	display:inline!important;
}


/* ---------------------------------------------
 container
------------------------------------------------ */

.container{
	clear:both;
  width:100%;
  margin:20px auto;
	background:url(../images/bg_title.png) no-repeat center 0;
}

/* ------ title -------------------------------- */

.page-title{
	width:1200px;
	margin:0 auto;
}

.page-title h1{
	text-align:center;
  padding:38px 0 27px;
  font-size:4rem;
	font-family: 'Barlow Semi Condensed', sans-serif;
  font-weight:600;
  margin:0 auto;
	line-height:1.3;
}

.page-title h1 span{
	display:block;
	font-size:1.6rem;
	font-weight:bold;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

/* ------ topic-path --------------------------- */

.container .topic-path{
	width:1200px;
  text-align:left;
  margin:0 auto;
	padding-bottom:30px;
  color:#000;
  font-size:1.2rem;
  list-style: none;
	overflow:hidden;
	line-height:1;
}

.topic-path a,
.topic-path a:link,
.topic-path a:hover,
.topic-path a:visited,
.topic-path a:active {
  color:#000;
  text-decoration:none;
}

ol.topic-path li{
	float:left;
	text-indent:0;
	padding:5px 10px;
	border-left:1px solid #000;
}

ol.topic-path li:first-child{
	border:none;
	padding-left:0;
}

ol.topic-path li::before {
	display:none;
}


/* content
------------------------------------------------ */

.content {
  width:100%;
  margin:0 auto 140px;
	padding-top:30px;
  text-align:left;
}

/* sidebar
------------------------------------------------ */

/*.sidebar{
  width:300px;
  float:right;
  text-align:left;
}*/


/* ------ local-navigation --------------------- */

.sidebar .local-navigation{
  border:1px solid #d4d4d4;
  margin-bottom:20px;
}

.sidebar .local-navigation h2{
  margin:0;
  background:#eee;
  padding:10px 15px;
  font-weight:bold;
}

.sidebar .local-navigation ul{
  margin:10px 15px;
}

.sidebar .local-navigation ul span{
  font-size:78%;
}

.sidebar .local-navigation ul li{
  padding:5px 0;
}

.sidebar .local-navigation li a{
  background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
  padding-left:15px;
  display:block;
  font-size:87%;
}

.sidebar .local-navigation li li a{
  background:url(../images/icon_arrow02.png) no-repeat 0 0.5em;
  padding-left:10px;
}


.sidebar .local-navigation li a:link,
.sidebar .local-navigation li a:visited,
.sidebar .local-navigation li a:hover,
.sidebar .local-navigation li a:active{
  text-decoration:none;
}

/* ------ banner ------------------------------- */

.sidebar .banner{
  margin-top:0;
}

.sidebar .banner li{
  margin-bottom:10px;
}


/* ---------------------------------------------
 footer
------------------------------------------------ */

.footer{
	clear:both;
	position:relative;
}

.pagetop{
	position:absolute;
	top:-25px;
	left:0;
	right:0;
	width:1200px;
	margin:0 auto;
	text-align:right;
}

.footer .inner{
  width:100%;
  height:450px;
  padding:60px 0 0;
  background-image:url(../images/bg_footer.jpg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}

.footer a,
.footer a:link,
.footer a:hover,
.footer a:visited,
.footer a:active {
  color:#000;
  text-decoration:none;
  font-weight:bold;
}

.footernavi,
.footer .snslist{
  text-align:center;
  margin:30px auto 0;
	 display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-pack:center;/*　左右中央寄せ　*/
    -webkit-justify-content:center;
    -ms-flex-pack:center;
}

.footernavi li{
  line-height:1;
  padding:0 20px;
}

.footernavi li a{
	position: relative;
  display: inline-block;
  text-decoration: none;
	
}

.footernavi li a::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #000;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
.footernavi li a:hover::after {
  bottom: -3px;
  opacity: 1;
  visibility: visible;
}

.footer .funavi{
	font-size: 1.4rem;
	margin-top: 20px;
}

.footer .snslist li{
	display:inline-block;
	margin:0 10px;
}

.copyright{
	width:100%;
	padding:15px 0;
	text-align:center;
	font-size:1.2rem;
	font-family: 'Barlow', sans-serif;
	font-weight:500;
	color:#666;
}


/* IE10〜11 */
_:-ms-input-placeholder, :root ol.topic-path li {
	padding:5px 10px 3px;
}

/* Edge12〜14 */
@supports (-ms-ime-align: auto) and (not (-webkit-text-stroke: initial)) {
  ol.topic-path li {
   padding:5px 10px 3px;
  }
}