﻿/* ********** WRAP ********** */
img {
	max-width:100%;
}

h1 {
	//position:relative;
}

h1 img {
	margin:0 auto;
}

.font_notoserif {
    font-family: 'Noto Serif JP', serif;
}
.font_notosans {
    font-family: 'Noto Sans JP', sans-serif;
}

body {
	//font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/* ----------------------------------------------------

common

---------------------------------------------------- */
.bkcolor_wrap {
	background-color: #e7e5e1;
	padding:3rem 0;
}

@media only screen and (min-width:768px) {
    .bkcolor_wrap {
	background-color: #e7e5e1;
	padding:5rem 0;
	}
}


/* 
 cate_tit
-------------------------*/
.contents .cate_tit {
    font-size:0.9rem;
    line-height:1.6;
    letter-spacing:1px;
    font-weight:normal;
    background-color: #f2f2f2;
    padding:1.5rem;
    margin:3rem 0;
    color: #4b4948;
}
.contents:first-of-type .cate_tit {
	margin-top:0;
}
.contents .cate_tit h3 span {
    font-size:2rem;
    padding:1rem;
    /* font-family: 'Noto Serif JP', serif; */
}

@media only screen and (min-width: 768px) {
	.contents .cate_tit {
		font-size:0.9rem;
		line-height:1.6;
		letter-spacing:1px;
		font-weight:normal;
		background-color: #f2f2f2;
		padding:1.5rem;
		margin:3rem 0;
	}
	.contents:first-of-type .cate_tit {
		margin-top:0;
	}
	.contents .cate_tit h3 span {
		font-size:2.5rem;
		padding:1rem;
		/* font-family: 'Noto Serif JP', serif; */
	}
}

/* 
 cate_lead
-------------------------*/
.cate_lead {
	margin: 2rem auto 3rem;
	font-size: 0.9rem;
	line-height:1.5;
}

@media only screen and (min-width: 768px) {
    .cate_lead {
		margin: 4rem auto 5rem;
		font-size: 1rem;
		line-height:1.5;
	}
}




/* 
 btn_visit
-------------------------*/
.btn_visit {
	font-size:0.9rem;
	margin: 0 auto 3rem;
	height:auto;
	text-align:center;
	width: 100%;
	background-color:#cc1b1b;
	cursor: pointer;
}
.btn_visit a {
	color: #fff;
	background: transparent;
	position: relative;
	z-index: 1;
	transition: .3s;
	display:block;
	padding: 0.8rem;
}
.btn_visit a::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #333;
	transform-origin: 100% 0%;
	transform: scaleX(0);
	transition: transform ease .3s;
}
.btn_visit a:hover {
	color: #fff;
}
.btn_visit a:hover::before {
	transform-origin: 0% 100%;
	transform: scaleY(1);
}
.btn_visit a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
	.btn_visit {
		font-size:0.9rem;
		margin: 0 auto 3rem;
		height:auto;
		text-align:center;
		width: 100%;
		background-color:#cc1b1b;
		cursor: pointer;
	}
	.btn_visit a {
		color: #fff;
		background: transparent;
		position: relative;
		z-index: 1;
		transition: .3s;
		display:block;
		padding: 0.8rem;
	}
	.btn_visit a::before {
		content: "";
		width: 100%;
		height: 99%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #333;
		transform-origin: 100% 0%;
		transform: scaleX(0);
		transition: transform ease .6s;
	}
	.btn_visit a:hover {
		color: #fff;
	}
	.btn_visit a:hover::before {
		transform-origin: 0% 100%;
		transform: scaleY(1);
	}
	.btn_visit a::after {
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		right: 0.5rem;
		transform: translateY(-50%);
	}
}



/* ---------------
 JS
--------------- */
/* 
 js-animation
-------------------------*/
.js-animation {
	  opacity: 0;
	  visibility: hidden;
	  transform: translateY(40px);
	  transition: all 1.4s;
	  position: relative;
	  overflow: hidden;
}
.js-animation.is-show {
	opacity: 1;
    visibility: visible;
	transform: translateY(0px);
}

@media only screen and (max-width: 768px) {
	.js-animation {
		  opacity: 0;
		  visibility: hidden;
		  transform: translateY(40px);
		  transition: all 1.4s;
		  position: relative;
		  overflow: hidden;
	}
	.js-animation.is-show {
		  opacity: 1;
		  visibility: visible;
		  transform: translateY(0px);
	}
}

