@charset "UTF-8";

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

img {
	max-width: 100%;
}

body {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	/* 画像ファイルの指定 */
	background-image: url("../image/top-back.jpg");
	background-color: rgba(255,255,255,0.3);
	background-blend-mode: lighten;
         
	/* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
	background-attachment: fixed;
   
	/* 表示するコンテナの大きさに基づいて、背景画像を調整 */
	background-size: cover;
   
}

/*お問い合わせボタン*/
a.contact-btn {
	display: grid;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 15vw;
	margin: auto;
	padding: 1vw 1vw;
	font-size: 1.2vw;
	font-weight: bold;
	color: #000000;
	background-color: #FFE700; 
	border-bottom: 2px solid #27acd9;
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
	z-index: 101;
}
a.contact-btn:hover {
	color: #fff;
	background: #27acd9;
	border-bottom: 2px solid #fff;
	transform: translateY(3px);
}

/* サイドバーレイアウト */

header {
	position: fixed;
	top: 50%;
	transform: translate(0, -50%);
	z-index: 101;
}

main {
	position: fixed;
    width: 33%;
    height: 100vh;
    top: 0;
    left: 0;
	background-color: #FFFFFF;
	background-image: url("../image/top-back.jpg");
	background-size: cover;
    box-shadow: 0px 0px 4px 0px #666;
	z-index: 100;
}


/*サイドバーロゴ・住所*/
 .inner {
    width:70%;
    position: absolute;
/*    top: 35%;*/
    left: 10%;
    right: 0;
    transform: translate(0, -50%);
    margin: 0 auto;
    padding-top: 3rem;
	text-align: center;
}

.inner h1{
	text-align: center;
	font-size: 1.7vw;
	color: #6B6767;
}
.inner p {
	text-align: left;
	font-size: .9vw;
	margin-top: 5%;
	margin-left: 10%;
	color: #6B6767;
}

/* スライドショーコンテナ */
.slideshow {
	position: relative;
	left: 33%;   /* サイドバーの幅ぶん右にずらす */
	width: 67%;  /* 右側をスライドショーとして確保 */
	height: 100vh;
	overflow: hidden;
}

.slideshow, .right-photo01 {
    height: 100vh;
}

/* 各スライド */
.slide {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.slide.active {
	opacity: 1;
}

.slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	
}

/*スライドショウドットナビゲーション*/
.dots {
	position: absolute;
	bottom: 20px; /* 下から20pxの位置 */
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
}

.dot {
	width: 12px;
	height: 12px;
	background-color: rgba(255,255,255,0.6); /* 半透明の白 */
	border-radius: 50%;
	cursor: pointer;
	transition: background-color 0.3s;
}

.dot.active {
	background-color: rgba(255,255,255,1); /* 選択中は白で強調 */
}


/* スマホ版のみ */
@media (max-width: 640px) {
  .slideshow,
  .right-photo01 {
    height: auto; /* 高さを固定ではなく自動に */
	width: 100%;
	left: 0%;
  }

  .slide {
    position: relative; /* 絶対配置を解除 */
    height: auto;       /* 高さ自動 */
    opacity: 1;         /* 常に表示 */
    transition: none;   /* アニメーション解除 */
  }

  .slide img {
    width: 100%;
    height: auto;       /* 縦横比を保持してリサイズ */
    object-fit: contain; /* 必要に応じて cover → contain に */
  }
	
	.dots,
	.mobile-none {
		display: none;
	}
}


/*トップ一番上*/
.right-photo01 img {
	display: block;      /* 下の隙間を消す */
    margin: 0;           /* ブラウザ依存の余白を消す */
    height: 100vh;       /* 画面高さに固定 */
    object-fit: cover;
    position: relative;
}

.right-photo-text1 {
	display: flex;
	position: absolute;
	width: 57%;
	min-width: 34%;
	right: 0;
	left: 10%;
	font-size: 1.7vw;
	line-height: 4vw;
	text-align:justify;
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
	font-style: normal;
	color: #FFFFFF;
	top: 20vh;
}

.right-photo-text2 {
	display: flex;
	position: absolute;
	width: 60%;
	min-width: 34%;
	right: 0;
	left: 10%;
	font-size: 1.7vw;
	line-height: 4vw;
	text-align:justify;
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
	font-style: normal;
	color: #FFFFFF;
	top: 20vh;
}

.right-photo-text3 {
	display: flex;
	position: absolute;
	width: 60%;
	min-width: 34%;
	right: 0;
	left: 10%;
	font-size: 1.7vw;
	line-height: 4vw;
	text-align:justify;
	font-family: "Noto Serif JP", serif;
	font-weight: normal;
	font-style: normal;
	color: black;
	top: 65vh;
}

