/*====================================================================================================

  ABOUT

====================================================================================================*/
#about {
	background:url(../../image/sub/about_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding-top:29%;
}
#about h3.tit {
	font-size:100%;
	line-height:100%;
	text-align:center;
	padding:0;
	margin-bottom:80px;
}
#about h3.tit::after { display:none; }
#about h3.tit b {
	display:block;
	line-height:100%;
	font-size:200%;
	font-weight: 300;
}
#about h3.tit small {
	display:block;
	line-height:100%;
	font-family:"Noto Sans JP";
	font-size:93.8%;
	font-weight:400;
	margin-top:15px;
}


/*** HISTORY *******************************************************************/
#about #history { max-width:1120px; width:100%; margin:0 auto; padding-top:120px; scroll-margin-top: 130px }
#about #history::after { display:block; clear:both; content:""; }
#about #history .history_list {}
#about #history .history_list::after { display:block; clear:both; content:""; }
#about #history .history_list .w-img {}
#about #history .history_list .w-img { position:relative; }
#about #history .history_list dl::after { display:block; clear:both; content:""; }
#about #history .history_list .w-img .h_illust { content:""; position:absolute; right:0; }
#about #history .history_list .w-img.img1 .h_illust {
	top: -70px;
	right:265px;
}
#about #history .history_list .w-img.img2 .h_illust {
	top: 22px;
	right:17px;
}
#about #history .history_list .w-img.img3 .h_illust {
	top: -10px;
	right:380px;
}
#about #history .history_list .w-img.img4 .h_illust {
	top: -90px;
	right:52px;
}
#about #history .history_list .w-img.img5 .h_illust {
	top: -85px;
	right:53px;
}
#about #history .history_list .w-img.img6 .h_illust {
	top: -105px;
	right:285px;
}
#about #history .history_list dl dt,
#about #history .history_list dl dd { float:left; }
#about #history .history_list dl dt {
	width:13%;
	font-size:125%;
	font-weight:500;
	padding-bottom:40px;
}
#about #history .history_list dl dd {
	width:87%;
	font-size:100%;
	font-weight:300;
	line-height:200%;
	letter-spacing:0.15em;
	padding:0 50px 45px;
	position:relative;
	background-image: linear-gradient(to bottom, #222 20%, rgba(255, 255, 255, 0) 0%);
	background-position: left;
	background-size: 2px 7px;
	background-repeat: repeat-y;
}
#about #history .history_list dl dd::before {
	content:"";
	position:absolute;
	top:5px;
	left:-6px;
	width:14px;
	height:14px;
	border: 2px solid #92CE47;
	background:#FFF;
	border-radius:50%;
}
#about #history .history_list dl:last-child dd { padding-bottom:10px; }



/*** MESSAGE *******************************************************************/
#about #message { max-width: 1010px; width: 100%; margin: auto; padding-top:127px;
 }
#about #message .box1 { margin: 0 auto; width: 62%; }
#about #message .box1 h4 { 
	font-size: 137.5%; 
	font-weight: 700; 
	padding: 0 0 45px; 
	margin: 0;
	line-height: 150%;
}
#about #message .box1 .photo-l { position: relative; margin-right: 55px; }
#about #message .box1 .photo-l img { padding: 0; max-width: 410px; }
#about #message .box1 .photo-l::after {
	content: "";
	background: rgba(96, 96, 96, .05);
	background-blend-mode: multiply;
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	border-radius:10px;
}
#about #message .box1 .come { font-size: 100%; font-weight: 300; }
#about #message .box1 .tit_name { line-height: 200%; text-align: right; }
#about #message .box1 .tit_name small { 
	font-size: 100%; 
	font-weight: 400; 
	margin: -10px 24px 0 0;
	display: inline-block;
	vertical-align: middle;
}
#about #message .box1 .tit_name b { 
	font-size: 137.5%; 
	font-weight: 700; 
	line-height: 100%; 
	display: inline-block;
}



/*** OVERVIEW *******************************************************************/
#about #overview { padding:130px 0 180px; max-width: 1134px; width: 100%; margin: auto; }
#about #overview table { 
	border-collapse: collapse;
	clear: both; 
	width: 100%;
}
#about #overview table th,
#about #overview table td { 
	border-bottom: 1px solid rgba(34, 34, 34, .15); 
	padding: 25px 0;
}

#about #overview table th { 
	font-size: 100%; 
	font-weight: 500; 
	text-align: left;
	vertical-align: top;
	width: 20%;
}
#about #overview table td { font-weight: 300; }
#about #overview table td .box2 { margin: 0; width: 50%; }
#about #overview table td .box2 span { font-weight: 500; }

