
/* ドリームズ・カム・トゥルー html5 UTF-8 */


body {
	background-color : #fff ; 
	font-size: 12pt;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 180%;
	letter-spacing: 0.1em;
	color: #444;
	padding: 0;
	margin: 0;
	}

a:hover img {
	opacity: 0.9;
	
	-moz-transition-duration:0.5s;
	-webkit-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
	}

.wrapper {
	text-align: center;
	}

 .width {
	max-width: 1140px;
	padding: 0 3.5%;
	margin: 0 auto;
	/*background-color : rgba(255,255,255,0.3); */
	 }


h1,
h2,
h3,
h4 {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	line-height: 140%;
	padding: 0;
	margin: 0;
	}

.tran {
	-moz-transition-duration:0.5s;
	-webkit-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
	}


/*****　グリッド　*****/

.grid-row {
	/*margin-bottom: 20px;*/
	}

.grid-2,
.grid-3,
.grid-4 {
	float: left;
	margin-left: 6%;
	}

.grid-2 {
	width: 47%;
	/*background-color: #ddd;*/
	}
.grid-2 .grid-2 {
	width: 44%;
	margin-left: 12%;
	}
	
.grid-3 {
	width: 29.33%;
	}

.grid-4 {
	width: 20.5%;
	}
	
.grid-2:first-child,
.grid-3:first-child,
.grid-4:first-child {
	margin-left: 0;
	}


/*****　表示・非表示切り替え　*****/

.appear480,
.appear600,
.appear768 {
	display: none;
	}

	
/*****　ヘッダー　*****/

header {
	background-color: #000;
	height: 30px;
	}

.corp-logo {
	float: left;
	text-align: left;
	height: 30px;
	}
.corp-logo img {
	height: 20px;
	margin-top: 0px;
	}

.navbar-fixed-top {
	padding: 0;
	margin: 0;
	}

/*****　グローバルナビ　*****/

.global {
	background-color: #3c3c3c;
	background-color : rgba(50,50,50,0.85);
	font-weight: normal;
	/*border-bottom: solid 2px #222;*/
	}
.global ul {
	list-style: none;
	/*background-color: #fff;
	background-color : rgba(255,255,255,0.95);*/
	background-color : rgba(50,50,50,0.8);
	padding: 0;
	margin: 0;
	}
.global li {
	display: inline-block;
	padding: 0;
	margin: 0;
	}
.global a {
	float: left;
	color: #A4D4EF;
	padding: 10px 20px 9px 20px;
	margin: 10px 5px 2px 5px;
	}
.global a:hover,
.active a {
	background-color:#fff;
	text-decoration: none;
	color: #0E8FD7;
	
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	
	/*-moz-transition-duration:0.5s;
	-webkit-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;*/
	}

.accordion-inner {
	/*background-color: #545454;*/
	background-color : rgba(255,255,255,0);
	border: none;
	padding-bottom: 0;
	}
.accordion-inner ul {
	background-color : rgba(255,255,255,0);
	}
.global .accordion-inner a {
	margin: 0px 10px;
	}


/*****　フッター　*****/

footer {
	background-color: #555;
	text-align: left;
	padding-top: 20px;
	}
footer nav {
	background-color: #555;
	text-align: left;
	margin-bottom: 20px;
	}
.footer-menu ul {
	font-size: 80%;
	list-style: none;
	padding: 0;
	margin: 0;
	}
.footer-menu li a {
	color: #ddd;
	}
p.copyright {
	color: #999;
	font-size: 70%;
	line-height: 140%;
	text-align: center;
	background-color: #444;
	padding: 10px 0;
	margin-bottom: 0px;
	}


/*****　本文・共通　*****/

	
section {
	text-align: left;
	margin-bottom: 80px;
	}
.navbar-fixed-top + section {
	padding-top: 90px;
	}

section h1,
section h2,
section h3,
section h4,
section dt {
	letter-spacing: 0.08em;
	}
	
