
/*全体メニューの設定
---------------------------------------------------------------------------*/
.container {
  display: flex;
  flex-wrap: wrap;  
  width: 100%;
  margin: 0 auto;
  justify-content: center;     
  flex-direction: column;
	 padding: 0;
}

.contents {
  flex: 3;
  margin: 0 5% 50px;
}

.main {
	flex: 1 1 100%;
	padding: 20px;
}

  .contents, .main {
    flex: 100%;
    margin: 0 5% 30px;
    padding: 10px;
  }
@media (max-width: 768px) {
    .contents, .main {
		margin: 0 0 30px;
		padding: 15px;
	}
}

.topbar {
      flex: 1;
      padding: 30px;
	display: grid;
     grid-template-columns: repeat(2, 1fr); 
     gap: 0 20px; 
	 margin:auto 10%;
    }
@media (max-width: 768px) {
  .topbar {
    margin: auto;
    padding: 10px 5px;
    gap: 6px 5px;
  }

  .topbar-menu {
    font-size: 1.05em;
  }
}

.topbar-menu{
	     margin: 0px auto;
     width: 100%; 
}
@media (max-width: 768px) {
  .topbar-menu a {
    min-height: 48px;
    padding: 7px 10px;
    font-size: 1.05em;
    line-height: 1.6;
  }
}


.topbar-icon{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px auto;
    height: 30px;
	max-width: 450px;
    border-radius: 2px;
    overflow: hidden;
    text-align: center;
}

.topbar-icon p {
	color: white;
    font-weight: 700;
}

@media (max-width: 768px) {
  .topbar-icon {
    width: 100%;       
    max-width: none;   
    margin: 5px 0;     
  }
}


/* 001 */
.button001 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px auto;
    max-width: 450px;
    height: 60px;
    border-radius: 2px;
    overflow: hidden;
    text-align: center;
	}

.button001 a {
    z-index: 2;
    color: white;
    font-weight: 600;
    text-decoration: none;
    padding: 10px 25px;
    transition: 0.3s;
    width: 100%;
    display: block;
    text-align: center;
}

.button001 a:hover {
    color: black; 
	text-decoration: none;
}

/* 半透明のオーバーレイ */
.button001::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: 1;
    transition: 0.3s;
}

.button001:hover::before {
    background-color: rgba(173, 173, 173, 0.6);
}

/* 背景画像クラス */
.bg-lmicon {
    background-image: url('images/product2.jpg');
    background-size: cover;
    background-position: center;
}

.bg-toritsuke {
    background-image: url('images/lm_hikkake01.jpg');
    background-size: cover;
    background-position: center;
}

.bg-fuzoku {
    background-image: url('images/lm_huzoku.jpg');
    background-size: cover;
    background-position: center;
}

.bg-option {
    background-image: url('images/lm_colorvariation.jpg');
    background-size: cover;
    background-position: center;
}

.bg-bulb {
    background-image: url('images/lm_bulb_top.jpg');
    background-size: cover;
    background-position: center;
}


		


/*全体の設定
---------------------------------------------------------------------------*/

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

a{
  text-decoration : underline;color:A73346;
}
a:hover{
  text-decoration : underline;
　　color: #999999;
}
a{
	cursor :  e-resize;
}
BODY{
  cursor : crosshair;
}BODY{
	scrollbar-base-color : #ffffff;
scrollbar-face-color : #ffffff; 
scrollbar-track-color: #ffffff;
scrollbar-arrow-color : #ffffff; 
scrollbar-3dlight-color: #ffffff;
scrollbar-highlight-color : #000000; 
scrollbar-shadow-color : #000000;
scrollbar-darkshadow-color : #ffffff;
}
	
.back-logo{
	margin-top:30pt;
    width: auto;
	color:#00000000;
	font-weight:bold;
	text-align: center;
}
			
.back-logo a{
	font-size:20px;
	color: #000000;
	text-decoration: none;
}

			.back-logo a:link,
			.back-logo a:link,
			.back-logo a:visited{
				text-decoration:none;
			
}
			
			.back-logo a:hover,
			.back-logo a:active{
				color:#ffffff; text-decoration:none;
			
}

.back{
    color: #000000;
    font-size: 12px;
    text-align: center;
	margin-top:30px;
}

	
.newbtn{
	display: flex;
	align-items: center;
	justify-content: center;
    width: 100%;
    max-width: 1280px;
    margin: auto;
	padding:0.5rem 0 1rem;
}