/*スマホ版*/
@media(max-width:640px) {
	.image-mobile img {
		position: relative;
  		width: 100%;
  		max-width: 100%;
  		overflow: hidden;
	}
	.right-photo01 {
  		position: relative;
  		width: 100%;
  		max-width: 100%;
  		overflow: hidden;
		}
	
	.right-photo01 img {
		display: fixed;
		position: relative;
		width: 100%;
		height:auto;
		left: 0;
		min-height: 0;
		object-fit:scale-down;
		object-position: top;
		}
	
	.right-photo01 p{
		position:absolute;
		width: 75%;
		right: 0;
		left: 10%;
		font-size: 3.7vw;
		line-height: 30px;
		text-align:justify;
		font-family: "Noto Serif JP", serif;
		font-weight:600;
		font-style: normal;
		color: #FFFFFF;
		text-shadow: 1px 1px 1px rgb(61 70 70);
		top:10%;
		}
}


/* 751px以上の画面幅で表示 */
@media (min-width: 641px) {
	.image-mobile {
		display: none; /* 751px以上では非表示 */
	  	}
}

/*キャッチコピー*/
.catch-copy {
	position: relative;
	left: 33%;
	width: 67%;
}
.catch-copy p {
  margin: 1rem 2rem;
  padding: 1.5em;
  font-size: 1.5rem;
  line-height: 1.8;
  color: gray;
  text-align: justify;
}
.catch-copy strong {
  color: #c0504d; /* 強調色、会社カラーに合わせてもOK */
}

@media(max-width:640px) and (orientation: portrait){
	.catch-copy {
		position: relative;
		left: 0%;
		width: 100%;
	}
	.catch-copy p {
	  margin: 1rem 1rem;
	  padding: 1rem;
	  font-size: 1rem;
	  line-height: 1.5;
	  color: #333;
	  text-align: justify;
	}
	.catch-copy strong {
	  color: #c0504d; /* 強調色、会社カラーに合わせてもOK */
	}
}


.news-nav {
    position: relative;
    width: 50%;
    height: auto;
    background-color: white;
    border-radius: 20px;
    margin-top: 30px;
    margin-left: 43.5%; /* 修正 */
    padding-top: 1.5rem;
    box-shadow: 0px 2px 2px 0px #999;
}


.news-top {
	width: 100px;
	margin-left: 12.5%;
	border-top: solid 1.5px;
	color: #FF5800;
	border-bottom: solid 1.5px;
	text-align: center;
	margin-bottom: 20px;
	font-size: 15px;
}


.news-list .item a{
	width: 75%;
	display: flex;
	margin: auto;
	text-decoration: none;
	color: #333;
	border-bottom: 1.5px solid #09C617;
	padding: 1.5vh 1.5vh;
}

.news-list .item {
	list-style: none;
	margin-bottom: 1rem;
}

.date {
	width: 150px;
}

.news-title {
	font-size: 13px;
}

.font_new {
	font-size: 10px;
	margin-left: 15px;
	background-color: #FF0004;
	padding: 4px;
	border-radius: 5px;
	color: #FFFFFF;
}

.news-list .item .date{
	margin: 0;
	font-size: 13px;
	color: #999;
	padding: 0 50px 0 0;
}


.news-list .item  a:hover .news-title{
	color: #00F;
}



/*ニュースmoreボタン*/
.news-btn {
	display: grid;
	justify-content: right;
}

.btn {
	display: inline-block;
	text-decoration: none;
	font-size: 0.8vw;
	background-color: #0011FF;
	color: #FFFFFF;
	padding: 1px 5px 3px;
	border-radius: 5px;
	margin-top: -30px;
	margin-right: 20px;
	margin-bottom: 20px;
	transition: .5s; 
}

.btn:hover {
	background-color: #1477DB;
}

/*スマホ版*ニュース*/
@media (max-width: 640px) {
	.news-nav {
		display: block;          /* inline-block → block に変更 */
		position: relative;
		width: 90%;
		height: 100px;
		background-color: white;
		border-radius: 20px;
		margin: .5rem auto 2.5rem;       /* 横方向中央配置 */
		top: 1rem;
		box-shadow: 0px 2px 2px 0px #999;
	}

	.news-top {
		width: 50px;
		margin-left: 7%;
		border-top: solid 1.5px;
		color: #FF5800;
		border-bottom: solid 1.5px;
		text-align: center;
		margin-bottom: 5px;
		font-size: 10px;
		margin-top: -10px;
	}


	.news-list .item a{
		width: 75%;
		display: flex;
		margin: auto;
		text-decoration: none;
		color: #333;
		border-bottom: 1.5px solid #09C617;
		padding: 1vh 1vh;
	}

	.news-list .item {
		list-style: none;
		margin-bottom: 0rem;
	}

	.date {
		width: 100px;
	}

	.news-title {
		font-size: 8px;
	}

	.font_new {
		font-size: 7px;
		margin-left: 15px;
		background-color: #FF0004;
		padding: 4px;
		border-radius: 5px;
		color: #FFFFFF;
	}

	.news-list .item .date{
		margin: 0;
		font-size: 8px;
		color: #999;
		padding: 0 0 0 0;
	}


	.news-list .item  a:hover .news-title{
		color: #00F;
	}



/*ニュースmoreボタン*/
	.news-btn {
		display: grid;
		justify-content: right;
	}

	.btn {
		display: inline-block;
		text-decoration: none;
		font-size: 8px;
		background-color: #0011FF;
		color: #FFFFFF;
		padding: 1px 5px 3px;
		border-radius: 5px;
		margin-top: 5px;
		margin-right: 10px;
		margin-bottom: 10px;
		transition: .5s; 
	}

	.btn:hover {
		background-color: #1477DB;
	}
}


