@charset "UTF-8";

/*----------------------------------------------------------
 *      共通パーツ
 *---------------------------------------------------------- */
.more a {
	display: block;
	width: 280px;
	padding: 26px 0;
	margin: 0 auto;
	background: #111;
	border-radius: 35px;
	text-align: center;
	color: #fff;
	position: relative;
}
.more a:hover {
	background: #7bc99b;
	color: #fff;
}
.more-staff .more a:after {
	content: " ";
	display: block;
	position: absolute;
	top: 40%;
	right: 10%;
	width: 18px;
	height: 15px;
	background: url(../images/common/btn/window.svg)no-repeat center center / contain;
}
@media only screen and (max-width: 768px) {
	.more a {
		width: 200px;
		padding: 16px 0;
		margin-top: -40px;
		/*margin: 16px 0;*/
	}
	.more-staff{
		margin-bottom:20px;
	}
	.more-staff .more a:after {
		top: 15px;
		right: 21px;
		width: 12px;
		height: 18px;
	}
}

/*
************************************************************************
* MVスライドショー
************************************************************************
*/
.mv-slide
{
	margin:0;
	padding:0;
	list-style:none;
}
.mv-slide .mv-slide-item
{
	margin:0;
	padding:0;
	list-style:none;
	
	width:100%;
	height:calc((100vw - 230px) * 0.5);
	max-height:630px;
}
.mv-slide .mv-slide-item .slide
{
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	
	width:100%;
	height:100%;
}
.mv-slide .mv-slide-item .caption
{
	position:absolute;
	bottom:1em;
	left:1em;
	
	color:#FFFFFF;
}
.mv-slide .slick-dots
{
	position:absolute;
	right:1em;
	bottom:1em;
	width:auto;
}
.mv-slide .slick-dots li
{
	width:12px;
	height:12px;
}
.mv-slide .slick-dots li button
{
	width:12px;
	height:12px;
}
.mv-slide .slick-dots li button:before
{
	content:'';
	
	border-radius:100%;
	border:2px solid #FFFFFF;
	background-color:transparent;
	
	width:12px;
	height:12px;
	
    filter:alpha(opacity=100);
    -moz-opacity: 1.0;
    opacity: 1.0;
}
.mv-slide .slick-dots li.slick-active button:before
{
    filter:alpha(opacity=100);
    -moz-opacity: 1.0;
    opacity: 1.0;
    
	background-color:#FFFFFF;
}

/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.mv-slide .mv-slide-item
	{
		height:97.333333vw;
	}
	.mv-slide .slick-dots
	{
		top:100%;
		right:auto;
		bottom:auto;
		width:100%;
		padding:2vw;
		padding-top: 1vw;
	}
	.mv-slide .slick-dots li
	{
		width:2vw;
		height:2vw;
	}
	.mv-slide .slick-dots li button
	{
		width:2vw;
		height:2vw;
	}
	.mv-slide .slick-dots li button:before
	{
		border:1px solid #bbbbbb;
		width:2vw;
		height:2vw;
	}
	.mv-slide .slick-dots li.slick-active button:before
	{
		background-color:#bbbbbb;
	}
}
/* == 1500px over ワイドサイズ ==========================================================*/
@media screen and (min-width: 1500px) {
	.mv-slide .mv-slide-item
	{
		max-height:none;
		min-height:25vh;
	}
}

/*----------------------------------------------------------
 *      ヘッダー周り
 *---------------------------------------------------------- */
.main__info {
  top: 26px;
}
.main__info .tel {
  display: block;
  padding: 2px 6px;
  background: #fff;
  font-family: "Roboto Slab", serif;
  font-size: 1.5rem;
  font-weight: bold;
}
.main__info .tel .no {
  margin-left: 4px;
}
.main__info .hours {
  display: inline-block;
  padding: 4px 6px;
  background: #fff;
  /*font-family: "Roboto Slab", serif;*/
  font-weight: bold;
}
.main__info .hours .no {
  margin-left: 2px;
}

@media only screen and (max-width: 768px) {
	
}

/*----------------------------------------------------------
 *      メインビジュアル
 *---------------------------------------------------------- */
.flexslider{
	min-height:600px;
}
@media only screen and (max-width: 768px){
	.flexslider{
		min-height:400px;
	}
}