@media screen and (max-width: 768px){
	.newbtn,
	.newbtn:nth-child(odd)  {
    max-width: 100%;
	padding: 1rem ;
}
}



a.btn_03{
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  width:  20rem;
  height: 2.5rem;
  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: 0.8rem;
  letter-spacing: 0.1em;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin:0 0;
}

a.btn_03::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: -9px;
}
a:hover.btn_03{
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a:hover.btn_03::before{
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}	

@media screen and (max-width: 768px){
.btn_03
.btn_03:nth-child(odd)  {
  width:  25rem;	
	}

}



a.btn_04{
  display: flex;
  flex-direction: row;
  justify-content: center; 
  align-items: center;
  width:  20rem;
  height: 2.5rem;
  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: 0.8rem;
  letter-spacing: 0.1em;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: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: -9px;
}
a:hover.btn_04{
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a:hover.btn_04::before{
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}	

@media screen and (max-width: 768px){
.btn_04
.btn_04:nth-child(odd)  {
  width:  25rem;	
	}

}



/*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;	/*見出しの上の装飾分、余白をとる*/
}

.title-h2sub {
	clear: both;
	width: 100%;
	font-size: 20px;	/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	line-height: 1.5;	/*行間*/
	color: #333;	/*文字色*/
}



/*h3見出し*/
.contents h3 {
	size:5rem;
	width: 80%;
	text-align: center;
    max-width: 900px;
    margin: 20px auto;
	padding:0.2% 10%; 
	color:#ffffff;
	background-color: rgba(0,0,0,0.6);
}
@media screen and (max-width: 768px){
	.contents h3,
	.contents h3:nth-child(odd)  {
	width: 100%;
	max-width: 300px;
	padding:0.3em 0.5em; 
	margin-top: 1rem;
	margin-bottom: 20px;
	}
	}

/*h4見出し*/

.contents h4 {
	size:5rem;
	text-align:center;
	width: 100%;  
	margin: 30px auto ;
	padding:0.2% 10%; 
    max-width: 350px;
	border-bottom: solid 3px black;
}
@media screen and (max-width: 768px){
	.contents h4,
	.contents h4:nth-child(odd)  {
	width: 100%;
	max-width: 600px;
	padding:0.5em 0.5em; 

	}
	}

.contents h5 {
	clear: both;
justify-content: center;
	margin: 0 10%;
	margin-bottom: 10px;	/*下に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を広くとる設定*/
	background: #fff;		/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.1);	/*255,255,255は白の事で0.3は30%色がついた状態の事。*/
	text-align: center;		/*文字を中央に*/
	border-radius: 30px;	/*角丸のサイズ。大きめに設定しておけばOK。*/
	padding: 0px 20px;		/*上下、左右への余白*/
	font-size: 0.9rem;
}

.titletext  {
	overflow: hidden;
	text-align: center;
    width: 100%;
    max-width: 700px;
    margin: auto;
	padding:1rem 0 1.5rem;
}

.subtext {
	overflow: hidden;
	text-align: left;
    width: 100%;
    max-width: 600px;
    margin: auto;
	padding:5rem 0 3rem;
}
.bun {
	overflow: hidden;
	text-align: left;
    width: 100%;
    max-width: 600px;
    margin: auto;
	padding:5rem 0 3rem;
}



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


/* 文章挿入部の設定 ------------------------------------------------------*/

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


/*タグ後に空白行*/
.mb-20 { margin-bottom: 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;
}

/*文字装飾 class="" の「""」に入れる。p、span、divなどで使える
------------------------------------------------------------------------*/
/*太字に*/
.fbold { font-weight: bolder;
}

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

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


/*文字を目立たせたい - 中間題字*/
.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;		/*文字サイズ*/
}

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

