@charset "utf-8";

html,body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "YuGothic", "メイリオ", "Meiryo";
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0;
}
html{font-size: 62.5%;}

body {
	-webkit-font-smoothing: antialiased;
}
.wf-jp-min{
  font-family:  'Noto Serif JP', serif, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.wf-jp-mplus{
  font-family:  'M PLUS 2', sans-serif;font-weight: 800;
}

*{box-sizing: border-box;}
a:hover img{
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
a{
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a {color: #558dcc;}
a:hover { opacity: 0.75; text-decoration: none;}

img{
  max-width: 100%;
	vertical-align: bottom;
}
img.object-fit-img{
  object-fit: cover;
}
img[src*=’.svg’]{
width: 100%;
height: auto;
}
h1,h2,h3,h4{font-weight: bold;}
 /* PCで電話リンクなし*/
 @media (min-width: 737px) {

 a[href^="tel:"] {
     pointer-events: none;
 }
}
.sp_only {
	display: none;
}


.fl-left {float: left;}
.fl-right {float: right;}

.inner{
	max-width: 1000px;
	margin: 0 auto;
  box-sizing: border-box;
}
.inner.w1400{
	max-width: 1400px;
}
.inner.w1100{
	max-width: 1100px;
}
.inner.w900{
	max-width: 900px;
}
@media (min-width: 737px) and (max-width:1000px) {
  .inner{padding: 0 2.0rem;}
}
@media (min-width: 737px) and (max-width:900px) {
  .inner.w900{padding: 0 2.0rem;}
}
@media (min-width: 737px) and (max-width:1100px) {
  .inner.w1100{padding: 0 2.0rem;}
}
@media (min-width: 737px) and (max-width:1400px) {
  .inner.w1400{padding: 0 2.0rem;}
}

article{padding: 9.0rem 0;}

.demo-img{text-align: center;}
@media screen and (max-width:768px) {
  .demo-img img{width: 100%;}
  .inner{width: 90%;}
}

.c-white{color: #fff;}
.tac{text-align: center;}
.tac_pc{text-align: center;}

.di-fl{display: flex;flex-wrap: wrap;}
.jc-sb{justify-content: space-between;}
.jc-cn{justify-content: center;}
.jc-fs{justify-content: flex-start;}
.jc-fe{justify-content: flex-end;}

.ai-cn{align-items: center;}
.ai-fs{align-items: flex-start;}
.ai-fe{align-items: flex-end;}


.ggmap iframe{
  width: 100%;
  height: 100%;
}

.movie_item {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	}
.movie_item iframe,
.movie_item video {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


.mark_list > *{
	text-indent: -1em;
	padding-left: 1em;
}
.mark_list.dot > *:before,
.mark_list > .dot:before{
	content: "・";
}
.mark_list.circle_b > *:before,
.mark_list > .circle_b:before{
	content: "○ ";
}
.mark_list.circle_dub > *:before,
.mark_list > .circle_dub:before{
	content: "◎ ";
}
.mark_list.kome > *:before,
.mark_list > .kome:before{
	content: "※";
}

.mark_list > .nomark:before{
	display: none;
}



.bg_darkred{
  background-color: #260504;
}
.bg_paleyellow{
  background-color: #f9f8e6;
}

.icon_brown{
  color: #fff;
  background-color: #704300; 
  font-size: 1.6rem;
  padding: 0.5rem 1rem;
}

/*----------

header

---------*/
header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  position: fixed;
  top:0;
  z-index: 99;
}
.hdr_in.inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  width: 100%;
}


.siteid{width: 16%;max-width: 194px;transition: 0.2s;line-height: 0;}
.siteid img{width: 100%;}

header.fixed{
  /*background-color: rgba(255,255,255,0.65);*/
  /*box-shadow: 2px 4px 8px -1px rgba(0,0,0,0.2);*/
  position: fixed;
  top:0;
  z-index: 99;
}

.hdr_btn {
  width: 140px;
  height: 130px;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
}
.hdr_btn:hover{
  opacity: 1;
}

.hdr_btn.orange {background-color: #ff7a4d;color: #fff;border:2px solid #ff7a4d}
.hdr_btn.orange:hover {background-color: #fff;color: #ff7a4d;}

.hdr_btn.contact:before {
 content: "";
 width: 37px;
 height: 26px;
 background: url("../images/common/icon_mail.svg") no-repeat center center / contain ;
 display: block;
 margin-bottom: 1.5rem;
 transition: .3s ease-in-out;
 }
.hdr_btn.contact:hover:before {
 background-image: url("../images/common/icon_mail_orange.svg")  ;
 }
 /* ナビゲーション */
#nav-toggle{display: none;}
nav#navi{width: 85%;}
nav#navi ul{
 display: flex;
 justify-content: flex-end;
}
nav#navi ul li{
  box-sizing: border-box;
}
nav#navi ul li a{
  display: block;
  color: #000;
  font-size: 1.4rem;
  text-decoration: none;
  border:1px solid rgba(122,106,86,0);
  padding: 1.4rem 1vw;
  width: 100%;
}
nav#navi ul li a:hover{
  color: #fff;
  border-color:rgba(122,106,86,1.00);
  background-color: #253845;
  opacity: 1;
}

nav#navi ul li.navy a {
  color: #fff;
  background-color: #253845;
  border: 1px solid #253845;
  display: flex;
  align-items: center;
}
nav#navi ul li.navy a:hover {
  color: #253845;
  background-color: #fff;
}
nav#navi ul li.navy a:before {
  content: "";
  background: url("../images/common/icon_mail.svg") no-repeat center center / contain ;
  width: 20px;
  height: 15px;
  margin-right: 1rem;
  transition: .3s ease-in-out;
}
nav#navi ul li.navy a:hover:before {
  background-image: url("../images/common/icon_mail_navy.svg");
}