/*トップカテゴリーレイアウト*/
/*カテゴリー1*/
.category-list-1 {
	position: relative;
	right: 0;
	left: 33%;
	margin-top: 3vw;
	margin-bottom: 1vw;
	width: 67%;
	height: 4vw;
}

.category-nav {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* ここを追加 */
    list-style: none;
    padding: 1vw 1vw;
    gap: 5px;
}

.category-nav a {
    display: block;
	width: 21vw;
	text-align: center;
    text-decoration: none;
    font-size: 1.5vw;
    color: #514F4F;
    background: #5cd1ff;
	background: linear-gradient(45deg,rgba(92, 209, 255, 1) 0%, rgba(106, 247, 165, 1) 50%, rgba(140, 255, 117, 1) 100%);
    padding: 10px 0px;
    border: solid 1.8px #00BBFF;
    border-radius: 20px 0;
    box-shadow: 0 4px 0 #aaa;
    transition: all 0.15s ease-in-out;

    /* 高さをそろえる */
    line-height: 1.2; 
}

.category-nav a:hover {
    transform: translateY(2px);
    box-shadow: inset 0 2px 3px rgba(0,0,0,0.3);
	color: crimson;
}


/*スマホ版*/
@media (max-width: 640px) {
	.category-list-1 {
		position: static !important;
		width: 100% !important;         /* 親幅を画面いっぱいに */
		height: auto;
		margin: 7vw 0 0 !important;
		background: none !important;
		display: flex;                  /* 子要素を中央に配置するため */
		justify-content: center;        /* 横方向中央寄せ */
	  }

  	.category-nav {
		display: flex !important;
		flex-direction: column !important; 
		gap: 3vw !important;
		padding: 0 !important;
		align-items: center !important; /* liやaを中央揃え */
		width: 100% !important;
	  }

 	 .category-nav li {
		width: 100%; 
		position: relative; 
		display: flex;                 /* li内も中央寄せ */
		justify-content: center;       
	  }

 	 .category-nav a {
		display: block !important;
		width: 60% !important;         /* li幅に対して90% */
		max-width: 400px !important;
		padding: .5vw 2vw !important;
		text-align: center;
		font-size: 3vw;
		border: 1px solid #333;
		border-radius: 8px;
		background: none;
		background-color: #F3FFA1;
		color: #333;
	  }

	 .category-nav li+li:after {
		display: none !important;
	  }

 	 .category-nav a:hover {
		background-color: #FF6E00;
		color: #fff;
		border-color: #FF6E00;
	  }
}


/*カテゴリー2*/
.category-list-2 {
	position: absolute;
	left: 33%;
	right: 0;
	margin-top: 1vw;
	margin-bottom: 2vw;
	width: 67%;
	height: 4vw;
}

.category-nav-2 {
    display: flex;
    justify-content: center;
    align-items: flex-start; /* ここを追加 */
    list-style: none;
    padding: 1vw 1vw;
    gap: 5px;
}

.category-nav-2 a {
    display: block;
	width: 21vw;
	text-align: center;
    text-decoration: none;
    font-size: 1.5vw;
    color: #514F4F;
	background: #5cd1ff;
	background: linear-gradient(120deg,rgba(92, 209, 255, 1) 0%, rgba(106, 247, 165, 1) 50%, rgba(140, 255, 117, 1) 100%);
    padding: 10px 0px;
    border: solid 1.8px #00BBFF;
    border-radius: 20px 0px;
    box-shadow: 0 4px 0 #aaa;
    transition: all 0.15s ease-in-out;

    /* 高さをそろえる */
    line-height: 1.2; 

}

.category-nav-2 a:hover {
	transform: translateY(2px);
	box-shadow: inset 0 2px 3px rgba(0,0,0,0.3);
	color: crimson;
}