/*アンダーライン(薄赤)*/
.under2 {
  background: linear-gradient(transparent 60%, #ffd6d6 30%);
}


/*波線*/
.line-nami {
	text-decoration:underline 1px wavy #000;
}

/*横線*/
hr{
    border: none;
    border-bottom: 1px solid #333;
	text-align:center;
    max-width: 200px;
    margin: 10px auto 20px auto ;
	padding:0.2% 10%; 
}

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


/*メインコンテンツ配置用
------------------------------------------------------------------------*/
/*画像*/
.contents img{
	text-align: left;
}
@media screen and (max-width: 768px){
	.contents img,
	.contents img:nth-child(odd)  {
	width:90%;
}		
}

/*動画*/	
.contents video{
	margin: auto;
  	display: block;
	margin-top: 20px;
	margin-bottom: 20px;
}
@media screen and (max-width: 768px){
	.contents video,
	.contents video:nth-child(odd)  {
	width:100%;
	margin-top: 10px;
	margin-bottom: 20px;
	}}
	
/*画像を画面中央へ単独配置*/
.menimg{
	text-align:center;
	margin-top: 30px;
	margin-bottom: 30px;
}

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




/*あしらい用--文字アイコン化
------------------------------------------------------------------------*/
.icon-red {
	background: #C33636;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 0.5rem;		/*文字サイズ*/
	line-height: 1.5;
	padding: 5px 15px;
	border-radius: 15px;
	margin: 2px 8px;
	vertical-align: text-top;
}

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


.icon_textline01{
	display: flex;
	font-size: 1.8rem;	
    margin: 2em auto 0;
	padding: 10px;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}
.icon_textline01::after {
	content: "";
	height:1px;
	flex-grow: 1;
	background-color:#666;
}

.icon_textline01:before {
	margin-right: 10px;
}
.icon_textline01:after {
	margin-left: 10px;
}
@media screen and (max-width: 786px){
	.icon_textline01{
	font-size: 1.3rem;	
	padding: 15px 0 5px;
}
	
.icon_textline01::before,
.icon_textline01::after {
	content: "";
	height:2px;
	flex-grow: 1;
	background-color:#666;
}
	
}


/* ボタン風表示 */
.function-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    width: 80%;
    margin: 30px auto;
}

/* 各ボタン */
.function-button {
background: #f7f7f7;
color: #333;
border-left: 4px solid #838383;

line-height: 1.8;
padding: 5px 15px;

display: flex;
justify-content: center;
align-items: center;

min-height: 40px;
border-radius: 2px;
box-sizing: border-box;

text-align: center;
}
@media screen and (max-width: 600px) {
    .function-list {
        grid-template-columns: 1fr;
    }
}



/*規約リスト
---------------------------------------------------------------------------*/	
/* リストの点*/
.kiyaku {
	list-style: none;
	line-height:1.8;
	margin: -1em 0 ;
}
/**786px以下**/
@media screen and (max-width: 786px){

.kiyau {
	list-style: none;
	line-height:1.8;
	margin: 0 2% 2% 0;
}}

.kiyaku_t2{
	font-weight: bolder;
}

.kiyaku_main{
	margin: -2em 0 0 1em ;
}


.kiyaku_sub{
	margin: -2em 0 0 1em ;
}

.kiyaku_sub li{
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
}

.kiyaku_sub li:before{
  display: marker;
  content: counter(cnt) ") ";
}

.kiyaku_sub_tume{
	margin-top: -3em;
}


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

/*メインイメージ上の言語セレクト位置設定*/
#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: 3%;		/*#メインイメージに対して右から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;
}
}


/* 並列ミニコンテンツbox-link
---------------------------------------------------------------------------*/
.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 #000;  /*背景色と同じ枠色を追加*/
	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 5em 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: 1.2em;
	line-height: 1;
	}

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


/* プロダクト一覧用並列リンク
---------------------------------------------------------------------------*/
.prolist-mini{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin:2rem 2%;
	border-radius: 2px;	/*角丸のサイズ*/
}

.prolist-minicontents{
	padding: 0 5;
	margin-bottom: 10;
}

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

.prolist-minicontents-img img{
	max-width: 250;
}

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

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

.prolist-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) {
	.prolist-mini{
		margin:0.8rem;
		flex-wrap: wrap;
		flex-direction: row;
	}
	
	.prolist-minicontents{
	display: flex;
	flex-direction: column;
	max-width: 200;
	margin:0.5em 0.2em 0.8em;
	position: relative;
	align-items: center;
	border-radius: 2px;	/*角丸のサイズ*/
	}
	
	.prolist-minicontents-img{
	margin: 0.2em;
}
	
	.prolist-minicontents-img img{
	max-width: 300;
}
	
	.prolist-minicontents-text{
	text-align: center;	
	font-size: 13px;
	padding: 0 0.5em;
}
	
	.prolist-minicontents-text h2{
	font-size: 1.2em;
	line-height: 1;
	}

	.prolist-minicontents-text p{
	font-size: 10px;	/*文字サイズ*/
}
}





