@charset "utf-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/*=============================================================*/
/* ◆style-base /font-size:62.5%;=10px=1rem /line-heigh=1.6]
===============================================================*/
*,
*::before,
*::after {
  box-sizing: inherit;/*need-flexGrid-Layout*/
}

html {
	box-sizing: border-box;
	font-size: 62.5%;
	font-weight: 500;
}

 /* 「BIZ UDPゴシック」をWindowsで指定 */
body {

	font-size: 1.6rem;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	line-height: 2;
	color: #0c1b34;
	word-wrap: break-word;
	overflow-wrap: break-word;
	/*this-site以下4コード input.hamburger＆.drawer-list用*/
	overflow-x: hidden !important;
	height: 100vh;
}

@media screen and (max-width: 768px) {
	body { font-size: 1.5rem; line-height: 1.6;}
}

p,
.contents li { letter-spacing:.1rem;}

/*※BIZ UDPGothic適用時には不要*/
/*font-feature-settings: "pkna";ひらがな、カタカナのみ文字詰め不要

/* ------------------------------------------
  this-site_icon-style＿20200806
/*-------------------------------------------*/
.top-posi05 {
    position: relative;
    top: 5px;
}

@font-face {
  font-family: 'icomoon';
  src:
url('../fonts/icomoon.ttf?3ivhru') format('truetype'),
url('../fonts/icomoon.woff?3ivhru') format('woff'),
url('../fonts/icomoon.svg?3ivhru#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-guard2:before {
  content: "\e90f";
}
.icon-sekkei:before {
  content: "\e911";
}
.icon-corp:before {
  content: "\e910";
}
.icon-track:before {
  content: "\e900";
}
.icon-twitter-circle:before {
  content: "\e901";
  position: relative;/*tuika*/
  top: 5px;/*tuika*/
}
.icon-facebook-circle:before {
  content: "\e902";
  position: relative;/*tuika*/
  top: 5px;/*tuika*/
}
.icon-instagram:before {
  content: "\ea92";
   position: relative;/*tuika*/
  top: 5px;/*tuika*/
}

@media screen and (max-width: 768px) {
	.icon-twitter-circle:before ,
	.icon-facebook-circle:before,
	.icon-instagram:before{top:0;}
}

.icon-mail-solid:before {
  content: "\e903";
}
.icon-shopping-bags:before {
  content: "\e904";
}
.icon-search:before {
  content: "\e905";
}
.icon-calendar1:before {
  content: "\e906";
}
.icon-book1:before {
  content: "\e90a";
}
.icon-user1:before {
  content: "\e907";
}
.icon-lock-stroke:before {
  content: "\e90b";
}
.icon-lock:before {
  content: "\e908";
}
.icon-home2:before {
  content: "\e90c";
}
.icon-book2:before {
  content: "\e91f";
}
.icon-file-text2:before {
  content: "\e926";
}
.icon-cart:before {
  content: "\e93a";
}
.icon-credit-card:before {
  content: "\e93f";
}
.icon-phone:before {
  content: "\e942";
}
.icon-add-book:before {
  content: "\e944";
}
.icon-location:before {
  content: "\e947";
}
.icon-bubbles4:before {
  content: "\e970";
}
.icon-zoom-in:before {
  content: "\e987";
}
.icon-cog:before {
  content: "\e994";
}
.icon-download3:before {
  content: "\e9c7";
}
.icon-link:before {
  content: "\e9cb";
}
.icon-bookmarks:before {
  content: "\e9d3";
}
.icon-star:before {
  content: "\e9d9";
}
.icon-point-right:before {
  content: "\ea04";
}
.icon-checkmark:before {
  content: "\ea10";
}
.icon-login:before {
  content: "\ea13";
}
.icon-exit:before {
  content: "\ea14";
}
.icon-new-tab:before {
  content: "\ea7e";
}
.icon-facebook:before {
  content: "\ea90";
}
.icon-facebook2:before {
  content: "\ea91";
}
.icon-twitter:before {
  content: "\ea96";
}
.icon-youtube2:before {
  content: "\ea9e";
}
.icon-file-pdf:before {
  content: "\eadf";
}
.icon-box:before {
  content: "\eae8";
}
.icon-arrow-down:before {
  content: "\e90e";
}
.icon-arrow-left:before {
  content: "\e912";
}
.icon-arrow-right:before {
  content: "\e913";
}
.icon-arrow-up:before {
  content: "\e914";
}

.icon-external-link:after {
  content: " \e90d";/*chenge_old=before+スペース*/
}

.icon-search1:before {
  content: "\e909";
}

body,div {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

em,i {
  font-style: normal;
  line-height: inherit;
}

strong,b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 80%;
  line-height: inherit;
}

/* Plus Responsive media */
iframe, img, input, object,
table, textarea, video {
	max-width: 100%;
	height: auto;
}

#map iframe { max-width:100%; min-height:350px !important;}/*tuika190923*/

#movie1 iframe,#movie2 iframe{ max-width:100%; min-height:315px !important;}/*tuika200913*/

.contents a{ text-decoration: underline; }
.Area-corp a{color: #fff;text-decoration: underline;}
.Area-corp .tel-link a { font-size:large;color: #B9EEFF;}

a,
a.iconlink,
.Area-corp a.btnF,
.contents a.btn,
.Area-corp a.fs {
	outline: none;
	text-decoration: none;
	transition : all 0.3s;
}

a:link,
a:active,
a:visited,
.shop .Area-corp a:link,
.shop .Area-corp a:active,
.shop .Area-corp a:visited {color: #003366;}

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

a.iconlink {color: #fff;}

a:hover img {opacity: .7;}
.fact a:hover img {opacity: 1;}

a.iconlink:hover {color:#4cb5e8;text-decoration: none !important;}
a.iconlink.fs:hover { color:#0063a4;text-decoration: none !important;}

.Area-corp a.btnF:hover,
.contents a.btn:hover {
	text-decoration: none !important;
}

main a:hover,
.shop .Area-corp a:hover{
	text-decoration: underline;
	text-decoration-color: transparent;/*要確認*/
	color: #258FAF;
}

.pdf:after,
.select-nav .pdf:after { 
	position:relative;
	bottom:0;
	content : "\eadf";
	font-family : "icomoon" !important;
	font-size:1.4rem;
	font-weight:normal;
	padding-left: .5rem;
}

.box-link:hover{
	cursor: pointer;
	transition : all 0.3s;
	background-color: #F1F2F5;
}

.box-shadow.box-link:hover { border-color: #aaa; }

.box-link:hover h3 a:hover,
.entry-list .box-link:hover h2 a,
.entry-list .box-link:hover h3 a { text-decoration:none;}

.entry-list .box-link:hover a {color: #258FAF; }

main .notline a{ text-decoration:none; }
.box-link.notline:hover{ background:rgba(255,255,255,.7);}

/*Thumbnails
/*------------------------------------------------------
　リンク領域を広げる機能-追加のため
　.thumbnails {position:relative;}相対位置追加
　a 要素にclass="stretched-link"2つの組み合わせが必要
------------------------------------------------------*/
.thumbnails {position:relative;}/*this-site-only*/

a.thumbnail {
	padding: 0;
	border: none;
	margin-bottom: 15px;
}

.thumbnail-style { 
	padding: 2rem;
	margin-bottom: 20px; 
}

.thumbnail-style:hover { 
	box-shadow: 0 0 8px #ddd; 
    -webkit-transition: box-shadow 0.2s ease-in-out;
    -moz-transition: box-shadow 0.2s ease-in-out;
    -o-transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
}

.thumbnail-style h2 {
	text-align:center;
	font-size:2.1rem;
}

.thumbnail h3 a,
.thumbnail-style h3 a {
	color: #585f69;
	font-size: 20px;
}

.thumbnail h2 a:hover,
.thumbnail-style h2 a:hover,
.thumbnail h3 a:hover,
.thumbnail-style h3 a:hover {
	color: #39C;
	text-decoration: none;
}

.thumbnail-style .thumbnail-img {
	position: relative;
	margin-bottom: 11px;
}

.thumbnail-style .thumbnail-img .h180{ height: 180px;}/*this-site*/

.thumbnail-style p{ line-height:1.6;}

.thumbnail-style a.btn-more {
	right: -10px;
	bottom: 10px;
	color: #fff;
	padding: 1px 6px;
	position: absolute;
	background: #67bfc1;/*blue*/
	display: inline-block; 
}
.thumbnail-style a.btn-more:hover {
	text-decoration: none;
	box-shadow: 0 0 0 2px #5eb2b2;/*blue*/
}

.thumbnail-style:hover a.btn-more {	right: 10px;}

.thumbnail-kenburn img {
	left: 10px;
	margin-left: -10px;
	position: relative;
   -webkit-transition: all 0.8s ease-in-out;
   -moz-transition: all 0.8s ease-in-out;
   -o-transition: all 0.8s ease-in-out;
   -ms-transition: all 0.8s ease-in-out;
   transition: all 0.8s ease-in-out;
}

.thumbnail-kenburn:hover img {
   -webkit-transform: scale(1.2) rotate(2deg);
   -moz-transform: scale(1.2) rotate(2deg);
   -o-transform: scale(1.2) rotate(2deg);
   -ms-transform: scale(1.2) rotate(2deg);
   transform: scale(1.2) rotate(2deg);
}

/* box-link代替_stretched-linkリンク領域を広げる　*/
.work-list { 
	position:relative;
	clear: both;
	width: 100%;
	margin:0;
	padding:1rem;
	overflow: hidden;	/*画像拡大時にはみ出た部分を隠す*/
}

.work-list:hover { 
	background-color: #f4f4f4 !important;
	box-shadow: 0 0 8px #ddd; 
	-webkit-transition: box-shadow 0.2s ease-in-out;
    -moz-transition: box-shadow 0.2s ease-in-out;
    transition: box-shadow 0.2s ease-in-out;
}

.work-list img {
	line-height:1.1em;
	-webkit-transition-duration: 0.3s;
	        transition-duration: 0.3s;	/*変化に掛かる時間*/
}

.work-list:hover img {
	-webkit-transform: scale(1.2);
	        transform: scale(1.2);	/*画像の拡大率*/
	-webkit-transition-duration: 0.5s;
	        transition-duration: 0.5s;	/*変化に掛かる時間*/
}

/*entry-list内２つ目のリンク*/
.more-link{ position: relative; z-index: 2;}

.stretched-link::after{
  position:absolute;
	top:0;right:0;bottom:0;left:0;
	z-index:1;
	pointer-events:auto;
	content:"";
	background-color:rgba(0,0,0,0)
}

.work-list h3{font-size: 1.9rem; text-align:center;}
.work-list h3  a:hover {text-decoration: none;}


.work-list p {
	font-size:1.6rem !important; 
	line-height:1.4;
	margin-bottom:0 !important; 
}

/*= grid（ full=width: 100%）===========================*/

.container-fll {
  margin-left:auto;
  margin-right:auto;
  padding: 0;
  width: 100%;
  max-width:100%;
}

.container-fll::after{
  clear: both;
  content: "";
  display: table;
}

.container-fll img {
	margin-left: auto;
	margin-right: auto;
}

.max100 {max-width: 100%;}

/*= grid（base=flex-box ）===========================*/

.inner-800 {max-width: 82rem !important;margin: 0 auto;}
.inner-1100 {max-width: 112rem !important;margin: 0 auto;}
.inner-1200 {max-width: 122rem !important;margin: 0 auto;}
.inner-1442 { max-width: 146rem !important;margin: 0 auto;}

/*=Some of the responsive grid code uses Spectre.css's CSS framework. https://picturepan2.github.io/spectre/ Code released under the MIT license https://opensource.org/licenses/mit-license.php == */
.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
  max-width: 102rem;/*this-site=site別にmaxwidth設定*/
}

.container.fullnav {max-width: 100%; }

@media screen and  (min-width: 1442px){
	.container.fullnav {
		 padding-left: 6rem;
		 padding-right: 6rem;
	}
}

.columns {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	margin: 0 1rem;
	margin-left: -1rem;
	margin-right: -1rem;
}

.columns.col-gapless {
  margin-left: 0;
  margin-right: 0;
}
.columns.col-gapless .column {
  padding-left: 0;
  padding-right: 0;
}

.column {
  flex: 1;
  max-width: 100%;
  padding: 1rem;
}

/* tuika-only-style */
@media screen and (max-width: 960px) {
	.column { padding: 1rem 1.5rem; }
}

/* col-30,col-70_this-blog-style */
.column.col-12,.column.col-10,.column.col-9,.column.col-8,
.column.col-7,.column.col-6,.column.col-5,.column.col-4,.column.col-3,.column.col-2,
.column.col-1,
.column.col-70,
.column.col-30,
.column.col-58,
.column.col-39,
.column.col-20 {
	flex: none;
}

.col-12 { width: 100%; }
.col-10 { width: 83.33333333%; }
.col-9 { width: 75%; }
.col-8 { width: 66.66666667%; }
.col-7 { width: 58.33333333%; }
.col-6 { width: 50%; }
.col-5 { width: 41.66666667%; }
.col-4 { width: 33.33333333%; }
.col-3 { width: 25%; }
.col-2 { width: 16.66666667%; }
.col-1 { width: 8.33333333%; }

/*tuika_this_only_style*/
.col-70 { width: 70%; }
.col-30 { width: 28%; margin-left:2%; }
.col-20 {width: 20%;}

@media screen and (max-width: 1280px) {

	.col-xl-12, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6,
	.col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2,
	.col-xl-1 {
		flex: none;
	}

	.col-xl-12 { width: 100%; }
	.col-xl-9 { width: 75%; }
	.col-xl-8 { width: 66.66666667%; }
	.col-xl-7 { width: 58.33333333%; }
	.col-xl-6 { width: 50%; }
	.col-xl-5 { width: 41.66666667%; }
	.col-xl-4 { width: 33.33333333%; }
	.col-xl-3 { width: 25%; }
	.col-xl-2 { width: 16.66666667%; }
	.col-xl-1 { width: 8.33333333%; }
}

@media screen and (max-width: 960px) {

	.col-lg-12, .col-lg-9, .col-lg-8,.col-lg-7, .col-lg-6,
	.col-lg-5,  .col-lg-4, .col-lg-3, .col-lg-2,
	.col-lg-1 {
		flex: none;
	}

	.col-lg-12 { width: 100%; }
	.col-lg-9 { width: 75%; }
	.col-lg-8 { width: 66.66666667%; }
	.col-lg-7 { width: 58.33333333%; }
	.col-lg-6 { width: 50%; }
	.col-lg-5 { width: 41.66666667%; }
	.col-lg-4 { width: 33.33333333%; }
	.col-lg-3 { width: 25%; }
	.col-lg-2 { width: 16.66666667%; }
	.col-lg-1 { width: 8.33333333%; }
}

@media screen and (max-width: 840px) {

	.col-md-12,.col-md-9, .col-md-8,.col-md-7, .col-md-6,
	.col-md-5, .col-md-4, .col-md-3, .col-md-2,
	.col-md-1 {
		flex: none;
	}

	.col-md-12 { width: 100%; }
	.col-md-9 { width: 75%; }
	.col-md-8 { width: 66.66666667%; }
	.col-md-7 { width: 58.33333333%; }
	.col-md-6 { width: 50%; }
	.col-md-5 { width: 41.66666667%; }
	.col-md-4 { width: 33.33333333%; }
	.col-md-3 { width: 25%; }
	.col-md-2 { width: 16.66666667%; }
	.col-md-1 { width: 8.33333333%; }

	.col-30.col-md-12{ width: 100%; margin-left:0; }/*tuika_style*/
}

@media screen and (max-width: 600px) {

	.col-sm-12,.col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6,
	.col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2,
	.col-sm-1 {
		flex: none;
	}

	.col-sm-12 { width: 100%; }
	.col-sm-9 { width: 75%; }
	.col-sm-8 { width: 66.66666667%; }
	.col-sm-7 { width: 58.33333333%; }
	.col-sm-6 { width: 50%; }
	.col-sm-5 { width: 41.66666667%; }
	.col-sm-4 { width: 33.33333333%; }
	.col-sm-3 { width: 25%; }
	.col-sm-2 { width: 16.66666667%; }
	.col-sm-1 { width: 8.33333333%; }
}

@media screen and (max-width: 480px) {

	.col-xs-12,.col-xs-9, .col-xs-8,.col-xs-7, .col-xs-6,
	.col-xs-5, .col-xs-4, .col-xs-3, .col-xs-2,
	.col-xs-1 {
		flex: none;
	}

	.col-xs-12 { width: 100%; }
	.col-xs-9 { width: 75%; }
	.col-xs-8 { width: 66.66666667%; }
	.col-xs-7 { width: 58.33333333%; }
	.col-xs-6 { width: 50%; }
	.col-xs-5 { width: 41.66666667%; }
	.col-xs-4 { width: 33.33333333%; }
	.col-xs-3 { width: 25%; }
	.col-xs-2 { width: 16.66666667%; }
	.col-xs-1 { width: 8.33333333%; }
}

/*= That's it for Spectre.css CSS framework. =========================*/
/*= tuika_flex-grid =========================*/
.fukol-grid {
  display: flex; /* 1 */
  flex-wrap: wrap; /* 2 */
  margin: -0.5em; /* 5 (change-ok) */
}

.fukol-grid > * {
  flex: 1 0 5em; /* 3 (change-ok) */
  margin: 0.5em; /* 4 (change-ok) */
  text-align: center;/*this-site-only*/
}

/* guard.html_page内リンク*/
.type ul {
  margin : 0 !important;
}

.type {
	padding-right : 0.5rem;
	padding-left : 0.5rem;
}
.type span {
  display : block;
}

.type span.number { font-size:3.2rem;}

.type .fukol-grid > * {
  -webkit-flex : 1 0 5em;
          flex : 1 0 5em; /* 3 (change-ok) */
  margin : 0.2em; /* 4 (change-ok) */
}

.type .fukol-grid > * {
  padding : 0;
  text-align : center;
  -webkit-justify-content : center;
          justify-content : center;
}

.type .fukol-grid > * {
  padding : 0;
  text-align : center;
  -webkit-justify-content : center;
          justify-content : center;
}

.type .fukol-grid > li {
  padding : 1rem;
}

.type li {border:1px solid #ccc; line-height:1.2;}
.type li a { text-decoration:none; display:block;}
.type li:hover {
   color:fff;
   background : #21b7b6;
  text-decoration : none;transition : all 0.3s;
}

/*factory_page*/
.type .fact li { 
	padding : 1rem .5rem;
	border:1px solid #B6CEDC;
}

.type .fact li:hover {
  border-color:#AAC6D7;
  background : #B6CEDC;
  opacity:1;
}

@media screen and (max-width: 480px) {
	.type .fact li {min-width:25%;}
}

.type li:hover,
.type li:hover a:link,
.type li:hover a:active,
.type li:hover a:visited{color:#fff !important; opacity:1;}

.type .fact li:hover,
.type .fact li:hover a:link,
.type .fact li:hover a:active,
.type .fact li:hover a:visited{color:#003366 !important; opacity:1;}

.fact li,
.in-menu li{ 
	display:flex;
	-ms-align-items: center;
	align-items: center; 
	-webkit-justify-content : center;
	justify-content : center;
	text-align : center;
}
.type .in-menu li { 
	border:1px solid #c4d8e2;
}

.type .in-menu li:hover {
  border-color:#8ec4d6;
  background : #89bfd1;
  opacity:1;
}

/* shop-site */
.Area-corp .in-menu li a
.in-menu li a{display:block; text-decoration:none !important;}

.Area-corp .in-menu li a:hover {text-decoration:none !important;}

/*　Utility
-------------------------------------------*/
.no-script {
	position: fixed;
	top:0;
	z-index:9;
	width:80%;
	padding:1rem;
	color:#fff;
	background:rgba(0,0,0,.7);
}

.show-lg-in,
.show-xs,
.show-sm,
.show-md,
.show-lg,
.show-xl,
.show-mm { display: none !important; }

@media screen and (max-width: 480px) {
	.hide-xs { display: none !important; }
	.show-xs { display: block !important; }
}

@media screen and (max-width: 600px) {
	.hide-sm { display: none !important; }
	.show-sm { display: block !important; }
}

@media screen and (max-width: 767px) {/*this-site*/
	.hide-mm767 { display: none !important; }
}

@media screen and (max-width: 768px) {/*this-site*/
	.hide-mm { display: none !important; }
	.show-mm { display: block !important; }
}

@media screen and (max-width: 840px) {
	.hide-md { display: none !important; }
	.show-md { display: block !important; }
	.show-md-in { display: inline-block !important; }
}

@media screen and (max-width: 960px) {
	.hide-lg { display: none !important; }
	.show-lg { display: block !important; }
	.show-lg-in { display: inline-block !important; }
}

@media screen and (max-width: 1024px) {/*this-site*/
	.hide-xm { display: none !important; }
}

@media screen and (max-width: 1280px) {
	.hide-xl { display: none !important; }
	.show-xl { display: block !important; }
}

.clearfix::after{
	clear: both;
	content: "";
	display: table;
}

.float-left { float: left; }
.float-right { float: right; }

.posi-rel { position: relative; }
.posi-abs { position: absolute; }

main #HONBUN {
	width: 100%;
  position: relative;
}

/*-----------------------------------
  pege＿inline_img＆Video_responsive
------------------------------------*/
.img-responsive {
	display: block;
	height: auto;
	max-width: 100%;
}

/*company_page_mapimg*/
.map-imghi {height:auto; width:400px;}
.corp-imghi {height:250px; width:400px;object-fit:cover; object-position: 25% 100%;}

.corp-imghi-tokyo {height:250px;width:400px;object-fit:cover; }

@media only screen and (min-width:800px ) {
	.map-imghi {height:350px; width:485px; }
	.corp-imghi,.corp-imghi-tokyo {height:350px; width:485px; }
}

@media only screen and (min-width:1025px ) {
	.map-imghi {height:400px; width:auto;}
	.corp-imghi,.corp-imghi-tokyo {height:400px; width:auto; max-width:645px;  }
}

@media only screen and (min-width:1442px ) {
	.map-imghi {height:510px;width:100%; }
	.corp-imghi,.corp-imghi-tokyo {height:510px; width:100%;max-width:100%;}
}

/*領域内の縦横中央にimg配置*/
.img-container--flex-box {
	position: relative;
	display: flex;
}
.img-container--flex-box img { margin: auto;}

.img-inner-left{
	position:relative;
	overflow:hidden;
	float: left;
	top:0;
	max-width: 30%;
	width:auto;
	/*height:200px;*/ height:auto;
	padding-right:1rem;
}

.img-inner-right{
	position:relative;
	float: right;
}

.f-right-responsive {
	max-width: 50%;
	height: auto;
	float: right;
}

@media only screen and (max-width:640px ) {
	.f-right-responsive {
		float: none;
		display:block;
		max-width: 100%;
		height: auto;
		margin-left:auto;
		margin-right:auto;
	}
	.img-inner-right.max300{
		max-width:300px;
	}

	.label-info .f-right-inner50 { max-width:40%;}
}

/*inlineで画像をfloat設定用*/
.f-right-inner50 {
	max-width: 50%;
	height: auto;
	float: right;
	margin-left:10px;
}

.f-left-inner50 {
	max-width: 50%;
	height: auto;
	float: left;
	padding-right:20px;
	margin-right:10px;
}

.img-fit-cover { object-fit: cover; }
.img-fit-contain { object-fit: contain; }

.video-responsive {
	display: block;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}

.video-responsive::before {
	content: "";
	display: block;
	padding-bottom: 56.25%;
}

.video-responsive iframe,
.video-responsive object,
.video-responsive embed {
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.video-responsive video {
	height: auto;
	max-width: 100%;
	width: 100%;
}

.video-responsive-4-3::before { padding-bottom: 75%; }

.video-responsive-1-1::before { padding-bottom: 100%; }

.figure { margin: 0 0 1rem 0; }

.figure .figure-caption {
	color: #727e96;
	margin-top: 1rem;
}

/*----------------------------
  配置＆位置｜表示非表示
----------------------------+*/
.z1 { z-index:1;}
.z-1 { z-index:-2;}/*要確認*/

.centered {
	display: block;
	float: none;
	margin-left: auto;
	margin-right: auto;
}

.block { display: block !important; }
.inline { display: inline !important; }
.inline-block { display: inline-block !important; }

.flex {
	display: flex;
}

.inline-flex {
	display: -ms-inline-flex;
	display: inline-flex !important;
}

.hide { display: none !important; }
.visible { visibility: visible; }
.invisible { visibility: hidden; }

.overflow-h { overflow: hidden;}

.text-hide {
	font-size: 0;
	line-height: 0;
	text-shadow: none;
	background: transparent;
	border: 0;
	color: transparent;
}

.text-assistive {
	position: absolute;
	overflow: hidden;
	width: .1rem;
	height: .1rem;
	margin: -.1rem;
	padding: 0;
	border: 0;
	clip: rect(0, 0, 0, 0);
}

.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }

@media screen and (max-width: 480px) {
	.factory .text-center.t-mobi {text-align: left !important;}
}

.text-justify { text-align: justify; }
.text-lowercase { text-transform: lowercase; }
.text-uppercase { text-transform: uppercase; }
.text-capitalize { text-transform: capitalize; }

.text-normal { font-weight: normal; }
.text-bold { font-weight: bold; }
.text-italic { font-style: italic; }

.text-large { font-size: 1.2em; }

.text-ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.text-clip {
	overflow: hidden;
	text-overflow: clip;
	white-space: nowrap;
}

.text-normal {white-space: normal !important;}/*tuika-200927*/

.text-break {
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	     hyphens: auto;
	word-break: break-word;
	word-wrap: break-word;
}

.hand { cursor: pointer; }

.hover-hand {
	text-decoration: underline;
	cursor: pointer;
}

.hover-hand:hover{
	color: #258FAF;
	transition: all .2s linear 0;
}

/* 見出し＆要素
++++++++++++++++++++++++++++++++++++++++*/
main h1 { 
	font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
	font-weight: 400;
 　 line-height: 1.3;
	margin: 0 auto;
	padding-top: calc(24px + (40 - 24) * (100vw - 600px) / (1200 - 600));
	padding-bottom: calc(24px + (40 - 24) * (100vw - 600px) / (1200 - 600));
	text-align:center;
	color: inherit;
}

main h1{padding:1em .2em ; }

h1.ttl-01{
    margin: 1em 0;
	padding-bottom:.5em;
    line-height: 1.3;
	font-size:2.1rem; 
}

@media screen and (min-width: 1024px) {
	h1.ttl-01 { font-size: 2.8rem;}
}

h2 {
	font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
	line-height: 1.3;
	font-weight: 400;
	margin-bottom:.5em ;
	color: inherit;
}

h2.ttl-02{
    margin-top: 1em;
    margin-bottom: 1em;
}

h2.ttl-02center { text-align:center; margin-top:1em;}
h2.top-ttl02 {font-size: 2.4rem;}
h2.top-ttl02s {font-size: 2rem;margin-top:1.5em;margin-bottom: 1em;}

h3 {
	font-size: calc(1.8rem + (24 - 18)*(100vw - 600px)/(1200 - 600));
	line-height: 1.3;
	margin-bottom: 1em;
	color: inherit;
}

h4 {
	font-size: calc(1.6rem + (21 - 16)*(100vw - 600px)/(1200 - 600));
	margin-bottom: .2em;
	color: inherit;
}

@media screen and (max-width: 640px) {
    h1{ font-size: 2.4rem; }
    h2,h2.top-ttl02{ font-size: 2rem; }
}

@media (min-width: 1025px) {
	h2.top-ttl02s {font-size: 2.2rem;margin-top:1.8em;}
}

@media (min-width: 1200px) {
   main  h1 { font-size: 3.6rem; }
    h2 { font-size: 3.2rem; font-weight:400; }
	h2.top-ttl02 { font-size:2.8rem;}
	h2.top-ttl02s {font-size: 2.6rem;}
   h3 { font-size: 2.6rem; }
   h4 { font-size: 2.1rem; }
}

@media (min-width: 1650px) {
	main h1 { font-size: 4.2rem;}
}

h5 {
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: 1em;
}

/* 段落スタイル　*/
.contents p {margin-bottom: 1em;}

@media screen and (min-width: 320px) {
	.contacts p {line-height: 1.5;margin-bottom: .7em;}
}

.index .entry-list p {
	line-height:1.6;
	margin-bottom:0;
}

.index .entry-list p.date {font-size:1.4rem !important; }

.entry-list p {
	font-size:1.6rem !important;
	margin-bottom:0.25em !important;
	line-height:1.4;
}

@media only screen and (max-width: 600px) {
	.entry-list p {font-size:1.4rem !important; }
}

/*-----------------------------------------------
   * blog-style
------------------------------------------------*/
/* blog-style */
.entry h1 {
	position:relative;
	font-size:2.1rem;
	line-height:1.2;
	font-weight:600; 
	margin: 1em 0;
	padding:1em 0 0 1.5em;
}

.entry h1 +h2 { margin-top:1em;}

.entry h2{
	position: relative;
	font-size:2rem; 
	font-weight:600; 
}

.entry-list h2 {
	font-size:1.7rem;
	font-weight:600; 
	line-height:1.3;
	margin: 0 0 .5em;
	text-align:left;
}

.entry h3{
	font-size:1.8rem; 
	font-weight:600; 
}

@media screen and (min-width: 1024px) {
	.entry h1 {font-size:2.6rem; font-weight:500;}
	.entry-list h2{font-size: 1.9rem;}
	.entry h2{font-size:2.1rem; }
	.entry h3{font-size:1.9rem; }
	.entry h4{font-size:1.8rem; }
}

.what h3 {
	font-size:2.4rem !important;
	margin-top:0.7em;
	margin-bottom:1em;
}

.kizi h3 {
	font-size:2.4rem !important;
	margin-top:1.5em;
	margin-bottom:.8em;
}

.kizi h3:first-child { margin-top:2em;}

.what h3 i,
.kizi h3 i{padding-right:10px; padding-left:5px;}


#side { margin-top:1em;}

@media only screen and (max-width: 840px) {
	#side { margin-top:0; }
}

.entry-list,
.entry {
    clear: both;
    width: 100%;
    margin: 1px 0;
    border-bottom: 1px solid #ddd;
}

.entry-list .box-link {padding:15px 15px 5px 5px;}

.entry-list.box-link:hover {
	opacity:1;
	background:#f7f7f7 !important;
}

article .entry-list:first-child {border-top: 1px solid #ddd;}

.index article.entry-list:first-child { border-top: none;}
.index .entry-list { border-bottom: none;}

/*blog-img_thumbnail */
.entry-list img {
	float:left;
	width:90px;
	height:90px;
	margin:-1px 20px 1px 1px;
	padding:2px;
	line-height:1.1em;
	background:#efefef;
	border:1px solid #ddd;
}

.entry img {
	height: auto;
	max-width: 100%;
	padding:1rem;
}

@media only screen and (max-width: 600px) {
	.next .entry-list .box-link:hover { background:none;}

	.next .entry-list img {
		margin-top:-2px;
		width:80px;
		height:80px;
	}
}


/*Pagination-style */
.pager{
	display: flex;
}

ul.pager{margin:2em auto;}

.pager li {
	background: #b8cfdb;
	line-height:1.2;
	margin: 0 1em;
}

.pager li,
.pager li a{
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.pager a {
	flex: 1;
	height:44px;
	text-decoration:none;
	color: #fff;
}

/* Active 以外のhover */
.pager li:not([class*="active"]) a:hover {
	background: #3d9696;
	color: #fff;
	text-decoration:none;
}

/* Activeのスタイル */
.pager li.active a {
	font-weight: bold;
	background: #3d9696;
	color: #fff;
	text-decoration:none;
}

.pager li.active.normal a {font-weight: normal; }

@media only screen and ( max-width: 630px ) {

	/* 全てのli要素を消す */
	.pager li {
		position: absolute;
		top: -9999px;
		left: -9999px;
		 font-size:1.5rem;
	}

	/* 必要なli要素を消す */
	.pager li.active,
	.pager li:first-of-type,
	.pager li:last-of-type,
	.pager li:nth-of-type(2),
	.pager li:nth-last-of-type(2){
		position: static;
		top: initial;
		left: initial;
	}

	.pager{max-width:100%; }
}



/*----------------------------------------------------
 font-size / line-height / margin / padding /
----------------------------------------------------- */
.f-smaller { font-size:smaller!important;}
.f13 { font-size: 1.3rem !important; }
.f15 { font-size: 1.5rem !important; }
.f16 { font-size: 1.6rem !important; }
.f17 { font-size: 1.7rem !important; }
.f18 { font-size: 1.8rem !important; }
.f24 { font-size: 2.4rem !important; }
.f28 { font-size: 2.8rem !important; }
.f32 { font-size: 3.2rem !important; }
.f35 { font-size: 3.5rem !important; }
.f42 { font-size: 4.2rem !important; }
.f48 { font-size: 4.8rem !important; }

.f16-hi16 {font-size: 1.6rem !important;  line-height:1.6 !important;}

@media screen and (max-width: 600px) {
	.f28 {font-size:2.4rem !important;}
	.f48{font-size:2.8rem !important;}
}

.f21 { font-size: 1.8rem; }/*calc非対応ブラウザ用に*/

@media screen and (min-width: 320px) {
	.f21 {font-size: calc(18px + 1 * ((100vw - 320px) / 680)) !important;}
	.f24 {font-size: calc(18px + 1 * ((100vw - 320px) / 680)) !important;}
}

@media (min-width: 1200px) {
	.f21 { font-size: 2.1rem !important; }
	.f24 { font-size: 2.4rem !important; }
}

/*contact-form_privacy_text*/
.hei150 { width:auto;height:150px ; overflow-y: scroll;}

.line-hi12 { line-height:1.2 !important;}
.line-hi14 { line-height:1.4 !important;}
.line-hi15 { line-height:1.5 !important;}
.line-hi16 { line-height:1.6 !important;}
.line-hi21 { line-height:2.2 !important;}

.m-top-60em { position: relative; margin-top:-6em !important; }
.m-top00 {margin-top: 0 !important;}
.m-top10 {margin-top: 1rem !important;}
.m-top15 {margin-top:1.5rem !important; }
.m-top20 { margin-top: 2rem !important; }
.m-top-10 {margin-top:-1rem !important; }
.m-top-20 {margin-top:-2rem !important; }
.m-top05em {margin-top: .5em !important;}
.m-top10em {margin-top:1em  !important; }
.m-top15em {margin-top:1.5em  !important; }
.m-top20em {margin-top:2em ; }
.m-top30em {margin-top:3em ; }
.m-topend10em {margin-top:1em  !important;margin-bottom: 1em !important;}
.m-topend2025em {margin-top:2em  !important;margin-bottom: 2.5em !important;}

.m-end-10 {margin-bottom: -1rem !important; }
.m-end00 {margin-bottom: 0 !important; }
.m-end08 {margin-bottom: .8rem !important; }
.m-end10 {margin-bottom: 1rem !important; }
.m-end15 {margin-bottom: 1.5rem !important; }
.m-end20 {margin-bottom: 2rem !important; }
.m-end05em {margin-bottom: 0.5em !important; }
.m-end08em {margin-bottom: 0.8em !important; }
.m-end10em {margin-bottom: 1em !important; }
.m-end15em {margin-bottom: 1.5em !important; }
.m-end12em {margin-bottom: 1.25em !important; }
.m-end20em {margin-bottom: 2em !important; }
.m-end30em {margin-bottom: 3em !important; }

.m-end12px {margin-bottom: 12px !important; }
@media screen and (max-width: 600px) {
	.m-end12px {margin-bottom: 5px !important; }
}

.m-05051010 { margin:.5rem .5rem 1rem 1rem !important;}
.m-ri01 {margin-right: 0.1rem !important;}
.m-ri05 {margin-right: .5rem !important;}
.m-ri10 {margin-right: 1rem  !important;}
.m-ri15em {margin-right: 1.5em  !important;}
.m-ri20 {margin-right: 2rem !important;}

.m-le00 {margin-left: 0 !important;}
.m-le10 {margin-left: 1rem !important;}
.m-le15em {margin-left: 1.5em !important;}
.m-le20em {margin-left: 2em !important;}
.m-le30em {margin-left: 3em !important;}

.p-top00 {padding-top: 0 !important; }
.p-top10 {padding-top: 1rem !important; }
.p-top05em {padding-top: .5em!important; }
.p-top10em {padding-top: 1em; }
.p-top20 {padding-top: 2rem !important; }

.p-end00 {padding-bottom:0 !important;}
.p-end10 {padding-bottom: 1rem !important; }
.p-end15 {padding-bottom: 1.5rem !important; }
.p-end35 {padding-bottom: 3.5rem; }

.p-le00 {padding-left: 0 !important;}
.p-le10 {padding-left: 1rem !important;}
.p-le20 {padding-left: 2rem !important;}
.p-le30em {padding-left: 3em !important;}/*this-site-tuika*/

@media screen and (max-width: 640px) {
	.p-le30em {padding-left: 1em !important;}
}

.p-ri05 {padding-right: .5rem !important;}
.p-ri10 {padding-right: 1rem !important;}
.p-lr10 {padding-left:1rem !important; padding-right: 1rem !important;}/*tuika-200927*/
.p-lr15 {padding-left:1.5rem !important; padding-right: 1.5rem !important;}/*tuika-200915*/

.p-lr1020 {padding:1rem  2rem !important;}
.p-10 {padding:1rem  !important;}
.p-04 {padding:4px !important;}

.p-tb10 {padding-top:1rem !important;padding-bottom: 1rem!important;}
.p-tb00 {padding-top:0 !important;padding-bottom: 0!important;}
.p-tb1505em {padding-top:1.5em !important;padding-bottom: .5em!important;}

.top-posi05{ position:relative; top:5px;}

/* ul,ol,li /
----------------------------------------------------- */
ul ul,ol ul,ul ol,ol ol { margin-left: 2em; }

.contents ul, .contents ol{margin-left:1rem;}

ul{ list-style-type: none;}

.contents .text-center li { margin-left:auto;}

.list-disc li { list-style: disc; margin-left:1em; }
.list-circle li { list-style: circle; margin-left:1em;}

.list-decimal li { list-style: decimal; margin-left:1em;}/*namber*/
.list-lower-alpha li { list-style: lower-alpha;margin-left:1em; }/*abc*/

.list-r-brackets li{/*括弧付番号*/
	list-style-position:outside;
	counter-increment: cnt;
	margin-left:1em;
	padding-left:1rem;
}

/*　li_style＝括弧付番号　*/
.list-r-brackets li:before{
	position: absolute;
	left:1em;
	right:.5em;
	margin:0; 
	display: marker;
	content: "(" counter(cnt) ") ";
}

.list-r-brackets li li:before { 
	position: absolute;
	left:1em;
	margin:0; 
	right:0;
	display: none;
	content: "";
}

li.no-style {margin-top:0; list-style:none !important;}

/* nav_style 
+++++++++++++++++++++++++++++++++++++++++++++++++++++*/
nav ul, 
.nav-list,
.nav-imglink ul,
.nav-utlity {
	list-style-type: none; 
	margin:0;
}

.kizi ul{
	margin: 0;
	padding: 5px 0 0;
}

.kizi li {
	list-style: none;
	line-height: 1.6;
	font-size: 1.6rem;
	margin:0;
	border-bottom: 1px dotted #ccc;
}

.kizi li a {
	display: block;
	padding: 10px 5px 10px 10px;
	text-decoration: none;
}

.kizi li a,
.kizi li a:link,
.kizi li a:visited {
	display: block;
	width: auto;
	text-decoration: none;
	outline: 0;
}

.kizi a:hover {
	background: #f5f5f5;
	color: #0099cc;
}

/* DL style
------------------------------------*/
.what.box-link:hover { color:inherit;}

.what.box-link:hover .btn-category { opacity:.7;}

.what.box-link { position:relative;}

.what.box-link dl{ border-top:1px dotted #aaa; }
.what.box-link:last-child dl{border-bottom:1px dotted #aaa;}

.cate { display:inherit;}

.what p a {
	margin: 0.5em 0 0;
	padding: 10px 10px 0;
}

.what a,
.kizi a {color:#036; }

.what dl a { display: block; }

.what dl {
	margin: 0;
	padding: 10px 5px 11px;padding: 1.5rem;
	font-size: 1.6rem;
	line-height: 1.6;
}

.what dt  { font-weight:normal;}

.what a:hover,
.what dl:hover{
	color: #2999c1;
	text-decoration: none;
	cursor: pointer;
}


.box-link .what .dotend a {text-decoration: none !important}

.what a:hover,
.what dl:hover{ background: #f4f4f4;}

.what dt { display:inline-block; margin-bottom:1em;}

.what dd { margin-left: 0; }

.what dd p { font-size:1.5rem; line-height:1.5; margin: .5em 0 0;}

@media screen and (min-width: 768px) {
	.what dt { 
		float: left;
		clear: both;
		width: 10em;
	}
	.what dd { margin-left: 10em; }
	.cate { display: block; }
}

.dotend {border-bottom:1px dotted #ccc;}


.dotunder dt,
.dotunder.messege dt,
.dotunder.qa dt {
	margin: 1.5em 0 0.5em;
	padding: 3px 5px 1px 0;
	line-height: 1.4;
	color: #000;
	border-bottom:1px dotted #ccc;
}

.dotunder.message dt {font-size: 1.8rem; font-weight:600;border-bottom:none;}
.dotunder.message dt span {border-bottom:1px solid #333;}


.dotunder dt { font-size: 1.8rem;}

@media screen and (min-width: 768px) {/*48em*/
	.dotunder dt { font-size: 2.1rem;}
}

.dotunder dd {
    margin-bottom: 1em;
    margin-left: 0;
}

.dotunder dd p { font-size:inherit;}

.f-small.dotunder dt{ font-size: 1.7rem !important;}
.f-small.dotunder dd{ font-size: 1.6rem !important;}
.f-small.dotunder dd p, .f-small p,
.f-small.dotunder dd li{ font-size:1.6rem;}

.data_inner dl{border-top:1px dotted #ccc;}

/*+- jsでaccordion表示/jsでHTML表示の文字size調整 ---*/
.archive-title { font-size:1.5rem;}

/*------ qa 開閉表示 ------+*/
.accordion dt {
	font-size:2rem;
	padding: 1rem 0;
	border-bottom: 1px solid #ddd;
}

.accordion dd {
	font-size:1.7rem;
	margin: 0 0 1rem 0;
	padding: 1rem 1rem;
	border-bottom: 1px solid #ddd;
}

.accordion dd p{
	font-size:1.7rem;
	line-height:1.6;
	margin-bottom:.5em;
}

.accordion dd p:last-child{ margin-bottom:0;}

@media only screen and (max-width: 800px) {
	.accordion dt,
	.accordion dd,
	.accordion dd p { font-size:1.6rem;}
}

.accordion dt:hover {	color: #2ba6cb;}

.accordion dt:before{
	content:"＋";
	font-size:2.4rem;
	margin-right:1rem;
	padding:0 .3rem;
  color: #fff;
	background:#58A2B1;/*green*/
}

.accordion dt.active:before {
	content:"－";
	font-size:2.4rem;
	margin-right:1rem;
}

/*------ faq_page jsでaccordion開閉表示buttonエリア ------+*/
#toggleguide { text-align:right; margin-top:1.5rem; }
#toggleguide .btn{ line-height:	1.6;}
#toggleguide .btn:last-child { margin-left:1rem;}
#toggleguide button.btn{ font-size:1.5rem;}
#toggleguide .btn:hover { background:#5eafbf; color:#fff;}

/* --------------------------------------------------
 table_style
----------------------------------------------------- */
table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 2em;
	text-align: left;
	empty-cells: show;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	word-wrap: break-word;
}

table th,
table td {
	font-weight:normal;
	padding: 0.5em 1em;
	border-bottom: 1px solid #ddd;
}

/* .table-scroll-style=this-site_only 
---------------------------------------------*/

.table-scroll caption { 
	font-size:1.8rem; 
	font-weight:bold;
}
.table-scroll th{ 
	padding: .5rem .8rem .5rem .5rem;
	border: 1px solid #ccc;
	background: #e8eaef;
	vertical-align: middle;
}
.table-scroll td { 
	padding: .5rem .8rem .5rem .5rem;
	border: 1px solid #ddd;
}

td p:last-child { margin-bottom:0;}

.table-bordered td { border: 1px solid #ddd; }

.table-hover tr:hover { background: #f0f1f4;}
.table-striped tr:nth-of-type(odd) { background: #eee; }

.table tbody tr.active,
.table-striped tr.active { background: #f0f1f4;}

.table-striped th{ width:25%;}

.table-bordered th,
.th-bgcolor th{
	border: 1px solid #ccc;
	background: #e8eaef;
	vertical-align: middle;
}

.th-bgcolor th { text-align:right;}

.table-bordered td,
.th-bgcolor td{ border: 1px solid #ddd;}

.table-bordered td p { line-height:1.4; margin-bottom:0.5em;}

.w4em {width:4em;}
.w6em { width:6em !important;}
.w8em { width:8em;}
.w10em { width:10em;}
.w12em { width:12em;}
.w14em { width:14em;}
.w25par { width:25%;}


.spacing00 {letter-spacing:0 !important;}

.spacing09 {letter-spacing:.9rem}

@media only screen and (max-width:479px){
	.spacing09 {letter-spacing:0}
}

.t-respon tr:first-child{ border-top:1px solid #ddd !important;}

/* Responsive Table-style ++++++++*/
@media only screen and (max-width:480px){/*30em*/
	.w8em,.w12em,.w10em{ width:100%;}
	.table-bordered tr{ display: block;}

	.table-bordered th,
	.table-bordered td { display: list-item;list-style-type:none; border-top:none;}

	.table-bordered th { padding: 0.1em 1em; font-size:1.4rem;}
	.table-bordered td { padding: 0.5em 0.8em;}

	.table-bordered tr:first-child{border-top:1px solid #ddd;}
	.striped2dan tr:nth-child(2n+1) {background: transparent;}
}

@media only screen and (max-width:640px ) { /*40em*/
	.w14em{ width:100%;}
	
	.t-respon tr{ display: block; }
	
	.t-respon th,
	.t-respon td {display: list-item; list-style-type: none; border-top:none; }

	.t-respon th { padding: 0.5em 0.8em; font-weight:bold;/*font-weight=this-site*/ border-bottom:none;}
	.t-respon td { padding: 0.6em 0.8em; }

	.t-respon.striped2dan th {background:#f5f5f5; }
	.t-respon.striped2dan td {background:#fff; }

	.table-striped th{
		width:100%;
		display: list-item;
		margin-left:10px;
		padding: 0.4em 1em 0;
		list-style-type: none;
	}

	.table-striped td{
		width:100%;
		display:list-item;
		padding: 0.4em 1em;
		list-style-type: none;
	}

	.table-striped th{margin-left:0;}
	.table-striped td{padding-top:0.2em;}
}

/*this-site Shop送料の表*/
@media only screen and (max-width: 1024px) { 
	table .table-scroll{ 
		display: block; 
		position: relative; 
		width: 100%; 
	}
	.table-scroll th { 
		border: 1px solid #ccc;/*this-site*/
		background: #e5f0f8;/**/
		vertical-align: middle;
	}
	
	.table-scroll td { 
		 display: block;
		 border: 1px solid #ccc; 
	}

	.table-scroll thead{ 
		display: block; 
		float: left; 
		text-align:center;
	}
		
	.table-scroll tbody{ 
		display: block; 
		width: auto; 
		position: relative; 
		overflow-x: auto; 
		white-space: nowrap; 
	}
	
	.table-scroll thead tr,
	.table-scroll th{ display: block; }
	
	.table-scroll th.w5em,
	.table-scroll td.w8em,
	.table-scroll th.w12em{ width:100%;}
	
	.table-scroll tbody tr{ 
		display: inline-block;
		vertical-align: top; 
	}

	/* borderの調整 */
	.table-scroll th{border-bottom: 0;  }
	.table-scroll td{ 
		border-left: 0; 
		border-right: 0; 
		border-bottom: 0; 
	}
	
	.table-scroll th:last-child,
	.table-scroll td:last-child {
		height:60px;
		font-size:1.2rem !important;
		border-bottom: 1px solid #babcbf; 
	}
}

/*------------------------------------------------------- */
/* border / shadows　
--------------------------------------------------------- */
.u_lineY {
    padding-left: 10px;
    padding-right: 10px;
    background: linear-gradient(transparent 65%, #f2dd70 65%);
}

.factory .u_lineY { margin-top:.4em !important;  margin-bottom:.4em !important;}

.notborder { border:none !important;}

.bor3-999 { margin:2px 5px;  border:3px solid #999;}

.bor1-bluegray { border: 1px solid #aac9d8;}/*this-site_box-shadow1blueと組み合わせ*/
.bor1-top-ccc { border-top: 1px dotted #ccc;}

.bor1-top-ddd { border-top: 1px solid #ddd;}
.bor1-top-efe { border-top: 1px solid #efefef;}
.bor1-top-green {border-top:1px solid #92B1B8;}

.bor1-bottom-ddd{ border-bottom: 1px solid #ddd;}

a .b-green:hover { opacity:0.7; border:1px solid #007260;}

.radius04 {border-radius:4px !important;}
.radius06 {border-radius:6px !important;}
.radius50 { border-radius: 50%; }
.radius50-1 {
	border-radius:50% !important;
	border: 1px solid #333;
}

.square {
	border-radius:2px !important;
	border: 1px solid #fff;
	padding:1px 0 0;
	background:rgba(255,255,255,.5);
}

.box-shadow1 { box-shadow: 0 3px 2px rgba(51, 51, 51, 0.1); }
.box-shadow2 { box-shadow: 0 0.25em 0.5em 0 rgba(0, 0, 0, 0.2);}/*this-site*/
.box-shadow1blue {box-shadow: 0 3px 4px rgba(155, 188, 207, 0.3);}/*this-site*/

.t-shadow1 { text-shadow:1px 1px 2px rgba(0, 0, 0, 0.4);}
.t-shadow4{text-shadow: 0 2px #ccc;}

.text-nowrap { white-space: nowrap; }

.spacing-05 {letter-spacing:-0.5rem}
.spacing-01 {letter-spacing:-0.1rem}
.spacing02 {letter-spacing:0.2rem}


/* color style
--------------------------------------------------- */
.c-red{ color: #EA0029 !important; }
.c-pinkred{ color: #ea4855 !important; }
.c-orange{ color: #E95738 !important; }
.c-blue1{ color: #5cbdce !important; }
.c-blue2{ color: #63bebe !important; }
.c-green{ color: #90C132 !important; }
.c-green2{ color: #72aeae !important; }
.c-gray{ color: #666 !important; }


mark { background:#FFFF9B;}

/*---------------------------------
   bg_color-style
-----------------------------------*/
.Area-Rbeige2 {
	padding-bottom: 2rem;
	background: #FAF7F3;
}

.Area-corp{
	padding-bottom:60px;
	background: linear-gradient(rgba(24, 37, 66, 0.8), rgba(0, 0, 0, 0.8)),
url(../image/corpimg1.jpg) ;
	background-size: cover;
}

/*.shop .Area-corp{ padding-top:30px;padding-bottom:0;background:#e5f0f8;}*/

.next .Area-corp{ background-position:left 18%;}

.Area-corp_inner-info {
	color: #fff; 
    width: 96%;
    margin: auto auto;
    padding: 3em 2rem 1em;
}

.next .Area-corp_inner-info {padding-top: 2em ; padding-bottom:0; }

@media only screen and (max-width:640px ){
	.Area-corp_inner-info { padding: 2em 0;}
}

.Area-foot { padding-top:10px; background:rgba(10,15,22,.9);}
.Area-foot.hei20 { height:2rem;}

.bg-gray{ background: #eee !important; }
.bg-Rfff{ background:rgba(255,255,255,.5) !important; }
.bg-Or{ background: #E95738 !important; }
.bg-Blue{ background: #63c5d1 !important; }
.bg-Green{ background:#94C4CD !important; }
.bg-Rbeige {background:#f7f7ef !important }
.bg-navy {background:#00345b !important; color:#fff; }

/* --------------------------------------------
  .btn-style
-----------------------------------------------*/
.btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	padding: 1rem 1.2rem;
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	outline: none;
	transition: all .2s ease;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
	background:#f6f7f9;
	border: 1px solid #d1d1c9;/*200131-change*/
	border-radius: 2px;
	color: #036;
	cursor: pointer;
}

.btn.w245 { width:245px; }
.btn.w49par { width:49%; margin-top:.5rem;}

@media screen and (max-width:480px){
	.btn.w49par { width:100%;}
}

@media screen and (min-width:841px) and (max-width:1100px){
	.btn.w49par { width:100%;}
}

.btn:focus {
	background: #fbfbfe;
	box-shadow: 0 0 0 2px rgba(87, 100, 198, .15);
	text-decoration: none;
}

.btn a,
.btn a:hover{display:block; text-decoration:none !important; }

/*.btn:hover a,*/
.btn.btn-simple:hover a{color: #fff;display:block; text-decoration:none !important; }

.btn:hover{
	 background:rgba(255,255,255,.5);
	 text-decoration: none;
}

@media screen and (max-width:480px){
	.btn.btn-simple.f24 { font-size:18px !important;}
}

.change-btn {
	display: inline-block;
	padding: 1rem !important;
	font-size:1.6rem !important;
	color:#0085B2;
	border:1px solid #567EB6 ;
}

.change-btn:hover a{color:#0085B2;}
.change-btn:hover {border-color:#39C}

.change-btn a {
	text-decoration: none !important;
}

/* foot-area_contact */

.btnF {  transition: all 0.3s ease 0s;}
.btnF {
    display: inline-block;
    width: 100%;
	max-width:100%;
    height: 50px;
    text-align: center;
    text-decoration: none;
    line-height: 50px;
    outline: medium none;
    letter-spacing: 2px;
    border: 1px solid rgba(255,255,255,.5);
    color: #FFF;
    background: rgba(255,255,255,.3);
    overflow: hidden;
}

@media screen and (min-width: 768px) {
	.btnF {width: 49%;}
}

a.btnF {  color: #FFF;}

a.btnF:hover { 
	text-decoration:none;
	border: 1px solid rgba(33,183,182,.3);
	background: rgba(33,183,182,.7);
	color: #FFF;
}

/* flow_page */

.btn.btn-simple:hover{
	color: #fff;
	background: #8ebcc6;
	border-color: #779ea5;
	text-decoration: none;
}

/* inquery_submit */
.btn.btn-green {
	color: #fff !important;
	background:#09a7a6;
	border: none;
}

.btn.btn-green:hover,
.btn.btn-green a:hover { background: #37beb0;}


/* 説明モーダルテキスト */
.btn.btn-yellow {
	color: inherit;
	background:#f2dd70;
	border:none;
}

.btn.btn-yellow:hover a,
.btn.btn-yellow:focus,
.btn.btn-yellow:hover,
.btn.btn-yellow a:hover {color: #284d55; background:#f7e572;}

.btn.btn-category {
	padding: .5rem 1.2rem;
	font-size:1.2rem; 
	color: #fff;
	border: none;
	background:#21B7B6; 
}

.btn-category.f24 {padding: .5rem 2rem .7rem; line-height:1.4;}


.btn.btn-category:hover,
.btn.btn-category a:hover {color:#fff !important;background: #26cece;/*opacity: .8;*//*border: 1px solid rgba(33,183,182,.5);*/}


/* form＿sbmit-btn */
.btn.btn-blue {
	color: #fff;
	background: #57b1c1;
	border-color: #3aa0bf;
}

.btn.btn-blue a{color: #fff;}


.btn.btn-blue:focus,
.btn.btn-blue:hover,
.btn.btn-blue a:hover {
	opacity:.8;
}

.btn.btn-md {
	font-size: 1.7rem;
	padding: .8em 2rem ;
}

.btn.btn-lg {
	font-size: 1.8rem; 
	line-height:1.5;
	padding: .5em 1.5em ;
}

.shop .btn.btn-lg {padding: .5em 1em ;}

.shop .btn:hover a,
.shop .btn:hover{color: inherit; }

.btn:hover{
	 background:rgba(255,255,255,.5);
	 text-decoration: none;
}


.btn.tab {background-color: #d6eaed;}


/** * list-style: none; ←デフォルト三角削除（Chrome非対応）
 * cursor: pointer; ←カーソルをポインターに
 --------------------------------------------------------**/
details summary {
  list-style: none;
  cursor: pointer;
  padding: .5rem 1rem;
  color: #242323;
}

header details summary { background:none;border-color:#ddd;}


/** * Chrome用のデフォルト三角削除-------**/
details summary::-webkit-details-marker { display: none;}


/*クリックした時に詳細文をふわっと表示*/
details { transition: .5s;}
/*開いたとき*/

main details h3 {
	font-size:1.5rem !important;
	font-weight:bold;
	line-height:1.4 !important;
}

main details p {
	font-size:1.5rem !important;
	line-height:1.4 !important;
}

main details li {
	margin-left:0 !important;
	font-size:1.5rem !important;
	line-height:1.4 !important;
}

details summary:before{
	content:"＋";
	font-size:2rem;
	font-weight:bold;
	margin-right:1rem; 
	margin-left:1rem;
	padding:0 .3rem;
    color: #000;
}

header details summary:before{
	content:"";
	font-size:1.5rem;
	margin-right:0; 
	margin-left:0;
	padding:0;
}

/*** アコーディオンがオープン時はマイナスアイコンに変更*
*/
details[open] summary:before {
  content:"▲";
	font-size:2rem;
	margin-right:1rem; margin-left:1rem; 
}


header details[open] summary:before {
  content:"閉じる▼";
	font-size:1.5rem; 
	line-height:2;
	margin:1rem 0 ; 
	padding:10px; 
	border:1px solid #ddd;
}

/* -- tabs-style -- */
.tabHead  {display: none;}

/*リンクtextの折り返し調整　*/
.tabBody p a {display:inline-block;}


#navList{ display:flex;border-bottom:solid 1px #e0e0e0;text-align:center;justify-content: center; }

#navList ul {
	display: flex;	/* 要素をFlexコンテナとして定義する */
	list-style: none; /* リストのスタイルを無効にする */
	padding:0; /* 要素の余白を指定する(上下左右) */
}

#navList li {
	margin: 0 1px; 
	background-color: #fff; 
}

#navList li.w6 { min-width:8em;}
#navList li a{padding:1rem 1.5em; display:block;border-bottom:solid 2px #e0e0e0;text-decoration:none;}
#navList li a:hover {text-decoration:none;
	background-color: #f4f4f4;
	background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(244,247,249,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(244,247,249,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
 }


#navList li span.on a:after,
#navList li span.on a {
	border-bottom: solid 2px #21B7B6;
	background: #f4f4f4;
	background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(244,247,249,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(244,247,249,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

/*++++++++++++++++++++++++++++++++++++++++++++++*/
header {
	position: relative;
	min-height:80px;	
	padding:0 ;
	text-align:center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	transition: top 0.8s; 
}

/*tuika-200106*/
header a {
	vertical-align: baseline;
	text-decoration: none;
}

/*headerエリア_displaｙ: flex;順番を替えたい子要素の注意
※子要素orderのデフォルト値は0
今回の場合は.logoが0となる---------------*/

.logo1 {
	position: relative;
	margin: 1rem auto 0 0; 
	padding-left:1.4rem;
	display: flex;
	flex-wrap: wrap;
	text-align:left;
}

.logo1 img { width:60px; height:auto;}

.logo1 { 
	margin-bottom:0 !important;
	padding-bottom:0 !important;
	line-height:1;
}

.logo1.shop { margin: 1rem 1rem 0 0;padding-left:1rem; }
.logo1.shop img { width:75px; height:auto;}

.logo1 .logo_name {
	position:relative; 
	top:-.3rem; 
	padding-left:.5rem;
	font-family:"Hiragino Kaku Gothic Pro",  Meiryo, "BIZ UDPGothic", sans-serif;
	font-size: 2rem ; 
	font-weight:600;
	letter-spacing:-.2rem;
}

.logo1 .logo_read { /*corp-siteでは未使用*/
	font-size:1.2rem; 
	margin-top:0; 
	padding-bottom:1rem; 
	letter-spacing:-.1rem;
}

.shop_name {
	position:relative;
	top:.3rem; 
	left:-.5rem; 
	font-family:"Hiragino Kaku Gothic Pro",  Meiryo, "BIZ UDPGothic", sans-serif;
	font-size: 1.7rem ; letter-spacing:-.1rem;
	font-weight:600;
	line-height:1; 
	text-align:left; 
}

.shop_name span {font-size: 1.2rem ;letter-spacing:-.1rem;}

@media screen and (min-width: 768px) {
	.logo1.shop img { width:90px; height:auto;}
	.shop_name {font-size: 2rem ; }
	.shop_name span {font-size: 1.3rem ;}
	
}

@media screen and (min-width: 1080px) {
	.logo1.shop { padding-left:1.4rem; }

	.logo1 .logo_name { font-size:2.6rem;}
	.logo1 { padding-left:2rem;}
	.logo1.shop img { width:96px; height:auto;}
	.shop_name {font-size: 2.2rem ; }
	.shop_name span {font-size: 1.5rem ;}
}

@media screen and (min-width: 1400px) {
	.logo1 {margin: .5rem auto 0 0; }

	.logo1 .logo_name { font-size:2.6rem;}
	.logo1 .logo_read { font-size:1.3rem; letter-spacing:0;margin-top:-.2rem; }
	
	.logo1 img{ width:96px; height:auto;}
}



.spacing-01{letter-spacing:-.1rem!important;}

.logo1 a{vertical-align: top; }
.logo1 a:hover,.shop_name a:hover{opacity:.7;}


header .goshop{
	position: relative; 
	display: flex;
	flex-wrap: wrap;
	width:55px;
	height:55px;
	overflow:hidden;
	margin:0 50px 0 auto;
	line-height:1 !important;
	font-size:1.1rem !important;
	border-left:1px solid #ccc; 
	border-right:1px solid #ccc;
}

header .goshop [class^="icon"]{
	display:block;
	margin-top:-.6rem;
	font-size:3.2rem;
}


header .goshop .goshop_txt{
	position: relative; 
	
}

header .goshop p {
	line-height:1 !important;
	display:inline-block;
	text-align:center;
	margin:0 auto;
}

header .goshop a{padding:.2rem .5rem;color:#00345b;}

header .goshop a:hover,
header .goshop:hover{ opacity:.7;}


header nav {
	position: relative;
	margin: .5rem auto 0  auto;/*中央*/
	display: flex;
	-ms-align-items: center;
	align-items: center;
	flex-wrap: wrap;
	-webkit-order:1;
　  order:1;
} 

.shop header nav{ left:-1em; margin: 1.2rem auto;}

header nav li{
	display:inline-flex;
	text-align:center;
	width: inherit;
	line-height:1;
	font-size:1.6rem;
}


.shop header nav li{
	font-size:1.3rem;
}

.shop header nav li [class^="icon-"],
.shop header nav li [class*=" icon-"] {
	font-size:1.8rem;
}

@media screen and (max-width:767px){
	header nav li{ font-size:1.4rem ; }
	header .goshop{
		top:5px;
		width:55px;
		height:50px;
		overflow:hidden;
		margin:0 65px 0 auto;
	}
}

@media screen and (max-width:359px){
	header .goshop { display: none !important; }
	header nav { margin:0 -3em auto ;}
	.shop header nav li [class^="icon-"],
	.shop header nav li [class*=" icon-"] { display:none;}
	
}

header nav li a {
	padding:1rem .5rem;
	align-items: center;
}

.shop header nav li a {
	padding:0 1rem .5rem;
}


header nav li a:hover { opacity:.7;}


@media screen and (min-width: 415px){
	.shop header {width: calc(100% - 55px);}
}

@media screen and (min-width: 496px){
	.shop header nav li [class^="icon-"],
	.shop header nav li [class*=" icon-"] {  margin-top: 5px;}	
	
	.shop header nav{ left:0;}
}

@media screen and (min-width: 500px){
	.shop header nav li [class^="icon-"],
	.shop header nav li [class*=" icon-"] {
		display:block;
		margin: 5px auto 3px; 
		padding-top:2px;
		font-size:2.1rem;
	}
}

@media screen and (min-width: 560px) {
	header {width: calc(100% - 60px);}
	
	header .goshop{
		-webkit-order:2 ;
		order:2;
		top:0;
		margin:-2rem 0 0 0;
	}
	
	header nav  { margin-right:0;}
}


@media screen and (min-width: 768px) {
	.shop header{width: calc(100% - 70px);}
	.shop header nav  { margin-right:0;}
	header .goshop{	
		width:65px;
		margin-top:-2px;
		padding-top:0;	
	}
	
	header .goshop [class^="icon"]{	font-size:3.6rem;}
	header nav li a {padding:1rem 1rem;}

}

@media screen and (min-width:1024px){
	header nav li a {
		padding:1rem 2rem;
		align-items: center;
	}
}


@media screen and (min-width:1400px){
	
	header {width: calc(100% - 70px);}
	
	header .goshop [class^="icon"]{
		font-size:4rem;
		width:60px;
		margin-top:-1.2rem;
	}
}

/* side_drawer menu */
.drawer2 {
    box-sizing: border-box;
    position: fixed; 
    top: 0;
    right: 0;
    width: 320px;
    height: 100%;
    padding: 60px 0 50px ;
  	background:rgba(21,29,41,.9);
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    opacity: 0;
	 z-index: -1;
	
	/*以下を追加しないと縦長メニューでスクロールできない
	 position: fixed;とheight: 100%;があるため*/
	 overflow: auto ;/*tuika-need170730*/
   -webkit-overflow-scrolling:touch;/*tuika-need170730*/	
}

.check:checked ~ .drawer2 {
    -webkit-transition-delay: .3s;
    transition-delay: .3s;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
	z-index: 10;
}

.check { display: none; }

/* headerにfixdのハンバーガーmenu　総合menu button
----------------------------------------------------------*/
.menu-btn {
	position: fixed;
	display: block;
	top: 23px;
	right: 15px;
	display: block;
	width: 40px;
	height: 40px;
	font-size: 10px;
	text-align: center;
	cursor: pointer;
	z-index: 11;/*index＿Visual_infoテキスト表示より前に出す　*/
}

@media only screen and (max-width:767px) {
	#menu-wrap {
		position: fixed;
		top: 6px;
		right:5px;
		width: 55px;
		height: 48px;
		background:rgba(255,255,255,.7);
	}
	
	#menu-wrap:hover {background:rgba(255,255,255,1);}
	
	.menu-btn {top: 13px;}
	
	.shop .menu-btn {top: 23px;}
	.shop #menu-wrap {top: 16px;}
	
}

.check:checked ~ .menu-btn::before,
.check:checked ~ .menu-btn::after { opacity:0;}

.bar {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 36px;
	height: 1px;
	background: #00345b;
	-webkit-transition: all .5s;
	transition: all .5s;
	-webkit-transform-origin: left top;
	transform-origin: left top;
}

.bar.middle {
	top: 10px;
	opacity: 1;
}

.bar.bottom {
	top: 20px;
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
}

.menu-btn__text {
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 2px;
	margin: auto;
	color: #00345b;
	-webkit-transition: all .3s;
	transition: all .3s;
	display: block;
	visibility: visible;
	opacity: 1;
}

.menu-btn:hover .bar ,
.menu-btn:hover .menu-btn__text {opacity: .7; }

.close-menu {
	position: fixed;
	top: 0;
	right: 320px;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0);
	cursor: url(../image/close.svg) , auto;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	visibility: hidden;
	opacity: 0;
}

/*　css_only styleでOffcanvas-menu
-------------------------------------------*/
.check:checked ~ .menu-btn{ 
	width:320px;
	top: 0;
	right: 0;
	display: block; 
	height: 60px; 
	background:#fff; 
}

.check:checked ~ .menu-btn .menu-btn__text {
	position:relative; 
	height:60px;
	font-size: 16px;   
	line-height:60px;
}

.check:checked ~ .menu-btn .bar.top {
	width: 56px;
	margin-top:10px;  
	margin-left:20px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.check:checked ~ .menu-btn .bar.middle { opacity: 0; }

.check:checked ~ .menu-btn .bar.bottom {
	width: 56px;
	top: 40px;
	margin-top:10px; 
	margin-left:20px; 
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.check:checked ~ .close-menu {
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
	-webkit-transition-delay: .3s;
	transition-delay: .3s;
	background: rgba(0,0,0,.5);
	visibility: visible;
	opacity: 1;
	z-index: 11;
}

/* mobile_画面幅100％　*/
@media screen and (max-width: 414px) {
	.drawer2 {width: 100%; padding-bottom:20px;}
	.close-menu {right:100%;}
	.check:checked ~ .menu-btn { width:100%;}
}

/*　Offcanvas-menu内のアコーディオン表示メニュー
-----------------------------------------------------*/
.submenu { 
	width:100%;
	height:auto; 
	margin:0;
	padding:0;
	font-size:1.6rem;
	color: #fff;
}

.submenu ul,
.submenu ul ul{
	list-style:none;
	margin:0;
	padding:0; 
	line-height:1;
}

.submenu ul ul li { margin-left:-2rem; }

.submenu a {
	display: block;
	padding: 2rem;
	line-height: 1; 
	color: #fff;
	border-bottom:1px solid rgba(255,255,255,.1);
	text-decoration: none;
}

.submenu ul ul li a { padding-left:4rem;}

.submenu a:hover,
.submenu label:hover{ color:#fff;background-color: #09a7a6;}
 
.submenu label {
	position: relative;
	display: block;
	margin:  0;
	padding :2rem;
	line-height: 1;
	cursor :pointer;
}

.submenu input {
	display: none; 
	overflow:hidden; 
	position:absolute;
	height: 0;
	padding: 0;
}

 .submenu_child li { 
	height:0; 
	overflow-y: hidden;
	-webkit-transition: .3s;
	transition: .3s;
}

.submenu .open-close:checked ~ .submenu_child li {
	 height:56px; 
	 margin-left:0;
     opacity: 1; 
}

.submenu .mark,
.submenu .open-close:checked ~ .submenu_child li {
	 border-bottom:1px solid rgba(255,255,255,.1) !important; 
}

.submenu .mark:after{
	position:absolute;
	top: 15px;
	right:10px;
	color:#fff;
	font: 20px 'icomoon';
	content: "\e913";
	-webkit-transition: .3s;
	transition: .3s;
}

.submenu input:checked + .mark:after{
	top: 12px;
	right: 15px;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

/*.submenu内検索ボックス*/
.submenu #search label { cursor:auto;}

.submenu #search label:hover{ 
	color:inherit; 
	background-color:inherit;
	cursor:auto;
}
 
.submenu #search .Gosearch{
	position: relative;
	right:0;
	display: inline-block; 
	margin-left:80%;
	text-align:right;
	cursor :pointer;
}

.submenu #search .icon-search1 { 
	font-size:19px;
	line-height:1.5; 
}

.submenu #search input#textfield { 
	display:block;
	overflow:hidden; 
	position:absolute; 
	height:auto;
	width:80%; 
	max-width:315px;
	line-height:1.4; 
	margin-left:1rem; 	
	padding:1rem;
}

/* foot-navi
-----------------------------------*/
.nav-utlity{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.nav-utlity li {
	list-style:none;
	font-size:1.4rem;
	line-height:1.5;
	text-align: center;
}

.nav-utlity li i{
	display:block;
	margin-bottom:.5rem;
	font-size:2.4rem;
}

.nav-utlity li a{
	display:block;
	width:100%;
	padding:5px 0 0;
	text-decoration:none;
}

@media screen and (max-width: 600px) {
	.nav-utlity li a {font-size:1.2rem;}

	.nav-utlity.inner li {
		width:33%;
		padding:.5rem;
	}

	.login{
		font-size:1.2rem;
		transform: scale(0.8, 1);
	}
}

.Area-foot .nav-utlity li:nth-child(1),
.Area-foot .nav-utlity li:nth-child(3){border-left:none;}

.Area-foot .nav-utlity li i{
	font-size: inherit !important;
	display:inline-block; 
	padding-right:.5rem;
}

.Area-foot ul.nav-utlity{ padding:0;}

.Area-foot .nav-utlity li {  
	width:50%;
	line-height:1.8;
}

.Area-foot .nav-utlity li a{ 
	color:#ddd;
	padding:1rem; 
}

.Area-foot .nav-utlity li a:hover {
	color:#fff; 
	background:#21b7b6;
}

.Area-foot .nav-utlity li:nth-child(odd){border-right:1px solid rgba(255,255,255,.1); }/*奇数*/

.foot-copy {
	font-size:1.3rem !important;
	line-height:1.2;
	text-align:center;
	margin:0 auto;
	padding:1.5rem;
	color :#ccc;
}

@media screen and (min-width: 961px) {
	.Area-foot ul.nav-utlity{padding:0 0 1rem 0;} 

	.Area-foot .nav-utlity li a{ padding:1rem 2em;}
	.Area-foot .nav-utlity li {width:20%;}
	
	.Area-foot .nav-utlity li:nth-child(2),
	.Area-foot .nav-utlity li:last-child {width:30%; }
	
	.Area-foot .nav-utlity li:nth-child(1),
	.Area-foot .nav-utlity li:nth-child(3){border-left:1px solid rgba(255,255,255,.1);}

	.Area-foot .nav-utlity li:last-child {border-right:1px solid rgba(255,255,255,.1);}
	
	.foot-copy {
		margin-left:-1rem;
		border-right:1px solid rgba(255,255,255,.1);
	}
}

/*back-to-top
------------------------------*/
.pagetop_outer {
	position: relative;
	margin-top:-62px;
	background-color:rgba(0,0,0,.7); 
}

#pagetop {
	position: relative; 
	overflow: hidden;
	max-width: 1440px;
	height: 62px;
	text-align: center;
	margin: 0 auto 0;
	z-index: 2; 
}

#pagetop:before,
#pagetop:after {
	position: absolute;
	content: "";
	display: block;
	width: 50%;
	height: 1px;
	background-color: #71889b;
	bottom: 15px;
}

#pagetop:before { left: -50px; }
#pagetop:after { right: -50px; }

#pagetop .btntop {/*外側△*/
	width: 100px;
	display: block;
	margin: 0 auto;
}

#pagetop a {
	position: relative;
	overflow: hidden;
	display: block;
	width: 100%;
	height: 0;
	padding: 62px 0 0 0;
	line-height: 1;
	color: #71889b;
}

#pagetop .btntop:before {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 60px;
	bottom: 0;
	left: 50%;
	margin-left: -26px;
	background-color: #71889b; 
	-webkit-transform: rotate(60deg);
	     transform: rotate(60deg);
	z-index: 1;
}

#pagetop .btntop:after {
	position: absolute;
	content: "";
	display: block;
	width: 1px;
	height: 60px;
	bottom: 0;
	left: auto;
	right: 50%;
	margin-left: 0;
	margin-right: -26px;
	background-color: #71889b; 
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
	z-index: 1;
}

#pagetop a:before {
	position: absolute;
	content: "\FE3F";
	display: block;
	width: 100%;
	bottom: 22px;
	left: 0;
	margin: 0;
	text-align: center;
	font-family: Arial, sans-serif;
	font-size: 24px;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
}

#pagetop a:hover:before {
	-webkit-transform: translateY(-5px);
	transform: translateY(-5px);
}

/*this-site-tuika*/
#pagetop a:after {
	position: absolute;
	content: "Pagetop";
	display: block;
	width: 100%;
	bottom: 7px;
	left: 0;
	margin: 0;
	text-align: center;
	font-family: Arial, sans-serif;
	font-size: 12px;
}

/*  Visual_img Area
 ------------------------------------*/
/*this-site */

.Visualcontainer {
	position: relative;
	width: 100%;
}

.next .Visualcontainer{ height:2.5em;background-size:cover;}

.next .Visualcontainer h1,
.next .Visualcontainer h2{
	margin:3em 0 0.5em;
	line-height:1.2;
	text-align:center;
	color:#fff;
}

.next .Visualcontainer p{  
	justify-content: center;
	align-items: center;
	line-height:2;
	font-size:2.4rem;
	text-align:center;
	color:#fff;
}

/*index_page_main-image---- */
.main-img {
	animation-name: fadein;
	animation-duration: 2s;
}
	@keyframes fadein {
		from {
			opacity: 0;
			transform: translateY(20px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

.Visualcontainer .random {height: 50vh; width:100%; object-fit: cover;}

@media screen and (min-width: 1024px) {
	.Visualcontainer .random {height: 75vh;}
}

@media screen and (max-width: 812px) {
	.Visualcontainer .random {height: 340px;}
}

@media screen and (max-height: 375px) {
	.Visualcontainer .random {height: 310px;}
}

#section1 { 
	position:absolute;
	bottom:10px;
    background: rgba(32,61,89,.7);
	width:100%;
}

#section1 .inner {
	max-width: 100%; 
	text-align:center; 
	margin-left:auto; 
	margin-right:auto;
}

.Visual_info .inner h2 {
	position:relative; 
	bottom:0;
	margin:1em .5em 1em 1em; 
	padding-bottom:0;
	line-height:1.8;
	color:#fff;  
	z-index:2;
	font-weight:normal; 
}



@media screen and (max-width: 812px) {
	.Visual_info .inner h2  {font-size: 2.2rem;line-height:1.2;}
}

@media screen and (max-width: 640px) {
    .Visual_info .inner h2{ font-size: 2.1rem;font-weight:bold; }
}

@media screen and (max-width: 420px) {
    .Visual_info .inner h2{
		left:1em; 
		margin-left:0; 
		font-size: 1.8rem; 
		line-height:1.8;  
		letter-spacing:0;  
	}
}

@media (min-width: 1650px) {
	.Visualcontainer .Visual_info { bottom:0;}
	.Visual_info .inner h2 { font-size: 4.8rem; line-height:2;}
}

/*factory-main-img*/
.fact-mainimg {
	height:310px; 
	width:100%;
	object-fit:cover; 
	margin-bottom:5px; 
	padding-bottom:0;
}

@media screen and (min-width: 1048px) {
	.fact-mainimg {height:400px; width:100%;}
}

@media screen and (min-width: 1400px) {
	.fact-mainimg {height:500px; width:100%;}
}


/*工場紹介タイトル animation */
@-webkit-keyframes passing-bar{
	0% {
		left: 0;
		right: auto;
		width: 0;
	}
	50% {
		left: 0;
		right: auto;
		width: 100%;
	}
	51% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}
@keyframes passing-bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;left: 0;
		/*width: 0;*/width: 100%;
	}
}
@-webkit-keyframes passing-txt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passing-txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}

/* css */
.passing .passing-box {
	display: block;
	text-align: center;
}
.passing .passing-bar {
	position: relative; 
	display: inline-block;
	-webkit-transform: translate3d(25, 40, 61, 0.75);
	-ms-transform: translate3d(25, 40, 61, 0.75);
	transform: translate3d(25, 40, 61, 0.75);

}
.passing .passing-bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	/*z-index: 1;*/
	/* 任意の値 */
	background: rgba(25, 40, 61, 0.7);
}
.passing .passing-txt {
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	font-size: 4.0rem;
	font-weight: bold;
	line-height: 1.4;
	padding:1.8rem 3.5rem 1.8rem 4rem;
	letter-spacing:1em; color:#fff;
}

.passing .passing-txt span {font-size: 2.4rem;letter-spacing:.5rem;}

@media screen and (max-width: 700px) {
	.passing .passing-txt {font-size: 2.4rem;}
	.passing .passing-txt span {font-size: 1.8rem;letter-spacing:0;}
}

/*factory_.passing .passing-txt表示位置　---*/
.passing.move {
	position: absolute; 
	top:280px;
	margin-left:auto; 
	margin-left:auto;
}

@media screen and (max-height: 800px) {
	.passing.move { top:270px;margin-top:0;padding-bottom:0;}
}

.passing.move .passing-bar:before {
	-webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
	animation: passing-bar 1s ease 0s 1 normal forwards;
}
.passing.move .passing-txt {
	-webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
	animation:passing-txt 0s ease .5s 1 normal forwards;
}



/* breadcrumbs(Visualcontainer内),main
--------------------------------------------*/
/* next_page breadcrumb__list=bg */
.Visual_bg{ 
	background: #4B79A1;  /* fallback for old browsers */
	background: linear-gradient(to right, #283E51, #4B79A1); 
}

.breadcrumb__list {
	display:flex;
	padding: 1px;
	color: #eee;
}

.breadcrumb__list li {
	list-style:none;
	font-size: 1.4rem;
	line-height: 1.4;
}

.breadcrumb__list li a{
	position: relative;
	display: block;
	margin-right: 2em;
	padding-right: 0.4em;
	text-decoration: none;
	color: #fff;
}
/*.shop .breadcrumb__list li a{color: #036;}*/

.breadcrumb__list li a:after {
	position:absolute;/*Visualcontainer内<p>タグ配置*/
	content: " /";
	top: 0;
	margin-left:1em;
	margin-right: -1.5em;
}

.breadcrumb__list li:last-child a:after {
	content: "";
}

.breadcrumb__list li a:hover { 
	opacity:.8;/*this-site*/
	text-decoration: none;
}

/*++++++++++++++++++++++++++++++++++++++++++++
 localmenu-main-area内　関連サブメニュー
++++++++++++++++++++++++++++++++++++++++++++-*/
.localnavbar {
	position: relative;
	text-align: center;
	margin: 0 auto;
}

.localmenu,
.localmenu.item3  {
    display: none;
	position: relative;
}

@media screen and (min-width: 841px) {
	.localmenu {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	
	.localmenu.item3  {
  		 position: relative;
	 	display: -webkit-flex;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
	}
}

.localmenu li {
	float: left;
	line-height: 1.1;
	margin: 0;
	font-size: 1.5rem;
}

.localmenu.item5 li {width: 20%;}
.localmenu.item3 li {width: 33.333%;}

.localmenu li i{
	font-size: 1.3rem; 
	font-style:normal; 
	letter-spacing:-2px; 
	vertical-align:baseline;
}

.localmenu li a {
	position: relative;
	display: block;
	margin: 0;
	padding: 1rem;
	color: #003366; 
	text-decoration: none;
}

.localmenu li a::before {
	position: absolute;
	content: '';
	bottom: 0px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #ccc;
}

.localmenu li a.active::before { background-color: #54b2d0; }

.localmenu li a:hover { color: #54b2d0; }

.localmenu li a::after {
	position: absolute;
	content: "";
	bottom: 0px;
	left: 0;
	width: 100%;
	height: 1px;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #54b2d0;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}

.localmenu.item3 li a.active {
	width: 100%;
	height: 100%;
	background: url(../image/breadcrumbs-bg.png) no-repeat right center;
	z-index:-1;
}

.localmenu.item5 li a.active {
	width: 100%;
	height: 100%;
	background: url(../image/breadcrumbs-bg.png) no-repeat 120% center;
	z-index:-1;
}

.localmenu li a:hover::after {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}

/*  fadeIn,fadeInUp_animation
-----------------------------------------*/
.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
	animation-duration: 4s;
	-webkit-animation-duration: 4s;
	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}

.fadeIn{
	animation-name: fadeIn;
	-webkit-animation-name: fadeIn;
	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;
	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
	visibility: visible !important;
}

.fadeIn2{
	animation-name: fadeIn;
	-webkit-animation-name: fadeIn;
	animation-duration: 4s;
	-webkit-animation-duration: 4s;
	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
	visibility: visible !important;
}


@keyframes fadeIn {
	0% {
		transform: scale(0);
		opacity: 0.0;
	}
	60% {
		transform: scale(1.1);
	}
	80% {
		transform: scale(0.9);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@-webkit-keyframes fadeIn {
	0% {
		-webkit-transform: scale(0);
		opacity: 0.0;
	}
	60% {
		-webkit-transform: scale(1.1);
	}
	80% {
		-webkit-transform: scale(0.9);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
}

/*End_animation　----------------*/

/* footer
--------------------------------------------*/
.foot-info{
	width:96%;
	margin:auto auto;
	padding:3em 2rem;
}

@media only screen and (min-width:812px) {
	.foot-info{
		max-width:43em;
	}
}

.foot-txt {
	position: relative;
	margin-bottom:0 !important;
	padding:1rem 0;
	font-size:1.5rem !important;
}

.foot-home {
	position:absolute;
	top:0;
	margin-left:.5em;
}

.foot-home a{
	display:inline-block;
	height:44px;
	line-height:44px;
	padding:0 1rem;
	border-left:1px solid #fff;
	border-right: 1px solid #fff;
}

.foot-home a:hover{
	opacity:0.8;
	background: #FFF;
}

@media only screen and (max-width:768px) {
	.foot-home a{
		font-size:2em;
		padding:5px 0 0 15px;
	}

	.foot-txt {
		text-align:left;
		margin-left:2em;
	}

	.foot-home {right:.5em;}
}

/*----------------------------------------------
  print-style
------------------------------------------------*/
@media print {
		* {
			background: transparent !important;
			color: black !important;
			box-shadow: none !important;
			text-shadow: none !important;
			font-size: 12pt;}

		a,
		a:visited {text-decoration: underline;}

		a[href^="javascript:"]:after,
		a[href^="#"]:after { content: "";}

		abbr[title]:after {	content: " (" attr(title) ")";}

		thead { display: table-header-group;}

		tr,
		img { page-break-inside: avoid;}
		img { max-width: 100% !important;}

		@page { margin: 0.5cm;}

		 p, h2, h3 { orphans: 3; widows: 3;}
		 h2,  h3 { page-break-after: avoid;}

		h1 {font-size: 36pt;}
		h2 {font-size: 24pt;}
		h3 {font-size: 18pt;}
		h4 {font-size: 14pt;}
		h5,h6{font-size: 12pt;}

		#logo h1,
		#logo p {
			line-height:1.1;
			padding-top:0;
			margin-bottom: 1em !important;}

		select {background: #fff !important;}

		.text-assistive,
		.logo span ,
		.Visualcontainer
		.breadcrumb__list,
		.Area-foot,
		#pageTop,
		#side { display:none;}

		[class^="icon-"], [class*=" icon-"] {display:none;}

		.container,
		.inner-800,
		.inner-1100,
		.inner-1200,
		.inner-1442	{ width:100%; max-width:100%;}

		table{ border:1px solid gray;}
}

/*  box-style
--------------------------------------*/
.border-block{
	margin-bottom:1em;
	padding:15px 15px 0;
	border:1px solid #aaa;
}

.block_r3_1{
	margin-bottom:1em;
	padding:15px 15px 5px;
	background:#ecf2f5;
	border-radius:3px;
}

.w70 { 
	max-width:700px; 
	margin-left:auto; 
	margin-right:auto;
}

.brackets {
	position: relative;
	overflow:hidden;
	left:-1em;
    margin: 0 auto 1em;
    padding: 0;
    width: 15em;
    font-weight: bold;
}

@media only screen and (max-width:359px) {
	.brackets {left:-2em; font-size:1.3rem; }
}

.brackets li { list-style:none; margin-left:1em; padding:.5rem;}

@media only screen and (min-width:768px) {
	.brackets li {  margin-left:2em; padding:.5rem 1rem;}
.brackets {width: 18em;}

}

.brackets::before{
	position: absolute;
	top: 0%;
	content: "";
	width: 20px;
	height: 100%;
	border-top: solid 5px #004ea2;
	border-bottom: solid 5px #004ea2;
	box-sizing: border-box;
	height: 100%;
	top: 0%;
    left: 0;
    border-left: solid 5px #004ea2;
}

.brackets::after{
	 position: absolute;
    top: 0%;
    content: "";
    width: 20px;
    height: 100%;
    border-top: solid 5px #004ea2;
    border-bottom: solid 5px #004ea2;
    box-sizing: border-box;
    right: 0;
    border-right: solid 5px #004ea2;
}

/*recruitment-page*/
.balloontip {
    display: block;
    width: 100%;
    max-width: 26em;
    margin: 0 auto 1em;
    text-align: center;
    color: #004ea2;
}

.balloontip .f24{ font-size:1.6rem !important;}

@media only screen and (min-width:768px) {

	.balloontip {
		width: 100%;
		margin: 0 auto 2em;
		font-size: 1.6em; 
	}
	
	.balloontip .f24{ font-size:2.4rem !important;}
}


.balloontip.right.skewleft.blue {
    display: inline-block;
    position: relative;
    margin-bottom: 20px;
    padding: 1rem;
    background: white;
    border: 2px solid #004ea2;
}

.balloontip.right.skewleft.blue::before {
    bottom: -20px;
    left: auto;
    right: 20px;
    border-top: solid 20px #004ea2;
}
.balloontip.right.skewleft.blue::before, .balloontip.right.skewleft.blue::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: solid 12px transparent;
    border-right: solid 12px transparent;
    transform-origin: left top;
    transform: skewX(-45deg);
}


/*box-style*/
.line-block_r06 {
	position:relative;
	margin:0;
	padding: 1rem 1.8rem;
	line-height:1.6;
	border: 1px solid #e0d8c9;
	border-radius: 6px;
}

.line-block_r06 p {
	font-size:1.6rem;
	line-height:1.6;
}

.line-block_r06.r03navygray {
	border-color:#71889b;
	border-radius: 3px;
}

.line_r03 {border-radius: 3px;}

.line-block_r06.beige2 {background:#F5F3E9;}

.line-block_r06 h3 i{
	display:block;
	padding-bottom:1rem;
	color:#63BEBE;
}


/*---------------------------------------------------------------
 * Featherlight – ultra slim jQuery lightbox
 * Version 1.7.14 - http://noelboss.github.io/featherlight/
 * 軽量mordal-style
/*---------------------------------------------------------------*/
html.with-featherlight {overflow: hidden;}
.featherlight {
	display: none;
	position:fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 2147483647;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	background: rgba(0, 0, 0, 0);
}
.featherlight:last-of-type {
	background: rgba(0, 0, 0, 0.8);
}
.featherlight:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.featherlight .featherlight-content {
	/* make content container for positioned elements (close button) */
	position: relative;
	text-align: left;
	vertical-align: middle;
	display: inline-block;
	overflow: auto;
	padding: 25px 25px 0;
	border-bottom: 25px solid transparent;
	margin-left: 5%;
	margin-right: 5%;
	max-height: 95%;
	background: #fff;
	cursor: auto;
	white-space: normal;
}

/* contains the content */
.featherlight .featherlight-inner {
	display: block;
}
.featherlight script.featherlight-inner,
.featherlight link.featherlight-inner,
.featherlight style.featherlight-inner {
	display: none;
}


.featherlight .featherlight-close-icon {
    position: absolute;
    z-index: 9999;
    top: 0;
    left:0 !important;
    line-height: 20px !important;/*change*/
    width: 46px!important;/*change*/
    cursor: pointer;
    text-align: center;
    font-family: Arial,sans-serif;
	font-size:2em;/*tuika*/
	padding:10px 8px;/*tuika*/ 
	border:1px solid #d9d9d9;/*tuika*/
       /* background: rgba(226,226,226,.3);
    color: #000;*/
	background: rgba(0,0,0,.8);/*201126-chenge*/
	color: #fff;

}

.featherlight .featherlight-close-icon::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.featherlight .featherlight-image {
	width: 100%;
}

.featherlight-iframe .featherlight-content {
	/* removed the border for image croping since iframe is edge to edge */
	border-bottom: 0;
	padding: 0;
	-webkit-overflow-scrolling: touch;
}

.featherlight iframe {
	border: none;
}

.featherlight * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

@media only screen and (max-width: 1024px) {
	.featherlight .featherlight-content {
		margin-left: 0;
		margin-right: 0;
		max-height: 98%;
		padding: 10px 10px 0;
		border-bottom: 10px solid transparent;
	}
}

/* hide non featherlight items when printing */
@media print {
	html.with-featherlight > * > :not(.featherlight) {
		display: none;
	}
}


/*CSS単独_tooltip------------*/
.tooltip {
	visibility: hidden;
	text-align: center;
	position: absolute;
	z-index: 1;
	opacity: 0;
	transition: opacity 500ms;
	width:200%;
	max-width:220px;
	bottom: 125%;
	left: 20%;
	margin-left: -60px;
}

.tooltip > .tooltip-text {
	background-color: #162330;
	color: #fff;
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 12px;
	line-height:1.4;
	display: inline-block;
}

.tooltip > .tooltip-text::after {
	content: " ";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}

.tool-ttl:hover > .tooltip {
	visibility: visible;
	opacity: 1;
}

.tool-ttl {
	position: relative;
	padding: 3px 3px 0;
	background:rgba(242,221,112,.5);
	border-bottom:1px solid #f2cc33;
}

.slide-entry li,
.slide-entry p {
	margin-bottom:0;
	font-size:1.5rem !important;
	line-height:1.4 !important;
}

.slide-entry img{
	overflow:hidden;
	height:200px;
	width:100%;
}

/*shopシーン別*/
.fnav-fukol {
  padding-right : 0.5rem;
  padding-left : 0.5rem;
}

.fnav-fukol h3{	margin:2em auto 1em 1.5rem;}

.fnav-fukol ul {
  margin : 0;
	padding-bottom:1.6em;
  list-style : none;
}

.fnav-fukol-grid {
  display: flex;
  flex-wrap: wrap;
  margin: -0.5em;
}

@media screen and (max-width: 1024px) {
	.mypage .fnav-fukol-grid.c-line { padding-left:1rem; padding-right:1rem;}
}

.fnav-fukol-grid > * {
  flex: 1 0 10em;
  margin:0 0.5em;
}

.fnav-fukol-grid li {
	list-style : none;
	text-align:left;
	font-size:1.5rem;
}

.fnav-fukol-grid li a{
	display:block;
	text-decoration:none;
	padding:1.2rem ;
	border-bottom:1px solid #ccc;
	white-space: nowrap;
	transition: all  0.3s ease;
}

/*main_area-menu*/
@media screen and (min-height: 1024px) {
	#myfit .fnav-fukol-grid.c-line li a{
		padding-top:2rem ;
		padding-bottom:2rem ;
	}
}

.fnav-fukol-grid.l-line li a:hover{ background:#efefef;}
.fnav-fukol-grid.r-line li a:hover{ background:rgba(255,255,255,.4); }

.fnav-fukol-grid.l-line li a{ border-color:#ccc;}
.fnav-fukol-grid.r-line li a{ border-color:rgba(255,255,255,.3); }

.fnav-fukol-grid li a [class^="icon-"],
.fnav-fukol-grid li a [class*=" icon-"] { padding-right:1rem;}

.c-line.fnav-fukol-grid li a [class^="icon-"],
.c-line.fnav-fukol-grid li a[class*=" icon-"] { padding-left:1rem;}

@media screen and (min-width: 841px) {
	.fnav-fukol {margin:1em;}
	.fnav-fukol-grid li {font-size:1.9rem;}
	.fnav-fukol-grid li a{ padding:1em .5em; }
}

@media screen and (min-width: 1200px) {
	.fnav-fukol {margin:2em;}
	.fnav-fukol-grid li {font-size:2.1rem;}
}

.fnav-overbg {
	background: linear-gradient(to right,  #74bcd0 0%,#75bdd1 52%,#84c9bd 100%);
}

/** ===================================*/
/** RESET AND LAYOUT
======================================*/
.bx-wrapper {
  position: relative; 
  top:-1rem;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bxslider {
  margin: 0;
  padding: 0;
  /*fix flickering when used background-image instead of <img> (on Chrome)*/
  -webkit-perspective: 1000;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  /* fix other elements on the page moving (in Chrome) */
  -webkit-transform: translateZ(0);
}
/** THEME
===================================*/
.bx-wrapper {
 border-top: 1px solid #fff;
  background: #fff;
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%;
}


/* LOADER */
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #666;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #000;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
  left: 0;
}
.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
  background-position: 0 0;
}
.bx-wrapper .bx-next {
  right: 0;
}
/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
  text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
  display: block;
  text-indent: -9999px;
  width: 10px;
  height: 11px;
  outline: 0;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active,
.bx-wrapper .bx-controls-auto .bx-start:focus {
  background-position: -86px 0;
}
.bx-wrapper .bx-controls-auto .bx-stop {
  display: block;
  text-indent: -9999px;
  width: 9px;
  height: 11px;
  outline: 0;
  margin: 0 3px;
}
.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active,
.bx-wrapper .bx-controls-auto .bx-stop:focus {
 /* background-position: -86px -33px;*/
}
/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}
/* IMAGE CAPTIONS */
.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666;
  background: rgba(25, 40, 61, 0.75);
  width: 100%;
}
.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: inherit;/*change*/
  display: block;
  font-size: 1.8rem;/*change*/
  line-height:1.6;/*tuika20200917*/
  letter-spacing:.5rem;
  padding:5px 10px; /*change*/
  text-align:center;/*tuika20200917*/
}

@media screen and (max-width: 700px) {/*tuika20200917*/
	.bxslider img { width: inherit ;object-fit:cover;}
	.bx-wrapper .bx-caption,
	.bx-wrapper .bx-caption span { display:none;font-size: .85em;}
}

.bxslider a img:hover:after {
	position: absolute;
		background: rgba(25, 40, 61, 0.6);/*change*/
	}

/*矢印をカスタマイズ*/
	.bxslider {
		position: relative;
	}
	.bxslider a {
		transition: 0.4s;
	}
	.bxslider .bx-pager-item a:hover {
		background: rgba(25, 40, 61, 0.6);/*change*/
	}
	.bxslider .bx-pager-item a.active {
		background: rgba(160,160,160,1);
	}
 
	.bxslider .bx-controls-direction {
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -1em;
		width: 100%;
		height: 0px;
	}
	.bxslider .bx-controls-direction a {
		width: 40px;
		height: 40px;
		display: block;
		background: rgba(25, 40, 61, 0.8);/*change*/
		position: relative;
		text-indent: -100%;
		overflow: hidden;
	}
	.bxslider .bx-controls-direction a:hover {
		background: rgba(25, 40, 61, 0.6);/*change*/
	}
	.bxslider .bx-controls-direction a:before,
	.bxslider .bx-controls-direction a:after {
		content: '';
		position: absolute;
		top: 12px;
		left: 8px;
	}
	.bxslider .bx-controls-direction a:after {
		width: 16px;
		height: 16px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
	}
	.bxslider .bx-controls-direction a.bx-prev:after {
		transform: rotate(-135deg);
		left: 16px;
	}
	.bxslider .bx-prev {
		float: left;
	}
	.bxslider .bx-next {
		float: right;
	}
 
	.bx-loading:before,
	.bx-loading:after,
	.bx-loading {
	  border-radius: 50%;
	  width: 1em;
	  height: 1em;
	  -webkit-animation-fill-mode: both;
	  animation-fill-mode: both;
	  -webkit-animation: load7 1.8s infinite ease-in-out;
	  animation: load7 1.8s infinite ease-in-out;
	}
	.bx-loading {
	  color: #000;
	  font-size: 10px;
	  position: absolute;
	  top: 40%;
	  left: 50%;
	  text-indent: -100%;
	  -webkit-transform: translateZ(0);
	  -ms-transform: translateZ(0);
	  transform: translateZ(0);
	  -webkit-animation-delay: -0.16s;
	  animation-delay: -0.16s;
	}
	.bx-loading:before {
	  left: -3.5em;
	  -webkit-animation-delay: -0.32s;
	  animation-delay: -0.32s;
	}
	.bx-loading:after {
	  left: 3.5em;
	}
	.bx-loading:before,
	.bx-loading:after {
	  content: '';
	  position: absolute;
	  top: 0;
	}
	@-webkit-keyframes load7 {
	  0%,
	  80%,
	  100% {
	    box-shadow: 0 2.5em 0 -1.3em;
	  }
	  40% {
	    box-shadow: 0 2.5em 0 0;
	  }
	}
	@keyframes load7 {
	  0%,
	  80%,
	  100% {
	    box-shadow: 0 2.5em 0 -1.3em;
	  }
	  40% {
	    box-shadow: 0 2.5em 0 0;
	  }
	}