@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/*
メインカラー
#0091d7

*/


.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}



/*==================================================
 汎用クラス
================================================== */
.clear {
	clear: both;
}

@media screen and (max-width: 768px) {
	.app-br {
		display: none;
	}
}


/* クリアフィックス
-------------------------------------------------- */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/* 整列
-------------------------------------------------- */
.aligncenter {
	margin: 0 auto;
	display: block;
}

.alignright {
	margin: 0 0 .5em 1em;
	float: right;
}

.alignleft {
	margin: 0 1em .5em 0;
	float: left;
}


/*==================================================
 リンク
================================================== */


/* アイコン付きリンク
------------------------- */
.icon-link {
	padding: 0 0 0 12px;
	background: url(../images/common/icon01.png) left center no-repeat;
}


/*==================================================
 レイアウト
================================================== */
.layout-wrapper {
}

@media screen and (max-width: 768px) {
	.layout-wrapper {
		min-width: 0;
	}
}

/* ヘッダー
-------------------------------------------------- */
.layout-header {
	margin: 0 0 70px;
}

.lower .layout-header {
	margin: 0 0 45px;
	padding: 55px 0 0;
}

/* メイン部分
-------------------------------------------------- */
.lower .layout-body {
	width: 1100px;
	margin: 0 auto 50px;
	overflow: hidden;
}

.lower .layout-main {
	width: 800px;
	float: right;
}

.layout-main.wide-main {
	width: 100%;
	float: none;
}

@media screen and (max-width: 1100px) {
	.glasses-sidebar{
		padding-left: 10px;
	}
	.lower .layout-body {
	width: 100%;
	margin: 0 auto 50px;
	overflow: hidden;
	}
	.lower .layout-main {
	width: 70%;
	float: right;
	padding-right: 10px; 
}
}

@media screen and (max-width: 768px) {
	.layout-body {
		margin: 0 5px 50px;
	}

	.lower .layout-body {
		width: auto;
		margin: 0 5px 50px;
		overflow: hidden;
	}

	.lower .layout-main {
		width: auto;
		float: none;
	}

	.layout-main.wide-main {
		width: 100%;
		float: none;
	}
}

/* サイドバー
-------------------------------------------------- */
.layout-side {
	width: 225px;
	float: left;
}

.glasses-sidebar {
	width: 228px;
}

@media screen and (max-width: 768px) {
	.layout-side {
		width: auto;
		float: none;
	}

	.glasses-sidebar {
		width: auto;
	}
}


/*==================================================
 ヘッダー
================================================== */
/* ロゴ
-------------------------------------------------- */
.header-logo {
	margin: 0 0 50px;
	text-align: center;
}

/* グローバルナビ
-------------------------------------------------- */
.header-nav {
	margin: 0 0 44px;
	text-align: center;
	font-size: 0;
	letter-spacing: 0;
}

.header-nav li {
	padding: 0 38px 0 25px;
	line-height: 30px;
	vertical-align: top;
	font-size: 16px;
	background: url(../images/common/header_nav_sep_b.jpg) right center no-repeat;
	display: inline-block;
}

.header-nav li:last-child {
	background: none;
}

.header-nav a {
	color: #222;
	font-weight: bold;
	display: block;
}

.header-nav a:hover {
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.header-nav {
		display: none;
	}
}

/* 青背景白文字バージョン
------------------------- */
.home .header-nav {
	background: #00a0e9;
}

.home .header-nav li {
	background-image: url(../images/common/header_nav_sep_w.png);
}

.header-nav li:last-child {
	background: none;
}

.home .header-nav a {
	padding: 17px 0 19px;
	color: #fff;
}


/* サブビジュ
-------------------------------------------------- */
.header-sub-visual {
	margin: 65px 0;
	line-height: 300px;
	text-align: right;
	font-size: 38px;
	font-weight: bold;
	background: url(../images/common/visual_bg.jpg) center top no-repeat;
	box-sizing: border-box;
}

.sub-visual-inner {
	max-width: 1090px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.header-sub-visual {
		height: auto;
		line-height: 100px;
		padding: 0 10px;
		font-size: 15px;
		background-size: cover;
	}
}


