@charset "utf-8";

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body,html {width: 100%;height: 100%;}
body {
	margin: 0px;
	padding: 0px;
	color: #666;	/*全体の文字色*/
	font-family:"游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo, Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;	/*フォント指定*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #666;		/*リンクテキストの色*/
	transition: 0.4s;	/*マウスオン時の移り変わるまでの時間設定。0.4秒。*/
}
a:hover {
	color: #7a7a77;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}



/*フォーム設定
--------------------------------------------------------------------------
.search{
	text-align: right;
	margin:20px 20px;
}

#sbox1{
max-width:500px;
height:30px;
border-radius:2px;
outline:0;
margin-bottom:40px;
background:#eee;	
}
----------------------*/


/*トップページのメインイメージ
---------------------------------------------------------------------------*/
#mainimg {
	width: 100%;	/*画像の幅*/
	position: relative;
}
/*メインイメージ上のメニューバナー*/
#message {
	position: absolute;
	right: 3%;		/*#メインイメージに対して右から3%の場所に配置*/
	bottom: 40px;	/*#メインイメージに対して下から40pxの場所に配置*/
	background: #ccc;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.2);	/*背景色。255,255,255は白の事で0.2は20%色がついた状態の事。*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	width: 50%;	/*バナーの幅*/
	padding: 1%;	/*バナー内の余白。一番外側のボーダーと、バナー画像との余白部分です。上のbackgroudが適用されます。*/
   -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

#message:hover {
  background-color: rgba(255,255,255,0.5);
}


/*ヘッダー（左側のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	background: #fff url(../images/header_bg.jpg) no-repeat center bottom / 100%;	/*背景色、背景画像の読み込み、リピートせず、中央、下側に配置。幅100%。*/
	width: 20%;	/*ヘッダー幅。イメージ的には左ブロック幅と考えて下さい。*/
	height: 100%;	/*高さ*/
	position: fixed;	/*画面に対して固定表示*/
	left: 5%;			/*ウィンドウに対して左から5%の場所に配置*/
	top: 0px;			/*ウィンドウに対して上から0pxの場所に配置*/
	border-top: 5px solid #7a7a77;	/*上の線の幅、線種、色*/
	overflow: auto;	/*ブラウザの高さが狭いとヘッダーが途中で切れて見れなくなる事があるので、その場合にスクロールバーを出す設定*/
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.2は20%だけ色がついた状態の事。*/
}
/*ロゴ*/
header #logo {
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.9);	/*背景色。255,255,255は白の事で、0.9は90%色がついた状態の事。*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.9);	/*背景色。255,255,255は白の事で、0.9は90%色がついた状態の事。*/
	border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
	font-size: 20px;	/*文字サイズ*/
}
/*メニュー１個あたりの設定*/
#menubar li {
	border-bottom: 1px solid #ccc;	/*下の線の幅、線種、色*/
}
#menubar li a {
	display:  block;text-decoration: none;
	text-align: center;	/*文字を中央よせ*/
	padding: 10px;		/*メニュー内の余白*/
	color: #696969;		/*文字色*/
}
/*説明表記（飾り文字）*/
#menubar li a span {
	display: block;
	letter-spacing: 0.1em;
	font-size: 9px;	/*文字サイズ*/
	color: #808080;	/*文字色*/
}
/*マウスオン時と、現在表示中メニューの設定*/
#menubar li a:hover, #menubar li.current a {
	background: #444444;		/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色*/
	color: #fff;			/*文字色*/
}
/*マウスオン時と、現在表示中メニューの飾り文字の設定*/
#menubar li a:hover span, #menubar li.current a span {
	color: #fff;
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}



/*言語設定
---------------------------------------------------------------------------*/
/*言語設定*/


/*メインイメージ上の言語セレクト位置設定*/
#langageselect{
	position: absolute;
	right: 3%;		/*#メインイメージに対して右から3%の場所に配置*/
	top: 18px;	/*#メインイメージに対して下から40pxの場所に配置*/
}


.langagebox {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.langagebox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.langagebox select {
    appearance: none;
    min-width: 100px;
    height: 2.3em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: none;
    border-bottom: 2px solid #d0d0d0;
    background-color: rgba(255,255,255,0.5);
    color: #333333;
    font-size: 0.8em;
    cursor: pointer;
}

.langagebox select:focus {
    outline: none;
}

@media screen and (max-width:768px){
	#langageselect { 
	position: absolute;
	right: 14%;		/*#メインイメージに対して右から3%の場所に配置*/
	top: 15px;	/*#メインイメージに対して下からXXpxの場所に配置*/
}


.langagebox {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.langagebox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.langagebox select {
    appearance: none;
    min-width: 100px;
    height: 2.3em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: none;
    border-bottom: 2px solid #d0d0d0;
    background-color: rgba(255,255,255,0.5);
    color: #333333;
    font-size: 0.8em;
    cursor: pointer;
}

.langagebox select:focus {
    outline: none;
}
}


/*コンテンツ 
---------------------------------------------------------------------------*/
/*コンテンツ*/
.contents {
	overflow: hidden;
	padding: 50px 4% 100px 30%;	/*ボックス内の余白。上、右、下、左。*/
}
/*.bg1背景色*/
.bg1 {
	background: #dfe5e6;
} 
/*.bg2背景色*/
.bg2 {
	background: #d3d7de;
} 
/*.bg3背景色*/
.bg3 {
	background: #d7d7d1;
} 
/*h2見出し*/
.contents h2 {
	clear: both;
	width: 100%;
	font-size: 40px;	/*文字サイズ*/
	margin-bottom: 40px;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	/*見出しの上に入っている装飾。*/
	padding-top: 50px;	/*見出しの上の装飾分、余白をとる*/
}
/*h2見出し内のspanタグ*/
.contents h2 span {
	display: block;
	font-size: 15px;	/*文字サイズ*/
}
/*h3見出し*/
.contents h3 {
	clear: both;
	margin-bottom: 10px;	/*下に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	background: #fff;		/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.3);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	text-align: center;		/*文字を中央に*/
	border-radius: 30px;	/*角丸のサイズ。大きめに設定しておけばOK。*/
	padding: 0px 20px;		/*上下、左右への余白*/
}




/*h4 見出し装飾バリエーション*/

/*下点線*/
.uline_style_sub01 {
    padding: 0.7rem 0.5rem;
    border-bottom: 4px dotted #5F5F5F;
	font-size: 2rem;
	text-align: center;
	max-width: 450px;
	color: rgba(0,0,0, 0.6);
   margin: 20px auto;
}
/*その他の設定*/
*,::before, ::after {
    box-sizing: border-box;
}



/*h5見出し*/
.contents h5 {
	clear: both;
	margin-bottom: 20px;	/*下に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	color:white;
	background: #444444;		/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	text-align: center;		/*文字を中央に*/
	padding: 0px 20px;		/*上下、左右への余白*/
}



/*段落タグ*/
.contents p {
	padding: 0 30px 20px;		/*上、左右、下への余白*/
}
/*段落タグが続いた場合の設定*/
.contents p + p {
	margin-top: -5px;	/*続いた段落タグを少し上に詰める設定*/
}
/*sectionが続いた場合の設定*/
.contents section + section {
	margin-top: 50px;
}

/*センター見出し*/
div.bun p {
	clear: both;
	font-size: 13px;	/*文字サイズ*/
	margin-bottom: 20px;	/*下に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	text-align: center;		/*文字を中央に*/
	padding: 0px 20px;		/*上下、左右への余白*/
}

/*タグ後に空白行*/
.mb-30 { margin-bottom: 30px;
}
.mb-50 { margin-bottom: 50px;
}

.mbt-50 { margin-bottom: 50px;
		font-size: 12px;	/*文字サイズ*/
}

/*タグ前後に空白行*/
.ptb-2 { padding: 1rem 0rem 3rem;
}

/*タグ左右に若干スペース*/
.sp-5 { padding: 5px;
}


/*スマホ表示の時だけ改行*/
.sm { display: none;
}
/*スマホ表示の時だけ有効にする*/
@media screen and (max-width:768px){
	.sm { display: block;
	}}



/*文字装飾 class="" の「""」に入れる。p、span、divなどで使える
------------------------------------------------------------------------*/

/*アンダーライン(黒／定番)*/
.under0 {
  text-decoration: underline;
}


/*アンダーライン(黄)*/
.under1 {
  background: linear-gradient(transparent 60%, #EEEE7E  30%);
}


/*太字に*/
.fbold { font-weight: bolder;
}

/*小さく*/
.fsub { font-size: 0.8em;
}


/*赤字に*/
.fcolor { color: #dc143c;
}


/*背景に白い枠 <div class="bw"> 例：contact_business.html 見積もり依頼*/
.bw {
	display:flex;
  	max-width: 90%;
	height: auto;
	margin:2rem 5%; 
	padding:1rem;
	background-color: rgba(255,255,255,0.3)
}
@media screen and (max-width:768px){
	.bw { 
		width: auto;
		max-width: 100%;
		padding: 1rem 0.3rem;
		margin: 0 2%;
	}}



/*背景に白い枠の時は中の文字をこの<div class="bwtext">で囲む 例：contact_business.html 見積もり依頼*/	
.bwtext {
	font-size:0.8rem;
	width: auto;
	min-width: 65%;
	height: 50%;
	flex-direction: column;
	padding: 1rem 1rem;
	margin: 0 1rem;
	}
@media screen and (max-width:768px){
	.bwtext { 
		width: auto;
		min-width: 100%;
		padding: 1rem 0.5rem;
		margin: 0 1rem;
	}}


/*ルビ*/
rt {
  font-size: 1rem; /* 文字サイズを小さく */
　text-align: center;
}


/*文字を目立たせたい - 中間題字*/
.title-sub {
  	margin: 30px 20% 10px;
  	text-align: center;
	letter-spacing: 0.1em;
	font-weight: bold;
	border-bottom: 1px solid rgba(0,0,0,0.3);	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
}


/*右寄せ位置調整*/
.side-r{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	margin-right:5%;
}

/* 一時非推奨（後で削除予定のもの） */
.is-deprecated {
  text-decoration: line-through;
  opacity: 0.5;
}


/*あしらい用--文字アイコン化
------------------------------------------------------------------------*/
.icon-red {
	background: #cd5c5c;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 0.6em;		/*文字サイズ*/
	line-height: 2;
	padding: 3px 13px;
	border-radius: 6px;
	margin: 2px 8px;
	vertical-align: text-top;
}

.icon-blue {
	background: #005590;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 0.6em;		/*文字サイズ*/
	line-height: 2;
	padding: 3px 13px;
	border-radius: 6px;
	margin: 2px 8px;
	vertical-align: text-top;
}

.icon-dark {
	background: #333333b3;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 0.9em;		/*文字サイズ*/
	line-height:1;
	padding: 3px 13px;
	border-radius: 6px;
	margin: 2px 8px;
	vertical-align: text-top;
}

/*矢印付き ミニボタン用
------------------------------------------------------------------------*/

.mbtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 180px;
	height:30px;
	color: rgba(90,90,90,1.00);
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s;
}

.mbtn a:hover {
	color:  #f2f2f2;
}

/*フチ黒ボタン*/

.mb01 a {
	background-color: rgba(255,255,255,0.3);
	border: 1px solid rgba(90,90,90,1.00);
}

.mb01 a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background-color: transparent;
	border: 1px solid rgba(90,90,90,1.00);
	border-radius: 50%;
}