#about #overview table td .b_more { position:relative; }
#about #overview table td .b_more::before {
	font-family: "Font Awesome 5 Free";
  content: '\f3c5';
  font-weight: 900;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	left:42px;
	color:#333333;
	font-size: 20px;
	z-index:2;
	transition:0.2s ease-in-out;
}
#about #overview table td .b_more a {
	line-height:100%;
	padding:15px 0;
	text-align:center;
	border-color:#333333;
	color:#333333;
	border: 1px solid #333333;
}
#about #overview table td .b_more a::before { background:#222;}
#about #overview table td .b_more a::after { color:#333333; }
#about #overview table td .map1 { margin-top: 30px; }
#about #overview table td .map2 { margin-top: 10px; }
#about #overview table td .map3 { margin-top: 37px; }
#about #overview table td .b_more:hover::before { color:#FFF; }

#about #overview table td .b_more a:hover,
#about #overview table td .b_more a:hover::after { color:#fff; border-color: #479030; }



/*====================================================================================================

  NEW RELEASE

====================================================================================================*/
#news {
	background:url(../../image/sub/news_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 117px;
}

/* TAB */
#news .tab_list { background: #f4f1ea; width: 100%; margin: 100px auto 0; padding: 47px 0;  }
#news .tab_list ul { 
	max-width: 1130px; 
	width: 100%; 
	margin: auto; 
	clear: both;
	overflow: hidden;
}
#news .tab_list ul li { 
	width: 18.22%; 
	height: auto;
	float: left;
	margin-left: 25px;
	background: none!important; 
	color: #222;
	text-align: left;
	display: block;
	position: relative;
}
#news .tab_list ul li:first-child { margin-left: 0; }
#news .tab_list ul li::after {
	content: "";
	background: url(../image/b_arrow-blk-next.png) no-repeat center;
	background-size: 100% 100%;
	width: 24px;
	height: 6px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s;
}
#news .tab_list ul li:hover::after {
	right: 0;
}
#news .tab_list ul li a { 
	color: #222;
	display: block;
	text-decoration: none; 
	border-bottom: 1px solid rgba(96, 96, 96, .50);
	font-size: 125%;
	padding: 20px 15px;
}
#news .tab_list ul li.active a, #news .tab_list ul li.current-cat a { 
	color: #222!important; 
	/* border-bottom: 1px solid #92ce47; */
}

/* NEWS LIST */
#news .news_list { max-width: 1200px; width: 100%; margin: 40px auto auto; clear:both; overflow:hidden; }
#news .news_list ul { 
	padding: 30px 0 20px; 
	clear: right; 
	overflow: hidden; 
	position: relative;
	background-image: linear-gradient(to right, #479030 10%, rgba(255, 255, 255, 0) 0%);
	background-position: bottom;
	background-size: 8px 2px;
	background-repeat: repeat-x;
	width: 48%;
	float:left;
}
#news .news_list ul:nth-child(odd) { margin-right:2%; }
#news .news_list ul:nth-child(even) { margin-left:2%; }
#news .news_list ul li {}
#news .news_list ul li.photo { width: 140px; float: left; margin-right: 30px; }
#news .news_list ul li.photo img {
	width: 100%;
	height: 100vh;
	max-height: 140px;
	object-fit: cover;
	object-position: center;
	border-radius: 10px;
}
#news .news_list ul li.day {
	color: #333333;
	font-size: 93.8%;
	font-weight: 400;
	font-family:"Noto Sans JP";
	line-height: 100%;
	float: left; 
	margin-top: 13px;
}
#news .news_list ul li.cate { width: 100%; }
#news .news_list ul li.cate span {
	font-size: 85.7%;
    position: relative;
    margin-bottom: 0.5rem;
    background-image: linear-gradient(90deg, white 0%, black 0 100%, white 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.05rem;
    background-position: bottom;
    padding-bottom: 0.5em;
}
#news .news_list ul li.tit {
	width: 100%;
	margin: 6px 0;
}
#news .news_list ul li.tit a {
	display: block;
	color: #333333;
	font-size: 112.5%;
	font-weight: 700;
}
#news .news_list ul li.come {
	font-weight: 300;
	font-size: 93.8%;
	line-height: 190%;
	display: -webkit-box;
	text-align: justify;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;	
  text-overflow: ellipsis;
}
#news .news_list ul li.tit a:hover { filter:alpha(opacity=70);-moz-opacity: 0.7;opacity: 0.7; }




