@charset "utf-8";

/*========================

全ページ

========================*/

@import url(https://fonts.googleapis.com/css?family=Roboto:400,300italic,300,100italic,100,400italic,500,500italic,700,700italic,900,900italic);
/*------------------------

ベース

------------------------*/

html {
	font-size: 62.5%;
}
body {
	font-family: 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Lucida Grande', 'Lucida Sans Unicode', 'ＭＳ Ｐゴシック', Arial, Verdana, 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.3rem;
	line-height: 1.61;
	letter-spacing: .05em;
}
select, input, button, textarea, button, option {
	font-family: 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Lucida Grande', 'Lucida Sans Unicode', 'ＭＳ Ｐゴシック', Arial, Verdana, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.wrap {
	width: 980px;
	margin: 0 auto;
}

@media screen and (max-width:979px) {
.wrap {
	width: 100%;
	padding: 0 15px;
	margin: 0 auto;
}
}
/*------------------------

ヘッダー

------------------------*/

.area-head {
	display: block !important;
}
.header {
	width: 100%;
	padding: 0;
	position: relative;
	z-index: 999;
	background: #FFF;
	-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
	-moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.box-head {
	width: 980px;
	margin: 0 auto;
}
h1.logo {
	width: 300px;
	padding: 20px 0 0;
	float: left;
}
.box-head-right {
	width: 650px;
	float: right;
}
.box-head-right-top {
	padding: 10px 0 9px;
	border-bottom: 1px solid #CCC;
}
form#cse-search-box {
	margin-bottom: 0;
	margin-right: 0;
}
button.l-search__btn.gsc-search-button {
	padding: 2px 5px;
}
input.l-search__text {
	margin-right: 2px;
	padding: 0;
	width: 150px;
}
#cse-search-form {
	width: 210px;
	margin: 5px 0 0 70px;
	float: left;
}
#cse-search-form table, #cse-search-form table td {
	margin: 0;
	padding: 0;
	border: none;
}
button.l-search__btn.gsc-search-button {
	width: 43px;
	border: 1px solid #ccc;
	background-color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
.gsc-clear-button, .gsc-branding {
	display: none;
}
.nav-language {
	width: 190px;
	margin: 7px 0 0 35px;
	float: left;
}
.nav-language ul li {
	margin: 0 20px 0 0;
	padding: 0;
	float: left;
	font-size: 85%;
}
.nav-language ul li span {
	color: #009CE6;
	font-size: 85%;
}
.nav-language ul li a:hover {
	color: #009CE6;
}
.head-contact {
	width: 145px;
	float: left;
}
.gnav {
	width: 650px;
	padding: 0 0 0 5px;
}
.gnav li {
	padding: 10px .95em 11px;
	font-weight: bold;
	float: left;
}
.gnav li a:hover {
	color: #009CE6;
}
.gnav-modal01, .gnav-modal02, .gnav-modal03, .gnav-modal04, .gnav-modal05, .gnav-modal06, .gnav-modal07, .gnav-modal08, .gnav-modal09 {
	width: 100%;
	position: absolute;
	z-index: 998;
	background: #FFF;
	display: none;
}
.box-modal {
	width: 980px;
	margin: 0 auto;
	padding: 0 0 25px;
}
.box-modal-left {
	width: 220px;
	padding: 25px 20px 0 0;
	float: left;
}
.box-modal-center {
	width: 535px;
	margin: 25px 0 0;
	padding: 0 0 0 30px;
	float: left;
	border-left: 1px solid #CCC;
}
.gnav-modal02 .box-modal-center, .gnav-modal07 .box-modal-center {
	width: 760px;
}
.box-modal-right {
	width: 225px;
	padding: 15px 0 0;
	float: right;
}
.gnav-modal02 .box-modal-right {
	width: 225px;
	margin: 25px 0 0;
	padding: 0;
	float: left;
}
.modal-tit {
	margin: 0 0 30px;
	padding: 0 0 30px;
	font-size: 167%;
	font-weight: bold;
	background: url(../img/gnav_line.png) 0 bottom no-repeat;
}
.modal-tit span {
	padding: 20px 0 0;
	display: block;
	font-size: 60%;
}
.modal-text {
	margin: 0 0 30px;
}
a.modal-btn {
	padding: 8px 12px;
	display: block;
	border: 1px solid #009CE6;
	color: #009CE6;
	font-weight: bold;
	background: url(../img/arrow01.png) 180px center no-repeat #FFF;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
a.modal-btn:hover {
	color: #FFF;
	background: url(../img/arrow01_on.png) 180px center no-repeat #009CE6;
}
.box-modal-center li {
	width: 220px;
	margin: 0 30px 30px 0;
	float: left;
}
.box-modal-center li span {
	margin: 5px 5px 0 0;
	display: block;
	background: url(../img/arrow01.png) right center no-repeat;
	font-size: 93%;
}
.box-modal-center li:nth-child(3), .box-modal-center li:nth-child(4) {
	margin: 0 30px 0 0;
}
.gnav-modal02 .box-modal-center li:nth-child(3), .gnav-modal02 .box-modal-center li:nth-child(6), .gnav-modal07 .box-modal-center li:nth-child(3) {
	margin: 0;
}
.gnav-modal02 .box-modal-center li:nth-child(4), .gnav-modal02 .box-modal-center li:nth-child(5) {
	margin: 0 30px 0 0;
}
.box-modal-center li a:hover span {
	color: #009CE6;
}
.box-modal-right li a {
	display: block;
	padding: 10px 0 10px 15px;
	background: url(../img/arrow01.png) left center no-repeat;
	border-bottom: 1px solid #CCC;
}
.gnav-modal02 .box-modal-right li a {
	display: inherit;
	padding: 0;
	background: none;
	border-bottom: none;
}
.gnav-modal02 .box-modal-right li {
	margin-bottom: 30px;
}
.box-modal-right li a:hover {
	color: #009CE6;
}
.modal-layer {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 997;
	background: url(../img/back_modal.png) 0 0 repeat;
}

@media screen and (max-width:979px) {
.box-head {
	width: 100%;
}
h1.logo {
	width: 220px;
	margin: 0 auto 10px;
	padding: 10px 0 0;
	float: none;
}
.box-head-right {
	width: 100%;
	padding: 0 15px;
	float: none;
}
.box-head-right-top {
	padding: 0 0 10px;
	border-bottom: none;
}
#cse-search-form {
	width: 100%;
	margin: 0 0 10px;
	float: none;
}
input.l-search__text {
	width: calc(100% - 65px);
}
button.l-search__btn.gsc-search-button {
	width: 60px;
	float: right;
}
.nav-language {
	width: 160px;
	margin: 0;
}
.nav-language ul li {
	margin: 4px 10px 0 0;
	font-size: 77%;
}
.head-contact {
	width: 130px;
	float: right;
}
.gnav {
	display: none;
}
.box-modal {
	display: none;
}
}
/*------------------------

スマホナビ

------------------------*/

.nav-sp {
	display: none;
}

@media screen and (max-width:979px) {
.nav-sp {
	padding: 0 0 15px;
	display: block;
}
ul.accordion {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.accordion p:hover, ul.accordion a:hover {
	color: #009CE6;
}
ul.accordion ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: none;
}
ul.accordion > li > p {
	margin: 0;
	padding: 0 15px;
	cursor: pointer;
	border: 1px solid #009CE6;
	color: #009CE6;
}
ul.accordion > li > p span {
	padding: 10px 0;
	background: url(../img/sp_menu.png) right 12px no-repeat;
	background-size: 20px;
	display: block;
}
ul.accordion > li > p span.open {
	background: url(../img/sp_menu_on.png) right 14px no-repeat;
	background-size: 16px;
}
ul.accordion > li > ul > li > p {
	margin: 0;
	cursor: pointer;
	border-bottom: 1px solid #CCC;
}
ul.accordion > li > ul > li > p span {
	padding: 10px 0 10px 15px;
	background: url(../img/sp_arrow02.png) right center no-repeat;
	background-size: 30px;
	display: block;
}
ul.accordion > li > ul > li > p span.open {
	background: url(../img/sp_arrow03.png) right center no-repeat;
	background-size: 30px;
}
ul.accordion > li > ul > li > a {
	padding: 10px 0 10px 15px;
	background: url(../img/sp_arrow01.png) right center no-repeat;
	background-size: 30px;
	display: block;
	border-bottom: 1px solid #CCC;
}
ul.accordion > li > ul > li > ul > li > p {
	margin: 0;
	cursor: pointer;
	border-bottom: 1px solid #CCC;
	background: #F6F6F6;
}
ul.accordion > li > ul > li > ul > li > p span {
	padding: 10px 0 10px 15px;
	background: url(../img/sp_arrow02.png) right center no-repeat;
	background-size: 30px;
	display: block;
}
ul.accordion > li > ul > li > ul > li > p span.open {
	background: url(../img/sp_arrow03.png) right center no-repeat;
	background-size: 30px;
}
ul.accordion > li > ul > li > ul > li a {
	padding: 10px 0 10px 15px;
	background: url(../img/sp_arrow01.png) right center no-repeat #F6F6F6;
	background-size: 30px;
	display : block;
	border-bottom: 1px solid #CCC;
}
ul.accordion > li > ul > li > ul > li > ul > li > a {
	padding: 10px 0 10px 15px;
	background: url(../img/sp_arrow01.png) right center no-repeat #E6E6E6;
	background-size: 30px;
	display: block;
	border-bottom: 1px solid #CCC;
}
}
/*------------------------

パンくず

------------------------*/

.back-bread {
	width: 100%;
	padding: 13px 0;
	background: #F6F8F6;
}
.box-bread {
	width: 980px;
	margin: 0 auto;
}
.box-bread li {
	padding: 0 0 0 30px;
	font-size: 93%;
	float: left;
	background: url(../img/icon_bread.png) 10px center no-repeat;
}
.box-bread li:nth-child(1) {
	padding: 0;
	background: none;
}
.box-bread li a {
	color: #009CE6;
}
.box-bread li a:hover {
	text-decoration: underline;
}

@media screen and (max-width:979px) {
.back-bread {
	width: 100%;
	padding: 5px 15px;
}
.box-bread {
	width: 100%;
	margin: 0;
}
.box-bread li {
	padding: 0 0 0 20px;
	font-size: 77%;
	background: url(../img/icon_bread.png) 5px center no-repeat;
	background-size: 10px;
}
}
/*------------------------

ページトップ

------------------------*/
	
#page-top {
	position: fixed;
	bottom: -5px;
	right: 20px;
	z-index: 99999;
}
#page-top a {
	width: 45px;
	padding: 8px 0 13px;
	display: block;
	cursor: pointer;
	background: #009CE6;
	color: #FFF;
	font-weight: bold;
	font-size: 131%;
	text-align: center;
	text-decoration: none;
}
#page-top a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