.main__area {
	width: 100%;
	min-width: 100%;
}
.main__area .contents-wrap {
	position: relative;
	width: 100%;
	min-width: 100%;
	padding-top: 0;
}
.main__area .main-visual {
	z-index: 10;
}
.main__area .main-visual__mask {
    position: absolute;
    bottom: -0.1vw;
    z-index: 3;
}
.main__area .main-visual__mask img {
	width: 100%;
	vertical-align: bottom;
}
.main__area .main__logo {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
}
.main__area .main__logo img{
	margin-top:0;
}
.menu__main__logo img {
	margin: 12px auto 0;
}
.main__area .main__info {
    position: absolute;
    top: 26px;
    left: 30px;
    text-align: left;
    z-index: 2;
}
.main__area .main__info .tel {
      display: block;
      padding: 2px 6px;
      background: #fff;
      font-family: "Roboto Slab", serif;
      font-size: 1.5rem;
      font-weight: bold;
}
.main__area .main__info .tel .no {
        margin-left: 4px;
}
.main__area .main__info .hours {
      display: inline-block;
      padding: 4px 6px;
      background: #fff;
      font-family: "Roboto Slab", serif;
      font-weight: bold;
}
.main__area .main__info .hours .no {
        margin-left: 2px;
}


@media only screen and (max-width: 768px) {
	.main__area .logo {
        top: 17px;
        left: calc(50% - 55px);
	}
	.main__area .main__logo img{
		padding-top: 0;
		margin-top: 0;
	}
	.menu__main__logo img {
		margin: 0;
	}
}
@media only screen and (min-width: 1295px) {
	.main__area .main__video--pc video {
		width: 100%;
		}
}
@media only screen and (max-width: 1294px) {
	.main__area .main__video--pc video {
		width: auto;
		height: 100%;
		}
}

.main__area .main__video--sp video {
	width: 100%;
}
@media only screen and (min-width: 640px) {
	.main__area .main__video--sp video {
		width: 100%;
		height: auto;
	}
}

/*
************************************************************************
* MVスライドショー（動画リニューアルまでの静止画スライド）
************************************************************************
*/
/*.slide_wrap{
	width:100vw;
	height:auto;
	/*margin:0 auto;*/
	/*position:relative;
}
.slide {
	position: relative;
	overflow: hidden;
	width: 100vw;
	height: 720px;
	max-height: 730px;
	margin: 0 auto;
	background : #fff;
}
.slide li {
	display: block;
	position: absolute;
	width: 100%;
	height: auto;
	opacity: 0;
	animation: slideAnime 32s ease-in-out infinite;
}
.slide li:nth-child(1){
	animation-delay:0s;
}
.slide li:nth-child(2){
	animation-delay:4s;
}
.slide li:nth-child(3){
	animation-delay:8s;
}
.slide li:nth-child(4){
	animation-delay:12s;
}
.slide li:nth-child(5){
	animation-delay:16s;
}
.slide li:nth-child(6){
	animation-delay:20s;
}
.slide li:nth-child(7){
	animation-delay:24s;
}
.slide li:nth-child(8){
	animation-delay:28s;
}

.slide li img{
	width:100%;
}

@keyframes slideAnime{
	0% { opacity: 0 }
	10% { opacity: 1 }
	20% { opacity: 1 }
	30% { opacity: 0 }
	100% { opacity: 0 }
}

@media only screen and (max-width: 768px){
	.slide{
		height: 420px;
	}
	.main__area .main-visual__mask {
		bottom: -0.1vw;
	}
}*/

/*----------------------------------------------------------
 *      コンセプト
 *---------------------------------------------------------- */
.concept__area {
  padding: 80px 0 176px 0;
}
.concept__area .contents-wrap {
    margin: 0 auto;
}
.concept__area .concept__wrap {
	display: flex;
	flex-wrap: wrap;
	max-width: 1120px;
	margin: 0 auto;
}
.concept__area .concept__element {
    flex-basis: 560px;
}
  .concept__area #element1 {
    padding-left: 90px;
}
.concept__area #element2 img {
    margin-right: -160px;
}
.concept__area #element3 {
    flex-basis: 490px;
    padding-top: 175px;
}
.concept__area #element3 img {
      margin-left: -160px;
}
.concept__area #element4 {
    flex-basis: 380px;
    padding-top: 86px;
}
.concept__area #element5 {
    flex-basis: 250px;
}
.concept__area #element5 img {
      margin-top: -20px;
      margin-right: -70px;
}
.concept__area h1 {
    display: block;
    width: 254px;
    height: 123px;
    background: url("../images/index/about/title.png") no-repeat;
    background-size: 254px 123px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 0 59px -2px;
}
.concept__area h2 {
    margin: 0 0 73px 0;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
    line-height: 1.651;
}
.concept__area .description {
    line-height: 2;
}

@media only screen and (max-width: 768px) {
	.concept__area {
		padding: 35px 0 76px 0;
	}
	.concept__area .concept__wrap {
        display: block;
	}
	.concept__area #element1 {
        margin: 0 0 0 30px;
        padding-left: 0;
	}
	.concept__area #element4 {
        padding: 0;
        margin: 0 0 35px 30px;
	}
	.concept__area h1 {
        width: calc(100% - 30px);
        height: 68px;
        margin: 0 0 30px 0;
        background: url("../images/index/about/title--sp.svg") no-repeat 50%;
	}
	.concept__area h2 {
        margin: 0 0 30px 0;
        font-size: 1.23rem;
	}
	.concept__area .description {
        margin: 27px 30px 0 0;
        line-height: 1.7;
	}
	
}