/*お手入れリスト
---------------------------------------------------------------------------*/	
/* リストの点*/
.teire {
	list-style: none;
	line-height:1.8;
	margin: 0 10% 3%;
}


.teire li{ 
	position: relative;/*ここを基準に*/
}

.teire li:before {
	background-color: rgba(50,50,50,1.00);/*色はここで変更*/
	position: absolute;/*ここを動かす*/
	content: '';
	width: 5px;/*円の幅*/
	height: 5px;/*円の高さ*/
	line-height:7px;
	top:11px;/*高さの位置調整*/
	left: -1em;/*左側位置調整*/
	border-radius: 50%;
}

/**480px以下**/
@media screen and (max-width: 786px){
.teire li:before {
	top:8px;/*高さの位置調整*/
	}
	
.teire {
	list-style: none;
	line-height:1.8;
	margin: 0 2% 3%;
}}



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

.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: 1.2rem;
		}

.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 {
	padding:  0.8rem;
    margin: 3px 10px 7px;
    border-radius: 5px;
	background: rgba(0,0,0,0.1);	
}

.accordion02 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.5em 2em;
    font-weight: 600;
    cursor: pointer;
	text-align: left;	
	font-size: 1.2rem;
		}

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

.accordion02 summary::before,
.accordion02 summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #b6bdc3;
    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;
}

/* 横並びにする */
.summary-content {
  display: flex;
  align-items: center;
}

/* 画像サイズと間隔調整 */
.summary-content img {
  width: 24px;
  height: auto;
  margin-right: 8px;
}
@media (max-width: 480px) {
  .summary-content img {
    width: 20px;
    margin-right: 6px;
  }
}


.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;
}}


/*----- アコーディオンメニュー03（sidebar風スタイル統一） -----*/
.accordion03 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 5px auto 3em;
	padding: 2rem 1rem;
    width: 100%;
    border-radius: 2px;
    overflow: visible;
    text-align: center;

    /* ▼ 通常は背景なし・枠なし */
    background-color: transparent;
    border: 1px solid transparent;
    transition: background-color 0.3s, border 0.3s;
}

/* 開いたとき：全体に背景色と枠線をつける */
.accordion03[open] {
    background-color: rgba(240, 240, 240, 0.6);
    border-radius: 2px;
}

/* summary（ボタン風） */
.accordion03 summary {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 20% ;
    padding: 10px 25px;
    font-weight: 600;
    font-size: 0.8rem;
    color: #666;
    cursor: pointer;
    border-radius: 2px;
    border: 1px solid #666;
    background-color: #fff;  /* 背景は常に白にして開いたときと区別 */
    transition: all 0.3s ease-in-out;
    text-align: center;
    z-index: 2;
}

/* summary hover時 */
.accordion03 summary:hover {
    text-decoration: none;
    color: white;
    border-color: #444;
    background-color: #4E4E4E;
}

/* 開いたときに角丸を下だけ外す */
.accordion03[open] summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 5px; /* ▼ 中身と少し隙間を空ける */
}

/* アコーディオン内容 */
.accordion03 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    background-color: #f9f9f9;
    text-align: left;
    font-size: 0.95rem;
    transition: transform 0.5s, opacity 0.5s;
}

/* 開いたとき中身を表示 */
.accordion03[open] p {
    transform: none;
    opacity: 1;
}

/* summaryの中の画像＋テキストを横並びに */
.summary-content {
    display: flex;
    align-items: center;
}

.summary-content img {
    width: 24px;
    height: auto;
    margin-right: 8px;
}

@media (max-width: 480px) {
	.accordion03 summary {
	justify-content: center;
    margin: 0 10px;
    padding: 8px 12px;
    font-size: 0.75rem;
  }

    .summary-content img {
        width: 20px;
        margin-right: 6px;
    }

}

/* レスポンシブ対応（sidebar風） */
@media (max-width: 768px) {
  .accordion03 {
    width: 90%;
    max-width: none;
    margin: 0.5rem auto;
  }
	.accordion03 h4{
	margin: 2rem auto;
    width: 90%;		
	}	
}


/*下向きの矢印設定
---------------------------------------------------------------------------*/
.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);
}



/*囲み文字
---------------------------------------------------------------------------*/
.yuryo {
	background-color: rgba(225,140,140,1.00);/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 80%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 4px 6px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}
	