@media screen and (max-width:979px) {
#page-top {
	bottom: -15px;
	right: 10px;
}
#page-top a {
	width: 35px;
	padding: 3px 0 8px;
}
}
/*------------------------

フッター

------------------------*/

.footer {
	width: 100%;
	padding: 40px 0 25px;
	border-top: 5px solid #009CE6;
	background: #222;
}
.nav-foot {
	width: 980px;
	margin: 0 auto;
	color: #FFF;
}
.box-foot {
	width: 50%;
	float: left;
}
.nav-foot ul {
	width: 50%;
	margin: 0;
	padding: 0 15px 0 0;
	float: left;
}
.nav-foot ul li {
	margin: 0 0 20px;
	font-weight: bold;
}
.nav-foot ul li ul {
	width: 100%;
	padding: 0;
	float: none;
}
.nav-foot ul li ul li {
	margin: 5px 0 0;
	font-weight: normal;
	font-size: 93%;
}
.nav-foot ul li ul li:before {
	padding: 0 5px;
	content: "‐";
}
.nav-foot ul li ul li.li-normal {
	font-size: 100%;
}
.nav-foot ul li ul li.li-normal:before {
	padding: 0;
	content: normal;
}
.nav-foot ul li ul li ul li {
	margin: 3px 0 0;
	padding: 0 0 0 20px;
	font-size: 85%;
}
.nav-foot ul li ul li ul li:before {
	padding: 0;
	content: normal;
}
.nav-foot ul li a {
	color: #FFF;
}
.nav-foot ul li ul li a {
	color: #DDD;
}
.nav-foot a:hover {
	text-decoration: underline;
}
small {
	width: 100%;
	padding: 18px 0;
	display: block;
	font-size: 85%;
	text-align: center;
	background: #000;
	color: #CCC;
}