/*スマホ版*/
@media (max-width: 640px) {
	.category-list-2 {
		position: static !important;
		width: 100% !important;         /* 親幅を画面いっぱいに */
		height: auto;
		margin: 3vw 0 0 !important;
		background: none !important;
		display: flex;                  /* 子要素を中央に配置するため */
		justify-content: center;        /* 横方向中央寄せ */
	  }

  	.category-nav-2 {
		display: flex !important;
		flex-direction: column !important; 
		gap: 3vw !important;
		padding: 0 !important;
		align-items: center !important; /* liやaを中央揃え */
		width: 100% !important;
	  }

 	 .category-nav-2 li {
		width: 100%; 
		position: relative; 
		display: flex;                 /* li内も中央寄せ */
		justify-content: center;       
	  }

 	 .category-nav-2 a {
		display: block !important;
		width: 60% !important;         /* li幅に対して90% */
		max-width: 400px !important;
		padding: .5vw 2vw !important;
		text-align: center;
		font-size: 3vw;
		border: 1px solid #333;
		border-radius: 8px;
		background: none;
		background-color: #F3FFA1;
		color: #333;
	  }

	 .category-nav-2 li+li:after {
		display: none !important;
	  }

 	 .category-nav-2 a:hover {
		background-color: #FF6E00;
		color: #fff;
		border-color: #FF6E00;
	  }
}



/*企業のお客様へレイアウト*/

.for-company h2 {
	position: relative;
	display: flex;
	width: 67%;
	left: 33%;
	align-items: center;
	justify-content: center;
	margin-top: 13vw;
	margin-bottom: 1vw;
	font-size: 2vw;
}

.for-company h2:before, .for-company h2:after {
	border-top: 2px solid #8B5000;
	content: "";
	width: 10vw; /* 線の長さ */
}

.for-company h1:before {
	margin-right: 1em; /* 文字の右隣 */
}

.for-company h1:after {
	margin-left: 1em; /* 文字の左隣 */
}

.container {
	display: fixed;
	position: relative;
	left: 33%;
	width: 67%;
	max-width: 1980px;
	max-height: 900px;
	text-align: center;
	margin-top: 1vw;
	margin-bottom: 2VW;
}

.container object {
	display: flex;
	position: absolute;
	margin-left: 10vw;
	margin-top: 3vw;
	z-index: 100;
}

.for-company-back img {
	display: flex;
	position: absolute;
	height: 120%;
	padding: 1vw;
	margin-top: -1vw;
	opacity: 0.3;
}


.for-company-list1 {
	display: inline-block;
	position: relative;
	width: 29vw;
	border: solid 3px #FF7A00;
	background-color: rgba( 255, 255, 255, 0.50 );
	border-radius: 20px 20px 20px 20px / 20px 20px 20px 20px;
	padding-top: 1.5vw;
	padding-bottom: 1.5vw;
	margin-top: 12vw;
	margin-left: 1vw;
	list-style: none;
	text-align: center;
	font-size: 1.7vw;
	color: #15A400;
	letter-spacing: -1px;
	box-shadow: 0px 4px 4px 0px #666;
}

.for-company-list2 {
	display: inline-block;
	position: relative;
	width: 29vw;
	border: solid 3px #FF7A00;
	background-color: rgba( 255, 255, 255, 0.50 );
	border-radius: 20px 20px 20px 20px / 20px 20px 20px 20px;
	padding-top: 1.5vw;
	padding-bottom: 1.5vw;
	margin-top: 2vw;
	margin-left: 1vw;
	list-style: none;
	text-align: center;
	font-size: 1.7vw;
	color: #15A400;
	letter-spacing: -1px;
	box-shadow: 0px 4px 4px 0px #666;
}

.for-company2 {
	display: flex;
	position: relative;
	margin-top: 2vw;
	margin-left: 4.5vw;
	width: 58vw;
	font-size: 1.7vw;
	line-height: 3vw;
	text-align: left;
}

/*スマホ版*/
@media (max-width: 640px){
	.for-company h2 {
		position: relative;
		display: flex;
		width: 100%;
		left: 0%;
		aligten-items: center;
		justify-content: center;
		margin-top: 5vw;
		margin-bottom: 1vw;
		font-size: .8rem;
	}
	
	.for-company-back img {
		width: 100%;
	}
	
	.container object {
		display: flex;
		position: absolute;
		text-align: center;
		margin-left: 15vw;
		margin-top: 3vw;
		z-index: 100;
	}
	.container {
		display: fixed;
		position: relative;
		left: 0%;
		width: 100%;
		height: auto;
		text-align: center;
		margin-top: 1vw;
		margin-bottom: 2VW;
	}
	.for-company-list1 {
		display: inline-block;
		position: relative;
		width: 45vw;
		border: solid 2px #FF7A00;
		background-color: rgba( 255, 255, 255, 0.50 );
		border-radius: 10px 10px 10px 10px / 10px 10px 10px 10px;
		padding-top: 1.5vw;
		padding-bottom: 1.5vw;
		margin-top: 15vw;
		margin-left: 0vw;
		list-style: none;
		text-align: center;
		font-size: .7rem;
		color: #15A400;
		letter-spacing: -1px;
		box-shadow: 0px 4px 4px 0px #666;
	}
	.for-company-list2 {
		display: inline-block;
		position: relative;
		width: 45vw;
		border: solid 2px #FF7A00;
		background-color: rgba( 255, 255, 255, 0.50 );
		border-radius: 10px 10px 10px 10px / 10px 10px 10px 10px;
		padding-top: 1.5vw;
		padding-bottom: 1.5vw;
		margin-top: 2vw;
		margin-left: 0vw;
		list-style: none;
		text-align: center;
		font-size: .7rem;
		color: #15A400;
		letter-spacing: -1px;
		box-shadow: 0px 4px 4px 0px #666;
	}
	.for-company2 {
		display: flex;
		position: relative;
		margin-top: 5vw;
		margin-left: 4.5vw;
		width: 90vw;
		font-size: 0.7rem;
		line-height: 1rem;
		text-align: justify;
	}
}