@media only screen and (min-width: 769px) {
	.js-animation {
		  opacity: 0;
		  visibility: hidden;
		  transform: translateY(40px);
		  transition: all 1.4s;
		  position:relative;
		  overflow:hidden;
	}
	.js-animation.is-show {
		  opacity: 1;
		  visibility: visible;
		  transform: translateY(0px);
	}
}


/* 
 js underline 
-------------------------*/
.Text-Span {
  position: relative;
  z-index: 1;
  letter-spacing: 0.3px;
display: inline-block;
}
.Text-Span:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -14px;
  width: 0%;
  height: 2px;
  background: #27515f;
  z-index: -1;
  transition: all 2s;
}
.Text-Span.isActive:after {
  width: 100%;
}





/* ----------------------------------------------------

 main_lead

---------------------------------------------------- */
.main_lead {
    margin: 0 2rem 3rem;
    background: #fff;
}
.main_lead img {
    margin:2rem auto;
}
.main_lead p {
	line-height: 2;
	font-size:0.85rem;
	text-align:left;
}

@media only screen and (min-width: 768px) {
	.main_lead {
		margin: 5rem auto;
		background: #fff;
	}
	.main_lead img {
		margin:0 auto 2rem; 
	}
	.main_lead p {
		line-height: 2;
		font-size:1rem;
		text-align:center;
	}
}




/* ----------------------------------------------------

 four_point

---------------------------------------------------- */
.four_point {
    margin:auto 2rem;
}
.four_point h2 {
	margin-bottom:4rem;
	font-size:1.3rem;
	color: #4b4948;
}
.four_point ul {
	display:flex;
	flex-flow:column wrap;
	justify-content:space-between;
}
.four_point ul li {
	width:calc(100%);
	background-color: #fff;
	margin-bottom: 2rem;
}
.four_point ul li dl {
	margin:0.8rem 0 2.5rem;
}
.four_point ul li dt {
	font-size:1rem;
	line-height:1.5;
	letter-spacing:0.2px;
	margin:auto 2rem;
	padding-bottom:0.5rem;
	border-bottom:1px solid #333;
}
.four_point ul li dt:first-of-type {
		border-bottom:none;
		display:inline-block;
		font-size:3rem;
	}
.four_point ul li dd {
	margin: 0.5rem 2rem 2rem;
	font-size:0.85rem;
	text-align:left;
	line-height:1.8;
	letter-spacing:0.4px;
	height: auto;
}
.four_point ul li dl .btn_smy {
    font-size:0.9rem;
    margin: 0 auto;
	height:auto;
	text-align:center;
	width: 80%;
	border: solid 1px #4b4b4b;
	cursor: pointer;
}
.four_point ul li dl .btn_smy a {
	color: #333;
	background: transparent;
	position: relative;
	z-index: 1;
	transition: .3s;
	display:block;
	padding: 0.5rem;
}
.four_point ul li dl .btn_smy a::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #333;
	transform-origin: 100% 0%;
	transform: scaleY(0);
	transition: transform ease .3s;
}
.four_point ul li .btn_smy a:hover {
	color: #fff;
}
.four_point ul li .btn_smy a:hover::before {
	transform-origin: 0% 100%;
	transform: scaleY(1);
}
.four_point ul li .btn_smy a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
	.four_point {
        margin:auto;
	}
	.four_point h2 {
		margin-bottom:6rem;
		font-size:1.8rem;
		color: #4b4948;
	}
	.four_point h2 span {
		padding-left:1rem;
	}
	.four_point ul {
		display:flex;
		flex-flow:row wrap;
		justify-content:space-between;
	}
	.four_point ul li {
		width:calc(48%);
		background-color: #fff;
		margin-bottom: 3rem;
	}
	.four_point ul li dl {
		margin: 1rem 0 3rem;
	}
	.four_point ul li dt {
		font-size:1.3rem;
		line-height:1.5;
		letter-spacing:0.2px;
		margin:auto 2rem;
		padding-bottom:1rem;
		border-bottom:1px solid #333;
	}
	.four_point ul li dt:first-of-type {
		border-bottom:none;
		display:inline-block;
		font-size:4rem;
	}
	.four_point ul li dd {
		margin: 1rem 2rem 2rem;
		font-size:0.9rem;
		text-align:left;
		line-height:1.8;
		letter-spacing:0.4px;
		height: 6rem;
	}
	.four_point ul li dl .btn_smy {
		font-size:0.9rem;
		margin: 0 auto;
		height:auto;
		text-align:center;
		width: 45%;
		border: solid 1px #4b4b4b;
		cursor: pointer;
	}
	.four_point ul li dl .btn_smy a {
		color: #333;
		background: transparent;
		position: relative;
		z-index: 1;
		transition: .3s;
		display:block;
		padding: 0.5rem;
	}
	.four_point ul li dl .btn_smy a::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #333;
		transform-origin: 100% 0%;
		transform: scaleX(0);
		transition: transform ease .4s;
	}
	.four_point ul li .btn_smy a:hover {
		color: #fff;
	}
	.four_point ul li .btn_smy a:hover::before {
		transform-origin: 0% 100%;
		transform: scaleY(1);
	}
	.four_point ul li .btn_smy a::after {
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		right: 0.5rem;
		transform: translateY(-50%);
	}
}