/*----------------------------------------------------------
 *      トピックス
 *---------------------------------------------------------- */
.topics__area {
  position: relative;
  background: #eff2f1;
}
.topics__area .contents-wrap {
    position: relative;
    width: 1120px;
    padding: 90px 0 70px;
}
.topics__title {
  position: absolute;
  top: -16px;
  left: calc(50% - 82px);
  text-align: center;
}
.topics__title h1 {
    margin: 0 0 14px 0;
    font-family: "Montserrat", sans-serif;
    font-size: 2.25rem;
    font-weight: bold;
}
.topics__kaz--l {
  position: absolute;
  top: -32px;
  left: 0;
}
.topics__kaz--r {
  position: absolute;
  top: -32px;
  right: 0;
}
.topics__list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.topics__list ul li {
	width: calc(97% / 3);
	margin-bottom: 15px;
}
.topics__list ul li img {
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.topics__list li a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.topics__list .bx-wrapper {
  margin: 0;
}
.topics__list .bx-viewport {
  left: 0;
  background: none;
  border: none;
  box-shadow: none;
}
.topics__list .bx-default-pager {
  padding: 0 10px 0 0;
  bottom: -40px;
  color: #dddddd;
}
.topics__list .bx-pager-link {
  width: 14px !important;
  height: 14px !important;
  margin: 0 10px;
  background: #dddddd !important;
  border-radius: 20px !important;
  color: #dddddd;
}
.topics__list .bx-pager-link:hover {
    background: #7bc99b !important;
    color: #7bc99b;
    font-style: normal;
}
.topics__list .active {
  background: #7bc99b !important;
  color: #7bc99b;
}

.topics__arrow--prev {
  position: absolute;
  top: 115px;
  left: -70px;
  width: 50px;
  height: 50px;
  background: url("../images/index/topics/arrow1.svg") no-repeat;
}
.topics__arrow--prev:hover {
    background: url("../images/index/topics/arrow1--over.svg") no-repeat;
}
.topics__arrow--prev .bx-prev {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.topics__arrow--next {
  position: absolute;
  top: 115px;
  right: -70px;
  width: 50px;
  height: 50px;
  background: url("../images/index/topics/arrow2.svg") no-repeat;
}
.topics__arrow--next:hover {
    background: url("../images/index/topics/arrow2--over.svg") no-repeat;
}
.topics__arrow--next .bx-next {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.topics__bottom__image {
  position: relative;
  height: 720px;
  background: url("../images/index/topics/bottom-image1.jpg") center center/cover;
}
.topics__bottom__anim {
  position: absolute;
  bottom: -55px;
  left: calc(50% - 560px);
}

@media only screen and (max-width: 768px) {
      .topics__area .contents-wrap {
        width: 100%;
        padding: 40px 0 32px 0;
	}
	.topics__title {
      top: -11px;
      left: calc(50% - 41px);
	}
	.topics__title h1 {
        margin: 0 0 3px 0;
        font-size: 1.538rem;
	}
	.topics__kaz--l {
      top: -15px;
	}
	.topics__kaz--r {
      top: -15px;
	}
	.topics__list,
	.topics__list ul{
		display: block;
		margin-top: -20px;
	}
	.topics__list ul li {
		width: 90%;
		margin: 20px auto 0;
	}
	.topics__list ul li img {
		
	}
	.topics__list .bx-default-pager {
      bottom: -20px;
	}
	.topics__list .bx-pager-link {
      width: 10px !important;
      height: 10px !important;
      margin: 0 5px;
	}
	.topics__bottom__image {
      height: 360px;
      background: url("../images/index/topics/bottom-image1--sp.jpg") center center/cover;
	}
	.topics__bottom__anim {
      bottom: -31px;
      left: 17px;
      width: 94px;
      height: 63px;
	}
	
	
}


/*----------------------------------------------------------
 *      プラン
 *---------------------------------------------------------- */
.plan__area {
	padding: 52px 0 0 0;
}
.plan__area .contents-wrap {
    width: 100%;
}
  .plan__area .title {
    margin: 0 0 50px 0;
    height: 105px;
    background: url("../images/index/plan/title-bar.png") no-repeat center bottom/20px 1px;
    text-align: center;
}
.plan__area .en {
    font-family: "Montserrat", sans-serif;
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.125rem;
}
.plan__area h1 {
    margin: 9px 0 0 0;
    font-weight: bold;
    letter-spacing: 0.05rem;
}
.plan__area .description {
    margin: 0 0 52px 0;
    line-height: 1.7;
    text-align: center;
}
.plan__area .plan__list__wrap {
    background: #eff2f1;
    padding: 80px 50px 60px;
}
.plan__area .plan__list {
    display: flex;
    flex-wrap: wrap;
	justify-content:space-between;
	margin-bottom: 70px;
}
.plan__area .plan__list__wrap .plan__price__wrap{
	display: block;
	width: 450px;
	height: 115px;
	color:#fff;
	background: #78ca9a;
	border-radius: 30px;
	margin: 0 auto 175px;
}
.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice {
	background-image: url(../../plan/images/detail/camera_w.svg);
	background-repeat: no-repeat;
	background-size: 15%;
	background-position: left 35px top 33px;
	padding: 3% 0 5% 32%;
}
.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .price {
	font-size: 24px;
	font-weight: 500;
}
.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .price .num {
	font-size: 2em;
	margin-left: 0.2em;
}
.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .tax {
	font-size: 1.3em;
	margin-top: 13px;
	margin-left: -8px;
}
.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .tax .num{
	font-size: 1.1em;
	margin: 0 2px 0 4px;
}
.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .tax .yen{
	font-size: 0.8em;
}
.plan__area .plan__list__wrap .plan__price__wrap .extra-price {
	color: #78ca9a;
	text-align: center;
	font-size: 1.2em;
	font-weight:bold;
	line-height: 1.5;
}
.plan__area .plan__list__wrap .plan__price__wrap .note {
	color: #999;
	font-size: 0.75em;
	margin-top: 10px;
}
.plan__price__wrap .plus {
	display: flex;
	justify-content:center;
	margin-top: 35px
}
.plan__price__wrap .plus img {
	width:40px;
}
.plan__area .plan__element {
    position: relative;
    width: calc(100%/3 - 25px);
}
.plan__area .thumb {
    width: 100%;
    border-radius: 8px;
}
  .plan__area .number {
    position: absolute;
    top: -20px;
    left: 18px;
    z-index: 2;
}
.plan__area .plan__info {
    position: absolute;
    bottom: -20px;
    right: -10px;
    color: #212121;
}
.plan__area h2 {
    display: inline-block;
    padding: 10px 15px;
    background: #fff;
    font-size: 1.1em;
}
/*.plan__area .price {
	line-height: 0.8;
    display: block;
    width: 283px;
    margin: -18px 0 0 0;
    padding: 13px 0 21px 30px;
    background: #fff;
    font-family: "Roboto Slab", serif;
    font-size: 2.5rem;
    font-weight: bold;
}
.plan__area .tsuka {
    margin: 0 0 0 1px;
    font-size: 1.75rem;
}
.plan__area .tax {
    margin: 0 0 0px -16px;
	padding-left: 0.5em;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-size: 1rem;
    font-weight: normal;
}
.plan__area .tenpo {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 10px 22px 12px 48px;
    background: url("../images/index/plan/icon1.svg") #fff no-repeat 19px 10px;
    border-radius: 20px;
    font-size: 0.812rem;
    color: #212121;
}
.plan__area .arrow {
    position: absolute;
    bottom: 18px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: url("../images/index/plan/arrow1.svg") no-repeat;
}
.plan__area .plan__empty {
    background: url("../images/index/anim/plan_02.gif") no-repeat 50% 50%;
    background-size: 228px 90px;
}*/
.plan__area .plan__bottom__image {
    position: relative;
    height: 720px;
    background: url("../images/index/plan/bottom-image1.jpg") center center/cover;
	width: 100%;
    margin: 0;
    padding: 0;
}

.plan__area .plan__bottom__anim {
    position: absolute;
    bottom: -30px;
    left: calc(50% - 560px);
}
.plan__area .plan__element a:hover h2,
.plan__area .plan__element a:hover .price,
.plan__area .plan__element a:hover .tenpo {
    background-color: #7bc99b;
    color: #fff;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.plan__area .plan__element a:hover .tenpo {
    background: url("../images/index/plan/icon1--over.svg") #7bc99b no-repeat 19px 10px;
}
.plan__area .plan__element a:hover .arrow {
    background: url("../images/index/plan/arrow1--over.svg") no-repeat;
}
.plan__element figue img {
    height: 60px;
}

.special-plan {
            margin: 50px 0;
        }
.special-plan h2 {
    font-family: trajan-pro-3, serif;
    font-weight: 700;
    font-size: 32px;
	letter-spacing: 0.1em;
	line-height: 48px;
    color: #222;
    text-align: center;
    margin-bottom: 30px;
	background-color: transparent;
}

.plans {
    display: flex;
	flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.plan-box {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
	margin-bottom: 40px;
}
.plan-box .thumb {
    width: 360px;
    border-radius: 8px;
}


.plan__area .more_wrap{
	width: 35%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.plan__area .more{
	margin-top: 30px;
}

.more_wrap .more a {
	display: block;
	width: 280px;
	padding: 26px 0;
	margin: 0 10px;
	background: #111;
	border-radius: 35px;
	text-align: center;
	color: #fff;
}
.more_wrap .more a:hover {
	background: #7bc99b;
	color: #fff;
}

@media only screen and (max-width: 768px) {
	.plan__area {
		padding: 27px 0 0 0;
	}
	.plan__area .title {
        margin: 0 0 25px 0;
        height: 56px;
	}
	.plan__area .en {
        font-size: 1.846rem;
	}
	.plan__area h1 {
        margin: 6px 0 0 0;
        font-size: 0.769rem;
	}
	.plan__area .description {
        margin: 0 30px 29px 30px;
        line-height: 1.7;
        text-align: left;
	}
	.plan__area .plan__list__wrap {
        padding: 40px 20px 30px 20px;
	}
	.plan__area .plan__list .special-plan .plans{
        display: block;
	}
	.plan__area .plan__list__wrap .plan__price__wrap .special-plan .plans {
		width: 100%;
		height: 80px;
		border-radius: 20px;
		margin: 0 auto 90px;
	}
	.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice {
		background-size: 12%;
		background-position: left 70px top 22px;
		padding: 4.5% 0 0 37%;
	}
	.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .price {
		font-size: 1.1em;
	}
	.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .tax {
		font-size: 1.6em;
		margin-left: 0.15em;
		margin-right: 0.15em;
	}
	.plan__area .plan__list__wrap .plan__price__wrap .plan__baseprice .tax {
		font-size: 1em;
		margin-top: -4px;
	}
	.plan__area .plan__list__wrap .plan__price__wrap .extra-price {
		margin-top:20px
	}
	.plan__area .plan__list__wrap .plan__price__wrap .note {
		font-size: 0.7em;
		margin-top: 5px;
	}
	.plan__price__wrap .plus{
		margin-top: 15px;
	}
	.plan__price__wrap .plus img {
		width: 22px;
	}
	.plan__area .plan__element {
        width: 100%;
		margin-bottom: 50px;
	}
	.plan__area .number {
        top: -16px;
        left: 10px;
	}
	.plan__area .plan__info {
        bottom: -10px;
	}
	.plan__area h2 {
        padding: 9px 14px 9px 9px;
        font-size: 1.076rem;
	}
	.plan__area .price {
		line-height: 0.9;
       /* width: 140px;*/
        margin: -9px 0 0 0;
        padding: 7px 0 10px 10px;
        font-size: 1.615rem;
	}
	.plan__area .tsuka {
        font-size: 1.153rem;
	}
	.plan__area .tax {
        margin: 0 0 0 -8px;
		padding-left: 0;
        font-size: 0.769rem;
	}
	.plan__area .tenpo {
        top: 10px;
        right: 10px;
        padding: 4px 8px 5px 23px;
        background: url("../images/index/plan/icon1--sp.svg") #fff no-repeat 8px 5px;
        font-size: 0.692rem;
	}
	.plan__area .arrow {
        bottom: 10px;
        right: 10px;
        width: 25px;
        height: 25px;
        background: url("../images/index/plan/arrow1--sp.svg") no-repeat;
		}
	.plan__area .plan__bottom__image {
        height: 360px;
        background: url("../images/index/plan/bottom-image1--sp.jpg") center center/cover;
	}
	.plan__area .plan__bottom__anim {
        bottom: -11px;
        left: 20px;
        width: 147px;
        height: 38px;
	}
	.plan__area .plan__element a:hover h2, .plan__area .plan__element a:hover .price, .plan__area .plan__element a:hover .tenpo {
        -moz-transition: none;
        -o-transition: none;
        -webkit-transition: none;
        transition: none;
	}
	.plan__area .plan__element a:hover .tenpo {
        background-position: 8px 5px;
        background-size: 10px 7px;
	}
	.plan__area .plan__element a:hover .arrow {
        background-size: 25px 25px;
	}
	.plan__element figue img {
		height: 45px;
	}
	.plan-box .thumb {
	width: 100%;
    border-radius: 8px;
}
	.plans {
        flex-direction: column;
        align-items: center;
    }
	.special-plan h2 {
        font-size: 24px;
		text-align: center;
		display: block;
        margin: 0 auto;
    }
	.plan__area .more{
	    margin-top: 10px;
    }
	.plan__area .plan__list{
	margin-bottom: 5px
	}
}

/*----------------------------------------------------------
 *      スタッフ
 *---------------------------------------------------------- */
.staff__area {
  padding: 34px 0 0 0; }
  @media only screen and (max-width: 768px) {
    .staff__area {
      padding: 27px 0 0 0; } }
  .staff__area .contents-wrap {
    width: 100%; }
  .staff__area .title {
    margin: 0 0 50px 0;
    height: 105px;
    background: url("../images/top__plan__title-bar.png") no-repeat center bottom/20px 1px;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .staff__area .title {
        margin: 0 0 25px 0;
        height: 56px; } }
  .staff__area .en {
    font-family: "Montserrat", sans-serif;
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.125rem; }
    @media only screen and (max-width: 768px) {
      .staff__area .en {
        font-size: 1.846rem; } }
  .staff__area h1 {
    margin: 9px 0 0 0;
    font-weight: bold;
    letter-spacing: 0.05rem; }
    @media only screen and (max-width: 768px) {
      .staff__area h1 {
        margin: 6px 0 0 0;
        font-size: 0.769rem; } }
  .staff__area .description {
    margin: 0 0 52px 0;
    line-height: 1.7;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .staff__area .description {
        margin: 0 30px 29px 30px;
        line-height: 1.7;
        text-align: left; } }
  .staff__area .staff__list__wrap {
    background: #eff2f1;
    padding: 64px 30px 60px 30px; }
    @media only screen and (max-width: 768px) {
      .staff__area .staff__list__wrap {
        padding: 30px 30px 5px 30px; } }
  .staff__area .staff__list {
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
    width: 1000px;
    margin: 0 auto; }
    @media only screen and (max-width: 768px) {
      .staff__area .staff__list {
        /*display: block;*/
        width: 100%; } }
  .staff__area .staff__element {
    position: relative;
	flex-basis: calc(95% / 4);
    margin: 0 0 50px 0;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .staff__area .staff__element {
		flex-basis: calc(100%/2);
        margin: 0 0 30px 0; } }
  .staff__area .thumb {
    width: 300px;
    height: auto;
    margin: 0 0 33px 0; }
    @media only screen and (max-width: 768px) {
      .staff__area .thumb {
        width: 200px;
        margin: 0 0 23px 0; } }

.staff_img {
	/*width: 300px;*/
	margin: 0 auto 30px;
	overflow: hidden;
}
@media only screen and (max-width: 768px) {
	.staff_img{
		width:150px;
	}
}
.staff_img img{
	width:100%;
}

.staff__area .job {
	font-family: "Montserrat", sans-serif;
    margin: -10px 0 14px 0;
	position: relative;
}
.staff__area h2 {
    font-family: "Montserrat", sans-serif;
    margin: 0 0 15px 0;
    font-size: 1.25rem;
    font-weight: bold;
}
    @media only screen and (max-width: 768px) {
      .staff__area .job {
        margin: -10px 0 9px 0;
		position:  relative
		}
		.staff__area h2 {
        margin: 0 0 10px 0;
        font-size: 1.23rem;
		}
}

.staff__element .price, .area, .inst {
    font-size: .85em;
    color: #000;
    line-height: 1.5;
}
.staff__element .price {
    display: inline-block;
    box-sizing: border-box;
    padding-top: 10px;
    border-top: 1px solid #cdcdcd;
}
.staff__element .inst{
	margin-top:10px;
}

.staff__element .inst a{
	display: inline-block;
	line-height: 1.9;
	background: #7bc99b;
	color: #fff;
	padding: 0.05em 1em;
	border: 1px #7bc99b solid;
	border-radius: 1em;
}
.staff__element .inst a:hover{
	background: #fff;
	color: #7bc99b;
}

  .staff__area .profile {
    width: 340px;
    margin: 0 auto 10px auto;
    font-size: 0.875rem;
    line-height: 1.8;
    text-align: left; }
    @media only screen and (max-width: 768px) {
      .staff__area .profile {
        width: 100%;
        font-size: 1rem;
        text-align: left;
		margin-bottom: 10px;} }
  .staff__area .staff__fujimoto__anim {
    position: absolute;
    top: 50px;
    left: calc(50% - 199px); }
    @media only screen and (max-width: 768px) {
      .staff__area .staff__fujimoto__anim {
        top: 28px;
        left: calc(50% - 130px);
        width: 231px;
        height: 161px; } }
  .staff__area .staff__shibata__anim {
    position: absolute;
    top: 65px;
    left: calc(50% - 149px); }
    @media only screen and (max-width: 768px) {
      .staff__area .staff__shibata__anim {
        top: 43px;
        left: calc(50% - 101px);
        width: 207px;
        height: 139px; } }

/*----------------------------------------------------------
 *      メッセージ
 *---------------------------------------------------------- */
.staff__bottom__image {
    position: relative;
    height: 720px;
    background: url("../images/index/staff/bottom-image1.jpg") center center/cover; }
    @media only screen and (max-width: 768px) {
      .staff__area .staff__bottom__image {
        height: 360px;
        background: url("../images/index/staff/bottom-image1--sp.jpg") center center/cover; } }


.message__area {
	background: #fff;
	padding: 0 0 60px 0;
}
.message__area .contents-wrap {
	width: 100%;
	background: #fff;
	padding: 30px 0 50px;
}
.message__area .title {
	margin: 50px 0 50px 0;
	height: 105px;
	background: url("../images/index/plan/title-bar.png") no-repeat center bottom/20px 1px;
	text-align: center;
}
.message__area .en {
	font-family: "Montserrat", sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: 0.125rem;
}
.message__area h1 {
	margin: 9px 0 0 0;
	font-weight: bold;
	letter-spacing: 0.05rem;
}
.message__area .description {
	margin: 0 0 52px 0;
	line-height: 1.7;
	text-align: center;
}
.message__area .more_wrap{
	width: 35%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
.more_wrap .more a {
	display: block;
	width: 280px;
	padding: 26px 0;
	margin: 0 10px;
	background: #111;
	border-radius: 35px;
	text-align: center;
	color: #fff;
}
.more_wrap .more a:hover {
	background: #7bc99b;
	color: #fff;
}
@media only screen and (max-width: 768px) {
	.staff__area {
		padding: 27px 0 0 0; 
	}
	.message__area {
		padding: 27px 0 15px 0; 
	}
	.message__area .title {
		margin: 0 0 25px 0;
		height: 56px;
	}
	.message__area .en {
		font-size: 1.846rem;
	}
	.message__area h1 {
		margin: 6px 0 0 0;
		font-size: 0.769rem;
	}
	.message__area .description {
		margin: 0 30px 29px 30px;
		line-height: 1.7;
		text-align: left;
	}
	.message__area .more_wrap{
		display: block;
		width: 100%;
	}
	.more_wrap .more a{
		margin-bottom:10px;
		margin: 10px auto 0;
	}
}

/*----------------------------------------------------------
 *      インスタグラム
 *---------------------------------------------------------- */
.instagram__area .contents-wrap {
  width: 100%;
  min-width: 100%; }

.instagram__list__wrap {
  position: relative; }

.instagram__list {
  height: auto;
  overflow: hidden; }
  .instagram__list ul {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #fff; }
  .instagram__list li {
    position: relative;
    flex-basis: calc(100%/4);
    width: calc(100%/4);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff; }
    @media only screen and (max-width: 768px) {
      .instagram__list li {
        width: calc(100%/4); } }
    .instagram__list li img {
      width: 100%;
      height: auto;
      vertical-align: bottom; }

.instagram__follow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 300px;
  margin: -150px 0 0 -150px;
  z-index: 2; }
  @media only screen and (max-width: 768px) {
    .instagram__follow {
      margin: -75px 0 0 -75px; } }
  .instagram__follow a {
    display: block;
    width: 300px;
    height: 300px;
    background: url("../images/index/instagram/follow.png") no-repeat;
    background-position: top 10px left 10px;
    background-size: 280px 280px;
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      .instagram__follow a {
        width: 150px;
        height: 150px;
        background: url("../images/index/instagram/follow--sp.png") no-repeat;
        background-position: top 5px left 5px;
        background-size: 140px 140px; } }
    .instagram__follow a:hover {
      background: url("../images/index/instagram/follow--over.png") no-repeat;
      background-size: 300px 300px; }
      @media only screen and (max-width: 768px) {
        .instagram__follow a:hover {
          background: url("../images/index/instagram/follow--over.png") no-repeat;
          background-size: 150px 150px; } }

@media only screen and (max-width: 768px) {
  .instagram__element__empty {
    display: none; } }

/*----------------------------------------------------------
 *      ブログ
 *---------------------------------------------------------- */
.blog__area {
  background: #eff2f1;
  padding: 56px 0 60px 0; }
  @media only screen and (max-width: 768px) {
    .blog__area {
      position: relative;
      padding: 30px 0 10px 0; } }
  .blog__area .contents-wrap {
    width: 1158px; }
    @media only screen and (max-width: 768px) {
      .blog__area .contents-wrap {
        width: 100%; } }
  .blog__area h1 {
    margin: 0 0 65px 0;
    padding: 11px 0 0 29px;
    background: url("../images/index/_blog/icon.svg") no-repeat;
    background-position-x: calc(50% - 78px);
    font-family: "Montserrat", sans-serif;
    font-size: 2.25rem;
    font-weight: bold;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      .blog__area h1 {
        margin: 0 0 29px 0;
        padding: 1px 0 0 17px;
        background: url("../images/index/_blog/icon--sp.svg") no-repeat;
        background-position-x: calc(50% - 48px);
        font-size: 1.846rem; } }
  .blog__area h2 {
    padding: 0 0 0 0;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.7; }

.blog__list {
  display: flex;
  flex-wrap: wrap;
  width: 1158px;
  margin: 0 auto 22px auto; }
  @media only screen and (max-width: 768px) {
    .blog__list {
      width: 100%;
      margin: 0 auto 6px auto;
      display: block; } }

.blog__element {
  position: relative;
  flex-basis: calc(100%/3 - 38px);
  margin: 0 18px 38px 18px; }
  @media only screen and (max-width: 768px) {
    .blog__element:last-child {
      display: none; } }

.blog__thumb {
  width: 100%;
  border-radius: 8px 8px 0 0;
  vertical-align: bottom; 
	max-height: 230px;
	object-fit: cover;}

.blog__entry__info {
  height: 184px;
  padding: 26px 30px 0 30px;
  background: #fff url("../images/top__shop__arrow1.svg") no-repeat right 20px bottom 33px;
  border-radius: 0 0 8px 8px;
  color: #212121; }
  @media only screen and (max-width: 768px) {
    .blog__entry__info {
      height: 142px;
      padding: 16px 22px 0 22px;
      background: #fff url("../images/top__shop__arrow1--sp.svg") no-repeat right 10px bottom 15px; } }

.blog__date {
  margin: 0 0 13px 0;
  font-family: "Roboto Slab", serif; }
  @media only screen and (max-width: 768px) {
    .blog__date {
      font-size: 0.92rem; } }

.blog__new {
  position: absolute;
  top: -20px;
  left: -20px; }
  @media only screen and (max-width: 768px) {
    .blog__new {
      top: -10px;
      left: -10px; } }

.blog__more a {
  display: block;
  width: 280px;
  padding: 26px 0;
  margin: 0 auto;
  background: #111;
  border-radius: 35px;
  text-align: center;
  color: #fff; }
  @media only screen and (max-width: 768px) {
    .blog__more a {
      width: 200px;
      padding: 16px 0; } }
  .blog__more a:hover {
    background: #7bc99b;
    color: #fff; }

@media only screen and (max-width: 768px) {
  .blog__more__gradation {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 240px;
    padding: 150px 0 0 0;
    background: -moz-linear-gradient(top, rgba(239, 242, 241, 0) 0%, #eff2f1 50%);
    background: -webkit-linear-gradient(top, rgba(239, 242, 241, 0) 0%, #eff2f1 50%);
    background: linear-gradient(to bottom, rgba(239, 242, 241, 0) 0%, #eff2f1 50%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00eff2f1', endColorstr='#eff2f1',GradientType=0 ); } }

.blog__element a:hover .blog__entry__info {
  background-color: #7bc99b;
  color: #fff;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }
  @media only screen and (max-width: 768px) {
    .blog__element a:hover .blog__entry__info {
      -moz-transition: none;
      -o-transition: none;
      -webkit-transition: none;
      transition: none; } }
.blog__element a:hover .blog__entry__info {
  background-image: url("../images/top__shop__arrow1--over.svg"); }
  @media only screen and (max-width: 768px) {
    .blog__element a:hover .blog__entry__info {
      background-size: 9px 5.515px; } }

/*----------------------------------------------------------
 *      ニュース
 *---------------------------------------------------------- */
.news__area {
  padding: 50px 0 60px 0; 
border-top:solid 1px #000;}
  @media only screen and (max-width: 768px) {
    .news__area {
      padding: 27px 0 28px 0; } }
  .news__area h1 {
    margin: 0 0 0 0;
    padding: 3px 0 10px 62px;
    background: url("../images/top__news__icon.svg") no-repeat 2px 0;
    font-family: "Montserrat", sans-serif;
    font-size: 1.857rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .news__area h1 {
        padding: 0 0 8px 33px;
        background: url("../images/top__news__icon--sp.svg") no-repeat 0 2px;
        background-position-x: calc(50% - 41px);
        font-size: 1.84rem;
        text-align: center; } }

.news__wrap {
	display: flex;
	flex-wrap: wrap;
	max-width: 1120px;
	margin: 0 auto;
}
  @media only screen and (max-width: 768px) {
    .news__wrap {
      display: block; } }

.news__title {
  flex-basis: 240px; }

@media only screen and (max-width: 768px) {
  .news__body {
    padding: 10px 30px 0 30px; } }

.news__date {
  margin: 7px 0 13px 0;
  font-family: "Roboto Slab", serif; }
  @media only screen and (max-width: 768px) {
    .news__date {
      margin: 7px 0 8px 0;
      font-size: 0.92rem; } }

.news__description {
  line-height: 1;
  margin-bottom: 30px; }
  @media only screen and (max-width: 768px) {
    .news__description {
      font-size: 0.92rem; } }
      
.news__description a {
    color: #222;
    } 
  .news__description a:hover {
    color: #222;
    text-decoration: underline;
    }
  .news__description a:focus {
    color: #222; 
    }