/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 95%;
	margin: 2rem 3rem;
}
.ta1, .ta1 td, .ta1 tr {
	border-bottom: 2px solid #fff;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 tr.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta1の左側ボックス*/
.ta1 tr {
	width:120px;
	text-align: left;	/*センタリング*/
	font-weight: normal;
}




/*テーブル（ta3）
---------------------------------------------------------------------------*/
/*ta3設定*/
.ta3 {
	width: auto;
	min-width: 600px;
	margin: 2rem auto;
	border-collapse: collapse;
	table-layout: fixed; /* レイアウトを自動に変更して内容に合わせる */
}

.ta3 tr {
	padding: 10px 2rem;	/*ボックス内の余白*/
	word-break: break-word;
	text-align: left;
}

.ta3 td{
	border-bottom: 2px solid #d3d7de;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 2rem;	/*ボックス内の余白*/
	word-break: break-word;
	text-align: left;
}

.ta3 th {
	text-align: center;
}

/*テーブル１行目に入った見出し部分*/
.ta3 tr.tamidashi {
  background: #eee;
  font-weight: bold;
}

/*ta3の左側ボックス*/
.ta3 tr {
	text-align: left;	/*センタリング*/
	font-weight: normal;
}
@media screen and (max-width: 768px) {
  .ta3 {
	  width: 100%;
	  margin: 2rem auto; 
	   min-width: unset;   
    max-width: 100%;
	}
	
/*テーブル１行目に入った見出し部分*/
.ta3 tr.tamidashi {
display: none;
}
	
  .ta3 tr {
    display: block;
    margin-bottom: 1rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.5rem;
  }
	
  .ta3 td {
    display: block;
    width: 100%;
    padding: 5px 10px;
	border-bottom: none;  
  }
	
	.ta3 td, .ta3 th {
    padding: 10px;
    text-align: center;
  }
	
.ta3 td:first-child {
  font-weight: bold;
  background: #f0f0f0;
  border-left: 4px solid #999;
}
}

/*テーブル（ta4）
---------------------------------------------------------------------------*/
/*ta4設定*/

.ta4 {
margin: 2rem 0;
  border-collapse: collapse;
  width: 100%;
  max-width: 700px;
}
.ta4 th, .ta4 td {
  border: 2px solid #fff;
  background-color: #ECECEC;
  padding: 1em;
}

.ta4 th {
  background-color: #7C7C7C;
  color: #fff;
  font-weight: bold;
  text-align: left;
  width: 20%;
  min-width: 4em;
}

.ta4_top th{
	  text-align: center!important;
}

.ta4 td {
  text-align: center;
}
/* 小さな画面用の調整 */
@media screen and (max-width: 768px) {
  .ta4 {
    font-size: 0.75em;
  }

  .ta4 th, .ta4 td {
    padding: 0.4em;
  }

  .ta4 th {
    font-size: 0.8em;
    word-break: break-word; /* 地域名の改行を許容 */
  }

  
}


/*ポップアップ設定
---------------------------------------------------------------------------*/
.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アイコン一覧の設定
---------------------------------------------------------------------------*/

.imags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding:1rem ;
	height: auto;
	margin:1rem 5%; }


.imgs-contents {
	display: flex;
	flex-wrap: wrap;
	max-width: 17rem;
	height: auto;
	margin: 0 0.3rem; 
}

.imgs-pict{
	margin:0.3rem;
}

.imgs-pict img{
	max-width: 15rem;
	align-self: flex-start;
}

.imgs-text{
	width: auto;
	text-align: center;
	flex-direction: column;
	}

.imgs-contents p{
	text-align: center;
}



@media (max-width:768px) {
 .contents {
	overflow: hidden;
	padding: 5rem 3% 3rem;	/*ボックス内の余白。上、右、下、左。*/
}
	
.imags{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding:1rem ;
	height: auto;
	margin:1rem 3%; }
	
.imgs-contents {
	display: flex;
	flex-wrap: wrap;
	max-width: 10rem;
	height: auto;
	margin: 0 0.5rem; 
}	
	
.imgs-pict{
	margin:0.1rem;
}
	
.imgs-title{
	width: auto;
	text-align: center;
	flex-direction: column;
	}

.imgs-title{
	text-align: center;
	font-size:0.8rem;
}
}

/*マウスオン動作----------------------------------------*/