/*
 fuchidori 
-------------------- */
.fuchidori {
	font-weight: bold;
	color: rgba(0, 0, 0, 0);
	text-shadow: -2px -1px 0 #4b4948;
	-webkit-text-stroke: 1px #000;
	text-stroke: 1px #888;
	padding: 0 0 10px;
}

@media only screen and (min-width: 768px) {
	.fuchidori {
		font-weight: bold;
		color: rgba(0, 0, 0, 0);
		text-shadow: -2px -1px 0 #4b4948;
		-webkit-text-stroke: 1px #000;
		text-stroke: 1px #888;
		padding: 0 0 10px;
	}
}



/*
 four_point ipad-margin 
-------------------- */
/* ipad */
@media only screen and (max-width: 768px) {
    .four_point {
    	margin:auto 1rem;
    }
    .four_point ul li dt {
		font-size:1.1rem;
    }
    .four_point ul li dd {
    	height: 9rem;
    }
    .four_point ul li dl .btn_smy {
    	width:50%;
    }
}

/* pc */
@media only screen and (min-width: 769px) {
    .four_point {
    	
    }
    .four_point ul li dd {
    	height: 6rem;
    }
}

/* sp */
@media only screen and (max-width: 414px) {
    .four_point {
    	margin:auto 2rem;
    }
    .four_point ul li dt {
		font-size:1rem;
    }
    .four_point ul li dd {
    	height: auto;
    }
    .four_point ul li dl .btn_smy {
    	width:80%;
    }
}


/* ----------------------------------------------------

 cate01

---------------------------------------------------- */

.cate01 {
	margin:2rem 2rem 5rem;
}

/* shop_col */
.shop_col_wrap .shop_col {
	display:flex;
	flex-flow: column wrap;
	justify-content:space-between;
	margin-bottom: 1rem;
}
.shop_col_wrap .shop_col li {
	width:calc(100%);
	margin-bottom:5rem;
}
.shop_col_wrap .shop_col li:nth-of-type(2) {
	margin-bottom:0;
}
.shop_col_wrap .shop_col dl {
    margin:0 auto;
}
.shop_col_wrap .shop_col dt {
	position:relative;
	font-weight:bold;
	font-size:1.3rem;
	margin-bottom:1.4rem;
	padding: 0 0 1.2rem;
	color: #4b4948;
}
.shop_col_wrap .shop_col dt::after {
    content: "";
    width: 12%;
    border-bottom: 2px solid #27515f;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
.shop_col_wrap .shop_col .shop_col_text {
	font-size:0.85rem;
	line-height:1.6;
	text-align:left;
	margin:auto auto 1.5rem;
}
.shop_col_wrap .shop_col .shop_col_note {
	font-size:0.8rem;
	text-align:left;
	line-height:1.5;
	margin: 0 auto 1rem;
}
.shop_col_wrap .shop_col .shop_col_list {
	text-align:left;
	font-size:0.75rem;
	height: auto;
}
.shop_col_wrap .shop_col .shop_col_list li {
	text-align:center;
	border:1px solid #333;
	width:100%;
	margin:0 auto 1rem;
}
.shop_col_wrap .shop_col .shop_col_list li a {
	padding:0.8rem 0;
	display:block;
	cursor:pointer;	
	position:relative;
}
.shop_col_wrap .shop_col .shop_col_list li a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
	.cate01 {
		margin: 2rem auto 5rem;
	}
	.shop_col_wrap .shop_col {
		display:flex;
		flex-flow: row nowrap;
		justify-content:space-between;
		margin-bottom:2rem;
	}
	.shop_col_wrap .shop_col li {
		width:calc(48%);
	}
	.shop_col_wrap .shop_col li:nth-of-type(2) {
	    margin-bottom:auto;
    }
	.shop_col_wrap .shop_col dl {
		margin:0 auto;
	}
	.shop_col_wrap .shop_col dt {
		position:relative;
		font-weight:bold;
		font-size:1.5rem;
		margin-bottom:1.6rem;
		padding: 0 0 1.3rem;
		color: #4b4948;
	}
	.shop_col_wrap .shop_col dt::after {
	    content: "";
	    width: 8%;
	    border-bottom: 2px solid #27515f;
	    position: absolute;
	    left: 50%;
	    bottom: 0;
	    transform: translateX(-50%);
	}
	.shop_col_wrap .shop_col .shop_col_text {
		font-size:0.9rem;
		line-height:1.6;
		text-align:left;
		margin:auto auto 1.5rem;
	}
	.shop_col_wrap .shop_col .shop_col_note {
		font-size:0.8rem;
		text-align:left;
		margin: 0.3rem auto 2rem;
	}
	.shop_col_wrap .shop_col .shop_col_list {
		text-align:left;
		font-size:0.8rem;
		/* height: 7rem; */
	}
	.shop_col_wrap .shop_col .shop_col_list li {
		text-align:center;
		border:1px solid #333;
		width:60%;
		margin:0 auto 1rem;
	}
	.shop_col_wrap .shop_col .shop_col_list li a {
		padding:0.8rem 0;
		display:block;
		cursor:pointer;	
		position:relative;
	}
	.shop_col_wrap .shop_col .shop_col_list li a::after {
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		right: 0.5rem;
		transform: translateY(-50%);
		}
}