.mb01 a::after {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 23px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color:  rgba(90,90,90,1.00) rgba(90,90,90,1.00) transparent transparent;
}

.mb01 a:hover {
	background-color: rgba(0,0,0,0.5);
	border: 1px solid #f2f2f2;
}

.mb01 a:hover::before {
	border: 1px solid #f2f2f2;
}

.mb01 a:hover::after {
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}


/*フチ白ボタン*/

.mb02 a {
	background-color: rgba(255,255,255,0.5);
	border: 1px solid rgba(90,90,90,0.8);
}

.mb02 a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
	background-color: transparent;
	border: 1px solid rgba(90,90,90,0.8);
	border-radius: 50%;
}

.mb02 a::after {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 23px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color:  rgba(90,90,90,0.8) rgba(90,90,90,0.8) transparent transparent;
}

.mb02 a:hover {
	background-color: rgba(0,0,0,0.5);
	border: 1px solid #f2f2f2;
}

.mb02 a:hover::before {
	border: 1px solid #f2f2f2;
}

.mb02 a:hover::after {
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}



a.btn_04 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	background: #27acd9;
	color: #fff;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_04:hover {
	color: #27acd9;
	background: #fff;
}


/*配置用
------------------------------------------------------------------------*/
/*センター配置*/
.cen{
	text-align:center;
	}


/*画像配置用
------------------------------------------------------------------------*/

/*画像を画面中央へ単独配置*/
.menimg{
	text-align:center;
	margin-top: 30px;
	margin-bottom: 30px;
	padding:0 2rem;
}

/*画像をボックス内中央へ配置*/
.boxinimg{
	text-align:center;
	margin-top: 30px;
	margin-bottom: 30px;
	padding:0 3rem;
}

/*タイトル画像用 画面中央へ単独配置*/
.timg{
	margin: 0 auto;
	width:30%;
	margin-top: 30px;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px){
	.timg,
	.timg:nth-child(odd)  {
	width:60%;
	margin-top: 30px;
	margin-bottom: 20px;
}
	}



/*ポップアップ設定
---------------------------------------------------------------------------*/
.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 60px 10px;
  text-align: center
}

.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper
.modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 90vw;
  max-width: 768px;
  padding: 20px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 35px;
  color: #95979c !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}

.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}



/*ポップアップ設定
---------------------------------------------------------------------------*/
#popup {
  display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
  cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}

.popup-overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
  display: block;
  z-index: 99999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.popup-window {
  width: 90vw;
  max-width: 800px;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 6px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.popup-text {
  margin: 0;
}

.popup-text:not(:last-of-type) {
  margin-bottom: 1em
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: -26px;
  right: 0;
}


/*アイコン設定
---------------------------------------------------------------------------*/
ion-icon {
  font-size: 30px;
}

/*画像スライダー設定---------------------------------------------------------------------------*/
/*--------画像サイズ調整---------*/
slider. img{
	width:100%;
}

.sec_inner {
	margin:50px;

}

/*-----------height調整----------*/
.slick-slide{
	height:auto!important;
}

/*-----------矢印表示----------*/
.slick-next{
    right:0!important;
}
.slick-prev{
    left:0!important;
}
.slick-arrow{
    width: initial!important;
    height: initial!important;
    z-index:2!important;
}
.slick-arrow:before{
    font-size: 30px!important;
}

@media screen and (max-width: 768px){
.sec_inner {
	margin:1rem;

}

	}


/*-----------動画----------*/
.douga-main{
	text-align: center;
	}
.douga-main video{
	width:100%;
	max-width: 750px;
}

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

.douga-main video{
	max-width: 700px;
	}
}

/*-----------youtube動画埋め込み----------*/
.ytvideo{
position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
	
}

.ytvideo iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*カスタマー一覧 本文(customers.html)
---------------------------------------------------------------------------*/

.customer {
	padding:20px 30px;
	margin-bottom:50px;
	background: rgba(255,255,255,0.3);
}
.customer ul {
	list-style-type: square;
	padding-left:3rem;
}


/*フレックスボックス設定 (miniリンクバー)
---------------------------------------------------------------------------*/

.contents-mini {
	display: flex;
	justify-content: center;
	margin:3rem 5% 3rem;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	border-radius: 2px;	/*角丸のサイズ*/
	padding:1rem;/*外枠からの余白の大きさ*/
	}

.contents-mini:hover{
	background-color:#fff;
	transition: all .2s;
}

.contents-mini:nth-child(odd) {
	flex-direction: row-reverse;
}

.minicontents-text {
	width: 60%; /*flex: 2;*/
	
}
.minicontents-img {
	width: 35%; /*flex: 1;*/
}

.minicontents-text h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.minicontents-img img {
	display: block;
	width: auto;
	height: 100%;
	justify-content: center;

	
}

@media screen and (max-width: 768px){
	.contents-mini,
	.contents-mini:nth-child(odd)  {
		flex-direction: column;
		align-items: center;
	}
	
	.minicontents-img {
		padding: 0.5rem;
		justify-content: center;
		width: 100%; 
		height: auto;
	}

	.minicontents-text {
		width: 100%; 
	}

	.minicontents-img img {
	justify-content: center;
    width:100%;
    height:auto;
  }
}

/*フレックスボックスh2見出し*/
.minicontents-text h2 {
	clear: both;
	font-size: 23px;	/*文字サイズ*/
	margin-bottom: 1rem;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	/*line-height: 1.5;	行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 15px;	/*見出しの上の装飾分、余白をとる*/
}

.minicontents-text p {
	clear: both;
	font-size: 10px;	/*文字サイズ*/
	margin-bottom: 0;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 5px;	/*見出しの上の装飾分、余白をとる*/
}
/* 最小限でリンクを有効化 */
.contents-mini a.mini-link {
  display: block;        /* 横幅を親に合わせる */
  text-decoration: none; /* 下線を消す */
  color: inherit;        /* 親の文字色を継承 */
}


/*フレックスボックス設定 (miniリンクバー2 小さめ)
---------------------------------------------------------------------------*/

.contents-mini2 {
	display: flex;
	justify-content: center;
	margin-bottom: 3rem;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	border-radius: 2px;	/*角丸のサイズ*/
	padding:1rem;/*外枠からの余白の大きさ*/
	}

.contents-mini2:hover{
	background-color:#fff;
	transition: all .2s;
}

.contents-mini2:nth-child(odd) {
	flex-direction: row-reverse;
}

.minicontents-text2 {
	width: 60%; /*flex: 2;*/
	
}
.minicontents-img2 {
	width: 35%; /*flex: 1;*/
}

.minicontents-text2 h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.minicontents-img2 img {
	display: block;
	width: auto;
	height: 100%;
	justify-content: center;

	
}

@media screen and (max-width: 768px){
	.contents-mini2,
	.contents-mini2:nth-child(odd)  {
		flex-direction: column;
		align-items: center;
		padding:2rem;
	}
	
	.minicontents-img2 {
		padding-top: 1rem;
		width: 95%; 
	}

	.minicontents-text2 {
		width: 100%; 
	}

}

/*フレックスボックスh2見出し*/
.minicontents-text2 h2 {
	clear: both;
	font-size: 23px;	/*文字サイズ*/
	margin-bottom: 1rem;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	/*line-height: 1.5;	行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 15px;	/*見出しの上の装飾分、余白をとる*/
}