nav#navi ul li.navi-tel a img{
 max-width: 203px;
}
@media screen and (min-width:1101px) {
 .hdr_in.inner{padding: 0;}
  nav#navi ul li{font-size: 1.4rem;}
  nav#navi ul li a, nav#navi ul li.navy a{ padding: 1rem 1.45vw; }
}
/*----------

index

---------*/
.index-main {
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
}

.index-main-inner {
    position: relative;
    width: 1120px;
    margin: 0 auto;
}

.index-main-txtarea {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2rem;
    margin: auto;
    z-index: 2;
}
@media screen and (min-width:1121px) {
 .index-main-txtarea {
     left: 7rem;
 }
}

.index-main-ttl {
 max-width: 412px;
 margin-top: 21rem;
 margin-bottom: 11.5rem;
}


.index-main-desc {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  line-height: 2.8em;
}



.index-concept {
 padding-top: 10rem;
 padding-bottom: 23rem;
 background: url("../images/page/index/concept_bg.png") no-repeat top center / cover;
 position: relative;
}

@media screen and (min-width:1301px) {
 .index-concept {
  padding-bottom: 23rem;
  background-size: 100% ;
  background-position: bottom center ;
 }
 .index-concept:before{
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(#fff 6%, transparent 12%, transparent 100%);
  position: absolute;
  top: 0;
 }
}


.index-concept .inner{
 position: relative;
 background: url(../images/page/index/concept_bg_01.png) no-repeat top 2rem right 1rem / 210px;
}


.index-concept .ttl {
    max-width: 148px;
    margin-bottom: 13rem;
}

.index-concept_cont .ttlarea {
    width: 105px;
    margin-right: 13%;
}


.index-concept .txtarea{
 padding-top: 6rem;
 width: 100%;
 max-width: 608px;
}
.index-concept .txtarea .txt {
 font-size: 1.6rem;
 letter-spacing: 0.15em;
 line-height: 2.2;
}

@media screen and (min-width:737px) and (max-width:882px) {
 
 .index-concept {
  background-size: cover ;
}

 .index-concept_cont .ttlarea {
    margin-left: auto;
    margin-right: auto;
 }
 .index-concept_cont .txtarea {
    max-width: 90%;
 }
}


/*
.index-concept .txtarea .link {
 margin-top: 6rem;
 max-width: 160px;
}*/


.index-feature {
    padding-top:7rem;
    padding-bottom: 5rem;
}


.index-feature .ttlarea {
   margin-bottom: 7rem;
}

.index-feature .ttlarea .ttl {
    max-width: 165px;
    margin-right: 5rem;
}

.index-feature .ttlarea .desc {
    font-size: 1.4rem;
    letter-spacing: 0.2em;
    line-height: 2em;
}



.feature-list .item {
    width: 310px;
    display: flex;
    background: url("../images/page/index/feature_item_bg.png") no-repeat top center/ 242px;
    margin-right: 3.5%;
    margin-bottom: 2rem;
}
.feature-list .item:nth-child(3n){
    margin-right: 0;
}

.feature-list .item-in {
    padding: 2rem 0 4.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #006837;
}

.feature-list .item_ttl {
    font-size: 2.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2.5rem;
}
.feature-list .item_ttl:before {
    content: "";
    background: url("../images/page/index/feature_icon_leaf.svg") no-repeat top center/ contain;
    width: 58px;
    height: 40px;
    display: block;
    margin-right: 1rem;
}

.feature-list .item_point_list{
  font-size: 1.6rem;
  line-height: 1.8em;
}



.index-price {
 padding-top: 32rem;
 padding-bottom: 0;
 background: url("../images/page/index/price_bg.png") no-repeat top center / 1280px;
}

@media screen and (min-width:1281px) {
 .index-price {
  background-size: 100% ;
 }
}
.index-price .inner {
  position: relative;
  z-index: 2;
}

.index-price .inner:before {
  content: "";
  background: url("../images/page/index/about_bg_01.png") no-repeat center  center  / contain;
  width: 188px;
  height: 220px;
  position: absolute;
  right: 2rem;
  bottom: -3rem;
  z-index: -1;
  
}

.index-price .inner:after {
  content: "";
  background: url("../images/page/index/about_bg_02.png") no-repeat center  center  / contain;
  width: 175px;
  height: 278px;
  position: absolute;
  left: 2rem;
  bottom: -20rem;
  z-index: -1;
}

@media screen and (min-width:1401px) {
  .index-price .inner:before {
    right: 0rem;
  }
  
  .index-price .inner:after {
    left: 0;
  }
 }


.index-price .ttl {
  font-size: 3.6rem;
  letter-spacing: 0.2em;
  text-align: center;
  margin-bottom: 3rem;
}

.index-price .price_list {
  max-width: 805px;
  margin: 0 auto;
}
.index-price .price_list .img{
  max-width: 805px;
  margin: 0 auto 3rem;
}
.index-price .price_list .notice-list{
  color: #534741;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}



.index-about {
  background: url("../images/page/index/about_bg.png") no-repeat top  center  / cover;
  margin-top: -23rem;
  padding-top: 53rem;
  padding-bottom: 10rem;

 }

 .index-about .inner{
  background: url("../images/page/index/about_bg_txt.svg") no-repeat top  left 2% / 98%; ;
  padding-top: 8.3rem;
 }

 

.index-about-cont {
  position: relative;
  padding-top: 8.2rem;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
}


  

 @media screen and (min-width:1001px) {

  .index-about {
    background-size: 100%;
  
   }
  
  .index-about .inner{
    background-size: 1071px;
  }

  .index-about-cont {
    padding: 0;
  }
  
 }

 @media screen and (min-width:1401px) {

  .index-about .inner{
    background-position: top left 
  }

 }



.index-about-cont .txtarea{
  width: 34%;
  min-width: 340px;
  flex-shrink: 0;
  font-size: 1.8rem;
  padding-top: 5rem;
}

.index-about-cont .txtarea .ttl {
  font-size: 3rem;
  margin-bottom: 3rem;
}

.index-about-cont .txtarea .address {
  margin-bottom: 2rem;
}

.index-about-cont .imgarea{
  width: 63%;
  justify-content: flex-end;
  align-items: flex-start;
}


.index-about-cont .imgarea img{
  width: 48.41%;
}

.index-about-cont .imgarea img + img{
  margin-left: 3%;
}




.index-greeting {
  padding-top: 12rem;
  padding-bottom: 7rem;
}

.index-greeting-cont {
  justify-content: center;
}

.index-greeting-cont .imgarea {
  max-width: 434px;
  margin-bottom: 2rem;
}


.index-greeting-cont .txtarea {
  max-width: 500px;
  width: 100%;
}

.index-greeting-cont .txtarea .ttl {
  font-size: 2rem;
  margin-bottom: 5rem;
}

.index-greeting-cont .txtarea .txt {
  font-size: 1.4rem;
  line-height: 2.1em;
  margin-bottom: 6rem;
}

.index-greeting-cont .txtarea .name {
  font-size: 1.6rem;
}



@media screen and (min-width:1001px) {
  .index-greeting-cont {
    justify-content: space-between;
    align-items: center;
  }
  
  .index-greeting-cont .imgarea {
    margin-bottom: 0;
  }
  
  
 }




/* ボタン */
.linkbtn{
 background-color: #fff;
 width: 250px;
 margin: 24px auto;
}
.linkbtn
 a{
  display: block;
 box-sizing: border-box;
 color: #1c2a55;
 background-color:rgba(255,255,255,0.8);
 padding: 10px 20px;
 text-decoration: none;
 /*background-image: url(../images/common/icon-arrow.png);
  background-position: 95% center;
  background-repeat: no-repeat;*/
 background-color: transparent;
 position: relative;
 z-index: 1;
 transition: .3s;
 border: 2px solid #1c2a55;
}
.linkbtn
 a:hover{
  color: #fff;
}
.linkbtn
 a::after{
  content: '';
 position: absolute;
 right: 10px;
 top: 20px;
 width: 24px;
 height: 6px;
 background-image: url(../images/common/icon-arrow.png);
 background-position: center;
 background-repeat: no-repeat;
 background-size: auto;
 transition: .3s;
}
.linkbtn a:hover::after{
  content: '';
 right: 3px;
 background-image: url(../images/common/icon-arrow-hover.png);
}
.linkbtn
 a::before {
  content: "";
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 background-color: #1c2a55;
 transform-origin: 100% 50%;
 transform: scaleX(0);
 transition: transform ease .3s;
}
.linkbtn
 a:hover::before {
  transform-origin: 0% 50%;
 transform: scaleX(1);
}

.linkbtn.green a{
  border: 2px solid #0083a1;
}

.linkbtn.green a::before {
  background-color: #0083a1;
}


.linkbtn.red {
 width: 300px;
}
.linkbtn.red
 a{
	background: #a21a3c;
 color: #fff;
 border:1px solid #a21a3c;
 text-align: center;
 padding: 10px 0;
 font-size: 1.15rem;
 font-weight: bold;
}
.linkbtn.red
 a:hover{
  background: #fff;
 color: #a21a3c;
}

.linkbtn.red
 a:after{
  display: none;
}


.linkbtn.redlarge {
 width: 370px;
}
.linkbtn.redlarge
 a{
	background: #9E0000;
 color: #fff;
 border:1px solid #9E0000;
 text-align: center;
 padding: 20px 0;
 font-size: 1.4rem;
 font-weight: bold;
 border-radius: 6px;
}
.linkbtn.redlarge
 a:hover{
  background: #fff;
 color: #9E0000;
}

.linkbtn.redlarge
 a:before,
.linkbtn.redlarge a:after{
  display: none;
}

.linkbtn_contact{
 width: 100%;
 max-width: 204px;
}
.linkbtn_contact a {
  font-size: 1.4rem;
 color: #fff;
 text-decoration: none;
 padding: 1rem;
 background-color: #ff7a4d;
 border: 2px solid #ff7a4d;
 display: flex;
 justify-content: center;
 align-items: center;
}
.linkbtn_contact a:hover {
  color: #ff7a4d;
 background-color: #fff;
 opacity: 1;
}
.linkbtn_contact  a:before {
  content: "";
 background: url("../images/common/icon_mail.svg") no-repeat center center / contain;
 width: 20px;
 height: 15px;
 margin-right: 1rem;
 transition: .3s ease-in-out;
}
.linkbtn_contact a:hover:before {
  background-image: url("../images/common/icon_mail_orange.svg");
}


/*----------

footer

---------*/

/* side-bnr */
.side-bnr{
 position: fixed;
 right: 0;
 top:30%;
 z-index: 90;
}
.side-bnr
 ul li{
  margin-bottom: 10px;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
 letter-spacing: 0.2rem;
}
.side-bnr
 ul li a{
  display: block;
 text-decoration: none;
 background-color: #1c2a55;
 color: #fff;
 background-image: url(../images/common/icon-mail.png);
 background-position: center 10px;
 background-repeat: no-repeat;
 padding: 34px 5px 10px;
}
@media all and (
 -ms-high-contrast:none) {
	.side-bnr ul li a{
		height: 172px;
	}
}
.side-bnr
 ul li a:hover{
  background-color:#0083a1;
}

/* page-top */
#page-top {
 position: fixed;
 bottom: 3%;
 right: 2%;
 z-index: 900;
}
#page-top a {
	background: url(../images/common/img_pagetop.png) no-repeat center center;
 text-decoration: none;
 width: 50px;
 height: 55px;
 text-align: center;
 display: block;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
}
#page-top a:hover {
	background: url(../images/common/img_pagetop_hover.png) no-repeat center center;
}
footer{
  padding-top: 6rem;
 }
 .foot-content {
  padding-top: 6rem;
  padding-bottom: 7rem;
  font-size: 1.6rem;
 }

 
 .foot-content-ttl {
  max-width: 180px;
  margin-bottom: 2rem;
 }
 
 .foot-address {
  margin-bottom: 2.5rem;
 }
 
 .foot-infoarea{
  flex-wrap: nowrap;
 }
 .foot-infoarea .foot-info {
  max-width: 275px;
  margin-bottom: 3rem;
 
 }
 .foot-infoarea .foot-tel {
  display: block;
  margin-bottom: 1rem;
 }
 .foot-infoarea .foot-time {
  margin-bottom: 2rem;
 }
 .foot-infoarea .foot-time >
  p {
     font-size: 1.4rem;
  display: inline-block;
 }
 .foot-infoarea .foot-time >
  p.mark_list span{
     display: inline-block;
 }
 
 .foot-detailarea {
  max-width: 900px;
  margin: 0 auto;
  justify-content: space-between;
 }
 @media screen and (
  max-width:1100px) {
   .foot-detailarea {
     justify-content: center;
   }
 }
 
 .foot-detail {
  max-width: 375px;
  width: 100%;
  margin-right: 2rem;
  flex-shrink: 0;
 }
 
 .foot-detail th, 
 .foot-detail td {
     font-size: 1.4rem;
  padding: 0.3rem 1rem 0.3rem;
 }
 
 
 .foot-detail th {
     font-weight: normal;
  text-align: left;
  padding-left: 0;
  width: 18%;
 }
 
 .foot-map {
  width: 100%;
  max-width: 450px;
  height: 390px;
 }
 
 .copy   p{
   text-align: center;
  font-size: 1.2rem;
  padding-top: 3rem;
  padding-bottom: 4rem;
 }
 