/*==================================================
 フッター
================================================== */
.footer {
	padding: 94px 0 55px;
	background: url(../images/common/footer_bg.jpg) center top no-repeat;
}

@media screen and (max-width: 768px) {
	.footer {
		padding: 20px 5px;
		background-size: cover;
	}
}

/* ロゴ
-------------------------------------------------- */
.footer-logo {
	margin: 0 0 58px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer-logo {
		margin: 0 0 20px;
	}
}

/* ナビ
-------------------------------------------------- */
.footer-nav {
	color: #fff;
	margin: 0 0 90px;
	text-align: center;
	font-size: 0;
	letter-spacing: 0;
}

.footer-nav li {
	margin: 0 22px;
	vertical-align: top;
	font-size: 16px;
	font-weight: bold;
	display: inline-block;
}

.footer-nav a {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.footer-nav {
		margin: 0 0 20px;
		text-align: left;
	}

	.footer-nav li {
		width: 48%;
		margin: 0 1%;
		line-height: 35px;
		text-align: left;
		border-bottom: 1px dotted #00a0e9;
	}

	.footer-nav a {
		padding: 0 0 0 15px;
		background: url(../images/common/icon01.png) left center no-repeat;
		display: block;
	}
}

/* コピーライト
-------------------------------------------------- */
.footer-copyright {
	position: relative;
	top: 55px;
	background-color: rgba(255,255,255,0.5);
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	display: block;
	padding: 3px 0;
}

.footer-copyright a {
	color: inherit;
}

@media screen and (max-width: 768px) {
	.footer-copyright {
		font-size: 13px;
		font-weight: normal;
	}
}

/*==================================================
 テーブル
================================================== */
.default-table {
	width: 100%;
	margin: 20px 0;
	line-height: 1.5;
	border-top: 1px solid #e0e0e0;
	border-left: 1px solid #e0e0e0;
	border-collapse: separate;
	border-spacing: 0;
}

.default-table:first-child {
	margin-top: 0;
}

.default-table th,
.default-table td {
	padding: 8px;
	vertical-align: top;
	border: 1px solid #e0e0e0;
	border-top-color: #fff;
	border-left-color: #fff;
	background: #fff;
}

.default-table th {
	width: 35%;
	background: #f3f3f3;
}

.default-table thead th {
	background: #e6e6e6;
}

.default-table caption {
	padding: 3px;
	text-align: center;
	font-size: 18px;
}

.member-table {
  width: auto;
  border: 0 !important;
}

.member-table td {
  border: 0 !important;
}

/* セルの横幅を均等にする
------------------------- */
.cell-width-fix {
	table-layout: fixed;
}


/* セルの横幅を指定しない
------------------------- */
.cell-width-fazzy th,
.cell-width-fazzy td {
	width: auto;
}


/* 縦向き
------------------------- */
.direction-vertical,
.direction-vertical thead,
.direction-vertical tbody,
.direction-vertical tfoot,
.direction-vertical tr,
.direction-vertical th,
.direction-vertical td {
	width: auto;
	display: block;
}

@media screen and (max-width: 768px) {
	.sp-direction-vertical,
	.sp-direction-vertical thead,
	.sp-direction-vertical tbody,
	.sp-direction-vertical tfoot,
	.sp-direction-vertical tr,
	.sp-direction-vertical th,
	.sp-direction-vertical td {
		width: auto;
		display: block;
	}
}


/* 大きいサイズのテーブルはスマホではスクロールさせる
------------------------- */
@media screen and (max-width: 768px) {
	.scroll-table-wrap {
		overflow-x: scroll;
	}

	.scroll-table-wrap table {
		width: 700px;
		margin: 0;
	}
}


/*==================================================
 セクション
================================================== */
.section {
	margin: 0 0 80px;
}

/* 見出し
-------------------------------------------------- */
h1.section-title {
	border-bottom: solid 3px #d7d7d7;/*下線*/
	font-size: 21px;
	margin-bottom: 20px;
}

h1:first-letter {
font-size: 2em;
color: #0091d7;
}