@media only screen and (max-width: 768px) {
	.shop_col_wrap .shop_col li:first-of-type .shop_col_list {
		height: 8.5rem;
	}
	.shop_col_wrap .shop_col li:last-of-type .shop_col_list {
		height:7rem;
	}
}

@media only screen and (max-width: 414px) {
	.shop_col_wrap .shop_col li:first-of-type .shop_col_list {
		height: auto;
	}
	.shop_col_wrap .shop_col li:last-of-type .shop_col_list {
		height:auto;
	}
}



/*
 luminous-container 
-------------------- */
.luminous-container {

}
.luminous-container ul {
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	margin-bottom:1rem;
}
.luminous-container ul li {
	width:calc(48%);
	margin-bottom:0.6rem;
}
.lum-lightbox{
	z-index: 2;
}

@media only screen and (min-width: 768px) {
	.luminous-container {

	}
	.luminous-container ul {
		display:flex;
		flex-flow:row wrap;
		justify-content:space-between;
		margin-bottom:4rem;
	}
	.luminous-container ul li {
		width:calc(32%);
		margin-bottom:1rem;
	}

	.lum-lightbox{
		z-index: 2;
	}
}

@media screen and (max-width: 414px) {
  .lum-lightbox-inner img {
    max-width: 100vw !important;  /* 軽くスワイプで左端から右端まで動かせる量 */
    max-height: 80vh !important;  /* 上下に適度に余白 */
  }
}


/*
 cate01 ipad-margin 
-------------------- */
/* ipad */
@media only screen and (max-width: 768px) {
    .cate01 {
    	margin:auto 1rem;
    }
}

/* pc */
@media only screen and (min-width: 769px) {
    .cate01 {
    	
    }
}

/* sp */
@media only screen and (max-width: 414px) {
    .cate01 {
    	margin:auto 2rem;
    }
}





/* ----------------------------------------------------

 cate02

---------------------------------------------------- */
.cate02 {
	margin:2rem 2rem 5rem;
}
.movie_wrap {
    max-width:100%;
    margin:auto 0;
}
.movie_wrap ul {
	display:flex;
	flex-flow:column wrap;
	justify-content:space-between;
	align-items: flex-start;
}
.movie_wrap ul li {
	width:calc(100%);
	margin-bottom:3rem;
}
.movie_wrap ul p {
	font-size:0.7rem;
	padding-top:0.3rem;
}

@media only screen and (min-width:768px) {
	.cate02 {
		margin: 2rem auto 5rem;
	}
	.movie_wrap {
		max-width:100%;
		margin:auto auto 7rem;
	}
	.movie_wrap ul {
		display:flex;
		flex-flow:row nowrap;
		justify-content:space-between;
		align-items: flex-start;
	}
	.movie_wrap ul li {
		width:calc(47%);
		margin-bottom:0;
	}
	.movie_wrap ul p {
		font-size:0.85rem;
		padding-top:0.3rem;
	}
}


