@charset "UTF-8";
/*共通部分*/
.sp_nav_btn {
  position: absolute;
  right: 0;
  top: 0;
}
.sp_nav_btn a {
  color: #6a645a;
}
.sp_insta{
  position: absolute;
  right: 40px;
  top: -3px;
  color: #6a645a;
}

/**********************************************************************
	ページヘッダ - className : Header-site
***********************************************************************/
.Header-site {
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
}
.Header-site a:hover {
  text-decoration: none;
}
.Header-site h1 {
  font-size: 1.0rem;
}
@media only screen and (max-width: 767px) {
  .Header-site {
    padding-top: 10px;
  }
  .Header-site .HLogo img {
    width: 80px;
    height: auto;
  }
}
.Header-site.fixed {
  position: fixed;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 100px rgba(0, 0, 0, 0.2);
  z-index: 98;
  width: 100%;
  top: 0;
}

.HeaderContact {
  position: absolute;
  right: 0;
  top: -21px;
  display: flex;
}
.HeaderContact li {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1px;
  position : relative;
}
.HeaderContact .btn-shiryou a{
  color: white;
}
.HeaderContact .btn-shiryou:hover {
  cursor: pointer;
  opacity: .7;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
.HeaderContact li:first-child {
  border: 1px solid #97836e;
  color: #97836e;
  border-radius: 0px 0px 0px 4px;

  padding: 3px 10px;
}
.HeaderContact li:first-child div{
  font-family: "Lora", serif;
}
.HeaderContact li:first-child a:hover{
  color: #97836e;
}
.HeaderContact li:not(:first-child) {
  background: #97836e;
  font-size: 1.2rem;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
.HeaderContact li:not(:first-child) a {
  display: inline-block;
  padding: 5px 10px;
}
.Nav_wide_box a:hover{
  text-decoration: underline;
}
.HeaderContact li:last-child {
  border-radius: 0px 0px 4px 0px;
}
.HeaderContact li i {
  padding-right: 5px;
}
@media only screen and (max-width: 767px) {
  .HeaderContact.pc{
    display: none;
  }
}
.Gnav {
  position: absolute;
  bottom: 0;
  right: 0;
}
.Gnav li {
  font-family: 游明朝, "Yu Mincho", YuMincho, Georgia, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  display: inline-block;
  margin-left: 2rem;
}
.Gnav li a {
  color: #2f2f2f;
  position: relative;
  display: inline-block;
  transition: .3s;
}
.Gnav li a::after {
  position: absolute;
  bottom: -10px;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #97836e;
  transition: .3s;
}
.Gnav li a:hover::after {
  width: 100%;
}
@media only screen and (max-width: 900px) {
  .Gnav li {
    font-size: 1.2rem;
    margin-left: 1.5rem;
  }
}


.Nav_wide .Nav_wide_box {
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  z-index: 1;
  position: absolute;
  left: 0;
  box-sizing: border-box;
  width: 14vw;
  padding: 20px 2%;
  background: #fff;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
}

.Nav_wide:hover .Nav_wide_box {
  top: 100%;
  visibility: visible;
  opacity: 1;
}
.Nav_wide .color-white:hover{
  color: white;
}
.Nav_wide_box{
  font-size : 1.4rem;
}

/**********************************************************************
	SP - className :
***********************************************************************/
.GnavSp {
  overflow: hidden;
  padding-top: 40px;
}
.GnavSp li {
  float: left;
  width: 50%;
  text-align: center;
  border-bottom: 1px solid rgba(106, 100, 90, 0.2);
}
.GnavSp li:nth-of-type(odd) {
  border-right: 1px solid rgba(106, 100, 90, 0.2);
}
.GnavSp li:nth-of-type(-n+2) {
  border-top: 1px solid rgba(106, 100, 90, 0.2);
}
.GnavSp li a {
  display: block;
  padding: 20px 5px;
  font-family: "Lora", serif;
  font-size: 1.4rem;
}

.Sp-nav .HeaderContact {
  position: static;
  padding: 20px;
  display: block;
}
.Sp-nav .HeaderContact li {
  display: block;
  margin-bottom: 10px;
  text-align: center;
  border-radius: 4px;
}
.Sp-nav .HeaderContact li:first-child, .Sp-nav .HeaderContact li:last-child {
  border-radius: 4px;
}
.Sp-nav .HeaderContact li a {
  padding: 10px;
  display: block;
}
.Sp-nav .close-sp_nav {
  position: absolute;
  top: 10px;
  right: 10px;
}
.Sp-nav h1 {
  padding: 10px;
}


/**********************************************************************
	ページタイトル - className : Page_title
***********************************************************************/
.Page_title {
  margin-bottom: 40px;
  background: url(../../images/atelier/bg_ttl.jpg) center center no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}
.Page_title .ttl_02 {
  text-transform: uppercase;
}

/**********************************************************************
	ページタイトル - className : Page_title
***********************************************************************/
.Sp-nav {
  opacity: 0;
  height: 0;
}

/**********************************************************************
	ページフッタ - className : Footer-site
***********************************************************************/
.Footer-site {
  padding-top: 0;
  padding-bottom: 40px;
  background-image: linear-gradient(#f3f2f1 25.32%, #2f2f2f 25.32%, #2f2f2f);
}
.Footer-site a {
  color: #ffffff;
}

.FooterTxt {
  background: #f3f2f1;
  font-size: 1.2rem;
  padding: 50px 20px;
}
@media only screen and (max-width: 767px) {
  .FooterTxt {
    font-size: 1.0rem;
    padding: 10px;
  }
}

.GFooter {
  color: #ffffff;
  font-size: 1.2rem;
  padding: 60px 0;
  margin: 0  -10px 10px;
  background: #6a645a;
  position: relative;
}
.footer_atelier{
  position : relative;
}
 .footer_atelier:after {
  content: '';
  height: 100%;
  width: 1px;
  background: rgba(255, 255, 255, 0.3);
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-55%);
}
.GFooter .GFooterDetail {
  display: table;
  width: 100%;
  margin-bottom: 5px;
}
.GFooter .GFooterDetail dt {
  display: table-cell;
  vertical-align: middle;
  width: 5em;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
.GFooter .GFooterDetail dd {
  padding-left: 1em;
}
.GFooter .FTel {
  font-size: 2.8rem;
  text-align: center;
  margin-top: 30px;
}
.GFooter .FTel i {
  font-size: 2.8rem;
  margin-right: 10px;
}
@media only screen and (max-width: 767px) {
  .GFooter {
    margin-bottom: 30px;
    padding-right : 10px;
    padding-left : 10px;
  }
  .footer_atelier::after {
    background: none;
  }
}


.FSns li {
  display: inline-block;
  margin: 0 5px;
}
.FSns i {
  font-size: 3.6rem;
}
.FSns a:hover {
  opacity: .7;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

.FLink {
  font-size: 1.2rem;
}
.FLink .FLinkList {
  font-family: "Lora", serif;
}
.FLink .FLinkList a {
  display: block;
  padding: 5px;
}
.FLink .FLinkList li {
  float: left;
  width: auto;
  margin-right: 2em;
}
.FLink .FLinkList li:nth-of-type(5), .FLink .FLinkList li:nth-of-type(9), .FLink .FLinkList li:nth-of-type(13) {
  clear: left;
}
.FLink .FCopy {
  font-size: 1.0rem;
  color: #ffffff;
  font-family: "Lora", serif;
}
@media only screen and (max-width: 767px) {
  .FSns {
    text-align: center;
  }
  .FLink .FLinkList a {
    padding: 10px;
  }
  .FLink .FLinkList li {
    width: 50%;
    margin-right: 0;
  }
  .FLink .FLinkList li:nth-of-type(odd) {
    clear: left;
    position: relative;
  }
  .FLink .FLinkList li:nth-of-type(odd):after {
    content: '|';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .FLink .FCopy {
    text-align : center;
  }
}

/**********************************************************************
	ページトップ - className : Pagetop
***********************************************************************/
.Pagetop {
  cursor: pointer;
  position: fixed;
  bottom: 50px;
  right: 50px;
  width: 40px;
  height: 40px;
  z-index: 2;
}
.Pagetop.fixed {
  position: absolute;
  top: -40px;
}
@media only screen and (max-width: 767px) {
  .Pagetop {
    right: 10px;
    bottom: 10px;
  }
}

/**********************************************************************
	共通
***********************************************************************/
.OverCnt {
  margin-bottom: 80px;
}
.OverCnt .ImgOver {
  position: relative;
  right: 0;
  z-index: 1;
}
.OverCnt .TxtOver {
  position: absolute;
  z-index: 2;
}
.OverCnt .About_s {
  position: absolute;
  bottom: -100px;
  right: 40px;
}
.OverCnt .About_sr {
  position: absolute;
  bottom: -100px;
  left: 40px;
}
@media only screen and (max-width: 767px) {
  .OverCnt .TxtOver {
    position: relative;
  }
  .OverCnt .About_s, .OverCnt .About_sr {
    right: 10px;
    bottom: -10px;
    left: auto;
    height: 100px;
    width: auto;
  }
}

.InfoList {
  border-bottom: 1px solid rgba(106, 100, 90, 0.2);
  display: table;
  width: 100%;
  padding: 10px;
}
.InfoList:first-child {
  border-top: 1px solid rgba(106, 100, 90, 0.2);
}
.InfoList > * {
  float: left;
}
.InfoList .InfoDate {
  width: 6em;
}
.InfoList .InfoTag {
  width: 7em;
}
.InfoList .InfoTitle {
  width: calc(100% - 6em - 8em);
}
@media only screen and (max-width: 767px) {
  .InfoList .InfoTitle {
    clear: both;
    width: 100%;
    margin-top: 5px;
  }
}

.Breadcrumb {
  font-size: 1.2rem;
  color: #6a645a;
  padding-top: 10px;
  padding-bottom: 10px;
}
.Breadcrumb a {
  text-decoration: underline;
  color: #6a645a;
}
.Breadcrumb a:hover {
  text-decoration: none;
}
.Breadcrumb .cd-breadcrumb {
  padding: 0;
}
.Breadcrumb .cd-breadcrumb li > * {
  font-size: 1.2rem;
}

.cd-breadcrumb {
  font-size: 1.4rem;
  background: #ffffff;
}
.cd-breadcrumb.triangle a {
  display: block;
}
.cd-breadcrumb.triangle a:hover {
  background: #6a645a;
  border: #6a645a;
  color: #ffffff;
  text-decoration: none;
}
.cd-breadcrumb.triangle li::after {
  border-left-color: #f3f2f1;
}
.cd-breadcrumb.triangle li > * {
  background: #ffffff;
  border: #ffffff;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .cd-breadcrumb.triangle {
    background: #ffffff;
  }
  .cd-breadcrumb.triangle a {
    display: inline-block;
  }
}

.PriceList {
  text-align: center;
  overflow: hidden;
  margin-bottom: 60px;
}
.PriceList li {
  position: relative;
  display: inline-block;
  font-weight: bold;

}
.PriceList li:not(:last-child) {
  padding-right: 40px;
}
.PriceList li:not(:last-child)::after {
  content: '';
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.PriceList li.equal::after {
  content: '='!important;
  font-weight: bold;
  font-family: 'Lora';
  font-size: 2.5rem;
}
.PriceList .center_box {
  background: #f3f2f1;
  border-radius: 10px;
  width: 160px;
  height: 160px;
}

.PriceList2 {
  align-items: stretch;
}
.PriceList2 li{
  position : relative;
}
.PriceList2 li .m-btn:hover{
  opacity: 1!important;
  cursor: auto!important;
}
.PriceList2 li:first-child::after {
  content: '';
  font-family: FontAwesome;
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%) ;
}
.PriceList2 .bg-color-base-font{
  border-radius: 10px 10px 0 0 ;
}
.PriceList2 + p{
  position : relative;
}
.PriceList2 + p::before {
  content: '=' !important;
  font-weight: bold;
  font-family: 'Lora';
  font-size: 2.5rem;
  position: absolute;
  left: 50%;
  transform: rotate(90deg) translateY(20%);
  top: -40px;
}
@media only screen and (max-width: 767px) {
  .PriceList {
    margin-bottom: 30px;
  }
  .PriceList .center_box {
    width: auto;
    height: auto;
    padding: 10px;
  }
  .PriceList2 li:first-child::after {
    bottom: -30px;
    top: auto;
    vertical-align: bottom;
    right: 50%;
    transform: translateY(0);
  }
}

.SliderWrap {
  position: relative;
  margin-bottom: 80px;
}
.SliderWrap .Slider {
  margin-bottom: 10px;
}
.SliderWrap .Slider_arrows {
  position: absolute;
  z-index: 90;
  top: 50%;
  width: 100%;
}
.SliderWrap .slick-prev, .SliderWrap .slick-next {
  width: 14px;
  /* 画像幅 */
  height: 24px;
  /* 画像高さ */
}
.SliderWrap .slick-prev:before, .SliderWrap .slick-next:before {
  content: "";
  color: #6a645a;
}
.SliderWrap button.slick-prev, .SliderWrap button.slick-next {
  z-index: 999;
}
.SliderWrap .slick-prev {
  left: -50px;
}
.SliderWrap .slick-next {
  right: -50px;
}
@media only screen and (max-width: 1299px) {
  .SliderWrap .slick-prev {
    left: 10px;
  }
  .SliderWrap .slick-next {
    right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .SliderWrap {
    margin-bottom: 40px;
  }
  .SliderWrap .Slider_arrows {
    top: 0;
  }
  .SliderWrap .slick-prev, .SliderWrap .slick-next {
    top: 0;
    padding-top: 75%;
  }
}

.CntBox {
  margin-bottom: 60px;
}

.PageNavi .wp-pagenavi {
  text-align: center;
}
.PageNavi .wp-pagenavi a, .PageNavi .wp-pagenavi span {
  border: 1px solid rgba(106, 100, 90, 0.2);
  border-radius: 5px;
  padding: 10px 12px;
}
.PageNavi .wp-pagenavi a:hover, .PageNavi .wp-pagenavi span.current {
  background: #97836e;
  color: #ffffff;
  border-color: #97836e !important;
}
.PageNavi .wp-pagenavi .pages {
  display: none;
}
.topics-slide{
  opacity: 0;
  transition: opacity .3s linear;
}
.topics-slide li{
  max-width: 800px;
  margin : 0 10px;
}

.topics-slide.slick-initialized{
  opacity: 1;
}


.flex-style .flex-style-list{
  flex-basis: 47%;
}
.flex-style .flex-style-list a ,.flex-style2 a{
  display: flex;
  width : 100%;
  align-items: center;
  font-weight : bold;
  font-size : 1.6rem;
  padding : 20px;
  text-align: left;
}
.flex-style.flex-style2 a{
  flex-basis: calc(50% - 20px);
}
.flex-style.flex-style2 a:nth-of-type(1),.flex-style.flex-style2 a:nth-of-type(2){
  margin-bottom : 20px;
}
.flex-style-list .ttl_07{
  padding-top : 0;
  padding-bottom : 0;
  margin-bottom : 5px;
}
@media only screen and (max-width: 767px) {
  .flex-style .flex-style-list {
    flex-basis: 100%;
    width : 100%;
  }
  .flex-style .flex-style-list{
    margin-bottom : 20px;
  }
  .flex-style.flex-style2 a{
    flex-basis: calc(50% - 10px);
    font-size : 1.2rem;
    margin-bottom : 0;
    padding: 10px;
  }
  .flex-style.flex-style2 img{
    width : 100%;
    height : auto;
    margin-bottom : 10px;
  }
  .flex-style.flex-style2 .m-btn.btn-arrow:after{
    top: auto;
    bottom: 10px;
    right : 5px;
  }
}