/*企業のお客様へお問い合わせボタン*/
.for-company-btn {
	position: absolute;
	right: 5%;
	top: 100%;
}

/*企業のお客様へお問い合わせボタンスマホ版*/
@media(max-width:640px) {
	a.contact-btn {
		display: grid;
		text-align: center;
		vertical-align: middle;
		text-decoration: none;
		width: 40vw;
		margin: auto;
		padding: 1vw 1vw;
		font-size: .6rem;
		font-weight: bold;
		color: #000000;
		background-color: #FFE700; 
		border-bottom: 2px solid #27acd9;
		border-radius: 100vh;
		box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
		transition: 0.5s;
		z-index: 101;
	}
	a.contact-btn:hover {
		color: #fff;
		background: #27acd9;
		border-bottom: 2px solid #fff;
		transform: translateY(3px);
	}
	
	.for-company-btn {
	position: absolute;
	right: 5%;
	top: 105%;
	}
}

/*個人のお客様へレイアウト*/
.for-personal-container {
	display: fixed;
	position: relative;
	margin-bottom: 2VW;
}
.for-personal-container img {
	object-fit: cover;
}
.for-personal {
	display: flex;
	position: relative;
	left: 33%;
	width: 67%;   /* ※A */
	margin-top: 7vw;
	margin-bottom: 2VW;
	justify-content: center;
	text-align: center;
}

.for-personal-back {
	position: absolute;
	width: 67%;
	left: 33%;
	margin-top: -3vw;
	padding: 1vw;
}

.for-personal-back img {
	opacity: 0.2;
}


.for-personal h2 {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	margin-top: 5vw;
	margin-bottom: 1vw;
	font-size: 2vw;
}

.for-personal h2:before, .for-personal h2:after {
	border-top: 2px solid #8B5000;
	content: "";
	width: 10vw; /* 線の長さ */
}

.for-personal h2:before {
	margin-right: 1em; /* 文字の右隣 */
}

.for-personal h2:after {
	margin-left: 1em; /* 文字の左隣 */
}

.for-personal-1 {
	display: flex;
	position: relative;
	width: 67%;
	left: 33%;
	justify-content: center;
}

.for-personal-1 h2 {
	display: flex;
	position: absolute;
	margin-top: 2vw;
	font-size: 3vw;
	transform: skewX(-10deg);
	padding-left: 5vw;
	padding-right: 5vw;
	background: rgb(241,118,75);
	background: linear-gradient(90deg, rgba(241,118,75,0.5060399159663865) 0%, rgba(255,247,0,0.604079131652661) 52%, rgba(0,255,254,0.4500175070028011) 100%);
	border-radius: 10px;
	box-shadow: 0px 4px 4px 0px #666;
}

.for-personal-1 p {
	position: relative;
	width: 92%;
	left: 0.5vw;
	margin-top: 9vw;
	font-size: 1.7vw;
	line-height: 3vw;
}

.font_color {
	color: #FE0004;
	font-weight: bold;
}

@media(max-width:640px) {
	.for-personal-container {
	display: fixed;
	position: relative;
	margin-bottom: -1vw;
}
	.for-personal {
		display: flex;
		position: relative;
		left: 0%;
		width: 100%;   /* ※A */
		margin-top: 2rem;
		margin-bottom: 2VW;
		justify-content: center;
		text-align: center;
	}
	.for-personal-back {
		position:absolute;
		width: 100%;
		left: 0%;
		margin-top: -3vw;
		padding: 1vw;
	}
	.for-personal-back img {
		width: 100%;
		height: 100%;
		aspect-ratio: 5 / 3.5;
		object-fit: cover;
	}
	.for-personal h2 {
		position: relative;
		display: flex;
		width: 100%;
		left: 0%;
		aligten-items: center;
		justify-content: center;
		margin-top: 13vw;
		margin-bottom: 1vw;
		font-size: .8rem;
	}	
	.for-personal-1 {
		display: flex;
		position: relative;
		width: 100%;
		left: 0%;
		justify-content: center;
	}
	
	.for-personal-1 h2 {
	display: flex;
	position: absolute;
	margin-top: 2vw;
	font-size: 3vw;
	transform: skewX(-10deg);
	padding-left: 5vw;
	padding-right: 5vw;
	background: rgb(241,118,75);
	background: linear-gradient(90deg, rgba(241,118,75,0.5060399159663865) 0%, rgba(255,247,0,0.604079131652661) 52%, rgba(0,255,254,0.4500175070028011) 100%);
	border-radius: 10px;
	box-shadow: 0px 4px 4px 0px #666;
}

	.for-personal-1 p {
		position: relative;
		width: 92%;
		left: 0.5vw;
		margin-top: 9vw;
		font-size: .7rem;
		line-height: 1rem;
	}
}