section h2,
section h3,
section h4,
section dt {
	margin-bottom: 0.8em;
	}
section h3 {
	font-size: 130%;
	}
section p,
section li,
section dd {
	color: #444;
	font-weight: 200; 
	}
section p {
	margin: 0 0 20px 0;
	}
section li {
	margin: 0 0 10px 0;
	}
section dl {
	padding: 0;
	margin: 0;
	}
section dd {
	margin: 0 0 20px 2em;
	}
section p:last-child,
section ul:last-child,
section li:last-child,
section dd:last-child {
	margin-bottom: 0;
	}

section.privacy-app {
    border-bottom: solid 5px #eee;
	padding-bottom: 90px;
	}
section.privacy-app:last-child {
    border-bottom: none;
	padding-bottom: 0px;
	}
	
article {
	border-top: solid 1px #ccc;
	padding: 20px 0 0 0;
	margin-bottom: 30px;
	}
.grid-row  article {
	border-top: none;
	}

/*article img:last-child {
	margin-bottom: 10px;
	}*/

aside,
.box {
	border: solid 1px #ccc;
	padding: 20px;
	margin-bottom: 20px;
	
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	}	
aside.caution {border: solid 1px #f00;}
aside.caution02 {
    border: none;
	background-color: #f3f1ea;
	}
	

/*****　ホーム　*****/



/*****　コンテンツページ　*****/

/*　タイトル　*/

.page-title {
	background-color: #333;
	background-position:center;
	background-repeat: no-repeat;
	/*background-size: cover;*/
	color: #fff;
	margin-bottom: 10px;
	}
.page-title h1 {
	text-align: left;
	display: table-cell;
	height: 110px;
	vertical-align: middle;
	}

.page-title.profile {
	background-color: #625b5f;
	}
.page-title.inquire {
	background-color: #625b5f;
	}


/*****　製品詳細ページ　*****/





/*****　パンくずナビ　*****/

section ul.route {
	font-size: 85%;
	/*border-bottom: dotted 1px #ccc;*/
	padding: 0 5px 5px 5px;
	margin: 0 0 30px 0;
	}
.route li {
	display: inline;
	color: #888;
	}
.route a {
	background-image:url(../images/route_next.png);
	background-repeat: no-repeat;
	background-position: right center;
	padding: 0 15px 0 0;
	margin: 0 5px 0 0;
	}


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

.arrow a,
a .arrow {
	background-image: url(../images/arrow.png);
	background-repeat: no-repeat;
	background-position: right ;
	background-size: 18px;
	padding: 3px 30px 2px 0;
	margin: 0px;
	}
.arrow {
	text-indent: 0;
	}
.arrow a:hover,
a:hover .arrow {
	text-decoration: underline;
	}


/*　ページトップ　*/

#pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 0px;
	padding: 6px 7px;
	cursor: pointer;
	color: #fff;
	background: #333;
	background: rgba(0,0,0,0.6);
	-moz-border-radius: 4px 0px 0px 4px;
	-webkit-border-radius: 4px 0px 0px 4px;
	border-radius: 4px 0px 0px 4px;
	}
#pagetop img {
	width: 30px;
	}


/*****　挿絵　*****/

figure {
	text-align: center;
	padding: 0;
	margin: 0;
	}
figure.radius img {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	}
figcaption {
	text-align: center;
	margin-top: 5px;
	}
.frame {
	-webkit-box-shadow: 0 0px 1px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 0px 1px rgba(0,0,0,0.3);
	box-shadow: 0 0px 1px rgba(0,0,0,0.3)
	}
.window img {
	-webkit-border-radius:  4px 4px 0 0;
	-moz-border-radius:  4px 4px 0 0;
	border-radius: 4px 4px 0 0;
	}


/*　画像レイアウト　*/

.group-4 figure {
	width: 49%;
	float: left;
	margin-left: 2%;
	}