/*
 cate02 ipad-margin 
-------------------- */
/* ipad */
@media only screen and (max-width: 768px) {
    .cate02 {
    	margin:auto 1rem;
    }
}

/* pc */
@media only screen and (min-width: 769px) {
    .cate02 {
    	
    }
}

/* sp */
@media only screen and (max-width: 414px) {
    .cate02 {
    	margin:auto 2rem;
    }
}


/* ----------------------------------------------------

 cate03

---------------------------------------------------- */
.cate03 {
	margin:auto 2rem 3rem;
}
.cate03 ul {
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	margin:0 auto;
}
.cate03 ul li {
	width: calc(48%);
	margin-bottom:0.5rem;
	overflow:hidden;
	}
	.cate03 ul li img{
		transition:.3s all;

	}
	.cate03 ul li img:hover{
		transform:scale(1.1,1.1);
		transition:1s all;
		opacity:0.7;
	}

@media only screen and (min-width:768px) {
	.cate03 {
		margin:auto auto 8rem;
	}
	.cate03 ul {
		display:flex;
		flex-flow:row wrap;
		justify-content:space-between;
		align-items:center;
	}
	.cate03 ul li {
		width: calc(31%);
		margin-bottom:2rem;
		overflow:hidden;
	}
	.cate03 ul li img{
		transition:.3s all;

	}
	.cate03 ul li img:hover{
		transform:scale(1.1,1.1);
		transition:1s all;
		opacity:0.7;
	}
}




/* 
 btn_coordinate
-------------------------*/
.btn_coordinate {
	font-size:0.9rem;
	margin: 2rem auto 3rem;
	height:auto;
	text-align:center;
	width: 100%;
	background-color:#fff;
	cursor: pointer;
	border:1px solid #000;
}
.btn_coordinate a {
	color: #000;
	background: transparent;
	position: relative;
	z-index: 1;
	transition: .3s;
	display:block;
	padding: 0.8rem;
}
.btn_coordinate a::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: #333;
	transform-origin: 100% 0%;
	transform: scaleX(0);
	transition: transform ease .3s;
}
.btn_coordinate a:hover {
	color: #fff;
}
.btn_coordinate a:hover::before {
	transform-origin: 0% 100%;
	transform: scaleY(1);
}
.btn_coordinate a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
	.btn_coordinate {
		font-size:0.9rem;
		margin: 2rem auto 3rem;
		height:auto;
		text-align:center;
		width: 100%;
		background-color:#fff;
		cursor: pointer;
		border:1px solid #000;
	}
	.btn_coordinate a {
		color: #000;
		background: transparent;
		position: relative;
		z-index: 1;
		transition: .3s;
		display:block;
		padding: 0.8rem;
	}
	.btn_coordinate a::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #333;
		transform-origin: 100% 0%;
		transform: scaleX(0);
		transition: transform ease .3s;
	}
	.btn_coordinate a:hover {
		color: #fff;
	}
	.btn_coordinate a:hover::before {
		transform-origin: 0% 100%;
		transform: scaleY(1);
	}
	.btn_coordinate a::after {
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		right: 0.5rem;
		transform: translateY(-50%);
	}
}


/*
 cate03 ipad-margin 
-------------------- */
/* ipad */
@media only screen and (max-width: 768px) {
    .cate03 {
    	margin:auto 1rem;
    }
}

/* pc */
@media only screen and (min-width: 769px) {
    .cate03 {
    	
    }
}

/* sp */
@media only screen and (max-width: 414px) {
    .cate03 {
    	margin:auto 2rem;
    }
}



footer img {
	width: 11rem;
	padding-bottom: 0.5rem;
}
footer p {
	font-size:0.8rem;
}

@media only screen and (min-width: 768px) {
	footer img {
		width: 10rem;
		padding-bottom: 0.5rem;
	}
	footer p {
		font-size:0.8rem;
	}
}


#footer #footer_nav {
    width: 100%;
    background-color: #ddd;
    font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}

.footer__spMenu__foot {
	 font-family: YuGothic,"Yu Gothic","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}







 /* ********** WRAP ********** */
/* 
 link - hover
-----------------------*/
*, *:after, *:before {
    outline: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a > * {
	transition: all .2s ease;
}

a:hover{ color: #9fa0a0;}
a:hover img{ opacity: .85;}




.wrapper {
	font-family: "Noto Sans Japanese";
	color:#000;
}

.contents,
.snsicon_wrap,
footer {
    background: #fff;
}










@media only screen and (min-width: 1100px) {
    section,
	h1 {
        width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}