/*個人のお客様お問い合わせボタン*/
.for-personal-btn {
	position: absolute;
	right: 5%;
	top: 80%;
}


/*サービス一覧*/

/*紙への印刷レイアウト*/
.service-list {
	display: flex;
	position: relative;
	left: 33%;
	width: 67%;   /* ※A */
	max-width: 1980px;  /* ※B */
	max-height: 900px;
	margin-top: 3vw;
	margin-bottom: 2VW;
	justify-content: center;
	text-align: center;
}

.service-list-back img {
	display: flex;
	position: absolute;
	width: 67%;
	height: 58vw;
	object-fit: cover;
	left: 33%;
	margin-top: -3vw;
	padding: 1vw;
	opacity: 0.15;
}

.service-list h2 {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	margin-top: 5vw;
	margin-bottom: 1vw;
	font-size: 2vw;
}

.service-list h2:before, .service-list h2:after {
	border-top: 2px solid #8B5000;
	content: "";
	width: 10vw; /* 線の長さ */
}

.service-list h2:before {
	margin-right: 1em; /* 文字の右隣 */
}

.service-list h2:after {
	margin-left: 1em; /* 文字の左隣 */
}

.service-paper-1 {
	display: flex;
	position: relative;
	width: 67%;
	left: 33%;
}

.service-paper-1 h2 {
	display: flex;
	position: relative;
	left: 4vw;
	font-size: 1.8vw;
	color: #6A3200;
	padding-right: 20vw;
	border-bottom: solid 3px #FC9700;
}

.service-paper-1 h2:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #005597;
	bottom: -3px;
	width: 30%;
}

.service-paper-2 img {
	position: absolute;
	width: 23vw;
	margin-left: 1.5vw;
	object-fit: contain;
}

.service-paper-2 {
	display: flex;
	position: relative;
	width: 65%;
	left: 35%;
	margin-top: 1.5vw;
}

.service-paper-2 ul {
	display: grid;
	width: fit-content;
	margin-left: 25vw;
	column-gap: 5vw;
	grid-template-columns: repeat(2, auto);
	padding: 0.5em;
	list-style: none;
	font-size: 1.2vw;
}

.service-paper-2 ul li {
	line-height: 1.5;
	padding: 0.5em 0;
	list-style-type: none;
}

.service-paper-2 ul li{
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	margin-bottom:5px;
	border-bottom: 1px solid rgba(255,143,0,1);
}

.service-paper-2 ul li:after,
.service-paper-2 ul li:before {
	position: absolute;
	content:'';
	transform: rotate(45deg);
}
.service-paper-2 ul li:before {
	top: 0.7em;
	left: 0.2em;
	width: 12px;
	height: 12px;
	border:2px solid rgba(255,143,0,1);
}
.service-paper-2 ul li:after {
	top: 0.9em;
	left: 0.7em;
	width: 14px;
	height: 14px;
	background: rgba(255,143,0,0.5);
	transform: rotate(60deg);
}

a.paper-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	height: 2vw;
	width: 23vw;
	margin-left: 73%;
	margin-top: 1vw;
	padding: 0 0.5vw;
	border-radius: 100vw;
	background: #6a6e78;
	background-size: 400%;
	font-size: 1.2vw;
	color: #fff;
}
a.paper-btn:hover::before {
	transform: scaleX(1);
}
a.paper-btn:hover {
	color: #fff;
}
a.paper-btn span {
	position: relative;
	z-index: 1;
}
a.paper-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	transform: scaleX(0);
	transform-origin: 0 50%;
	width: 100%;
	height: inherit;
	border-radius: inherit;
	background: linear-gradient(82.3deg, rgba(39, 172, 217, 1) 10.8%, rgba(18, 83, 229, 1) 94.3%);
	transition: all 0.475s;
}