/*====================================================================================================

  NEW RELEASE - NEWS CONTENT

====================================================================================================*/
#news_content {
	background:url(../../image/sub/news_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 117px;
}
#news_content .news_cont_tit { padding: 0; }
#news_content .news_cont_tit ul { 
	max-width: 340px;
	width: 100%; 
	margin: auto;
	display:flex;
	justify-content:space-between;
}
#news_content .news_cont_tit ul li.cate { width: 103px; }
#news_content .news_cont_tit ul li.cate div {
    padding: 8px 0;
    line-height: 100%;
    text-align: center;
}
#news_content .news_cont_tit ul li.cate div span {
    position: relative;
    margin-bottom: 0.5rem;
    background-image: linear-gradient(90deg, white 0%, black 0 100%, white 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.1rem;
    background-position: bottom;
    padding-bottom: 0.5em;
}
#news_content .news_cont_tit ul li.day { 
	width: 110px;
	padding: 0;
	font-family:"Noto Sans JP";
	font-size:93.8%;
	position:relative;
	text-align: right;
}
#news_content .news_cont_tit ul li.day::before {
	content:"";
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	position:absolute;
	left:23px;
	top:50%;
	transform:translateY(-50%);
}
#news_content .news_cont_tit ul li.day1::before { background-image: url(../image/icon_calendar.svg); width: 16px; height: 16px; }
#news_content .news_cont_tit ul li.day2::before { background-image: url(../image/icon_update.svg); width: 14px; height: 16px; }
#news_content .news_cont_tit .tit { 
	display: block; 
	clear: both; 
	text-align:center;
	font-size: 175%;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-top:40px;
}

#news_content .news_cont_box { 
	max-width: 700px;
	width: 100%; 
	margin: auto;
	padding-top: 20px;
}
#news_content .news_cont_box img { clear: both; overflow: hidden; margin: 35px 0;}
#news_content .news_cont_box .come { font-size: 100%; font-weight: 400; line-height: 2.5em; }
#news_content .news_cont_box .come span { text-indent: -10px; display: block; }
#news_content .news_cont_box .come a { text-decoration:underline; display: block; color: #479030; font-weight: 400; }
#news_content .news_cont_box .sns_btn img { margin:0; }


/*====================================================================================================

  GOODS

====================================================================================================*/
#goods {
	background:url(../../image/sub/goods_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding-top:29%;
}
#goods .item_list { max-width:1200px; width:100%; margin:0 auto; }
#goods .item_list::after { display:block; clear:both; content:""; }
#goods .item_list p { position:relative; float:right; width:244px; margin-right:200px; top: -50px; }
#goods .item_list p::after {
	content:"";
	position:absolute;
	right: -68px;
    bottom: -14px;
	z-index:-1;
	width: 90px;
	height: 126px;
	background:url(../../image/sub/goods_item-icon.png) no-repeat;
	background-size:contain;
}
#goods .item_list a {
	display:block;
	text-decoration:none;
	color:#333333;
	font-weight:700;
	line-height:100%;
	background:#F3EFE7;
	position:relative;
	padding:20px 0;
	text-indent:40px;
	transition:0.5s ease-in-out;
	border:1px solid transparent;
}
#goods .item_list a::after {
	content:"\f0dd";
	color:#333333;
	font-family: "Font Awesome 5 Free";
	font-size:137.5%;
	font-weight: 900;
	position:absolute;
	right:7%;
	top:45%;
	transform:translateY(-50%);
	transition:0.2s ease-in-out;
}
#goods .item_list a:hover {}
#goods .item_list a:hover::after { top:58%; transform:translateY(-42%); }

#goods .catch { 
	max-width: 1200px; 
	width: 100%; 
	clear: both; 
	margin: 0 auto 110px; 
	font-weight: 300;
	font-size: 100%;
}
#goods .catch::after { display:block; clear:both; content:""; }
#goods .catch .catch_box {
	position:relative;
	width: 46.6%;
	padding:50px;
	background:#F3EFE7;
	float:left;
}
#goods .catch .catch_box:nth-child(2) { float:right; }
#goods .catch .catch_box b {
	font-size: 112.5%;
	font-weight: 400;
	display: block;
	line-height: 160%;
	margin-bottom: 20px;
}
#goods .catch .catch_box .come { font-size: 100%; line-height: 180%; text-align: justify; }
#goods #item-list {
	scroll-margin-top: 127px;
}
#goods .cont_tit h4 { font-size:100%; text-align:center; }
#goods .cont_tit h4 b { display:block; line-height:100%; font-size:200%; font-weight:300; }
#goods .cont_tit h4 small {
	display:block;
	line-height:100%
	font-size:93.8%;
	font-weight:400;
	margin-top:15px;
}