.group-4 figure:nth-child(odd) {
	margin-left: 0;
	}
.group-4 figure:first-child,
.group-4 figure:nth-child(2) {
	margin-bottom: 10px;
	}


.inline-left {
	float: left;
	margin: 0 20px 0 0;
	}
.inline-right {
	float: right;
	margin: 0 0 0 20px;
	}
.inline-top {
	margin: 0 0 10px 0;
	}
.inline-bottom {
	margin: 10px 0 0 0;
	}
.inline-center {
	text-align: center;
	}

/*　仕切り　*/

.border-top {
	border-top: solid 1px #ccc;
	}

.partition {
	background-image: url(../images/partition.gif);
	background-repeat: repeat-y;
	background-position: top center;
	}
.partition-3 {
	background-image: url(../images/partition_3.png);
	background-repeat: repeat-y;
	background-position: center;
	background-size: contain;
	}
.partition-3-dark {
	background-image: url(../images/partition_3_dark.png);
	background-repeat: repeat-y;
	background-position: center;
	background-size: contain;
	}


/*****　動画　*****/

.video-area {
	width: 70%;
	text-align: center;
	padding-left: 15%;
	}

.video {
	height: 0;
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
	margin-bottom: 10px;
	}
.video iframe,  
.video object,  
.video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	}


/*****　地図　*****/

.google-maps {
	position: relative;
	padding-bottom: 100%; /*縦横比*/
	height: 0;
	overflow: hidden;
	margin-bottom: 10px;
	}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	
	-webkit-border-radius:  6px;
	-moz-border-radius:  6px;
	border-radius: 6px;
    }

/*****　ロゴ　*****/

.grid-row.official-logo {
    width: 600px;
    margin: auto;
}
.official-logo img {
    width: 100px;
    display: block;
    margin: auto;
    }

/*****　テーブル　*****/

table {
	border-collapse: separate;
	}
.table-info {
	text-align: left;
	width: 100%;
	border: solid 1px #ccc;
	vertical-align: middle;
	margin-bottom: 20px;
	
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	}
.table-info caption {
	text-align: left;
	font-size: 110%;
	margin: 0px 0px 10px 20px;
	}
.table-info th,
.table-info td {
	text-align: left;
	border-bottom: solid 1px #ccc;
	padding: 5px 20px;
	}
.table-info th {
	width: 25%;
	font-weight: normal;
	/*background-color: #f8f8f8;*/
	background-color: rgba(0,0,0,0.03);
	}
.table-info td {
	width: 75%;
	color: #444;
	}
.table-info.th-wide th {width: 40%;}
.table-info.th-wide td {width: 60%;}

tbody tr:last-child th,
tbody tr:last-child td {
	border-bottom: none;
	}
tbody tr:first-child th {
	-webkit-border-radius: 6px 0 0 0;
	-moz-border-radius: 6px 0 0 0;
	border-radius: 6px 0 0 0;
	}
tbody tr:last-child th {
	-webkit-border-radius: 0 0 0 6px;
	-moz-border-radius: 0 0 0 6px;
	border-radius: 0 0 0 6px;
	}

.table-info ul {
	margin-bottom: 0;
	}
.table-info span {
	font-size: 85%;
	color: #666;
	}
	
.table-partition {
	border-left: dotted 1px #ccc;
	}

section .table-info:last-child {
	margin-bottom: 0px;
	}
	

/*****　テキスト　*****/

.point {
	color: #C30;
	}
.caution,
.caution li,
.caution-mini,
.catch {
	color: #f30!important;
	}

.small,
.caution-mini {
	font-size: 85%;
	}
h1 .small {
	font-size: 75%;
	}
	
.plain {
	font-weight: normal;
	}
	
.name,
.bold {
	font-weight: bold;
	}
	
.PAT {
	color: #C30;
	font-size: 85%;
	}


/*****　バナー　*****/

.banner-mynavi img {
    display: block;
    width: 300px;
    margin: 0 0 15px;
    }
    