.minicontents-text2 p {
	clear: both;
	font-size: 10px;	/*文字サイズ*/
	margin-bottom: 0;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 5px;	/*見出しの上の装飾分、余白をとる*/
}

.minicontents-text2 span {
	clear: both;
	font-size: 18px;	/*文字サイズ*/
	margin-bottom: 0;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.3em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
}

/*フレックスボックス設定 (miniリンクバー 横並びボックス)
---------------------------------------------------------------------------*/

.contents-2boxtop {
	display: flex;
	justify-content: space-around;
	margin: 2rem;
	position: relative;
	align-items: center;
}

.contents-2box {
	display: flex;
	justify-content: center;
	position: relative;
	align-items: center;
	align-self: stretch;
	background: rgba(255,255,255,0.3);	
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	border-radius: 2px;	/*角丸のサイズ*/
	padding:0.8rem;/*外枠からの余白の大きさ*/
	margin: 1.5rem;
	width: 50%;
	height: 8rem;
	}

.contents-2box:hover{
	background-color:#fff;
	transition: all .2s;
}



.contents-2boxtext {
	margin-top: 1.5rem;
	justify-content: center;	
}
.contents-2boximg {
	justify-content: center;
	padding: 0.8rem;
	flex-shrink: 0;
}

.contents-2boximg img {
	display: block;
	height: 4.5rem;
	justify-content: center;	
}

.contents-2boxtext p {
	font-size: 1.8rem;	/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
}


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

	.contents-2boxtop,
	.contents-2boxtop:nth-child(odd)  {
		display: flex;
		padding:0.5rem 1rem;
		flex-direction: column;
		width: 100%;
	}
	
	.contents-2box {
		display: flex;
		margin:1rem;
		width: 80%;
		align-items: center;
		align-self: stretch;
	}
	
	.contents-2boximg {
		justify-content: center;
		padding: 2rem 1rem;
		width: auto; 
		flex-shrink: 0;
	}

	.contents-2boxtext {
		width: auto; 
	}

	.contents-2boximg img {
	justify-content: center;
  }

/*フレックスボックスp見出し*/
.contents-2boxtext p {
	font-size: 1.3rem;	/*文字サイズ*/
	margin-top: 0.5rem;
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	/*line-height: 1.5;	行間*/
	color: #333;	/*文字色*/
}
	
}
								
								
								
/*-----ブログカード----*/								
								
.blog-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1000px;
  margin: 4rem auto;
  padding: 0 1rem;
}

.blog-panel {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem;

　text-align: center;
  text-decoration: none;
  color: #333;

  background: rgba(255,255,255,0.9);
  border: 1px solid #eee;
  border-radius: 4px;

  transition: background 0.3s ease;
}

.blog-panel ion-icon {
	padding: 0 1.5em;
  font-size: 1.8em;
  color: #666;
}

.blog-panel h3 {
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  margin-bottom: 0.5rem;
}

.blog-panel p {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

/* hoverは「動かない」 */
.blog-panel:hover {
  background: #fff;
}

/* SP */
@media (max-width: 768px) {
  .blog-links {
    grid-template-columns: 1fr;
  }
								}
								
.blog-panel {
  border-left: 3px solid transparent;
}

.blog-panel:hover {
  border-left: 3px solid #999;
}								
								
								
								
/*フレックスボックス設定 (SNS用ボックス)
---------------------------------------------------------------------------*/
								
.sns-wrap {
  display: grid;
									grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
									gap: 1.5rem;
  max-width: 900px;
  margin: 2rem auto;
  padding: 0 1rem;
}

/* カード本体（前回と同じ） */
.sns-card {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 2rem;
justify-content: center;
  text-decoration: none;
  color: #333;

  border: 1px solid #e5e5e5;
  border-radius: 6px;

  transition: all 0.25s ease;
}

.sns-card img {
  height: 3.2rem;
  flex-shrink: 0;
}

.sns-card span {
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  transition: letter-spacing 0.25s ease;
}
								
.sns-card:only-child {
justify-content: center;
}								
								
/* hover演出 */
.sns-card:hover {
  background-color: #fafafa;
  border-color: #ccc;
  transform: translateY(-2px);
}

.sns-card:hover span {
  letter-spacing: 0.2em;
}

/* スマホ：縦並び */
@media screen and (max-width: 768px) {
  .sns-wrap {
    grid-template-columns: 1fr;
  }

  .sns-card {
    justify-content: center;
  }
}

/*フレックスボックス設定 (リンク用ボックス/SNS反転タイプ)
---------------------------------------------------------------------------*/
								
.link-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 900px;
  margin: 2rem auto;
  padding: 0 1rem;
}

/* カード本体 */
.link-card {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 2rem;
justify-content: center;
  text-decoration: none;
  color: #333;

  background-color: rgba(250, 250, 250, 0.5) ;
  border: 1px solid #ccc;
  border-radius: 6px;
  transform: translateY(-2px);

  transition: all 0.25s ease;
}

.link-card img {
  height: 3.2rem;
  flex-shrink: 0;
}

.link-card span {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  transition: letter-spacing 0.25s ease;
}
								
.link-card:only-child {
justify-content: center;
}								
								
/* hover演出 */
.link-card:hover {
  background-color: transparent;
  border-color: #e5e5e5;
  transform: translateY(0);
}

.link-card:hover span {
  letter-spacing: 0.15em;
}

/* スマホ：縦並び */
@media screen and (max-width: 768px) {
  .link-wrap {
    grid-template-columns: 1fr;
  }

  .link-card {
    justify-content: center;
  }
}
								
								
/*フレックスボックス設定 (miniリンクバー 横長ミニボックス)
---------------------------------------------------------------------------*/

.contents-longbox {
	display: flex;
	justify-content: center;
	position: relative;
	align-items: center;
	align-self: stretch;
	background: rgba(255,255,255,0.3);	
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	border-radius: 2px;	/*角丸のサイズ*/
	padding:0.8rem;/*外枠からの余白の大きさ*/
	margin: 1.5em auto 2em;
	width: 80%;
	height: 8rem;
	}

.contents-longbox:hover{
	background-color:#fff;
	transition: all .2s;
}


.contents-longboxtext {
	margin-top: 1.5rem;
	justify-content: center;	
}
.contents-longboximg {
	justify-content: center;
	padding: 0.8rem;
	flex-shrink: 0;
}

.contents-longboximg img {
	display: block;
	height: 4.5em;
	justify-content: center;	
}

.contents-longboxtext p {
	font-size: 1.8rem;	/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
}


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

	
	.contents-longbox {
		display: flex;
		margin:1.5em auto;
		height: 5em;
		align-items: center;
		align-self: stretch;
	}
	
	.contents-longboximg {
		justify-content: center;
		padding: 2rem 1rem;
		width: auto; 
		flex-shrink: 0;
	}

	.contents-longboxtext {
		width: auto; 
	}

	.contents-longboximg img {
	justify-content: center;
  }

/*フレックスボックスp見出し*/
.contents-longboxtext p {
	font-size: 1.3rem;	/*文字サイズ*/
	margin-top: 0.5rem;
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	/*line-height: 1.5;	行間*/
	color: #333;	/*文字色*/
}
	
}


/* aタグの設定 
---------------------------------------------------------------------------*/
.contents-mini a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.contents-mini2 a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.contents-2box a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/*subメニュー設定
---------------------------------------------------------------------------*/

.subbox {
	display: flex;
	justify-content: center;
	margin:2rem 1rem;
	position: relative;
	align-items: center;
	padding: 1.5rem;
	background: rgba(255,255,255,0.5);	
}


.subtext {
	width: 60%; /*flex: 2;*/
	margin: 0 2rem;
}
.subpict {
	width: 35%; /*flex: 1;*/
	text-align: center;
	margin: 2rem;
	padding: 1rem;
}

.subtext h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.subimg {
	display: block;
	text-align: center;
	width: 40%;
	height: auto;
	margin: 2rem;
	padding: 1rem;
}

.sub-title {
	font-size: 4rem;
}

@media (max-width:768px) {
  .subbox {
    flex-direction: column;
  	margin:2rem 0;
	padding: 3rem 0;
	}
  .subbox:nth-child(even) {
    flex-direction: column;
  }
  .subtext {
    text-align: center;
	width: 80%;
  }
  .subbox:nth-child(even) .text {
    text-align: center;
  }

  .subbox:nth-child(even) .pict {
    margin-left: 0;
    margin-right: 0%;
  }
  .subimg {
    width:70%;
    height:auto;
    padding: 3rem 0;
	margin-left: 0;
    text-align: center;}
}


/*ボックス内のh4見出し*/
.subbox h4 {
	text-align: left;	/*文字をセンタリング*/
	border-bottom: 1px solid #666;	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
	width:95%;
		}

/*ボックス内の段落タグ*/
.subbox p {
	padding: 0!important;
	line-height: 1.5;	/*行間を少し狭くする*/
	margin-bottom: 10px;
	font-size: 13px;
	width:95%;
	text-align:left;
		}		

/*フレックスボックス設定 (about.html)
---------------------------------------------------------------------------*/
.contents-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 3rem;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	border-radius: 2px;	/*角丸のサイズ*/
}

.contents-wrap:hover{
	background-color:#fff;
	transition: all .2s;
}

.contents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}

.contents-text {
	width: 60%; /*flex: 2;*/
	
}
.contents-img {
	width: 35%; /*flex: 1;*/
}