/* ANCHOR */
#goods #anchor { padding: 0 0 20px; margin-top: 40px; background: none; border-bottom: 1px solid #AAA;  }
#goods #anchor ul { max-width:1000px; padding:0 20px; display: flex; }
#goods #anchor ul li { width:16.6%; border-bottom:none; float: none;}
#goods #anchor ul li:nth-child(3n+2) { margin: 0; }
#goods #anchor ul li label {transition:background-size 0.3s; }
#goods #anchor ul li .check_cat { padding:120px 0 20px; font-size:100%; font-weight:700; background:none; }
#goods #anchor ul li.anc1 label {
	background:url(../../image/sub/goods_a01.svg) no-repeat;
	background-position:center 20px;
	background-size:120px 120px;
	display: block;
}
#goods #anchor ul li.anc2 label {
	background:url(../../image/sub/goods_a02.svg) no-repeat;
	background-position:center 20px;
	background-size:120px 120px;
	display: block;
}
#goods #anchor ul li.anc3 label {
	background:url(../../image/sub/goods_a03.svg) no-repeat;
	background-position:center 20px;
	background-size:120px 120px;
	display: block;
}
#goods #anchor ul li.anc4 label {
	background:url(../../image/sub/goods_a04.svg) no-repeat;
	background-position:center 20px;
	background-size:120px 120px;
	display: block;
}
#goods #anchor ul li.anc5 label {
	background:url(../../image/sub/goods_a05.svg) no-repeat;
	background-position:center 20px;
	background-size:120px 120px;
	display: block;
}
#goods #anchor ul li.anc6 label {
	background:url(../../image/sub/goods_a06.svg) no-repeat;
	background-position:center 20px;
	background-size:120px 120px;
	display: block;
}
#goods #anchor ul li label.active,
#goods #anchor ul li label:hover { cursor: pointer; filter: alpha(opacity=70);-moz-opacity:  0.7;opacity:  0.7;}

/* GOODS LIST */
#goods .goods_list { max-width:1060px; width:100%; margin:60px auto 0; overflow:hidden; }
#goods .goods_list ul { 
	float:left;
	/*width:20.8%;*/
	width:220px;
	/*margin:0 1.6% 40px;*/
	margin:0 60px 40px 0;
	position:relative;
}
#goods .goods_list ul:nth-child(4n) { margin-right:0px;}

#goods .goods_list ul li.photo { height:auto; }
#goods .goods_list ul li.photo img {
	width:100%;
	height:auto;
	border:1px solid #C6C6C6;
}
#goods .goods_list ul li.caption {
	font-size:93.8%;
	font-weight:400;
	text-align:center;
	margin-top:10px;
}
#goods .goods_list ul li.b_link a { position:absolute; top: 0; left:0; width:100%; height:100%; z-index:99; }
#goods .goods_list ul:hover { opacity:0.7; }

#goods .goods_list ul li{
    animation-name: fadein;
    animation-duration: 1s;
}
@keyframes fadein{
    from{
    opacity: 0;
    }
    to{
    opacity: 1;
    }
}

/* ACCESS BOX */
#goods #access_box { margin:120px auto 176px; padding:0px; }
#goods #access_box .box2 { padding-top:70px;}
#goods #access_box .box2 h3::after { width:198px;}
#goods #access_box .box2 h3 span {}
#goods #access_box .box2 .come { font-size:112.5%; font-weight:400; line-height:180%; letter-spacing: 0.1em; }
#goods #access_box .box_oem { position:relative; }
#goods #access_box .box_oem::after {
	content:"";
	display:block;
	position:absolute;
	right:20px;
	top: 50%;
	transform: translateY(-50%);
	width:240px;
	height:149px;
	background:url(../../image/sub/goods_bmore.png) no-repeat;
	background-size:contain;
}
#goods #access_box .box_oem h3::after { width:190px; }
#goods #access_box .box_bana {}
#goods #access_box .box_bana ul {
	max-width:556px;
	width:100%;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	padding-left: 20px;
}
#goods #access_box .box_bana ul li { text-align:center; max-width:112px; }
#goods #access_box .box_bana ul li img { width: 100px; }
#goods #access_box .box_bana ul li span { color:#333333; font-size:75%; font-weight:400; display:block; margin-bottom:5px; line-height: normal; padding: 5px 0; }

@media only screen and (min-width:701px) and (max-width:1300px){
	#goods #access_box .box_oem::after {
		min-width:267px; width:25vw; background-position:bottom;
	}
}



/*====================================================================================================

  GOODS - LUNCH

====================================================================================================*/
#goods-lunch {
	background:url(../../image/sub/goods_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding-top:29%;
}

#goods-page .flex {
	display: flex;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 35px;
	border-bottom: 2px dotted #479030;
}