h2{
	margin: 20px 0 10px 0!important;
}
h2:first-letter {
font-size: 1.7em;
}
h2 .under {
	padding-bottom: 5px;
	border-bottom: dashed 2px #0091d7;
}

h3 {
	font-size: 18px;
	padding-left: 10px!important;
	margin: 10px 0!important;
	border-left: 6px solid #0091d7;
}


h4 {
	font-size: 16px;
	margin: 10px 0!important;;
  position: relative;
  padding: 0 .5em .5em 1.7em!important;;
  border-bottom: 1px solid #ccc;
}
h4::after {
  position: absolute;
  top: .4em;
  left: .4em;
  z-index: 2;
  content: '';
  width: 12px;
  height: 12px;
  background-color: #ccc;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.h3-text {
	margin-left: 10px;
}


@media screen and (max-width: 768px) {
	h1.section-title {
	font-size: 17px;

}
}


/* アイキャッチ画像
-------------------------------------------------- */
.section-thumb-center {
	margin: 0 auto 15px;
	display: block;
}

.section-thumb-left {
	max-width: 35%;
	margin: 0 15px 15px 0;
	float: left;
}

.section-thumb-right {
	max-width: 35%;
	margin: 0 0 15px 15px;
	float: right;
}


















/*==================================================
 会社詳細サイドバー
================================================== */
.tab-content {
	display: none;
}

.tab-content.visible {
	display: block;
}



.shop-detail-menu li {
	margin: 0 0 5px;
	padding: 0 5px;
	line-height: 30px;
}

.shop-detail-menu li:hover {
	cursor: pointer;
}







/*==================================================
 ギャラリー
================================================== */
ul.gallery-list {
	margin: 15px 0;
	font-size: 0;
	letter-spacing: 0;
}

ul.gallery-list li {
	width: calc((100% - 30px) / 3);
	margin: 0 10px 20px 0;
	font-size: 14px;
	vertical-align: top;
	display: inline-block;
}

ul.gallery-list li:nth-child(4n) {
	margin-right: 0;
}

@media screen and (max-width: 768px) {
	ul.gallery-list li:nth-child(n) {
		width: calc((100% - 20px) / 3);
		margin: 0 10px 20px 0;
		font-size: 14px;
		vertical-align: top;
		display: inline-block;
	}

	ul.gallery-list li:nth-child(3n) {
		margin-right: 0;
	}
}


/* 2カラム
------------------------- */
ul.gallery-list.column2 li:nth-child(n) {
	width: calc((100% - 10px) / 2);
	margin-right: 10px;
}

ul.gallery-list.column2 li:nth-child(2n) {
	margin-right: 0;
}


/* 3カラム
------------------------- */
ul.gallery-list.column3 li:nth-child(n) {
	width: calc((100% - 20px) / 3);
	margin-right: 10px;
}

ul.gallery-list.column3 li:nth-child(3n) {
	margin-right: 0;
}


/* 4カラム
------------------------- */
ul.gallery-list.column4 li:nth-child(n) {
	width: calc((100% - 30px) / 4);
	margin-right: 10px;
}

ul.gallery-list.column4 li:nth-child(4n) {
	margin-right: 0;
}


/* ホバーアニメーション
------------------------- */
ul.gallery-list a {
	display: block;
	position: relative;
}

ul.gallery-list a:before {
	content: '';
	width: 100%;
	height: 100%;
	border: 0 solid rgba(255,255,255,.5);
	display: block;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: All 0.3s ease;
}

ul.gallery-list a:hover:before {
	border-width: 10px;
}


/* タイトル
------------------------- */
ul.gallery-list .gallery-photo-title {
	margin: 8px 0 0;
	text-align: center;
}


/* キャプション
------------------------- */
ul.gallery-list .gallery-photo-caption {
	margin: 8px 0 0;
	line-height: 1.3;
	font-size: 13px;
}

.center {
	text-align: center;
}

#pageTop {

  position: fixed;
  bottom: 20px;
  right: 20px;
}

 

#pageTop a {
  display: block;
  z-index: 999;
  padding: 8px 0 0 8px;
  border-radius: 30px;
  width: 35px;
  height: 35px;
  background-color: #0091d7;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.movie {
	margin: 20px 0;
}