.contents-text h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.contents-img img {
	display: block;
	width: 100%;
	height: auto;
	justify-content: center;

}

@media screen and (max-width: 768px){
	.contents-wrap,
	.contents-wrap:nth-child  {
		flex-direction: column;
	}
	
	.contents-text{
		width: 100%; /*flex: 1;*/
	}

	.contents-img {
		width: 70%; 
		max-height:  100%; /*flex: 1;*/
	}	
	
	.contents-text {
		padding: 3rem;
	}
}


/*フレックスボックスh2見出し*/
.contents-text h2 {
	clear: both;
	font-size: 30px;	/*文字サイズ*/
	margin-bottom: 0;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 50px;	/*見出しの上の装飾分、余白をとる*/
}

.contents-text p {
	clear: both;
	font-size: 15px;	/*文字サイズ*/
	margin-bottom: 40px;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
/*	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
	padding-top: 50px;	/*見出しの上の装飾分、余白をとる*/
}

/*フレックスボックス設定 (technology.html)
---------------------------------------------------------------------------*/
.contents-tec {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
	padding:4rem 3rem 3rem;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	
}

.contents-tec2 {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
	padding:4rem 3rem 3rem;
	position: relative;
	align-items: left;
	background: rgba(255,255,255,0.5);	
}

.contents-tec:nth-child(odd) {
	flex-direction: row-reverse;
}

.teccontents-text {
	width: auto; /*flex: 2;*/
	max-width:60%;
	font-size: 1.7rem;
	padding: 0 0.5rem;
}

.teccontents-engtext {
	width: auto; /*flex: 2;*/
}

.teccontents-text2 {
	width: auto; /*flex: 2;*/
	
}

.teccontents-img {
	max-width:40%; /*flex: 1;*/
}

.teccontents-text h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.teccontents-text h2 span {
	margin:1rem 0 2rem 1rem;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	color:#313131;
}

.teccontents-text2 h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.teccontents-img img {
	display: block;
	width: 100%;
	height: auto;
}


/*フレックスボックスh2見出し*/
.teccontents-text h2 {
	clear: both;
	font-size:  2.5rem;	/*文字サイズ*/
	margin-bottom: 1.5rem;	/*下に空ける余白*/
	text-align: left;		/*文字をセンタリング*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
	padding-top: 50px;	/*見出しの上の装飾分、余白をとる*/
	padding-left:30px;
}

.teccontents-text2 h2 {
	clear: both;
	font-size:  2.5rem;	/*文字サイズ*/
	margin-bottom: 1rem;	/*下に空ける余白*/
	text-align: left;		/*文字をセンタリング*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
	padding-top: 50px;	/*見出しの上の装飾分、余白をとる*/
	padding-left:30px;
}


@media screen and (max-width: 768px){
.contents-tec,
.contents-tec:nth-child(odd)  {
	flex-direction: column;
	padding:1rem;
	}
	
.teccontents-text {
		width: 100%; /*flex: 1;*/
		min-width:100%;
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 1rem 0.5rem ;
	}
	
.teccontents-img{
		width: auto; /*flex: 1;*/
		max-width:50%;
		padding:1rem 2rem;
	}	

	
.teccontents-text h2 {
	margin-bottom: 1rem;
	font-size: 2.3rem;
}
	
.contents-tec2 {
	display: flex;
	justify-content: center;
	margin-bottom: 0;
	padding:1rem 0.5rem 3rem;
	position: relative;
	align-items: left;
	background: rgba(255,255,255,0.5);	
}
}


	/*contents-tec2 縮小
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
	.contents-tec2,
	.contents-tec2:nth-child(odd)  {
		flex-direction: column;
		padding:1rem;
	}
	
	.teccontents-text2 {
		width: auto; /*flex: 1;*/
		padding: 0 3rem 0;
}
	.teccontents-img2{
		width: 50%; /*flex: 1;*/
	}
		
	.teccontents-text2 h2 {
	padding: 1rem 2rem 0 ;
	font-size:  1.5rem;
	margin:auto;
}
	
	
}



/*contents-process
---------------------------------------------------------------------------*/
.prolist {
	display:flex;
  	max-width: 98%;
	min-height:250px ;
	height: auto;
	align-items: center;
	margin:2rem 1.5rem; 
	padding:1rem;
	background-color: rgba(255,255,255,0.5)
}
	
.protext {		
	width: auto;
	min-width: 65%;
	height: 50%;
	flex-direction: column;
	padding: 1rem 2rem;
	}
	
.propict {
	flex-direction: row-reverse;
	padding: 1rem 2rem;
	min-width: 35%;
	}

.probtn {
	width: 60%;
}
	
.propict img {
 	max-height: 80%;
	border-radius: 2%;	/*円形にする設定。*/
}


a.btn_04 {
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  width: 22rem;
  height: 3.3rem;
  position: relative;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgb(51,51,51);
  box-sizing: border-box;
  padding: 0 2.5rem 0 4rem;
  color: rgb(51,51,51);
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0.5rem 0 0;
}

a.btn_04:before {
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  letter-spacing: 0.8em;
  border-top: 2px solid rgb(51,51,51);
  border-right: 2px solid rgb(51,51,51);
  transform: rotate(45deg);
  position: absolute;
  top: 58%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a.btn_04:hover:before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}
	

.prolist h4 {
	margin:0 auto;
	text-align: left;	/*文字位置*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 22px;		/*文字サイズ*/
}

.prolist p {
padding: 0!important;
margin-bottom:  2rem;
font-size: 15px;
line-height: 1.8em;	/*行間を少し狭くする*/
}



@media (max-width:768px) {
.prolist {
    flex-direction: column;
	text-align: center;
  }
		
.propict{
	max-width: 80%;
	min-width: 80%;
    height:auto;
	}
	
.projuchu {
	margin:0 auto;
	margin-bottom: 0.3rem;	/*見出しの下に空けるスペース*/
	font-size: 1.3rem;		/*文字サイズ*/
	color: #FF0000/*文字色*/
}	
	
.prolist h4 {
	margin:0 auto;
	text-align: center;	/*文字位置*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin-bottom:  1rem;	/*見出しの下に空けるスペース*/
	font-size: 2rem;		/*文字サイズ*/
}

.prolist p {
    text-align: left;
	}

.probtn {
	width: 90%;
}

a.btn_04 {
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  width: 100%;
　max-width: 25rem;
  height: 3.3rem;
  position: relative;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgb(51,51,51);
  box-sizing: border-box;
  padding: 0 0.5rem 0 4rem;
  color: rgb(51,51,51);
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0.5rem auto 0;
}

a.btn_04:before {
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  letter-spacing: 0.8em;
  border-top: 2px solid rgb(51,51,51);
  border-right: 2px solid rgb(51,51,51);
  transform: rotate(45deg);
  position: absolute;
  top: 58%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a.btn_04:hover:before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}

}




/* 製作工程の設定 
---------------------------------------------------------------------------*/
.tecbox {
	display: flex;
	justify-content: center;
	position: relative;
	align-items: flex-start;
	padding: 1rem 2rem 3rem;
	background: rgba(255,255,255,0.5);	
}

.teccontents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}

.tectext {
	width: 60%; /*flex: 2;*/
	
}
.tecpict {
	width: 35%; /*flex: 1;*/
}

.tectext h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.tecimg img {
	display: block;
	width: 100%;
	height: auto;
	justify-content: center;
}


@media (max-width:768px) {
  .tecbox {
    flex-direction: column;
  	padding: 1rem 0.5rem 3rem;}
	
  .tecbox:nth-child(even) {
    flex-direction: column;
  }
  .tectext {
	 width:90%;
     text-align: center;
	 margin:auto;
  }
  .tecbox:nth-child(even) .text {
    text-align: center;
  }
  .tecpict {
	margin:auto;
	padding:0 0 2rem;
    width:auto;
    text-align: center;
  }
  .tecbox:nth-child(even) .pict {
    margin-left: 0;
    margin-right: 0%;
  }
	
  .tecpict img {
    width:80%;
  	}
}
		
/*写真の設定*/
.tecbox figure img {
	display: block;
	margin-bottom: 1rem;
	text-align: center;
		}

/*ボックス内のh4見出し*/
.tecbox h4 {
	text-align: left;	/*文字をセンタリング*/
	border-bottom: 1px solid #666;	/*下線の幅、線種、色*/
	margin-bottom: 1rem;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
	padding-left: 2rem;
	width:95%;
		}

/*ボックス内の段落タグ*/
.tecbox p {
	padding-left: 2rem;
	line-height: 1.5;	/*行間を少し狭くする*/
	margin-bottom: 10px;
	font-size: 13px;
	width:95%;
	text-align:left;
}






/* aタグの設定 主にaboutフレックスボックス用
---------------------------------------------------------------------------*/
.contents-wrap a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}


/* ボタンの設定 */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.linkbtn {
	width:auto;
	padding:0 3rem 3rem; 
}

a.btn-link {
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  max-width: 30rem;
  height: 4rem;
  position: relative;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgb(51,51,51);
  box-sizing: border-box;
  padding: 0 2.5rem 0 4rem;
  color: rgb(51,51,51);
  font-size: 1.3rem;
  letter-spacing: 60%;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0.5rem 0 0;
}