ul.banner-recruit {
    display: flex;
    gap: 40px;
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0;
    }
ul.banner-recruit li {
    width: calc(100% / 2 - 40px / 2);
    margin: 0;
    }
ul.banner-recruit img{
    width: 300px;
    margin: 0 auto 15px;
    }



/*****　キャッシュレス案内　*****/

.about-cashless {margin-bottom: 20px;}
.about-cashless img {
    width: 200px;
	display: block;
	float: left;
	margin: 0 40px 20px 0;
	}
.about-cashless h2 {
    font-size: 24px;
	color: #e61212;
	margin: 10px 0 10px;
	}


/*****　ブートストラップ　*****/

.alert {padding: 20px;}


/* 配置制御用（互換用） */
.position-center {
  text-align : center ;
}



/*****　改行　*****/

.next-line600 {
	display: block;
	}
.next-line600b,
.next-line02 {
	display: inline;
	}
	



/*******************************************************************************/



@media (max-width: 979px) {

	
/*****　本文　*****/

.navbar-fixed-top + section {
	padding-top: 0;
	}


/*****　キャッシュレス案内　*****/

.about-cashless img {width: 160px;}




}


/*******************************************************************************/



/* Landscape phone to portrait tablet */
@media (max-width: 768px) {


body {
	font-size: 10pt;
	line-height: 160%;
	}

 a:hover {
	text-decoration: none
	}

/*****　グリッド　*****/

.grid-row.stack {
	margin-bottom: 0;
	}

.grid-2,
.grid-3 {
	float: none;
	width: 100%;
	margin-left: 0;
	}

.grid-2.keep,
.grid-3.keep {
	float: left;
	margin-left: 6%;
	}
.grid-2.keep {
	width: 47%;
	}
.grid-2.keep.ratio3-2 {
	 width: 64.6%;
	 }
.grid-2.keep.ratio3-1 {
	 width: 29.3%;
	 }
.grid-3.keep {
	width: 29.33%;
	}
.grid-2.keep:first-child,
.grid-3.keep:first-child {
	margin-left: 0;
	}

/*.grid-4 {
	width: 23.933975240715%;
	margin-left: 1.375515818432%;
	margin-bottom: 10px;
	}*/
	

/*****　表示・非表示切り替え　*****/

.appear768 {
	display: block;
	}
.away768 {
	display: none;
	}


/*****　ヘッダー　*****/

.corp-logo img {
	margin-top: 5px;
	}

/*****　グローバルナビ　*****/

.accordion-inner {
	padding: 0;
	}
.global .accordion-inner a {
	margin: 0;
	}
.accordion-inner {
	padding-top: 8px;
	}

/*****　本文　*****/

section {
	margin-bottom: 40px;
	}
	
	
section h1,
section h2 {
	font-size: 200%;
	}

section li {
	margin: 0 0 3px 0;
	}
	
section.privacy-app {
    border-bottom: solid 5px #eee;
	padding-bottom: 50px;
	}

.grid-row  article {
	border-top: solid 1px #ccc;
	}
.grid-2:first-child  article,
.grid-3:first-child  article {
	border-top: none;
	}

aside {
	padding: 10px;
	margin-bottom: 20px;
	}	


/*****　製品詳細ページ　*****/
	


/*　仕切り　*/

.partition,
.partition-3 {
	background-image: none;
	}


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

.arrow a,
a .arrow {
	background-size: 15px 15px;
	padding: 3px 25px 1px 0;
	margin: 0px;
	}
.arrow {
	text-indent: 0;
	}


/*****　挿絵　*****/

figcaption {
	font-size: 85%;
	}


/*　画像レイアウト　*/

.center768 {
	text-align: center;
	}


/*****　動画　*****/

.video-area {
	width: 100%;
	padding-left: 0;
	}


/*****　地図　*****/

.google-maps {
	padding-bottom: 60%; /*縦横比*/
	}

/*****　ロゴ　*****/

.grid-row.official-logo {width: 70%;}
.official-logo img {width: 80px;}


/*****　フッター　*****/


/*****　テーブル　*****/

.table-info caption {
	margin-left: 10px;
	}
.table-info th,
.table-info td {
	padding: 5px 10px;
	}
	

/*****　テキスト　*****/

.small,
.caution-mini {
	font-size: 90%;
	}

/*****　バナー　*****/

.banner-mynavi img {width: 260px;}

ul.banner-recruit {flex-wrap: wrap;}
ul.banner-recruit li {width: 100%;}
    

/*****　キャッシュレス案内　*****/

.about-cashless img {
    width: 140px;
	margin: 0 30px 20px 0;
	}
.about-cashless h2 {
    font-size: 22px;
	margin: 5px 0 10px;
	}
	


/*****　ブートストラップ　*****/

.alert {padding: 15px 10px;}



}


