
@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}

html { font-size: 62.5%; 
		overflow: auto;

	}
body{
	overflow: hidden;
	font-size: 1.6em;

}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 2;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

body,a{
	letter-spacing: 0.5px;
	color:#333;
	text-decoration: none;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	word-break: break-all;
}

.serif{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.txt_ctr{
	text-align: center;
}

a.line:hover{
	text-decoration: underline;
	color:#ff0000;
}


.w1200{
	width: 1200px;
	max-width: 100%;
	margin-right:auto;
	margin-left:auto;
}

.w900{
	width: 900px;
	max-width: 100%;
	margin-right:auto;
	margin-left:auto;
}

a:hover{
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
}

a img:hover{
	opacity: .5;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
}

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

.flex{
	display: flex;
}

.bg_gray{
	background-color:#f5f2f1;
}

.bg_white{
	background-color:#fff;
}

.green{
	color:#00a2a1;
}

.green_bg{
	background-color:#00a2a1;
}

.orange{
	color:#ff672b;
}

.orange_bg{
	background-color:#ff672b;
}

.red{
	color:#ff0000;
}

.red_bg{
	background-color:#ff0000;
}

.btn{
	text-align: center;
	margin-top:50px;
}

.btn a,.btn button{
	display: inline-block;
	color:#fff;
	padding:5px 50px;
	border-radius: 30px;
	position: relative;
}

.btn a:after{
	position: absolute;
	right:10px;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.btn.none{
	text-align: center;
}
.btn.none p{
	text-align: center;
	margin-top:50px;	
/*	background:#dab9a8; */
	display: inline-block;
	color:#fff;
	padding:5px 30px;
	border-radius: 30px;
}

.btn a:hover,button:hover{
	opacity: 0.5;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;	
}

main.top .btn a{
	background:#ff0000;
}

main.nippori .btn a,main.nippori button{
	background:#ff672b;
}

main.semba .btn a,main.semba button{
	background:#00a2a1;
}

main.top .btn a.orange{
	background:#ff672b;	
}

main.top .btn a.green{
	background:#00a2a1;
}

/****************************************************************************************************************************
		サイドナビ
****************************************************************************************************************************/
.sideNavi{
	display: block;
	width: 300px;
	height: 100%;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: auto;
	right:0;
	z-index: 10000;
	overflow: hidden;
	-moz-transform: translate(317px, 0);
	-webkit-transform: translate(317px, 0);
	-o-transform: translate(317px, 0);
	-ms-transform: translate(317px, 0);
	transform: translate(317px, 0);
	-moz-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;

}

.sideNavi.on{
	-moz-transform: translate(0px, 0);
	-webkit-transform: translate(0px, 0);
	-o-transform: translate(0px, 0);
	-ms-transform: translate(0px, 0);
	transform: translate(0px, 0);
	-moz-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.sideNavi .sideNavi_in{
	width: 317px;
	height: 100%;
	overflow-y: scroll;
	position: absolute;
}

.sideNavi .sideNavi_in .sideNavi_box{
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 60px;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 0 0 0 15px;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title p{
	flex: 1;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn{
	width: 60px;
	height: 60px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor:pointer;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn span{
	width: 31px;
	height: 31px;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn span:before{
	content: '';
	display: block;
	width: 31px;
	height: 1px;
	background-color: #111;
	position: absolute;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	margin: auto;
}

.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn span:after{
	content: '';
	display: block;
	width: 1px;
	height: 31px;
	background-color: #111;
	position: absolute;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	margin: auto;
}

.sideNavi .sideNavi_in .sideNavi_box .menu{
	border-top: solid 1px #ddd;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li{
	display: block;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 50px;
	padding: 0 40px 0 15px;
	color: #111;
	position: relative;
	font-weight: bold;
}

/*.sideNavi .sideNavi_in .sideNavi_box .menu li a:after{
	font-family: fontawesome;
	content: '\f101';
	font-size: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 0;
	left: auto;
	right: 10px;
	bottom: 0;
	margin: auto;
	color: #6bccd1;
	font-weight: normal;
}*/

.sideNavi .sideNavi_in .sideNavi_box .menu li a:hover{
	background-color: #f6f3f2;
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

/*.sideNavi .sideNavi_in .sideNavi_box .menu li a:hover:after{
	color: #fff;
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}*/

.sideNavi .sideNavi_in .sideNavi_box .menu li.on a{
	background-color: #004e83;
	color: #fff;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li.on a:after{
	display: none;
}

.sideNavi_bg{
	display: none;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-color: rgba(0,0,0,0.4);
	cursor:pointer;
}

.trigger{
	display: none;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 40px;
	height: 22px;
	position: fixed;
	cursor:pointer;
	top: 0;
	margin-top:20px;
	right:20px;
}

.trigger p{
	display: block;
	content: '';
	width: 20px;
	height: 2px;
	background-color: #706f70;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.trigger:before{
	display: block;
	content: '';
	width: 30px;
	height: 2px;
	background-color: #706f70;
	position: absolute;
	top:2px;
	left: 0;
	bottom:auto;
	margin: auto;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}


.menu_sp_text{
	display: none;
}

@media screen and (max-width: 950px){
	.trigger{
		display: flex;
		z-index: 3;
	}
	.menu_sp_text{
		position: fixed;
		display: block;
		font-size:1.0rem;
		top:40px;
		right:30px;
		z-index: 3;		
	}
	.sideNavi .sideNavi_in .sideNavi_box .menu li a:after{
		right: 30px;
	}
	.sideNavi .sideNavi_in .sideNavi_box .sideNavi_title .close_btn{
		margin-right: 15px;
	}
	header .subnav{
		display: none;
	}
	.parent_menu{
		display: none;
	}
	header .menu > nav{
		display: none;
	}
}

/*********************************************************
	アニメーション


body{
    -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
    animation: fadeIn 1.5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.scroll-animation-obj {
  opacity: 0;
  transition: all 1s ease .5s;
}
.scroll-animation-hop {
  transform: translate(0,30px);
}
.scroll-animation-left {
  transform: translate(-120px,0);
}
.scroll-animation-right {
  transform: translate(120px,0);
}
**********************************************************/
/*********************************************************
	ヘッダー
**********************************************************/



header .menu{
	background: #f6f3f2;
	height: 70px;
	display: flex;
	flex-wrap: wrap;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;	
}

header .logo{
	display: flex;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
	height: 100%;
	width: 20%;
	background:#fff;
	box-sizing: border-box;
	margin-right:auto;
}

header .menu nav{
	position: absolute;
	right:10%;
	top:0;
}

header .menu nav ul{
	height: 100%;
	display: flex;
	flex-wrap: wrap;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;	
}

header .menu nav ul li{
	margin-right:30px;
	height: 100%;
	padding:20px 0;
}

header .menu nav ul li.nippori{
	margin-right:10px;
}

header .menu nav ul li.semba{
	margin-right:10px;
}
header .menu nav ul li.shop{
	margin-right:10px;
}

header .menu nav ul li a{
	display: flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;	
}

header .menu nav ul li.search input{
	border:0;
	background: none;
	border-bottom:2px solid #dab9a8;
	width: 100px;
}

header .menu nav ul li.search input:focus {
    outline: none;
}

header .menu nav ul li.search img{
	margin-right:10px;
}

header .menu,header .subnav{
    transition: .5s;
    width: 100%;
    z-index: 4;
}

header .menu.transform{
    position: fixed;
    background: rgba(255,255,255,0.8);
    transition: .5s;
}
header.nippori .subnav.transform{
    position: fixed;
    top:0;
    background: rgba(255,103,43,0.8);
    transition: .5s;
}
header.semba .subnav.transform{
    position: fixed;
    top:0;    
    background: rgba(0,162,161,0.8);
    transition: .5s;
}

#topnav_nippori,#topnav_semba{
	position: absolute;
	z-index: -1;
	opacity: 0;
}

#topnav_nippori.on,#topnav_semba.on{
	z-index: 1;
	display: block;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;	
	opacity: 1;
}

header.top .mv{
	background: #fff;
	padding-top: 30%;
	width: 100%;
	background-size:100%;
	background-position: left top;
	background-repeat: no-repeat;
	position: relative;
	background-attachment:  fixed;
}

header .main_copy{
	position: absolute;
	right:10%;
	top:5%;
	background:#fff;
	padding:20px 50px;
	box-sizing: border-box;
	border-radius: 10px;
}

header .main_copy h1{
	font-size:2.6rem;
	line-height: 2em;
	letter-spacing: 0.1em;
	margin-bottom:10px;
	color:#4d4d4d;
	font-weight: bold;
}


	@media screen and (max-width: 1200px){
		header .menu nav{
			right:0%;
		}
		header.top .mv{
			padding-top: 40%;
		}		
	}

	@media screen and (max-width: 950px){
		header .logo{
			width: 30%;
		}
		header.top .mv{
			padding-top: 80%;
			width: 100%;
			background-position: top center;
		}		
		header .main_copy{
			width: 80%;
			top:auto;
			bottom:20px;
			text-align: center;
		}
	}
	@media screen and (max-width: 550px){
		header.top .mv{
			height: 500px;
			background-size: 200%;
			padding-top:0;
		}

		header .main_copy h1{
			font-size:2.0rem;
		}
		header .main_copy {
			width: 90%;
			padding:10px 20px;
			right:0;
			left:0;
			margin: 50px auto auto;
			text-align: left;
			background-color: rgba(255,255,255,0.8);

		}
	}


	@media screen and (max-width: 500px){
		header .logo{
			width: 40%;
		}

	}

	@media screen and (max-width: 350px){
		header .logo{
			width: 50%;
		}
	}


span.red{
	color:#ff0000;
}

.contents{
	padding:80px 0;
}

main.top h2,main.page h2{
	padding-bottom:50px;
	text-align: center;
}

.news dl{
	display: flex;
	flex-wrap: wrap;	
	margin:;
}

.news dl dt{
	width: 10%;
	color:#ff0000;
	margin-right:20px;
	font-weight: bold;
}
.news dl dd{
	width: 87%;
	display: flex;

}
.news dl dd:before{
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color:#ff0000;
	margin-right:15px;
}

.news dl.tokusho dt{
	width: 30%;
	border-bottom:1px solid #ccc;
	margin-bottom:10px;
	padding-bottom:10px;
}

.news dl.tokusho dd{
	width: 67%;
	border-bottom:1px solid #ccc;
	margin-bottom:10px;
	padding-bottom:10px;
}

.news dl.tokusho dd:before{
	content:none;
}


.news dl.gallery-item dt.gallery-icon{
	width: 100%;
}

.news dl.gallery-item dt.gallery-icon a{
	border-bottom: none;
}


	@media screen and (max-width: 1200px){
		.w1200{
			width: 100%;
			padding-right: 10px;
			padding-left:10px;
			box-sizing: border-box;
		}
	}
	@media screen and (max-width: 900px){
		.w900{
			width: 100%;
			padding-right: 10px;
			padding-left:10px;
			box-sizing: border-box;
		}
		.news dl{
			display: block;
		}
		.news dl dt{
			width: 100%;
		}
		.news dl dd{
			width: 100%;
		}
		.news dl.tokusho{
			display: block;
		}
		.news dl.tokusho dt{
			width: 100%;
			border-bottom:none;
			margin-bottom:0;
			padding-bottom:0;
		}

		.news dl.tokusho dd{
			width: 100%;
			border-bottom:1px solid #ccc;
			margin-bottom:10px;
			padding-bottom:10px;
			padding-left:0;
		}

		.news dl.tokusho dd:before{
			content:none;
		}



	}

.topics ul{
	display: flex;
	flex-wrap: wrap;
  -webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}

.topics ul li{
	width: 30%;
	background: #fff;
	margin-right:5%;
	margin-bottom:20px;
}

.topics ul li:nth-child(3n){
	margin-right:0;
}

.topics ul li img{
	max-width: 100%;
	width: 100%;
	display: block;
}

.topics ul li img:hover{
	opacity: 1;
}

.topics ul li a{
	display: block;
	width: 100%;
	height: 100%;
}

.topics ul li a:hover{
	opacity: 0.5;
}

.topics ul li a .text{
	padding:20px;
	box-sizing: border-box;
}

.topics ul li a .text >.text{
	padding:0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
  overflow: hidden;	
}

.topics ul li a .text .flex{
	display: flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

.topics ul li a .text .ttl{
	font-weight: bold;
	margin-bottom: 1em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 制限したい行数が3の場合 */
  overflow: hidden;		
}
.topics ul li a .text .pickup{
	font-size: 1.2rem;
	color: #ff0000;
	font-weight: bold;
	margin: 0;
}
.topics ul li a .text .flex p.date{
	margin-right:auto;
	font-size:1.8rem;
	color:#dab9a8;
}

.topics ul li a .text .flex .icon_place{
	display: flex;
}

.topics ul li a .text .flex .icon_place img{
	width: auto;
}

.topics ul li a .text .flex .icon_place .img:first-child{
	margin-right:0px;
}

.topics .flex .icon_place{
	display: flex;
	align-items: center;
}

.topics .flex .icon_place img:first-child{
	margin:0 5px;
}


	@media screen and (max-width: 950px){
		.topics ul li a .text .flex{
			display: block;
		}
	}

	@media screen and (max-width: 750px){
		.topics ul{
			display: block;
		}
		.topics ul li{
			width: 80%;
			margin-right: auto;
			margin-left:auto;
		}
		.topics ul li:nth-child(3n){
			margin-right:auto;
		}
	}


.service ul{
	display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;	
	flex-wrap: wrap;
}

.service ul li{
	width: 47%;
	margin-bottom:60px;
}

.service ul li h3{
	text-align: center;
	font-size:3.0rem;
	position: relative;
	margin-bottom:30px;
}

.service ul li h3::before {
	content: "";
	background-image: linear-gradient(to right, #7f7f7f, #7f7f7f 2px, transparent 2px, transparent 8px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.service ul li .flex .img{
	display: block;
	width: 35%;
	margin-right:5%;
	display: flex;	
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;	
}
.service ul li .flex .btn{
	margin-top:0;
}

.service ul li .flex .btn a{
	width: 100%;
	display: block;
	padding:0;
}

.service ul li .flex .btn a.green{
	margin-top:5px;
}

.service ul li .flex .btn.none p{
	width: 100%;
	display: block;
	padding:0;
	margin-top:30px;
}

.service ul li .flex .btn.none+span{
	font-size:1.3rem;
	text-align: center;
	display: block;
}

.service ul li .flex .text{
	width: 60%;
  -webkit-box-pack: end;
     -ms-flex-pack: end;
   justify-content: flex-end;
}

.service ul li .flex .text p{
	margin-top:10px;
}

	@media screen and (max-width: 1100px){
		.service ul li > .flex{
			display: block;
		}
		.service ul li .flex .img{
			margin-right:auto;
			margin-left:auto;
			width: 50%;
		}
		.service ul li .flex .text{
			width: 100%;
		}
	}

	@media screen and (max-width: 700px){
		.service ul{
			display: block;
		}
		.service ul li{
			width: 100%;
		}
		.service ul li > .flex{
			display: flex;
		}
		.service ul li .flex .img{
			width: 35%;
		}
		.service ul li .flex .text{
			width: 60%;
		}
	}

	@media screen and (max-width: 550px){
		.service ul li > .flex{
			display: block;
		}
		.service ul li .flex .img{
			margin-right:auto;
			margin-left:auto;
			width: 50%;
		}
		.service ul li .flex .text{
			width: 100%;
		}
	}


.link {
	padding:120px 0;
}

.link .link_copy{
	position: relative;
	display: inline-block;
	background: #fff;
	text-align: center;
	font-size:1.8rem;
	border-radius: 50px;
	padding:20px 0;
	margin-bottom:80px;
	min-width: 120px;
	max-width: 100%;
	width: 100%;	
}

.link .link_copy:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #fff;
}

.link .flex{
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}

	@media screen and (max-width: 850px){
		.link .flex .banner:first-child{
			margin-right:20px;
		}
	}

	@media screen and (max-width: 550px){
		.link{
			padding:50px 0;
		}
		.link .flex {
			display: block;
		}
		.link .flex .banner:first-child{
			margin-right:0;
			margin-bottom:30px;
		}
		.link .flex .banner img{
			display: block;
			margin-right: auto;
			margin-left:auto;
		}
		.link .link_copy{
			padding:30px;
			box-sizing: border-box;
			margin-bottom:50px;
		}
	}

footer{
	background: #bdaea5;
	color:#fff;
	padding:30px 0 80px 0;
}

footer ul{
	display: flex;
}

footer ul li a{
	color:#fff;
}

footer ul li{
	margin-left:20px;
}
footer .flex{
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
     -ms-flex-direction: row-reverse;
         flex-direction: row-reverse;
}
footer .flex p.copyright{
	margin-right:auto;
}


	@media screen and (max-width: 600px){
		footer .flex{
			display: block;
		}
		footer ul{
			display: block;
		}
		footer .flex p.copyright{
			text-align: center;
			margin-top:20px;
		}
	}

/***********************************************************
　下層ページ日暮里
***********************************************************/

header.nippori .mv{
	background: url(../img/nippori/mv.jpg);
	padding-top:30%;
	width: 100%;
	background-size:contain;
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment:  fixed;
	position: relative;
}
	@media screen and (min-width: 2400px){
		header.nippori .mv{
			background-size:cover;
		}
	}
	@media screen and (max-width: 750px){
		header.nippori .mv{
			background-size: 200%;
			height: 250px;
		}
	}
	@media screen and (max-width: 500px){
		header.nippori .mv{
			background-size: 300%;
		}		
	}
header .subnav ul{
	padding:10px 0;
	display: flex;
  -ms-flex-pack: distribute;
justify-content: space-around;
}


header.top .subnav{
	width: 100%;
	height: 80px;	
}

header.top ul li.page {

}

header.top ul li.page .subnav {
	position:absolute;
	width: 100%;
}

header.page .main_copy{
	background:none;
	right:10%;
	top:0%;
}

main.nippori .news dl dt{
	color:#ff672b;
	margin-right:20px;
}

main.nippori .news dl dd:before{
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color:#ff672b;
	margin-right:15px;
}

.machine ul{
	display: flex;
	flex-wrap: wrap;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;	
}

.machine ul li{
	width: 23%;
	margin-bottom:20px;
}

.machine ul li img{
	border-radius: 3px;
}
.machine ul li .btn{
    margin: 10px auto;
    width: 100%;
}
.machine ul li .btn a{
	display: block;
}
.machine .flex{
	display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;		
}

.machine .flex .img:first-child{
	margin-right:20px;
}

	@media screen and (max-width: 1200px){
		.machine ul li{
			width: 48%;
		}
	}

	@media screen and (max-width: 650px){
		.machine ul li{
			width: 100%;
		}

		.machine .flex{
			flex-wrap: wrap;
			width: 100%;	
		}
		.machine .flex .img:first-child{
			margin-right:0;
		}
	}


.onlineshop{
	text-align: center;
	border-bottom:5px solid #f5f2f1;
}

main.top .onlineshop{
	border-top:5px solid #f5f2f1;
	border-bottom:none;
}


.access .flex{
	display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;		
}

.access .flex .map,.access .flex .text{
	width: 48%;
}

.access .flex a{
	text-decoration: underline;
}

.access .flex a:hover{
	color:#ff0000;
}

.access .flex .text h3{
	font-size:2.8rem;
	font-weight: bold;
	display: flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;	
} 

.access .flex .text h3:before{
	font-size:1.6rem;
    content: "\f138";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #ff672b;
    margin-right: 15px;
}

.access .flex .text dl{
	display: flex;
	flex-wrap: wrap;
}

.access .flex .text dt{
	width: 20%;
}

.access .flex .text dd{
	width: 80%;
}

.access .flex .text a{
	text-decoration: underline;
}

	@media screen and (max-width: 650px){
		.access .flex{
			display: block;
		}
		.access .flex .map, .access .flex .text{
			width: 100%;
			margin-bottom:20px;
		}
	}

.contact .w900{
	padding:80px 100px;
	box-sizing: border-box;
}

.contact .btn{
	margin-top:30px;
}

.contact dl{
	display: flex;
	flex-wrap: wrap;
}

.contact dl dt{
	width: 30%;
	margin-bottom:20px;
}

main.nippori .contact dl dt:before{
	content:"●";
	margin-right:10px;
	color:#ff672b;
}

main.semba .contact dl dt:before{
	content:"●";
	margin-right:10px;
	color:#00a2a1;
}

.contact dl dd{
	width: 70%;
	margin-bottom:20px;
}

.contact dl dd p.bold{
	font-weight: bold;
	margin-top: 20px;
}

main.nippori .contact dl dd:before{
	content: none;
}

.contact dl dd input[type="text"],.contact dl dd input[type="email"]{
	width: 100%;
	height: 35px;
	padding:5px;	
	box-sizing: border-box;
}

.contact dl dd textarea{
	width: 100%;
	height: 120px;
	padding:5px;
	box-sizing: border-box;
}


input[type="text"],input[type="email"]{
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
}

.contact dl dd input[type="text"].tel{
		width: 30%;

}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
}

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

input[type="text"],input[type="email"]{
	background-color:#f6f3f2;
}


.contents_area .reservation-button{
	border-bottom: none;
}
.contents_area .reservation-button:hover{
	border-bottom: none;
	opacity: 0.7;
}

textarea{
	background-color:#f6f3f2;
}

	@media screen and (max-width: 800px){
		.contact .w900{
			padding:50px;
		}
	}

	@media screen and (max-width: 650px){
		.contact dl{
			display: block;
		}
		.contact dl dd{
			width: 100%;
		}
		.contact dl dt{
			width: 100%;
		}
		.contact dl dd input[type="text"].tel{
			width: 25%;
		}
	}

	@media screen and (max-width: 400px){
		.contact .w900{
			padding:30px;
		}
	}


.linkbanner{
	padding:50px 0;
}

.linkbanner .flex{
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}

.linkbanner .flex .banner{
	margin:0 20px;
}

	@media screen and (max-width:500px){
		.linkbanner .flex{
			display:  block;
			margin:0 auto;
		}
		.linkbanner .flex .banner img{
			display:  block;
			margin:30px auto;
		}
	}


/***********************************************************
　下層ページ船場
***********************************************************/

header.semba .mv{
	background: url(../img/semba/mv.jpg);
	padding-top:30%;
	width: 100%;
	background-size:contain;
	background-position: top center;
	background-repeat: no-repeat;
	position: relative;
	background-attachment:  fixed;
}

header.semba .main_copy h1{
	right:0;
	top:15%;
}

header.semba .main_copy .copy2{
	padding-top:18%;
}

	@media screen and (min-width: 2400px){
		header.semba .mv{
			background-size:cover;
		}
	}

	@media screen and (max-width: 1400px){
		header.semba .mv{
			background-size:contain;
			background-size:150%;
			height: 250px;
		}
		header.semba .main_copy .copy2{
			padding-top:18%;
		}		
	}

	@media screen and (max-width: 1200px){
		header.semba .mv{
			background-size:200%;
			height: 250px;
		}
		header.semba .main_copy .copy2{
			padding-top:40%;
		}		
	}

	@media screen and (max-width: 850px){
		header.semba .mv{
			background-size: 200%;
			height: 300px;
		}
		header.semba .main_copy .copy2{
			padding-top:40%;
		}

	}

	@media screen and (max-width: 750px){
		header.semba .mv{
			background-size: 200%;
			height: 200px;
		}

		header .main_copy h1 img{
			display: block;
		}
		header.semba .main_copy .copy2{
			padding-top:40%;
		}			
	}
	@media screen and (max-width: 500px){
		header.semba .mv{
			background-size: 300%;
				padding-top:20%;
		}		
	
	}
main.semba .news dl dt{

	color:#00a2a1;
	margin-right:20px;
}

main.semba .news dl dd:before{
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color:#00a2a1;
	margin-right:15px;
}

main.semba .access .flex .text h3:before{
	font-size:1.6rem;
    content: "\f138";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #00a2a1;
    margin-right: 15px;
}

main.semba.contact dl dt:before{
	content:"●";
	margin-right:10px;
	color:#00a2a1;
}

/***********************************************************
　下層ページその他　NEWS
***********************************************************/

header.normal.page .mv{
	padding-top:0;
	background: none;
	height: 200px;
	display: flex;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

main.normal.page strong{
	color:#666;
}

main.normal.page.news dl{
	width: 900px;
	max-width: 100%;
	margin-right:auto;
	margin-left:auto;
	background: #fff;
	margin-bottom:10px;	
	padding:10px;
}

main.normal.page.news .title_area .date{
	color: #ff0000;
	font-weight: bold;
	margin-bottom:20px;
}

main.normal.page .title_area .title{
	font-size:2.5rem;
}

.news dl dd{
	padding-right:10px;
	padding-left:10px;
	box-sizing: border-box;
}

.news dl dd a{
	display: block;
}

.page_nation {
	display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}

.page_nation a{
	color:#dab9a8;
}


/***********************************************************
　下層ページその他　TOPICS
***********************************************************/


.contents_area .tag {
	margin:-50px 0 30px 0;
}

.contents_area .tag ul {
	display: flex;
  -webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;	
}

.contents_area .tag ul li{
	margin-right:20px;
	width: auto;
	color:#dab9a8;
}

.contents_area .tag ul li:before{
	content:"●";
	margin-right:5px;
}

.contents_area .tag ul li.pickup:before{
	color:#ff0000;
}

.contents_area .tag ul li.workshop:before{
	color:#ffaf00;
}


.contents_area a{
	color:#ff0000;
	border-bottom:1px solid #ff0000;
}

.contents_area a img{
	border:none;
}

/***********************************************************
　下層ページその他　設置機器
***********************************************************/

main.normal.page.machine{
	padding:0;
}

main.normal.page.machine section.machine{
	padding:30px 0;
}

main.normal.page.machine h2{
	font-size:2.0rem;
	position: relative;
	margin-bottom:50px;
	padding-bottom:0px;
	margin-top:50px;
}

main.normal.page.machine h2:after{
    content: "";
    background-image: linear-gradient(to right, #7f7f7f, #7f7f7f 2px, transparent 2px, transparent 8px);
    background-size: 8px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

main.normal.page.machine ul{
  -webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}

main.normal.page.machine ul li{
	background:none;
	width: 23%;
    margin-right: 2.6%;
}

main.normal.page.machine ul li:last-child{
	margin-right:0;
}

main.normal.page.machine ul li a{
	width: auto;
	margin:20px 0;
}

main.normal.page.machine ul li .btn{
	margin-top:0;
	width: 100%;

}

main.normal.page.machine ul li .btn a{
	width: 100%;
	padding:0;
} 

main.normal.page.machine .flex_col4{
	display: flex;
	flex-wrap: wrap;
}


main.normal.page.machine .flex_col4 > div{
	width: 23%;
    margin-right: 2.6%;
}
main.normal.page.machine .flex_col4 > div:last-child{
	margin-right:0;
}



main.normal.page.machine .flex_col4 > div ul li{
	width: 100%;
}

main.normal.page.machine .flex_col4 > div.col2{
  -webkit-box-flex: 2;
 -ms-flex-positive: 2;
         flex-grow: 2;
}

main.normal.page.machine .flex_col4 > div.col2 ul{
	display: flex;
  -webkit-box-pack: start;
     -ms-flex-pack: start;
   justify-content: flex-start;
}

main.normal.page.machine .flex_col4 > div.col2 ul li{
    width: 47.2%;
    margin-right: 5%;
}

main.normal.page.machine .flex_col4 > div.col2 ul li:last-child{
	margin-right:0;
}

main.normal.page.machine .flex_col4 > div.col3{
  -webkit-box-flex: 3;
 -ms-flex-positive: 3;
         flex-grow: 3;
}

main.normal.page.machine .flex_col4 > div.col3 ul{
	display: flex;
}

main.normal.page.machine .flex_col4 > div.col3 ul li{
    width: 31%;
    margin-right: 3.5%;
}

main.normal.page.machine .flex_col4 > div.col3 ul li:last-child{
	margin-right:0;
}

	@media screen and (max-width: 1200px){
		main.normal.page.machine ul li{
			width: 46%;
		}
		main.normal.page.machine .flex_col4 > div.col2{
			width: 100%;
		}
		main.normal.page.machine .flex_col4 > div{
			width: 46%;
		}
		main.normal.page.machine .flex_col4 > div.col3{
			width: 100%;
		}
		main.normal.page.machine .flex_col4 > div.col3 ul li{
			width: 46%;
		}
	}

	@media screen and (max-width: 650px){	
		main.normal.page.machine ul li{
			width: 100%;
			margin-right:0;
		}
		main.normal.page.machine .flex_col4 > div.col2{
			width: 100%;
			margin-right:0;
		}
		main.normal.page.machine .flex_col4 > div{
			width: 100%;
			margin-right:0;
		}
		main.normal.page.machine .flex_col4 > div.col3{
			width: 100%;
			margin-right:0;
		}
		main.normal.page.machine .flex_col4 > div.col3 ul li{
			width: 100%;	
			margin-right:0;
		}
		main.normal.page.machine .flex_col4 > div.col2 ul li{
			width: 100%;
			margin-right:0;
		}
		.machine ul li img{
			margin-right:auto;
			margin-left:auto;
			display: block;
			width: 100%;
		}

	}


table {
	width: 100%;
}

table td{
	border:1px solid #ccc1bd;
	background-color:#fff;
}

table th{
	background:#f3eeec;
	font-weight: bold;
	border:1px solid #ccc1bd;
}

table td,table th{
	padding:5px;
	box-sizing: border-box;
}


/***********************************************************
　下層ページその他　メールフォーム
***********************************************************/

.border{
	border:1px solid #bdaea5;
	box-sizing: border-box;
}
.btn a, .btn button{
	background:#ff0000;
}

.offline-op1,.offline-op2,.offline-op3{
	border:1px solid #f3eeec;
	padding:10px;
	box-sizing: border-box;
	font-size:1.4rem;
	margin-bottom:20px;
}

.offline-op1 a{
	color:#ff672b;
	border-bottom:1px solid #ff672b;
}



/***********************************************************
　SPナビデザイン
***********************************************************/

.acodion_footer_nav_child.nippori{
	background:#ff672b;
}



.acodion_footer_nav_child.semba{
	background:#00a2a1;
}


.sideNavi ul li{
	display: flex;
}
.sideNavi ul li a img{
	width: 60%;
}
.sideNavi ul li.shop a img{
	width: 100%;
}
.sideNavi ul li a:before{
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color:#706f70;
  padding-right:10px;
}

.sideNavi li.insta a img,.sideNavi li.search a img{
	width: auto;
}

.sideNavi li.page.nippori img,.sideNavi li.page.semba img{
	width: 60%;		
	padding:0 40px 0 15px;;
}

.sideNavi li.page.nippori,.sideNavi li.page.semba{
	margin-top:20px;
}

.sideNavi ul li.shop{
	margin-top:20px;
}

.sideNavi li.insta a:before,.sideNavi li.search a:before,.sideNavi li.shop a:before{
	content:none;
}

.sideNavi .sideNavi_in .sideNavi_box .menu li.page.nippori a:before,.sideNavi .sideNavi_in .sideNavi_box .menu li.page.semba a:before{
	color:#fff;
	font-size:1.2rem;
} 

.sideNavi .sideNavi_in .sideNavi_box .menu li.page.nippori a,.sideNavi .sideNavi_in .sideNavi_box .menu li.page.semba a{
	display: flex;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

input[type="search"]{
	border:none;
	border-bottom:2px solid #dab9a8
}

header.normal.page .mv.title_none{
	height: 80px;
	padding-top:0;
}

.pagination{
	display: flex;
	margin-top:50px;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}

.pagination .page-numbers{
	margin:0 20px;
	font-size:1.8rem;
}

.pagination .page-numbers.current{
	color:#ff0000;
}

.pagination .page-numbers{
	color:#dab9a8;
}

#page_top {
    position: fixed;
    bottom: 30px;
    right: 20px;
    display: flex;
    -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}
#page_top a{
	width: 50px;
	height: 50px;
	display: block;
    background-color: #dab9a8;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 50%;
    display: flex;
    -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
  -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;    
}
#page_top a:hover {
    background-color: #ff0000;
    text-decoration: none;
}

.hw_banner a img{
	display: block;
	margin:80px auto 0 auto;
}

.hw_banner a{

}

.mailmagazine{
	padding:80px 0 0 0;
	text-align: center;
}

.mailmagazine h2{
	font-size:3.0rem;
	color:#7f7f7f;
	font-weight: bold;
}
.mailmagazine h2:before{
	content:"\f674";
	font-family:"Font Awesome 5 Free";
	padding-right:20px;
	color:#ff672b;
}

.semba .mailmagazine h2:before{
	color:#00a2a1;
}
	@media screen and (max-width: 650px){	
		.hw_banner a img{
			display: block;
			margin:30px auto 0 auto;
		}
		.mailmagazine h2{
			font-size:2.0rem;
		}
	}