@media screen and (max-width:979px) {
.footer {
	padding: 15px 0 25px;
	font-size: 93%;
}
.nav-foot {
	width: 100%;
	padding: 0 0 0 15px;
}
.box-foot {
	width: 100%;
	float: none;
}
.nav-foot ul li {
	margin: 0 0 10px;
}
small {
	padding: 13px 0;
}
}
/*------------------------

リンク

------------------------*/

a {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #333;
	text-decoration: none;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
/*------------------------

フロート解除

------------------------*/

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
/*------------------------

フォントサイズ

------------------------*/

.font_b {
	font-weight: bold;
}
.font_s {
	font-size: 66%;
}
.font_10 {
	font-size: 77%;
}
.font_11 {
	font-size: 85%;
}
.font_12 {
	font-size: 93%;
}
.font_13 {
	font-size: 100%;
}
.font_14 {
	font-size: 108%;
}
.font_15 {
	font-size: 116%;
}
.font_16 {
	font-size: 123.1%;
}
.font_17 {
	font-size: 131%;
}
.font_18 {
	font-size: 138.5%;
}
.font_19 {
	font-size: 146.5%;
}
.font_20 {
	font-size: 153.9%;
}
.font_21 {
	font-size: 161.6%;
}
.font_22 {
	font-size: 167%;
}
.font_23 {
	font-size: 174%;
}
.font_24 {
	font-size: 182%;
}
.font_25 {
	font-size: 189%;
}
.font_26 {
	font-size: 197%;
}
/*------------------------

表示・非表示

------------------------*/

br.sp_only {
	display: none;
}

@media (max-width: 1023px) {
br.sp_only {
	display: block;
}
}
.hidden {
	display: none;
	visibility: hidden;
}
.visible-phone {
	display: none !important;
}
.visible-tablet {
	display: none !important;
}
.hidden-desktop {
	display: none !important;
}
.visible-desktop {
	display: inline-block !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
.hidden-desktop {
	display: inherit !important;
}
.visible-desktop {
	display: none !important;
}
.visible-tablet {
	display: inherit !important;
}
.hidden-tablet {
	display: none !important;
}
}

@media (max-width: 767px) {
.hidden-desktop {
	display: inherit !important;
}
.visible-desktop {
	display: none !important;
}
.visible-phone {
	display: inherit !important;
}
.hidden-phone {
	display: none !important;
}
}
/*------------------------

clearfix

------------------------*/

.clearfix:before, .clearfix:after {
	display: block;
	overflow: hidden;
	height: 0;
	content: ".";
}
.clearfix:after {
	clear: both;
}