a.btn-link:before {
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  letter-spacing: 0.8em;
  border-top: 2px solid rgb(51,51,51);
  border-right: 2px solid rgb(51,51,51);
  transform: rotate(45deg);
  position: absolute;
  top: 58%;
  left: 25px;
  margin-top: -6px;
}
a.btn-link:hover {
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a.btn-link:hover:before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}

@media (max-width:768px) {
.linkbtn {
	width:auto;
	padding:0 2rem 2rem; 
}
a.btn-link {
	padding: 0 0.5rem 0 4rem;
	font-size: 1rem;
  letter-spacing: 10%;
}

a.btn-link:before {
  letter-spacing: -10em;
}
  }
	

/*フレックスボックス設定 (SDGs.html)
---------------------------------------------------------------------------*/
.contents-tec3 {
	display: flex;
	justify-content: center;
	padding:5rem 8rem;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	
	flex-direction: column;
	margin: 0 auto;
	max-width: 95%;
}

.teccontents-img3 {
	max-width: 95%;
	margin: 0 auto;
	margin-bottom: -2rem;
}

.teccontents-text3 span {
	padding-top:1rem;
}
.teccontents-text3 ul {
	max-width: 85%;
	list-style-type: square;
	font-size: 2rem;	
	margin: 0 auto;
}

.teccontents-text3 li {
	list-style:none
}

.teccontents-text3 p {
	list-style-type: square;
	padding-left:3rem;
	font-size: 1.5rem;
}

.teccontents-text3 h2 {
	margin-bottom: 2rem;
	font-size: 2.5rem;
}

.teccontents-img3 img {
	display: block;
	width: 100%;
	max-width: 500px;
	height: auto;
	justify-content: center;
}



@media screen and (max-width: 768px){
	.contents-tec3,
	.contents-tec3:nth-child(odd)  {
	flex-direction: column;
	padding:2rem 1rem;
	}
	
	.teccontents-text3 {
		width: 100%; /*flex: 1;*/
	}
	.teccontents-img3{
		max-width: 500px;
		margin-bottom: -2rem;
}
	
	.teccontents-text3 {
		padding:1rem 2rem;
	}
	
	.teccontents-text3 ul {
	list-style-type: square;
	max-width: 95%;}

}



/*メニューページの設定（product.html）
---------------------------------------------------------------------------*/

/*各ボックスの設定*/
.list {
	position: relative;
	overflow: hidden;
	float: left;	/*左に回り込み*/
	width: 20%;		/*ボックスの幅*/
	margin: 0 2.5% 0;	/*上、左右、下へのボックス内の余白*/
	padding-bottom: 2rem;
	height: auto;			/*ボックスの高さ。*/
}

/*写真の設定*/
.list figure img {
	display: block;
	border-radius: 2%;		/*円形にする設定。*/
	margin-bottom: 10px;	/*画像の下に空けるスペース*/
}

/*ボックス内のh4見出し*/
.list h4 {
	text-align: center;	/*文字をセンタリング*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
}
/*ボックス内の段落タグ*/
.list p {
	padding: 0!important;
	line-height: 1.5;	/*行間を少し狭くする*/
}

@media (max-width:768px) {
	.list{	
		padding: 1rem 1rem 0;
	}	
	
}

/*メニューページ 新商品メニュー設定（product.html）
---------------------------------------------------------------------------*/
/*newlsit各ボックスの設定*/

.newlist {
	display:flex;
  	max-width: 90%;
	height: auto;
	align-items: center;
	margin:2rem 5%; 
	padding:1rem;
	background-color: rgba(255,255,255,0.3)
}
	
.newtext {		
	width: auto;
	min-width: 65%;
	height: 50%;
	flex-direction: column;
	padding: 1rem 2rem;
	}
	
.newpict {
	flex-direction: row-reverse;
	padding: 1rem 2rem;
	max-width: 400px;
}

.newbtn {
	width: 60%;
}
	
.newpict img {
 	max-height: 80%;
	border-radius: 2%;	/*円形にする設定。*/
}


a.btn_04 {
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  width: 22rem;
  height: 3.3rem;
  position: relative;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgb(51,51,51);
  box-sizing: border-box;
  padding: 0 2.5rem 0 4rem;
  color: rgb(51,51,51);
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0.5rem 0 0;
}

a.btn_04:before {
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  letter-spacing: 0.8em;
  border-top: 2px solid rgb(51,51,51);
  border-right: 2px solid rgb(51,51,51);
  transform: rotate(45deg);
  position: absolute;
  top: 58%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a.btn_04:hover:before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}
	

.newlist h4 {
	margin:0 auto;
	text-align: left;	/*文字位置*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 16px;		/*文字サイズ*/
}

.newjuchu {
	margin:0 auto;
	text-align: left;	/*文字を左に*/
	margin-bottom: 5px;	/*見出しの下に空けるスペース*/
	font-size: 10px;		/*文字サイズ*/
	color: #FF0000/*文字色*/
}

.newsub{
	font-size:1rem;	
}

.newlist p {
padding: 0!important;
margin-bottom:  2rem;
font-size: 12px;
line-height: 1.5em;	/*行間を少し狭くする*/
}



@media (max-width:768px) {
.newlist {
    flex-direction: column;
	text-align: center;
  }
		
.newpict{
	max-width: 80%;
	min-width: 80%;
    height:auto;
	}
	
.newjuchu {
	margin:0 auto;
	margin-bottom: 0.3rem;	/*見出しの下に空けるスペース*/
	font-size: 1.3rem;		/*文字サイズ*/
	color: #FF0000/*文字色*/
}	
	
.newlist h4 {
	margin:0 auto;
	text-align: center;	/*文字位置*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin-bottom:  1rem;	/*見出しの下に空けるスペース*/
	font-size: 2rem;		/*文字サイズ*/
}

.newlist p {
    text-align: left;
	}

.newbtn {
	width: 90%;
}

a.btn_04 {
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  width: 100%;
　max-width: 25rem;
  height: 3.3rem;
  position: relative;
  background: rgba(255,255,255,0.5);
  border: 1px solid rgb(51,51,51);
  box-sizing: border-box;
  padding: 0 0.5rem 0 4rem;
  color: rgb(51,51,51);
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0.5rem auto 0;
}

a.btn_04:before {
  content: '';
  width: 0.7rem;
  height: 0.7rem;
  border: 0;
  letter-spacing: 0.8em;
  border-top: 2px solid rgb(51,51,51);
  border-right: 2px solid rgb(51,51,51);
  transform: rotate(45deg);
  position: absolute;
  top: 58%;
  left: 25px;
  margin-top: -6px;
}
a.btn_04:hover {
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a.btn_04:hover:before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}

}


/*プロダクト フレックスボックス設定 (miniリンクバー)
---------------------------------------------------------------------------*/

.contents-pro {
	display: flex;
	justify-content: center;
	margin:3rem 5% 3rem;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	border-radius: 2px;	/*角丸のサイズ*/
	padding:1rem;/*外枠からの余白の大きさ*/
	}

.contents-pro a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.contents-pro:hover{
	background-color:#fff;
	transition: all .2s;
}

.procontents-text {
	width: 60%; /*flex: 2;*/
	
}
.procontents-img {
	width: 35%; /*flex: 1;*/
}

.procontents-text h2 {
	margin-bottom: 2rem;
	font-size: 2.2rem;
}

.procontents-img img {
	display: block;
	width: auto;
	height: 100%;
	justify-content: center;

	
}

@media screen and (max-width: 768px){
	.contents-pro,
	.contents-pro:nth-child(odd)  {
		flex-direction: column;
		align-items: center;
	}
	
	.procontents-img {
		padding: 0.5rem;
		justify-content: center;
		width: 100%; 
		height: auto;
	}

	.procontents-text {
		width: 100%; 
	}

	.procontents-img img {
	justify-content: center;
    width:100%;
    height:auto;
  }
}

/*フレックスボックスh2見出し*/
.procontents-text h2 {
	clear: both;
	font-size: 23px;	/*文字サイズ*/
	margin-bottom: 1rem;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	/*line-height: 1.5;	行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 15px;	/*見出しの上の装飾分、余白をとる*/
}

.procontents-text p {
	clear: both;
	font-size: 10px;	/*文字サイズ*/
	margin-bottom: 0;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
/*	background: url(../images/line1.png) no-repeat center top/100%;	見出しの上に入っている装飾。*/
	padding-top: 5px;	/*見出しの上の装飾分、余白をとる*/
}


/*トップコンテンツ 4カテゴリ NEW
---------------------------------------------------------------------------*/
/* ===============================
   CATEGORY GRID
================================ */

.pro_category{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 200px));
  gap: 4rem 3rem;              /* 余白をやや広めに */
  justify-content: center;     /* 常に中央 */
  margin: 4rem 5%;
}

/* ===============================
   CARD
================================ */

.pro_category_contents{
  width: 100%;
  max-width: 200px;
  transition: transform .3s ease;
}

.pro_category_contents:hover{
  transform: translateY(-6px);
}

/* ===============================
   IMAGE
================================ */

.pro_category_img{
  aspect-ratio: 7 / 5;   /* 全カードの表示比率 */
  overflow: hidden;
  border-radius: 6px;
}

.pro_category_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}

.pro_category_contents:hover img{
  transform: scale(1.04);
}

/* ===============================
   TEXT
================================ */

.pro_category_text{
  width: 100%;
  padding-top: 1rem;
}