/*サービス一覧紙への印刷スマホ版*/
@media(max-width:640px) {
	.service-list {
		display: flex;
		position: relative;
		left: 0%;
		width: 100%;   /* ※A */
		max-width: 1980px;  /* ※B */
		max-height: 900px;
		margin-top: 3vw;
		margin-bottom: 2VW;
		justify-content: center;
		text-align: center;
	}
	.service-list-back {
	display: none;
	}

	.service-list h2 {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: center;
		margin-top: 7rem;
		margin-bottom: 1vw;
		font-size: .8rem;
	}
	
	.service-paper-1 {
		display: flex;
		position: relative;
		width: 100%;
		left: 0%;
	}
	
	.service-paper-1 h2 {
		display: flex;
		position: relative;
		left: 4vw;
		font-size: .8rem;
		color: #6A3200;
		padding-right: 20vw;
		border-bottom: solid 3px #FC9700;
	}

	.service-paper-1 h2:after {
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 3px #005597;
		bottom: -3px;
		width: 30%;
	}
	
	.service-paper-2 {
		display: flex;
		position: relative;
		width: 100%;
		left: 0%;
		margin-top: 1.5vw;
	}
	
	.service-paper-2 img {
		position: absolute;
		width: 33vw;
		margin-left: 1.5vw;
		object-fit: contain;
	}
	.service-paper-2 ul {
		display: grid;
		width: fit-content;
		margin-left: 35vw;
		column-gap: 5vw;
		grid-template-columns: repeat(2, auto);
		padding: 0.5em;
		font-size: 0.6rem;
	}

	.service-paper-2 ul li {
	  	line-height: 1.5;
	}

	a.paper-btn {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		overflow: hidden;
		text-decoration: none;
		height: 5vw;
		width: 47vw;
		margin-left: 48%;
		margin-top: 1vw;
		margin-bottom: 10vw;
		padding: 0 0.5vw;
		border-radius: 100vw;
		background: #6a6e78;
		background-size: 400%;
		font-size: .6rem;
		color: #fff;
	}
}

/*モノへの印刷レイアウト*/
.service-mono-1 {
	display: flex;
	position: relative;
	width: 65%;
	left: 33%;
	margin-top: 1.5vw;
}

.service-mono-1 h2 {
	display: flex;
	position: relative;
	left: 4vw;
	font-size: 1.8vw;
	color: #6A3200;
	padding-right: 20vw;
	border-bottom: solid 3px #FC9700;
}

.service-mono-1 h2:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #005597;
	bottom: -3px;
	width: 30%;
}

.service-mono-1 img {
	position: absolute;
	width: 15vw;
	margin-left: 6vw;
	object-fit: contain;
}

.service-mono-1 ul {
	display: grid;
	width: fit-content;
	margin-left: 25vw;
	column-gap: 5vw;
	grid-template-columns: repeat(2, auto);
	padding: 0.5em;
	list-style: none;
	font-size: 1.2vw;
}

.service-mono-1 ul li {
	line-height: 1.5;
	padding: 0.5em 0;
	list-style-type: none;
}

.service-mono-1 ul li{
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	margin-bottom:5px;
	border-bottom: 1px solid rgba(255,143,0,1);
}

.service-mono-1 ul li:after,
.service-mono-1 ul li:before {
	position: absolute;
	content:'';
	transform: rotate(45deg);
}

.service-mono-1 ul li:before {
	top: 0.7em;
	left: 0.2em;
	width: 12px;
	height: 12px;
	border:2px solid rgba(255,143,0,1);
}

.service-mono-1 ul li:after {
	top: 0.9em;
	left: 0.7em;
	width: 14px;
	height: 14px;
	background: rgba(255,143,0,0.5);
	transform: rotate(60deg);
}

/*サービス一覧物への印刷スマホ版*/
@media(max-width:640px) {
	.service-mono-1 {
		display: flex;
		position: relative;
		width: 100%;
		left: 0%;
		margin-top: 1.5vw;
	}
	
	.service-mono-1 h1 {
		display: flex;
		position: relative;
		left: 4vw;
		font-size: .8rem;
		color: #6A3200;
		padding-right: 20vw;
		border-bottom: solid 3px #FC9700;
	}

	.service-mono-1 h1:after {
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 3px #005597;
		bottom: -3px;
		width: 30%;
	}
	
	.service-mono-1 img {
		position: absolute;
		width: 20vw;
		margin-left: 6vw;
		object-fit: contain;
	}
	.service-mono-1 ul {
		display: grid;
		width: fit-content;
		margin-left: 35vw;
		column-gap: 5vw;
		grid-template-columns: repeat(2, auto);
		padding: 0.5em;
		list-style: none;
		font-size: 0.6rem;
	}

	.service-mono-1 ul li {
		line-height: 1.5;
		padding: 0.5em 0;
		list-style-type: none;
	}

	.service-mono-1 ul li{
		position: relative;
		padding: 0.5em 1em 0.5em 2.3em;
		margin-bottom:5px;
		border-bottom: 1px solid rgba(255,143,0,1);
	}

	.service-mono-1 ul li:after,
	.service-mono-1 ul li:before {
		position: absolute;
		content:'';
		transform: rotate(45deg);
	}

	.service-mono-1 ul li:before {
		top: 0.7em;
		left: 0.2em;
		width: 12px;
		height: 12px;
		border:2px solid rgba(255,143,0,1);
	}

	.service-mono-1 ul li:after {
		top: 0.9em;
		left: 0.7em;
		width: 14px;
		height: 14px;
		background: rgba(255,143,0,0.5);
		transform: rotate(60deg);
	}
}