/* MAINIMG SLIDER */
#goods-page .mainimg { width: 50%; padding-bottom:40px; position:relative; }
#goods-page .mainimg::before {
	content:"";
	position:absolute;
	z-index:-1;
	bottom:0;
	width:100%;
	height:430px;
}
#goods-page .mainimg ul { width:100%; margin:0 auto; }
#goods-page .mainimg ul img { width:100%; object-fit:cover; object-position:center; }
#goods-page .mainimg ul.slider { max-width:1130px; width:100%; }
#goods-page .mainimg ul.slider img { max-height:450px; height:100vh; }
#goods-page .mainimg ul.slick_type3-nav { position:relative; max-width:565px; margin:30px auto 0; }
#goods-page .mainimg ul.slick_type3-nav img { max-height:53px; height:100vh; }
#goods-page .mainimg ul.slick_type3-nav li { margin:0 8px; cursor:pointer; }
#goods-page .mainimg ul.slick_type3-nav .slick-prev { width:14px; left:-20px; }
#goods-page .mainimg ul.slick_type3-nav .slick-next { width:14px; right:-20px; }
#goods-page .mainimg ul.slick_type3-nav .slick-prev:before {
	display:block;
	background:url(../image/b_arrow-blk-prev.png) no-repeat left;
	background-size: 14px;
}
#goods-page .mainimg ul.slick_type3-nav .slick-next:before {
	display:block;
	background:url(../image/b_arrow-blk-next.png) no-repeat left;
	background-size: 14px;
}



/* CONTENT */
#goods-page .cont_box { width: 50%; ; padding-left: 60px; } 
#goods-page .cont_box::after { display:block; clear:both; content:""; }
#goods-page .cont_box .tit {
	font-size: 100%; 
	color: #FFFFFF;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 100%;
    padding: 5px 20px;
    background: #479030;
    display: inline-block;
    border-radius: 13px;
}
#goods-page .cont_box .box { margin-bottom:70px; }
#goods-page .cont_box .come { max-width:745px; width:100%; font-size:100%; font-weight:300; line-height:190%; }
#goods-page .cont_box .come b { font-size: 175%; font-weight:500; display:block; margin-bottom:30px; }
#goods-page .online_bana h3 {
	font-size: 100%;
	margin: 0 0 20px;
	padding: 0 0 10px
}
#goods-page .online_bana h3:after {
	width: 113px;
}
.goto_shop {
	display: flex;
    justify-content: space-around;
    width: 240px;
}
.goto_shop li {
	width: 60px;
}

/* PAGE BUTTON */
#goods-page .cont_box #page_btn { clear:both; }

#goods-page .to_list {
	width: 570px;
    text-align: center;
    margin: 0 auto 136px;
}
#goods-page .to_list a {
	display: block;
    text-decoration: none;
    padding: 20px 10px;
    font-weight: 700;
    color: #479030;
    background: #F2F8E5;
    border: 1px solid transparent;
    position: relative;
    transition: 0.5s ease-in-out;
    line-height: 100%;
}
#goods-page .to_list a::after {
    content: "\f105";
    color: #479030;
    font-family: "Font Awesome 5 Free";
    font-size: 137.5%;
    position: absolute;
    right: 7%;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.2s ease-in-out;
}
#goods-page .to_list a:hover {
	filter: alpha(opacity=70);-moz-opacity:  0.7;opacity:  0.7;
}
#goods-page .to_list a:hover::after {
	right:  5%;
}


/*====================================================================================================

  FOOD

====================================================================================================*/
#food {
	background:url(../../image/sub/food_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 80px;
}
#food .food_box1, #food .food_box2, #food .food_box3 { scroll-margin-top: 60px; }
#food .bg { background:#F3EFE7; padding-bottom: 57px; margin-top: 60px; }
#food .food_box { max-width: 950px; width: 100%; margin: auto; position:relative; z-index:1; padding-top:110px; display: flex; justify-content: space-around; }
#food .food_box1 {}
#food .food_box2 { padding-top: 107px; }
#food .food_box h3.mid { padding:20px 0 15px; }
#food .food_box .photo { max-width:291px; margin:0; width: 44%; }
#food .food_box .photo img {
	padding: 0;
}
#food .food_box .text {
	z-index:-1;
	width: 56%;
}
#food .food_box2 .text { top:140px; }
#food .food_box .text h4 { 
	font-size: 125%;
	margin: 0;
	line-height: 140%;
	letter-spacing: 0.1em;
}
#food .food_box .text .come { font-weight: 400; line-height: 180%; margin-top:40px; text-align: justify; }
#food .food_box1 .text .come { margin-bottom:40px; }
#food .food_box .text .b_more { float: left; }
#food .food_box .text .b_more a { text-align:center; line-height:100%; }
#food .food_box .text .more1 a::after { content:"\f0dd"; font-family:"Font Awesome 5 Free"; font-size:112.5%; }
#food .food_box .text .more2 { margin-right: 12px; }

#food #access_box .box_cat h3 { margin-bottom: 30px; }
#food #access_box .box_cat h3::after { width:394px;}
#food #access_box .box_cat .come b { font-size: 112.5%; }
#food #access_box .box_cat .come small { font-size: 87.5%; display:block; font-weight:400; line-height:170%; }
#food #access_box .box_cat .come small a { color:#479030; text-decoration:underline;}
#food #access_box .box_cat .search_cat a { box-shadow:none; border:none; border-radius: 0;}
#food #access_box .box_cat .search_cat a:hover { filter: alpha(opacity=70);-moz-opacity:  0.7;opacity:  0.7; }