.pro_category_contents h4{
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  margin: 0 0 1.2rem;
  white-space: nowrap;
  border-bottom: 1px dotted rgba(0,0,0,0.2); 
  padding-bottom: .6rem;
}

.ruby-pro rt{
  display: block;
  margin-top: 4px;
  margin-left: 5px;
  font-size: 0.7em;
  letter-spacing: 0.05em;
}

.pro_category_contents p{
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
  text-align: center;
  color: #555;
}

/* ===============================
   MOBILE
================================ */

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

  .pro_category{
    gap: 2rem;
    margin: 3rem 4%;
  }

  .pro_category_contents h4{
    font-size: 1.4rem;
  }

  .pro_category_contents p{
    font-size: 0.95rem;
  }

}


/*トップコンテンツ 4カテゴリ
---------------------------------------------------------------------------*/
.pro_category-{
	display: flex;
	justify-content: space-between;
	margin:2em 4% 1em;
	border-radius: 2px;	/*角丸のサイズ*/
	position: relative;
}


.pro_category_contents-{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin:0 1%;
	padding:0.5rem;/*外枠からの余白の大きさ*/
	max-width: 12em;
	height: auto;
}


.pro_category_img-{
	margin: 0 auto;
}
.pro_category_img- img{
	width: 20em;
	border-radius: 4px;	
}

.pro_category_img-:hover{
	background-color:#fff;
	transition: all .2s;
}

.pro_category_bun-{
	height: 30px;
	margin: 5px 1em 2em;
}


.pro_category_contents- h4 {
	text-align: center;	/*文字をセンタリング*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin: 5px auto 10px;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
	letter-spacing: 0.08em;
	white-space:nowrap
}


.pro_category_contents- p {
padding: 0!important;
margin-bottom: 1rem;
font-size: 12px;
line-height: 1.5em;	
	max-width: 12em;
}


@media screen and (max-width: 768px){
	.pro_category-,
	.pro_category-:nth-child(odd)  {
		margin: 1em 0.5em;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	.pro_category_contents-{
		max-width: 13em;
		min-height: 22em;
		margin: 0.2em 0.5em;
	}
	
.pro_category_img-{
	margin: 0 auto;
}
.pro_category_img- img{
	width: 22em;
	border-radius: 4px;	
}	
	
	.pro_category_contents- h4 {
	text-align: center;	/*文字をセンタリング*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin: 5px auto 10px;	/*見出しの下に空けるスペース*/
	font-size: 18px;		/*文字サイズ*/
	letter-spacing: 0.05em;
	white-space:nowrap;
}
}

/*プロダクト 2並びミニコンテンツ
---------------------------------------------------------------------------*/
.pro-mini{
	display: flex;
	justify-content: space-around;
	margin:3rem 5%;
	position: relative;
	border-radius: 2px;	/*角丸のサイズ*/
}

.pro-mini a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.pro-minicontents{
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin: 0.3em 1%;
	padding: 10px;
	position: relative;
	border-radius: 2px;	/*角丸のサイズ*/
	padding:0.3rem;/*外枠からの余白の大きさ*/
	background: rgba(255,255,255,0.5);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	border: 2px solid #fff;  /*背景色と同じ枠色を追加*/
	width: 50%;
	max-width:auto;
	min-height: 50px;
}
	
.pro-minicontents:hover{ 
	background-color:#fff;
	transition: all .2s;
}

.pro-minicontents-img{
	margin: auto 0;
}

.pro-minicontents-text{
	text-align: center;	
	margin: -30px auto;
	padding: 0 1em;
}

.pro-minicontents-text h2{
	font-size: 1em;
}

.pro-minicontents-text p{
	clear: both;
	font-size: 10px;	/*文字サイズ*/
	margin-bottom: 0;	/*下に空ける余白*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
}

@media (max-width:768px) {
	.pro-mini{
		flex-direction:column;
		margin:1rem auto;
		align-items: center;
	}
	
	.pro-minicontents{
	display: flex;
	flex-direction: column-reverse;
	margin:0.5em 1em;
	position: relative;
	align-items: center;
	border-radius: 2px;	/*角丸のサイズ*/
	padding:1em 12em 0.2em;/*外枠からの余白の大きさ*/
	height: auto;
	}
	
	.pro-minicontents-img{
	margin: 0.5em;
}
	
	.pro-minicontents-text{
	text-align: center;	
	font-size: 13px;
	margin: 0.2rem 30px 0.1em;
	padding: 0 0.5em;
	width: 200px;
}
	
	.pro-minicontents-text h2{
	font-size: 0.8em;
	line-height: 1;
	}

	.pro-minicontents-text p{
	font-size: 8px;	/*文字サイズ*/
	margin: 5px -20px;
}
}




/*プロダクト BUHAKOページ設定（BUHAKO.html）
---------------------------------------------------------------------------*/

.imags {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding:2rem;
	height: auto;
	background-color: rgba(255,255,255,0.3)
}

.imgs-contents {
	display: flex;
	justify-content: center;
	padding:2rem;
	margin: auto;
}

.imgs-contents2 {
	display: flex;
	flex-wrap: wrap;
	width: 25rem;
}

.imgs-pict{
	margin:1rem;
}

.imgs-text2{
	width: auto;
	text-align: center;
	flex-direction: column;
	padding: 0 2rem 2rem;
	}

.hakoline{
	width: 100%;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	line-height:  2.2rem;
}

.hakosub{
	width: 100%;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}


/*西目屋メニュー設定 2026Renual（workshop.html）
---------------------------------------------------------------------------*/

/*ボックス内のh4見出し*/
.nisimenu h4 {
	text-align: left;	/*文字をセンタリング*/
	border-bottom: 1px solid #666;	/*下線の幅、線種、色*/
	margin: 1em auto;	/*見出しの下に空けるスペース*/
	font-size: 1.5em;		/*文字サイズ*/
	width:95%;
		}


.nisibox-step {
  background: rgba(255,255,255,0.5);
  padding: 2rem;
  margin-bottom: 3rem;
}

.nisibox-step .nisibox {	
padding:1rem;
  background: none;
  margin-bottom: 0;
}

.nisibox-sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.nisibox-sub .nisibox{
	flex-direction: column;
	text-align: center;
}

.nisibox-sub .nisitext{
	width:100%;
}

.nisibox-sub .nisipict{
	width:100%;
	padding:2.5rem 2rem;
	max-width: 450px;
}

.nisibox-sub .nisipict img{
	width:100%;
	height:auto;
}



/* スマホ */
@media (max-width:768px){

.nisibox-sub{
   grid-template-columns: 1fr ;
	}
}



/*西目屋メニュー設定（workshop.html）
---------------------------------------------------------------------------*/

.nisibox {
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
	position: relative;
	align-items: center;
	text-align: center;
	padding: 1.5rem;
	background: rgba(255,255,255,0.5);	
}

.contents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}

.nisitext {
	width: 65%; 
}

.nisipict {
	width:35%;
	padding:0.5rem 2rem;
	box-sizing:border-box;
}

.nisitext h2 {
	margin:-2.5rem auto 1.5rem;
	text-align:center;
	font-size: 2.5rem;
}

.nisiimg img {
	display: block;
	width: 100%;
	height: auto;
}

.nisibox .mbtn{
	margin:1.5rem 3rem 0.5rem ;
}

		
/*写真の設定*/
.nisibox figure img {
	display: block;
	margin-bottom: 10px;	
	text-align: center;
		}

/*ボックス内のh4見出し*/
.nisitext h4 {
	text-align: left;	
	border-bottom: 1px solid #666;	
	margin:0 2rem 10px;	
	font-size: 1.8rem;		
		}

/*ボックス内の段落タグ*/
.nisitext p {
	line-height:1.6;
	margin-bottom:10px;
	font-size:13px;
	width:95%;
	text-align: left;
		}


@media (max-width:768px) {
  .nisibox {
    flex-direction: column;
  }
  .nisibox:nth-child(even) {
    flex-direction: column;
  }
	
.nisitext{
	width:90%;
	margin:0 auto;
}


.nisitext p{
	width:100%;
}	
	
  .nisibox:nth-child(even) .text {
    text-align: center;
  }
	
  .nisipict {
    width:100%;
    margin-left: 0;
    text-align: center;
  }
  .nisibox:nth-child(even) .pict {
    margin-left: 0;
    margin-right: 0%;
  }
  .nisipict img {
    padding:1rem 3rem;
    height:auto;
   margin: 10px 0}
}


/*製作体験メニュー設定（workshop-contents.html）
---------------------------------------------------------------------------*/
.wc-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.wc-item {
  padding:20px;
  width: 32%;
	background: rgba(255,255,255,0.5);	}

.wc-item h4 {
	text-align: left;	/*文字をセンタリング*/
	border-bottom: 1px solid #666;	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
	width:95%;
		}

@media not all and (min-width: 768px) {
  .wc-item {
    width: 100%;
  }

  .wc-item:not(:last-child) {
    margin-bottom: 30px;
  }
}


.wcbox {
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
	position: relative;
	align-items: center;
	text-align: center;
	padding: 0.8rem;
}
.wctext {
	width: 90%; /*flex: 2;*/	
}

.wcbox p {
	padding: 0!important;
	line-height: 1.5;	/*行間を少し狭くする*/
	margin-bottom: 10px;
	font-size: 13px;
	width:95%;
	text-align:left;
		}