/*******************************************************************************/

@media (max-width: 600px) {


/*****　グローバルナビ　*****/

/*.accordion-inner li {
	width: 96%;
	margin: 0 2%;
	}
.accordion-inner a {
	width: 92.5%;
	text-align: left;
	}*/

/*****　グローバルナビ　*****/

.global-mini {
	/*float: right;*/
	position: absolute;
	right: 3%;
	top: 0;
	height: 30px;
	width: 25px;
	margin-top: 5px;
	}

.global li {
	display: block;
	text-align: left;
	}
.global a {
	width: 87%;
	padding: 10px;
	}
.global a:hover,
.active a {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	}
.accordion-inner ul {
	width: 50%;
	float: left;
	padding: 0;
	margin: 10px 0;
	}
.accordion-inner {
	padding-top: 0px;
	}


/*****　ヘッダー　*****/

header {
	height: 40px;
	}

.corp-logo img {
	height: 17px;
	margin-top: 12px;
	}
    

/*****　ホーム　*****/


/*****　コンテンツページ　*****/

/*　タイトル　*/

.page-title  h1 {
	height: 90px;
	}	
.page-title h1 img {
	width: 80%;
	}


/*****　表示・非表示切り替え　*****/

.appear600 {
	display: block;
	}
.away600 {
	display: none;
	}


/*****　改行　*****/

.next-line600 {
	display: inline;
	}
.next-line600b {
	display: block;
	}



}


/*******************************************************************************/