/*====================================================================================================

  REGION

====================================================================================================*/
#region {
	background:url(../../image/sub/region_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 117px;
}
#region .bg { background:#F3EFE7; padding-bottom: 57px; margin-top: 60px; }
#region .region_box { max-width: 950px; width: 100%; margin:0 auto; position:relative; z-index:1; padding-top: 60px; display: flex; justify-content: space-around; }
#region .region_box1, #region .region_box2, #region .region_box3 { scroll-margin-top: 60px; }
#region .region_box3 { margin-bottom:0; }
#region .region_box h3.mid { padding:20px 0 15px; }
#region .region_box .photo { max-width:291px; margin:0; width: 44%; }
#region .region_box .photo img {
	width: 100%;
	height: 100vh;
	max-height: 400px;
	object-fit: cover;
	padding: 0;
}
#region .region_box .text {
	z-index: -1;
	width: 56%;
	text-align: justify;
}
#region .region_box .text h4 { 
	font-size: 125%;
	margin: 0;
	line-height: 140%;
	letter-spacing: 0.1em;
}
#region .region_box .text .come { font-weight: 400; line-height: 180%; margin-top:40px; }

#region #access_box .box_insta { position:relative;}
#region #access_box .box_insta h3 { font-size:150%; margin-bottom:27px; padding-bottom:0; }
#region #access_box .box_insta h3::after { display:none; }
#region #access_box .box_insta .photo {
    position: absolute;
    right: 60px;
    top: 50%;
    transform: translateY(-50%);
    width:124px;
    height:124px;
}
#region #access_box .box_insta .photo img { width:100%;}
#region #access_box .box_insta .come b { margin-bottom:0; }
#region #access_box .box_insta .come .insta-tit { position:relative; padding-left:57px; margin-bottom:25px;}
#region #access_box .box_insta .come .insta-tit::after { 
	position:absolute;
	content:""; 
	left:0; 
	top:3px;
	background:url(../image/sns_insta-clr.png) no-repeat center; 
	background-size:100% 100%; 
	width:45px; 
	height:45px;
}
#region #access_box .box_insta .come .insta-tit b { font-size:168.8%; font-weight:700;}
#region #access_box .box_insta .come .insta-tit small { font-size:93.8%; font-weight:300;}
#region #access_box .box_insta .come .insta-name { line-height:200%;}
#region #access_box .box_insta .come .insta-name b { font-size: 112.5%; font-weight:700;}
#region #access_box .box_insta .come .insta-name small { color:#7C7C7C; font-weight:700;}
#region #access_box .box_insta .b_more a { border-color:#333333; color:#333333; }
#region #access_box .box_insta .b_more a::before { background:#222;}
#region #access_box .box_insta .b_more a::after {
	content: "\f16d";
	color:#333333;
	font-family:"Font Awesome 5 Brands";
	font-size: 18px;
}
#region #access_box .box_insta .b_more a:hover,
#region #access_box .box_insta .b_more a:hover::after { color:#fff; border-color: #479030; }


/*====================================================================================================

  CONTACT

====================================================================================================*/
#contact {
	background:url(../../image/sub/contact_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 115px;
}
#contact #page_title { margin-bottom: 70px; }
#contact .con_box { 
	max-width: 1130px; 
	width: 100%; 
	margin: auto; 
	position: relative; 
	text-align: center;
}
#contact .con_box .photo {
	position: absolute;
	right: -25px;
	top: 55px;
	width: 360px;
	height: 242px;
}
#contact .con_box .photo img { width: 100%; }
#contact .con_box .come { 
	font-size: 100%; 
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 180%;
}
#contact .con_box .tel {
	max-width:720px;
	width:100%;
	margin: 40px auto;
	background:#F2F8E5;
	padding:35px 70px 25px;
	text-align: center;
}
#contact .con_box .tel b { font-size: 200%;  font-weight: 300; letter-spacing: 0.2em; }
#contact .con_box .tel small { display: block; font-weight: 300; font-size: 125%; margin-top:10px; }
#contact .con_box .tel small span { font-size:80%; }
#contact .con_box .note { 
	font-weight: 300; 
	letter-spacing: 0.05em; 
	line-height: 180%; 
	padding-left: 20px; 
}
#contact .con_box span.n_mark { position: relative; }
#contact .con_box span.n_mark::before { 
	position: absolute; 
	content: "※";
	left: -20px;
	top: -2px;
}