/*下向きの矢印設定
---------------------------------------------------------------------------*/
.arrow-box{display: flex;
	justify-content: center;
	margin-bottom: 1rem;
	position: relative;
	align-items: center;
	text-align: center;
	padding: 1rem;}

.arrow{
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid rgba(0,0,0,0.1);
}


/*アコーディオンメニュー01
---------------------------------------------------------------------------*/
.accordion01 {
	padding: 1.5rem;
    margin-bottom: 7px;
    border-radius: 5px;
	background: rgba(255,255,255,0.3);	
}

.accordion01 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    padding: 1em 2em;
    font-weight: 600;
    cursor: pointer;
	text-align: left;	
	font-size: 20px;
		}

.accordion01 summary::-webkit-details-marker {
    display: none;
}

.accordion01 summary::before,
.accordion01 summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #b6bdc3;
    content: '';
}

.accordion01 summary::before {
    position: absolute;
    right: 2em;
    rotate: 90deg;
}

.accordion01 summary::after {
    transition: rotate .3s;
}

.accordion01[open] summary::after {
    rotate: 90deg;
}

.accordion01 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion01[open] p {
    transform: none;
    opacity: 1;
}

.plan-box{
    display: flex;
	justify-content: center;
	align-items: center;
}

.plan-img{
	margin: 1em 3em 1em 1;
	max-width: 100px;
}

.plan-bun{
	margin: 1rem 3em;
	width: auto;
}

@media screen and (max-width: 768px){
	.plan-box,
	.plan-box:nth-child(odd)  {
		margin: 0.5em 0.2em;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

.plan-img{
	margin: 0.5em 1em;
	max-width: 100px;
}

.plan-bun{
	margin: 0.3rem 2em;
	width: auto;
	text-align: center;
}


}
/*アコーディオンメニュー02
---------------------------------------------------------------------------*/

.accordion02 {
    margin-bottom: 7px;
    border-bottom: 2px solid #C3C3C3;
	padding: 0.8rem;
}

.accordion02-back {
	margin: 1% 5%;
	padding: 1.5rem;
	border-radius: 3px;
	background: rgba(255,255,255,0.3);	

}


.accordion02 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.accordion02 summary::-webkit-details-marker {
    display: none;
}

.accordion02 summary::before,
.accordion02 summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #333333b3;
    content: '';
}

.accordion02 summary::before {
    position: absolute;
    right: 2em;
    rotate: 90deg;
}

.accordion02 summary::after {
    transition: rotate .3s;
}

.accordion02[open] summary::after {
    rotate: 90deg;
}

.accordion02 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion02[open] p {
    transform: none;
    opacity: 1;
}




/*inviewのスタイル
---------------------------------------------------------------------------*/
/*共通設定（待機中）*/
.up, .left, .right, .transform1, .transform2 {
	opacity: 0;		/*透明度（透明の状態）*/
}
/*共通設定（要素が見えたら実行するアクション）*/
.upstyle, .leftstyle, .rightstyle, .transform1style, .transform2style {
	opacity: 1;		/*透明度（色が100%出た状態）*/
	transition: 0.5s 0.5s;	/*0.5sはアニメーションの実行時間0.5秒。0.5sは0.5秒遅れてスタートする指定。*/
}
/*upスタイル。下から上にフェードインしてくるスタイル（待機中）*/
.up {
	bottom: -50px;	/*基準値の下50pxの場所からスタート*/
}
/*要素が見えたら実行するアクション*/
.upstyle {
	bottom: 0px;	/*基準値まで戻す*/
}
/*leftスタイル。左からフェードインしてくるスタイル（待機中）*/
.left {
	left: -100px;	/*基準値より左に100pxの場所からスタート*/
}
/*要素が見えたら実行するアクション*/
.leftstyle {
	left: 0px;		/*基準値まで戻す*/
}
/*rightスタイル。右からフェードインしてくるスタイル（待機中）*/
.right {
	right: -100px;	/*基準値より右に100pxの場所からスタート*/
}
/*要素が見えたら実行するアクション*/
.rightstyle {
	right: 0px;		/*基準値まで戻す*/
}
/*transform1スタイル。その場で回転するスタイル（待機中）*/
.transform1 {
	transform: scaleX(0);	/*幅を0%でスタート*/
}
/*要素が見えたら実行するアクション*/
.transform1style {
	transform: scaleX(1);	/*幅を100%に戻す*/
}
/*transform2スタイル。倒れた状態から起き上がるスタイル（待機中）*/
.transform2 {
	transform: perspective(400px) rotateX(100deg);
}
/*要素が見えたら実行するアクション*/
.transform2style {
	transform: perspective(0px) rotateX(0deg);
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: right;	/*文字を右寄せ*/
	padding: 20px 80px;	/*上下、左右へのボックス内の余白*/
}
footer a {text-decoration: none;}
footer .pr {display: block;}

/*「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#new dl {
	padding: 0 30px;
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;		/*幅*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
}

/* SHOPカード */
.shop-card {
  padding-left: 0; /* 既存リセット */
  margin-bottom: 20px;
}

.shop-card a {
  display: flex;
  gap: 15px;
  align-items: center;
  text-decoration: none;
}

/* 画像 */
.shop-img {
  width: 18em;
  flex-shrink: 0;
}

.shop-img img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* スマホ */
@media (max-width: 600px) {
  .shop-card a {
    flex-direction: column;
    align-items: flex-start;
  }

  .shop-img {
    width: 100%;
  }
}

/* テキスト */
.shop-text {
  line-height: 1.5;
}