/*バナーレイアウト*/
.yunipuri-banner {
	display: flex;
	position: relative;
	width: 66%;
	left: 33%;
	margin-top: 6vh;
	text-align: center;
}

.yunipuri-banner img {
	width: 95%;
	margin-top: 4rem;
}


.banner {
	display: flex;
	position: relative;
	width: 67%;
	left: 33%;
}

.banner img {
	display: block;
	width: 90%;
	margin: 3vh auto 0 auto;
}

/*スマホ版バナー*/
@media(max-width:640px) {
	.yunipuri-banner {
		display: block;
		position: relative;
		width: 100%;
		left: 0%;
		text-align: center;

	}

	.yunipuri-banner img {
		width: 90%;
		margin-top: 0;
		margin-bottom: 2rem;
	}
	
	.onlineshop img {
		width: 70%;
	}
	
	.banner {
		display: block;
		position: relative;
		width: 100%;
		left: 0%;
	}
	
	.banner img {
		display: block;
		width: 70%;
		margin: 0 auto 2rem auto;
	}
}

/*下部右側フッターレイアウト*/
.right-footer-index {
	display: block;
	position: relative;
	width: 67%;
	left: 33%;
	height: 13vh;
	margin-top: 3vh;
	background: url("../image/right-footer-gazou.jpg");
	background-size: cover;
    box-shadow: 0px 0px 4px 0px #666;
	z-index: 50;
}

.right-footer-index ul{
  /*init*/
	display: flex;
	position: relative;
	width: 80%;
	margin: auto;
	top: 30px;
	gap:15px;
	z-index: 1000;
}

.right-footer-index li{
	flex-grow: 1;
	text-align: center;
}


.right-footer-index a {
	font-size: 1rem;
	color: gray;
}

.right-footer-index a:hover {
	color: coral;
}

.footer-area {
	position: absolute;
    text-align: center;
    margin-top: -50px;
    font-size: 1rem;
    color: gray;
}

.mobile-copyright {
    display: none;
}

/*モバイル用フッターレイアウト*/
@media(max-width:640px) and (orientation: portrait){
	.right-footer-index {
		display: block;
		position: relative;
		width: 100%;
		height: 50px;
		left: 0%;
	}
	
	.right-footer-index ul{
		display: flex;
		position: relative;
		width: 80%;
		top: .5rem;
		height: 1.5rem;
		margin: auto;
		z-index: 1000;
	}

	.right-footer-index li{
		flex-grow: 1;
		text-align: center;
	}


	.right-footer-index a {
		font-size: 3vw;
		color: gray;
	}

	.right-footer-index a:hover {
		color: coral;
	}
	
	.footer-area {
		text-align: center;
		margin-top: -30px;
		font-size: 0.55rem;
		color: gray;
	}
	.mobile-copyright {
		display: block;
		font-size: .3rem;
		margin-top: 1rem;
	}
	
}

/*インデックス左側フッターレイアウト*/
footer {
	position: fixed;
	bottom: 0;
	z-index: 100;
}

footer ul li {
    width: 4vw;
    margin-top: 10px;
}

.sns-icon-index {
	display: flex;
	list-style: none;
	align-items: center;
	margin-bottom: 3.2rem;
}

.sns-icon-index a {
	display: flex;
	width: 2vw;
	margin: auto;
	margin-left: 11vw;
	list-style: none;
	margin-bottom: 2.5rem;
}

/*サイドバーsnsアイコン下文字*/
/* SNSアイコン縦並び */
.sns-icon-index {
	display: flex;
	justify-content: center; /* 横方向中央寄せ */
	gap: 3vw; /* アイコン同士の間隔 */
	list-style: none;
	padding: 0;
	margin: 2vw 0;
}

.sns-icon-index li a {
	display: flex;
	flex-direction: column; /* 縦方向に並べる */
	align-items: center;
	text-decoration: none;
	color: gray; /* 文字色 */
	font-size: 0.9vw;
}

.sns-icon-index li a img {
	width: 3vw; /* アイコンサイズ */
	height: auto;
	margin-bottom: 0.5vw; /* アイコンと文字の間隔 */
}

.copyright {
	width: 33%;
	display: flex;
	position: fixed;
	bottom: 0;
	justify-content: center;
}
.copyright p {
	font-size: .5rem;
}