/* MAIL FORM */
#contact #mail-box { margin:75px auto 0; }
#contact table.mailform { 
	border-collapse: collapse; 
	display: block; 
	border-top: 1px solid rgba(191, 191, 191, .50); 
	clear: both;
}
#contact table.mailform tr th { 
	font-size: 100%; 
	font-weight: 300;
	clear: both; 
	overflow: hidden; 
}
#contact table.mailform tr th span {
	background: #fff;
	color: #dd2828;
	border: 1px solid;
	font-size: 100%;
	font-weight: 400;
	border-radius: 0;
	padding: 3px 20px 5px;
}
#contact table.mailform tr.msg th { vertical-align: top; padding-top: 40px; }
#contact table.mailform tr td { padding-left: 40px!important; }
#contact table.mailform tr td span.n_mark { font-weight: 300; margin-left: 33px; }
#contact table.mailform tr td label {
	font-size: 100%;
	font-weight: 300;
	font-family: "Yu Gothic" ,sans-serif;
	margin-right: 30px;
	position: relative; 
  cursor: pointer;
}
#contact table.mailform tr td input[type=radio] + span:before {
  content: " ";
  display: inline-block;
  position: relative;
  top: 8px;
  margin: 0 13px 0 0;
  width: 25px;
  height: 25px;
  border-radius: 25px;
  border: 2px solid rgba(0, 0, 0, .30);
  background-color: rgba(198, 198, 198, .30);
}
#contact table.mailform tr td input[type="radio"] { display: none; appearance: none; }
#contact table.mailform tr td input[type="radio"]:checked + span:after {
  border-radius: 25px;
  width: 17px;
  height: 17px;
  position: absolute;
  top: -1px;
  left: 4px;
  content: " ";
  display: block;
  background: #dd2828;
}
#contact table.mailform tr td textarea { height: 202px; }

#contact table.mailform tr th,
#contact table.mailform tr td { 
	background: none; 
	padding: 20px 0;
	border-bottom: 1px solid rgba(191, 191, 191, .50);
}

#contact table.mailform tr td input[type="text"],#contact table.mailform tr td input[type="email"],
#contact table.mailform tr td textarea {
	font-size: 100%;
	font-weight: 300;
	color: #777;
	background: rgba(0, 0, 0, .05);
	padding: 16px;
	border-radius: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#contact .b_inqu { margin: 80px auto 0; width:400px; position:relative; }
#contact .b_inqu::after {
	content:"\f105";
	color:#FFF;
	font-family:"Font Awesome 5 Free";
	font:var(--fa-font-solid);
	font-size:100%;
	position:absolute;
	right:7%;
	top:50%;
	transform:translateY(-50%);
	transition:0.5s ease-in-out;
}
#contact .b_inqu input[type="submit"] {
	font-size: 100%;
	font-weight: 600;
	border-radius: 0;
	width: 100%;
	height: 50px;
	padding: 15px 20px;
	text-align: center;
	letter-spacing: 0.1em;
	cursor: pointer;
	margin: auto;
	line-height:100%;
	background:#479030;
}
#contact .b_inqu input[type="submit"].mwback {
	font-size: 100%;
	font-weight: 600;
	background: url(../image/b_arrow-wh-prev.png) no-repeat 10% center #90CC47;
	border-radius: 0;
	width: 246px;
	height: 60px;
	padding: 15px 20px;
	text-align: center;
	letter-spacing: 0.1em;
	cursor: pointer;
	margin: auto;
}
/* SUBMIT BTN HOVER EFFECTS */
#contact .b_inqu:hover::after { right:5%; color:#FFF; }



/*====================================================================================================

  CONTACT - CONFIRM

====================================================================================================*/
#contact_confirm {
	background:url(../../image/sub/contact_bg.png) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 150px;
}
#contact_confirm #page_title b { line-height: 170%; }
#contact_confirm .come { 
	font-size: 100%; 
	font-weight: 300; 
	text-align: center;
	line-height: 190%;
}



/*====================================================================================================

  OEM

====================================================================================================*/
#oem {
	background:url(../../image/sub/oem_bg.png) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 160px;
}

#oem .category { position:relative; overflow: hidden; padding-bottom:65px; }
#oem .category::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 37%;
	left: 0;
	right: 0;
	margin: auto;
	width: 100vh;
	height: 100vh;
	background: #F4F1EA;
	border-radius: 50%;
	transform-origin: top;
	transform: scale(8);
}
#oem .category ul { max-width:1130px; width:100%; margin:0 auto; overflow:hidden; }
#oem .category ul li { float:left; width:345px; }
#oem .category ul li:nth-child(3n+2) { margin:0 47.5px; }
#oem .category ul li p {
	font-size:114.4%;
	font-weight: 300;
	margin-top: 20px;
	text-align:center;
}
#oem .category ul li p.photo img { width:100%; }