/* Landscape phones and down */
@media (max-width: 480px) {
	

body {
	line-height: 140%;
	}
	
 .width {
	padding: 0 3%;
	}


/*****　グリッド　*****/

.grid-2.keep,
.grid-2.keep.ratio3-2,
.grid-2.keep.ratio3-1 {
	float: none;
	width: 100%;
	margin-left: 0;
	}
.grid-2.keep.ratio3-1 img {
	 width: 50%;
	 }
	 
.grid-2 + .grid-2 {
	margin-top: 20px;
	}

/*.grid-2.keep.ratio3-2 {
	float: left;
	 width: 66%;
	 }
.grid-2.keep.ratio3-1 {
	float: left;
	 width: 32%;
	 margin-left: 2%;
	 margin-top: 0;
	 }*/

/*.grid-3 {
	width: 48%;
	margin-left: 2%;
	margin-bottom: 10px;
	}*/
.grid-4 {
	width: 49%;
	margin-left: 2%;
	margin-bottom: 10px;
	}
.grid-4:nth-child(odd) {
	margin-left: 0;
	}



/*****　表示・非表示切り替え　*****/

.away480 {
	display: none;
	}
.appear480 {
	display: block;
	}


/*　画像レイアウト　*/

/*.group-4 figure {
	width: 48.5%;
	margin-left: 3%;
	}*/

.inline-left {
	margin: 0 5px 0 0;
	}
.inline-right {
	margin: 0 0 0 5px;
	}


/*****　ヘッダー　*****/

header {
	height: 40px;
	}

.corp-logo img {
	height: 17px;
	margin-top: 12px;
	}


/*****　グローバルナビ　*****/

.global-mini {
	/*float: right;*/
	position: absolute;
	right: 3%;
	top: 0;
	height: 30px;
	width: 25px;
	margin-top: 5px;
	}

.global li {
	display: block;
	text-align: left;
	}
.global a {
	width: 87%;
	padding: 10px;
	}
.global a:hover,
.active a {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	}
.accordion-inner ul {
	width: 50%;
	float: left;
	padding: 0;
	margin: 10px 0;
	}
.accordion-inner {
	padding-top: 0px;
	}

/*****　パンくずナビ　*****/

.route {
	display: none;
	}


/*****　フッター　*****/

footer {
	padding-top: 0px;
	}
p.copyright {
	letter-spacing: 0;
	}


/*****　本文　*****/

section {
	/*margin-bottom: 20px;*/
	}

section h1,
section h2 {
	font-size: 150%;
	margin-bottom: 0.5em;
	}
section h3,
section h4 {
	font-size: 130%;
	margin-bottom: 0.5em;
	}
section h1 .sub {
	display: none;
	}
section dd {
	margin-left: 0;
	}

article {
	padding: 10px 0 0 0;
	margin-bottom: 20px;
	}
	

/*****　ホーム　*****/


/*****　コンテンツページ　*****/

/*　タイトル　*/

.page-title {
	margin-bottom: 20px;
	}
.page-title  h1 {
	height: 60px;
	}


/*****　製品詳細ページ　*****/


	

/*****　ページトップ　*****/

#pagetop img {
	width: 20px;
	}
	

/*　挿絵　*/
	

/*****　ホーム　*****/


/*****　ロゴ　*****/

.grid-row.official-logo {width: 90%;}
.official-logo img {width: 70px;}
.grid-row.official-logo .grid-2.keep {
    float: left;
    width: 50%;
    margin: 0;
    }


/*****　テーブル　*****/

.table-info caption {
	margin: 0px 0px 10px 5px;
	}
.table-info th,
.table-info td {
	padding: 5px;
	}
.table-info th,
.table-info td,
.table-info.th-wide th,
.table-info.th-wide td {
	width: 97.2%;
	display: block;
	}
.table-info th {border-bottom: none;}
tbody tr:last-child th,
tbody tr:last-child td{
	border-bottom: none;
	}
tbody tr:first-child th {
	-webkit-border-radius: 6px 6px 0 0;
	-moz-border-radius: 6px 6px 0 0;
	border-radius: 6px 6px 0 0;
	}
tbody tr:last-child th {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	}	


/*****　バナー　*****/

.banner-mynavi img {
    width: 240px;
    margin: 0 auto 15px;
    }
.banner-mynavi + p {text-align: center;}

ul.banner-recruit {flex-wrap: wrap;}
ul.banner-recruit li {width: 100%;}
ul.banner-recruit img{width: 240px;}

/*****　キャッシュレス案内　*****/

.about-cashless img {
    float: right;
	width: 100px;
	margin: 0 0px 10px 10px;
	}
.about-cashless h2 {font-size: 20px;}


/*****　改行　*****/

.next-line,
.item.next-line,
li.next-line,
aside .next-line {
	clear: left;
	margin-left: 0;
	}
.next-line02 {
	display: block;
	}



}



/*******************************************************************************/


@media (max-width: 360px) {
	
/*****　ブートストラップ　*****/

.alert {padding: 15px 10px!important;}

}


/*******************************************************************************/


@media (max-width: 920px) {
	

/*****　グローバルナビ　*****/
#global-main li {
	margin-right: 0;
	}
	
}


/*******************************************************************************/

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) /*and (max-width: 979px)*/ {

}


/*******************************************************************************/


/* Large desktop */
@media (min-width: 1200px) {




}