/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
}
.ta1, .ta1 td, .ta1 th {
	border: 2px solid #d3d7de;	/*テーブルの枠線の幅、線種、色*/
	background: rgba(255,255,255,0.3);/*背景色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}
/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}

/*テーブル（ta2）
---------------------------------------------------------------------------*/
/*ta2設定*/
.ta2 {
	width: 100%;
	margin: 0 auto 20px;
}
.ta2, .ta2 td, .ta2 tr {
	border: 3px solid #d3d7de;	/*テーブルの枠線の幅、線種、色*/
	background: rgba(255,255,255,0.2);/*背景色*/
	padding: 2rem 1rem 2rem 2rem;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta2 tr.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta2の左側ボックス*/
.ta2 tr {
	width: 14rem;	/*幅*/
	text-align: left;	/*センタリング*/
	font-weight: normal;
	line-height: 2;
}

/*テーブル（ta3）
---------------------------------------------------------------------------*/
/*ta3設定*/
.ta3 {
	width: 95%;
	margin: 2rem 3rem;
}
.ta3, .ta3 td, .ta3 tr {
	border-bottom: 2px solid #d3d7de;;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
	min-width: 2rem;
}
/*テーブル１行目に入った見出し部分*/
.ta3 tr.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta3の左側ボックス*/
.ta3 tr {
	width:120px;	
	text-align: left;	/*センタリング*/
	font-weight: normal;
}



/*レスポンシブテーブル設定(ta4)
---------------------------------------------------------------------------*/
/*ta4設定*/
.ta4 {
	width: 95%;
	margin: 2rem 3rem;
}
.ta4, .ta4 td, .ta4 tr {
	border-bottom: 2px solid #d3d7de;;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta4 tr.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta3の左側ボックス*/
.ta4 tr {
	width:120px;
	text-align: left;	/*センタリング*/
	font-weight: normal;
}
.ta4 th{
	margin-top:5px;
}
 
@media screen and (max-width: 640px) {
  .ta4-last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .ta4 {
    width: 80%;
  }
  .ta4 th,
  .ta4 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}



/*トップページInfomationのion-iconアイコン制御
---------------------------------------------------------------------------*/
.ion{
	vertical-align:middle;
	font-size:0.8rem;
	margin:5%;
}

/*トップページInfomationのion-iconアイコン制御
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
/*ta2設定*/
.ta2 {
	width: 100%;
	margin: 0 auto 2rem;
}
.ta2, .ta2 td, .ta2 th {
	border: 3px solid #d3d7de;	/*テーブルの枠線の幅、線種、色*/
	background: rgba(255,255,255,0.2);/*背景色*/
	padding: 2rem 1rem 2rem 1rem;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta2 tr.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta2の左側ボックス*/
.ta2 td {
	width: 8rem;	/*幅*/
	text-align: left;	/*センタリング*/
	font-weight: normal;
	line-height: 1.5;
	margin: 0.5rem;
}
.ta2-bun {
	width: auto;	/*幅*/
	text-align: left;	/*センタリング*/
	font-weight: normal;
	line-height: 1.5;
	font-size:1rem;
}

}
	
	


/*ページの上部に戻る「↑」ボタン
---------------------------------------------------------------------------*/
@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*通常時のボタンは非表示*/
body .nav-fix-pos-pagetop a {
	display: none;
}
/*fixmenu_pagetop.jsで設定している設定値になったら出現するボタンスタイル*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;	/*ボタンの幅*/
	line-height: 50px;	/*ボタンの高さ*/
	z-index: 100;
	position: fixed;
	bottom: 20px;	/*ウィンドウの下から20pxの場所に配置*/
	right: 1%;		/*ウィンドウの右から1%の場所に配置*/
	background: #000;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事で0.6は60%色がついた状態。*/
	color: #fff;	/*文字色*/
	border-radius: 50%;	/*角丸指定。50%にすると円形になる。四角形がいいならこの１行削除。*/
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*マウスオン時の背景色*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

.wsicon {
	background: #259;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

.fairicon {
	background: #ff8914;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}


.puicon {
	background: #D3D3D3;	/*背景色*/
	color: #333;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}


/*その他
---------------------------------------------------------------------------*/
.look {background: #c3b5a2;background: rgba(0,0,0,0.1);padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #7a7a77 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.w50 {overflow: hidden;width: 50%;}
.fl {float: left;}
.fr {float: right;}
.big1 {font-size: 50px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}





/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*トップページのメインイメージ
---------------------------------------------------------------------------*/
/*メインイメージ上の新作メニューバナー*/
#message {
	width: 90%;	/*バナーの幅*/
	bottom: 10px;
}

/*ヘッダー（左側のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	background: none;
	width: 50%;
	height: auto;
	position: absolute;
	border-top: none;
	box-shadow: none;
}
/*ロゴ*/
header #logo {
	background: transparent;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。
透明(opacity: 0;)から色をつける(opacity: 1;)までの指定。*/
@keyframes menubar {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューブロック*/
#menubar-s {
	display: block;overflow: hidden;
	position: fixed;z-index: 50;
	top: 0px;
	width: 100%;
	background: rgba(0,0,0,0.8);	/*背景色*/
	border-top: 1px solid #fff;		/*上の線の幅、線種、色*/
	animation-name: menubar;		/*上のkeyframesの名前*/
	animation-duration: 0.5s;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*待機中は最初のキーフレームを、完了後は最後のキーフレームを維持*/
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	padding: 15px;	/*メニュー内の余白*/
	border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
	color: #fff;	/*文字色*/
	font-size: 20px;
}
/*説明表記（飾り文字）*/
#menubar-s li a span {
	display: block;
	font-size: 12px;	/*文字サイズ*/
	color: #999;	/*文字色*/
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 50;
	top: 10px;		/*上から10pxの場所に配置*/
	right: 10px;	/*右から10pxの場所に配置*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #666 url(../images/icon_menu.png) no-repeat center top/50px;	/*背景色、背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は50px。*/
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #666 url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景色、背景画像の読み込み、画像の下半分（×マーク）を表示。幅は50px。*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*コンテンツ*/
.contents {
	padding: 150px 4% 100px 4%;	/*ボックス内の余白。上、右、下、左。*/
}
/*コンテンツ（※トップページのみ）*/
.top .contents {
	padding: 50px 4% 100px 4%;	/*ボックス内の余白。上、右、下、左。*/
}

/*メニューページの設定（menu.html）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list {
	width: 40%;			/*ボックスの幅*/
	margin: 0 5% 20px;	/*上、左右、下へのボックス内の余白*/
	height: 400px;		/*ボックスの高さ。*/
}
/*写真の右上にある金額*/
.list figure span {
	width: 70px;	/*幅*/
	line-height: 70px;	/*高さ*/
	font-size: 14px;	/*文字サイズ*/
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 24px;}
.w50 {overflow: hidden;width: auto;}
.fl {float: none;}
.fr {float: none;}
.sh {display:block;}
.pc {display:none;}

}



/*画面を横向きにした場合の高さが500px以下の場合の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (orientation: landscape) and (max-height:500px){

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar-s li a {
	float: left;		/*左に回り込み*/
	width: 40%;			/*幅*/
	margin-left: 4%;	/*メニューの左側に空けるスペース*/
	line-height: 1.2;	/*行間*/
}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;	/*文字サイズ*/
	line-height: 1.5;	/*行間*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*コンテンツ*/
.contents {
	padding: 20px 4% 50px 4%;	/*ボックス内の余白。上、右、下、左。*/
}
/*コンテンツ
---------------------------------------------------------------------------*/
/*コンテンツ*/
.contents {
	padding: 70px 4% 30px 4%;	/*ボックス内の余白。上、右、下、左。*/
}
/*コンテンツ（※トップページのみ）*/
.top .contents {
	padding: 20px 4% 30px 4%;	/*ボックス内の余白。上、右、下、左。*/
}
/*h2見出し*/
.contents h2 {
	font-size: 24px;	/*文字サイズ*/
	margin-bottom: 20px;	/*下に空ける余白*/
	letter-spacing: normal;
	padding-top: 20px;	/*見出しの上の装飾分、余白をとる*/
}
/*h2見出し内のspanタグ*/
.contents h2 span {
	font-size: 10px;	/*文字サイズ*/
}
/*段落タグ*/
.contents p {
	padding: 0 0 20px;		/*上、左右、下への余白*/
}

/*メニューページの設定（menu.html）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list {
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	margin-bottom: 20px;
	overflow: hidden;
}
/*写真の設定*/
.list figure img {
	float: left;	/*左に回り込み*/
	width: 30%;		/*写真の幅*/
}
/*写真の右上にある金額*/
.list figure span {
	width: 40px;	/*幅*/
	line-height: 40px;	/*高さ*/
	font-size: 10px;	/*文字サイズ*/
	left: 0px;	/*listブロックに対して左から0pxの場所に配置*/
	top: 0px;	/*listブロックに対して上から0pxの場所に配置*/
}
/*ボックス内のh4見出しと段落タグ*/
.list h4, .list p {
	text-align: left;	/*文字を左寄せ*/
	margin-left: 35%;	/*左に空けるスペース。上の写真の幅をみて調整して下さい。*/
}

/*「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#new dl {
	padding: 0;
}
/*日付設定*/
#new dt {
	float: none;
	width: auto;
}
/*記事設定*/
#new dd {
	padding-left: 0;
	margin-bottom: 8px;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}

}
		
		
		
/*ブナコの歩み 
---------------------------------------------------------------------------*/

/*===== Vertical Timeline =====*/
#conference-timeline {
  position: relative;
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
}
#conference-timeline .timeline-start,
#conference-timeline .timeline-end {
  display: table;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
  background: #696969;
  padding: 15px 23px;
  color: #fff;
  max-width: 5%;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
#conference-timeline .conference-center-line {
  position: absolute;
  width: 3px;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -2px;
  background: #00b0bd;
  z-index: -1;
		}
		
#conference-timeline .conference-timeline-content {
  padding-top: 67px;
  padding-bottom: 67px;
}
.timeline-article {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  margin: 20px 0;
}
.timeline-article .content-left-container,
.timeline-article .content-right-container {
  max-width: 44%;
  width: 100%;
}
.timeline-article .timeline-author {
  display: block;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  color: #242424;
  text-align: right;
}
.timeline-article .content-left,
.timeline-article .content-right {
  position: relative;
  width: auto;
  border: 1px solid #ddd;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.03);
  padding: 27px 25px;
}
.timeline-article p {
  margin: 0 0 0 60px;
  padding: 0;
  font-weight: 400;
  color: #242424;
  font-size: 14px;
  line-height: 24px;
  position: relative;
}
.timeline-article p span.article-number {
  position: absolute;
  font-weight: 300;
  font-size: 44px;
  top: 10px;
  left: -60px;
  color: rgba(105,106,105,0.1);
		}
		
.timeline-article .content-left-container {
  float: left;
}
.timeline-article .content-right-container {
  float: right;
}
.timeline-article .content-left:before,
.timeline-article .content-right:before{
  position: absolute;
  top: 20px;
  font-size: 23px;
  font-family: "FontAwesome";
  color: #fff;
}
.timeline-article .content-left:before {
  content: "\f0da";
  right: -8px;
}
.timeline-article .content-right:before {
  content: "\f0d9";
  left: -8px;
}
.timeline-article .meta-date {
  position: absolute;
  top: 0;
  left: 50%;
  width: 62px;
  height: 62px;
  margin-left: -31px;
  color: #fff;
  background: #696969;
		}
		
.timeline-article .meta-date .date,
.timeline-article .meta-date .month {
  display: block;
  text-align: center;
  font-weight: 900;
}
.timeline-article .meta-date .date {
  font-size: 20px;
  line-height: 40px;
}
.timeline-article .meta-date .month {
  font-size: 10px;
  line-height: 10px;
}
/*===== // Vertical Timeline =====*/

/*===== Resonsive Vertical Timeline =====*/
@media only screen and (max-width: 830px) {
  #conference-timeline .timeline-start,
  #conference-timeline .timeline-end {
    margin: 0;
  }
  #conference-timeline .conference-center-line {
    margin-left: 0;
    left: 50px;
  }
  .timeline-article .meta-date {
    margin-left: 0;
    left: 20px;
  }
  .timeline-article .content-left-container,
  .timeline-article .content-right-container {
    max-width: 100%;
    width: auto;
    float: none;
    margin-left: 110px;
    min-height: 53px;
  }
  .timeline-article .content-left-container {
    margin-bottom: 20px;
  }
  .timeline-article .content-left,
  .timeline-article .content-right {
    padding: 10px 25px;
    min-height: 65px;
  }
  .timeline-article .content-left:before {
    content: "\f0d9";
    right: auto;
    left: -8px;
  }
  .timeline-article .content-right:before {
    display: none;
  }
}
@media only screen and (max-width: 400px) {
  .timeline-article p {
    margin: 0;
  }
  .timeline-article p span.article-number {
    display: none;
  }
  
}
/*===== // Resonsive Vertical Timeline =====*/



/*---instagram php用-----------*/
.instagram-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.instagram-grid-item {
    width: calc(33.333% - 10px);
    box-sizing: border-box;
}
.instagram-grid-item img {
    width: 100%;
    height: auto;
    display: block;
}