#oem .flow { max-width:1130px; width:100%; margin:0 auto; padding-top:160px; }
#oem .flow h3 { font-family:"Noto Sans JP"; font-size:143%; line-height:100%; margin-bottom: 35px; font-weight: 400; padding-bottom: 22px}
#oem .flow .flow_list { position:relative; }
#oem .flow .flow_list::before {
	content:"";
	position:absolute;
	top: 55px;
	left:35px;
	width: 2px;
	height: 89%;
	z-index: 1;
	background: linear-gradient(to bottom, #222 20%, rgba(255, 255, 255, 0) 0%);
	background-position:left;
	background-size:2px 7px;
	background-repeat: repeat-y;
}
#oem .flow .flow_list dl { padding:45px 65px 0; position:relative; }
#oem .flow .flow_list dl::after {
	content:"";
	position: absolute;
	width:469px;
	height:323px;
	z-index: 3;
}
#oem .flow .flow_list dl.flow1::after {
	background:url(../../image/sub/oem_01.png) no-repeat;
	background-size:contain;
	right:-35px;
	top:-38px;
}
#oem .flow .flow_list dl.flow2::after {
	background:url(../../image/sub/oem_02.png) no-repeat;
	background-size:contain;
	left: -8px;
	top:-65px;
}
#oem .flow .flow_list dl.flow3::after {
	background:url(../../image/sub/oem_03.png) no-repeat;
	background-size:contain;
	right:-35px;
	top:-57px;
}
#oem .flow .flow_list dl.flow4::after {
	background:url(../../image/sub/oem_04.png) no-repeat;
	background-size:contain;
	left: -4px;
	top:-69px;
}
#oem .flow .flow_list dl.flow5::after {
	background:url(../../image/sub/oem_05.png) no-repeat;
	background-size:contain;
	right:-10px;
	top:-60px;
}
#oem .flow .flow_list dl.flow6::after {
	background:url(../../image/sub/oem_06.png) no-repeat;
	background-size:contain;
	left:0;
	top:-63px;
}
#oem .flow .flow_list dl.flow7::after {
	background:url(../../image/sub/oem_07.png) no-repeat;
	background-size:contain;
	right:-24px;
	top:-80px;
}
#oem .flow .flow_list dl.flow8::after {
	background:url(../../image/sub/oem_08.png) no-repeat;
	background-size:contain;
	left:-5px;
	top:-75px;
}
#oem .flow .flow_list dl:nth-child(odd) { height:209px; }
#oem .flow .flow_list dl:nth-child(even) { background:#F4F1EA; height:200px; }
#oem .flow .flow_list dl.flow5 { height: 260px; }
#oem .flow .flow_list dl:nth-child(even) dt b,
#oem .flow .flow_list dl:nth-child(even) dd { padding-left:445px; }
#oem .flow .flow_list dl dt b { position:relative; }
#oem .flow .flow_list dl dt b::before {
	content: "";
	position: absolute;
	top:10px;
	left:-36.5px;
	z-index: 2;
	width: 14px;
	height: 14px;
	border: 2px solid #92CE47;
	background: #FFF;
	border-radius: 50%;
}
#oem .flow .flow_list dl dt small { display:block; font-size:100%; font-weight:400; }
#oem .flow .flow_list dl dt b { font-size:137.5%; }
#oem .flow .flow_list dl dd { font-size:100%; font-weight:300; line-height:200%; margin-top:10px; }
#oem .flow .flow_list dl dd.b_more { position:absolute; top:90px; left:450px; }
#oem .flow .flow_list dl dd.b_more a { padding-top:12px; background: #F2EFE8; color: #333333; }
#oem .flow .flow_list dl dd.b_more a:hover {
	background: #479030;
	color: #FFFFFF;
}
#oem .flow .flow_list dl dd.b_more a:after {
    color: #333333;
}
#oem .flow .flow_list dl dd.b_more a:hover:after {
    color: #FFFFFF;
}
#oem .flow .note {
	text-align:right;
	font-size:100%;
	font-weight:300;
	margin-top:15px;
	position:relative;
}
#oem .flow .note::before { content:"※"; }

#oem #access_box { padding-top: 160px; }

/*====================================================================================================

  Original Page

====================================================================================================*/
#original {
	background:url(../../image/sub/contact_bg.jpg) no-repeat;
	background-position:top;
	background-size:100%;
	padding:29% 0 115px;
}
#original #page_title { margin-bottom: 70px; }
#original .con_box { 
	max-width: 1130px; 
	width: 100%; 
	margin: auto; 
	position: relative; 
	text-align: left;
	font-feature-settings: "palt";
}
#original .con_box h3 {
	margin: 64px 0 16px;
	font-size: 125%;
	font-weight: 500;
	padding: 0;
}

#original .con_box ol, #original .con_box ul {
    list-style: auto;
    padding: 0 32px;
}

#original .con_box ol > ol {
	padding: 0 32px 0 64px;
}