.img_wrap{
  margin: 0 auto;
  overflow: hidden;
  cursor: pointer;
}
.img_wrap img{
  width: 100%;
  transition-duration: 0.5s;
}
.img_wrap:hover img{
  transform: scale(1.2);
  transition-duration: 0.5s;
	}



/*フレックスボックス（box1）
---------------------------------------------------------------------------*/
.box1 {
	display:flex;
	justify-content: center;
  	max-width: 800px;
	height: auto;
	align-items: center;
	margin:2rem auto; 
	padding:1rem;
	background-color: rgba(255,255,255,0.3)
}
	
.box1text {		
	max-width: 800px;
	min-width: 250px;
	flex-direction: column;
	padding: 0.5rem;
	}
	
.box1pict {
	flex-direction: row-reverse;
	padding: 1rem 2rem;
}

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


a.box1_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: 60%;
  line-height: 0.25rem;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
  margin: 0.5rem 0 0;
}

a.box1_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.box1_04:hover {
  background: rgba(51,51,51,0.9);
  color: rgb(255,255,255);
}
a.box1_04:hover:before {
  border-top: 2px solid rgb(255,255,255);
  border-right: 2px solid rgb(255,255,255);
}
	
.box1 h4 {
	margin:0 auto;
	text-align: left;	/*文字位置*/
	border-bottom: 2px dotted #fff;	/*下線の幅、線種、色*/
	margin-bottom: 10px;	/*見出しの下に空けるスペース*/
	font-size: 16px;		/*文字サイズ*/
}


.box1sub{
	font-size:0.9rem;	
}

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



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

.box1 p {
    text-align: left;
	}
}

/*フレックスボックス（box2）
---------------------------------------------------------------------------*/
.box2 {
	display:flex;
	justify-content: center;
  	max-width: 90%;
	height: auto;
	align-items: flex-start;
	margin:1rem auto 3rem;
	background-color: rgba(255,255,255,0.3)
}

.box2in{
	display:flex;
	flex-direction: column;
	justify-content: center;
	max-width: 800px;
	min-width: 15rem;
	height: auto;
	align-items: center;
	margin:1rem auto; 
	padding:0.3rem 0.1rem;
}

.box2pict {
	flex-direction: row-reverse;
	padding: 1rem 2rem;
	min-width: 80px;
}

.box2pict img {
width: 100%;
max-height: 300px;
margin: auto 3%;
border-radius: 2%;	/*円形にする設定。*/
}

.box2sub{
	font-size:0.9rem;	
}

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


.box2text {		
	max-width: 800px;
	min-width: 250px;
	flex-direction: column;
	padding: 0.5rem;
	font-size: 1rem;
	margin:0.5rem 1.5rem;
	}


.box2price {
	max-width: 350px;
	font-size:1.2rem;
	justify-content: flex-end;
	text-align: center;
    margin: 1rem auto;
	padding:5px 2rem; 
	color:#ffffff;
	background-color: rgba(0,0,0,0.4);
}



@media (max-width:1000px) {
.box2 {
    flex-direction: column;
	text-align: center;
	margin-bottom: 5rem;
  }
		
.box2pict{
	min-width: 90%;
    height:auto;
	}
.box2text {		
	text-align: left;
	}
	
.box2 p {
    text-align: left;
	}
.box2 li {
    text-align: left;
	}
	
.box2price {
	max-width: 250px;
}	
	
}


.box2miniin{
	display:flex;
	flex-direction: column;
	justify-content: center;
	max-width: 200px;
	min-width: 8rem;
	height: auto;
	align-items: center;
	margin:1.5rem 0.5rem; 
}

.box2minipict{
	margin: 0.5rem auto;
}

.box2minipict img{
	max-height: 120px;
}


.box2minitext {		
	justify-content: center;
	max-width: 200px;
	min-width: 8rem;
	flex-direction: column;
	align-items: center;
	margin:0.5rem 0.5rem; 
	font-size: 0.8rem;
}
	
@media (max-width:1000px) {
.box2miniin{
	min-width: 15em;
	margin:0.5rem auto; 
	}
	

.box2minipict {
	padding: 1rem auto;
}

.box2minipict img {
margin: 10px auto 0;
max-height: 200px;
}

.box2minitext {	
	margin: 0 auto  10px; 
	font-size: 0.8rem;
}
}


/*フレックスボックス設定 (送料表)
---------------------------------------------------------------------------*/
.contents-tec3 {
	display: flex;
	justify-content: center;
	position: relative;
	align-items: center;
	background: rgba(255,255,255,0.5);	
	flex-direction: column;
	margin: 0 auto;
}

.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%;}

}




/*フレックスボックス（画像と文字 縦並びセット）
---------------------------------------------------------------------------*/


.listbox1 {
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
  	max-width: 800px;
	height: auto;
	margin:2rem auto; 
	padding:1rem;
}
	
.list1box1{
	margin: 0.5rem ;
	max-width: 250px;
	height: auto;
}

.list1pict {
	margin: 0.3rem ;
	text-align: center;
	flex-direction: row-reverse;
}
.list1pict img{
	max-width: 200px;
}

.list1text {
	text-align: center;
 	font-size: 0.9em ;
	}
	


/*フレックスボックス（box2）
---------------------------------------------------------------------------*/

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

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

.nisitext {
	width: 60%; /*flex: 2;*/
	height: auto;
	margin: 1rem  0;
}
.nisipict {
	width: 35%; /*flex: 1;*/
	margin: auto  0 auto 3rem;
}


@media (max-width:768px) {
  .nisibox {
    flex-direction: column;
  }
  .nisibox:nth-child(even) {
    flex-direction: column;
  }
  .nisitext {
    text-align: center;
	  width: 80%;
  }
  .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 {
    width:70%;
    height:auto;
   margin: 10px 0}
}
		
/*写真の設定*/
.nisibox figure img {
	display: block;
	margin-bottom: 10px;	/*画像の下に空けるスペース*/
	text-align: center;
		}

/*ボックス内のh4見出し*/
.nisibox h4 {
	text-align: left;	
	border-bottom: 1px solid #666;	/*下線の幅、線種、色*/
	padding: 0 15px;
	margin: 0 10px;	/*見出しの下に空けるスペース*/
	font-size: 20px;		/*文字サイズ*/
	max-width:700px;
		}
@media screen and (max-width: 768px){
	.nisibox h4,
	.nisibox h4:nth-child(odd)  {
	width: 100%;
	text-align: center;
	max-width: 450px;
	padding:0.5em 0.5em; 

	}
	}

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



/* ------------------------------
ランプ説明用ボックス（lambox）
------------------------------ */
.lambox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin: 1.5rem 0;
  padding: 1.5rem;
  background: rgba(255,255,255,0.5);
  border-radius: 8px;
}

.lamtext {
  width: 60%;
  text-align: left;
}

.lampict {
  width: 40%;
  text-align: center;
}

.lampict img {
  max-width: 100%;
  height: auto;
}

/* 段落と見出し */
.lambox h4 {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #666;
  padding-bottom: 0.3rem;
}

.lambox p {
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 0;
  color: #333;
}

.lambtn {
  display: flex;
  justify-content: center;
  align-items: center; 
  margin: -1rem 0 3rem;
}

/* 動画エリア */
.douga-main {
  margin: 2rem 0;
  text-align: center;
}

.douga-main video {
  width: 100%;
  max-width: 640px;
  height: auto;
  border-radius: 8px;
}

/* スマホ対応（レスポンシブ） */
@media screen and (max-width: 768px) {
  .lambox {
    flex-direction: column;
    text-align: center;
    justify-content: center;
    padding: 1rem;
    margin: 0 auto;
    max-width: 100%;
    box-sizing: border-box;
  }
  .lamtext, .lampict, .douga-main, .lambtn {
    width: 100%;
    padding: 0 1rem;
    box-sizing: inherit;
  }
	
  .lamtext, .lampict {
    width: 100%;
    margin: 0.5rem 0;
    padding: 0 1rem;
  }

  .lambox h4, .lambox p {
    padding: 0 1rem;
  }
	
  .lambox h4 {
    font-size: 1.2rem;
    text-align: center;
    padding: 0 3px;  
  }

  .lambox p {
    font-size: 1rem;
    text-align: left;
    padding: 0 1rem;
  }

  .douga-main video {
    width: 100%;
  }

.lambtn {
 margin: 1rem 0 2rem;
	padding: 0 1rem;
}

}

/* ボックス用ボタンリンク*/

.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: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;
}


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

#page-top {
  position: fixed;
  right: 1.3em;
  bottom: 1.3em;
  width: 4.5rem;
  height: 4.5rem;
  border: none;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-size: 2em;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  z-index: 999;
}


#page-top.is-show {
  opacity: 1;
  visibility: visible;
}

#page-top:hover {
  opacity: 0.7;
}