/*以下共通部分*/

*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  font-size: 16px;
  font-family:'メイリオ', 'Meiryo', sans-serif;
  text-decoration: none;
  color:#4D4D4D;
  min-height:0;
  min-width : 0;
}

*:focus {
   outline: none
  }

a{
  color:#ffffff;
  transition-duration: 0.7s;
}

a:hover{
  opacity: 0.5;
}

header{
  width:100%;
  height:55px;
  /*box-shadow: 0px 0px 0px 5px rgba(0, 0, 0, 0.41);*/
  /*box-shadow: 0px -25px 25px -20px rgba(255,255,255,0.41)inset;*/
  position: fixed;
  z-index:10;
	background: #000;
}

.header-container{
  width:1000px;
  margin: 0 auto;
  padding:0 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-container .header-logo{
 padding-top: 10px;
}

.header-container ul.header-menu{
  display: flex;
}

.header-container ul.header-menu li{
  margin-left: 120px;
}

.header-container ul.header-menu li a{
  font-size: 14px;
  font-weight: normal;
  line-height:16px;
}

#topicpath{
  color:#ffffff;
  font-size: 14px;
  line-height:16px;
  margin-bottom: 30px;
}

#topicpath span{
  color:#ffffff;
}

footer{/*フッターの文字色はページによって変わる*/
  font-size: 10px;
  line-height: 12px;
  text-align: center;
  font-weight: normal;
  padding:40px 0;
}

/* ページトップ・ページボトムに戻るボタン */
.pagetop a {
	width: 60px;
	height: 60px;
	background: #505050;
	display: inline-block;
	text-align: center;
	padding-top: 6px;
	border-radius: 90px;
	color: #fff;
	opacity: 0.6;
}
.pagetop a:hover {
    opacity: 1;
}

.pagetop {
    position: fixed;
    bottom: 90px;
    right: 20px;
}
.pagetop a .fas.fa-chevron-up {
	color: #fff;
	font-size: 40px;
}
.pagebottom a {
	width: 60px;
	height: 60px;
	background: #505050;
	display: inline-block;
	text-align: center;
	padding-top: 13px;
	border-radius: 90px;
	color: #fff;
	opacity: 0.6;
}
.pagebottom a:hover {
    opacity: 1;
}

.pagebottom {
    position: fixed;
    bottom: 20px;
    right: 20px;
}
.pagebottom a .fa-chevron-down {
	color: #fff;
	font-size: 40px;
}

/*以上共通部分*/

/*以下トップページ*/

main{
  background-position: center;
  background-size: cover;
  background-image: url("../img/top-bg.png");
}

.top-page .section1{
  background-position: center;
  background-size: cover;
  background-image: url("../img/top-img.png");
}

.top-page .section1-container{
  width:1000px;
  margin:auto;
  height:560px;
  position: relative;
}

.top-page .section1-container .top-logo{
  position: absolute;
  top:125px;
  left:60px;
}

.top-page .section1-container .catch-copy{
  position: absolute;
  top:330px;
  left:60px;
}

.top-page .section1-container .catch-copy p{
  color:#ffffff;
  font-size: 20px;
  font-weight: normal;
  line-height:30px;
}

.section2{
  height:340px;
  position: relative;
}

.section2 .top-slider-area{
  height:340px;
  position: absolute;
  top:-90px;
  right:0;
  left:0;
  margin:auto;
}

.section2 .top-slider-area ul#top-slider{
  width:1200px;
  margin:auto;
  height:340px;
  display: flex;
  justify-content: space-between;
}

.section2 .top-slider-area ul#top-slider .slick-list{
  width:1200px;
  padding:0;

}

.section2 .top-slider-area ul#top-slider li.slick-slide{
  width:156px!important;
  height:340px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.section2 .top-slider-area ul#top-slider li a{
  width:156px;
  height:156px;
}

.section2 .top-slider-area ul#top-slider li{
  margin-left: 26px;
}

.section2 .top-slider-area ul#top-slider li a{
  opacity:0.7;
}

.section2 .top-slider-area ul#top-slider li a:hover{
  opacity:1;
}

.section2 .top-slider-area ul#top-slider li a img{
  width:156px;
  max-width:156px;
  height:156px;
  object-position: center;
}

.section2 .top-slider-area ul#top-slider img.slick-arrow{
  width:50px;
  height:50px;
  object-position: center;
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
  cursor: pointer;
}

.section2 .top-slider-area ul#top-slider img.prev-arrow{
  left:80px;
  z-index:3;
}

.section2 .top-slider-area ul#top-slider img.next-arrow{
  right:80px;
  z-index:3;
}

.section3 ul.sns-list{
  width:1000px;
  margin:auto;
  display: flex;
  justify-content: space-between;
}

.section3 ul.sns-list li a{
  display: block;
  width:240px;
  height:57px;
  text-align: center;
  font-weight: normal;
  line-height:28px;
  background:#ffffff;
  color:#4D4D4D;
  padding-top: 16px;
}

.section4{
  padding-top: 90px;
}

.section4 h2{
  text-align: center;
  margin-bottom: 48px;
}

.section4 ul.news-list{
  width:600px;
  margin:auto;
}

.section4 ul.news-list li{
  display: flex;
  padding:10px 40px;
  border-bottom:1px solid #ffffff;
}

.section4 ul.news-list li:nth-of-type(1){
  border-top:1px solid #ffffff;
}

.section4 ul.news-list li span{
  font-size: 14px;
  font-weight: normal;
  line-height:21px;
  color:#ffffff;
}

.section4 ul.news-list li span.news-text{
  margin-left: 30px;
}

.section5{
  padding-top: 90px;
  padding-bottom: 280px;
}

.section5 h2{
  text-align: center;
  margin-bottom: 48px;
}

.calendar_box {
	margin-bottom: 77px;
}

#calendar {
	width: 546px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

#calendar img.calendar-arrow{
  position: absolute;
  top:0px;
  cursor: pointer;
  width:15px;
  height:25px;
}

#calendar img.prev-calendar{
  left:30px;
  z-index:1;
}

#calendar img.next-calendar{
  right:30px;
  z-index:1;
}

.yymm {
	color: #ffffff;
	font-size: 30px;
	font-weight: bold;
	line-height: 29px;
	margin-bottom: 20px;
	margin-right: 91px;
	text-align: center;
}

.yy {
	color: #E5E5E5;
	font-size: 20px;
	font-weight: normal;
	line-height: 24px;
	margin-right: 37px;
}

.calendar dd {
	float: left;
	font-weight: bold;
	text-align: center;
	width: 66px;
	margin: 5px;
}

.calendar dd:nth-child(7n+1) {
	clear: both;
}

.calendar_header dd {
	color: #E5E5E5;
	font-size: 24px;
	font-weight: normal;
	line-height: 29px;
	margin-bottom: 1px;
	width: 66px;
}

.calendar_days dd {
	border: 1px solid #CCCCCC;
	color: #c7c7c7;
	height: 66px;
	position: relative;
}

.calendar_days dd:nth-child(1),
.calendar_days dd:nth-child(2),
.calendar_days dd:nth-child(3),
.calendar_days dd:nth-child(4),
.calendar_days dd:nth-child(5),
.calendar_days dd:nth-child(6),
.calendar_days dd:nth-child(7) {
	margin-top: 2px;
}

.calendar_days dd.ok {
	background-color: #E5E5E5;
	border-color: #e5e5e5;
	font-size: 46px;
  color:#46290D;
}

.calendar_days dd.ok:hover {
	cursor: pointer;
}

.calendar_days .job_num {
	bottom: -10px;
	color: #000;
	font-size: 25px;
	left: 50%;
	margin-left: -1em;
	position: absolute;
  display: none;
}

.calendar_days dd.ok.ng {
	background: #ffedd5;
}

.balloon{
  width:330px;
  background:rgba(70,41,13,0.8);
}

.balloon-container{
  padding:20px 40px;
  position: relative;
}



.balloon span.balloon-close-button{
  position: absolute;
  top:10px;
  right:10px;
  cursor:pointer;
  color:#ffffff;
  font-size: 20px;
  z-index:5;
}

.balloon p,
.balloon p span{
  color:#ffffff;
  font-weight: bold;
}

.balloon p{
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.balloon p.day-data{
  font-size: 20px;
  text-align: center;
  line-height:35px;
  display: block;
}

.balloon p span.time{
  font-size: 18px;
  text-align: center;
  line-height:31px;
}

.balloon p span.reserve-button{
  text-align: center;
  width:65px;
  font-weight: normal;
  margin-left: 30px;
}

.balloon p span.reserve-button a {
  width:65px;
  text-align: center;
  font-size: 16px;
  color:#000000;
  line-height:28px;
  background:#ffffff;
  border:1px solid #000000;
  border-radius: 6px;
  cursor: pointer;
  transition-duration: 0.7s;
	  display: inline-block;
}

.balloon p span.reserve-button input:hover{
  opacity:0.5;
}

.section6{
  position: relative;

}

.section6 img.pic-img{
  width:100%;
  max-width:100%;
  height:58vw;
}

.section6 h2{
  text-align: center;
  margin-bottom: 40px;
}

.section6 .read-frame{
  position: absolute;
  width:1000px;
  top:-210px;
  left:0;
  right:0;
  margin:auto;
  background: rgba(255, 255, 255, 0.8);
  padding:40px 100px 50px;
}

.section6 .read-frame p{
  color:#030301;
  line-height:23px;
  margin-bottom: 24px;
}

.section6 .info-frame{
  position: absolute;
  width:600px;
  bottom:-240px;
  left:0;
  right:0;
  margin:auto;
  background: rgba(255, 255, 255, 0.8);
  padding:40px 60px;
}

.section6 .info-frame p{
  line-height:28px;
  margin-bottom: 32px;
  font-weight: normal;
}

.section6 .info-frame span.bold{
  font-weight: bold;
}

.section7{
  height:280px;
}

main.top-page footer{
  color:#1F2A63;
}

#jobList {
	display: none;
}
/*以上トップページ*/

/*以下会社概要*/

main.info-page{
  background-position: top;
  background-size: cover;
  background-image: url("../img/top-bg.png");
  padding-bottom: 100px;
}

.info-section{
  padding-top: 80px;
  width:750px;
  margin:auto;
}

.info-section h2{
  text-align: center;
  margin-bottom: 88px;
}

.info-section .info-text-block{
  width:750px;
  margin:auto;
  padding:40px 90px 16px;
  background:rgba(255, 255, 255, 0.15);
}

.info-section .info-text-block p{
  color:#ffffff;
  line-height:28px;
  font-weight: normal;
  margin-bottom: 32px;
}

main.info-page footer{
  color:#ffffff;
}

main {
	min-height: 100vh;
}

/*以上会社概要*/


/*以下お問い合わせページ*/
main.contact-page{
  background-position: top;
  background-size: cover;
  background-image: url("../img/top-bg.png");
  padding-bottom: 100px;
}

.contact-section{
  padding-top: 80px;
  width:932px;
  margin:auto;
}

.contact-section h2{
  text-align: center;
  margin-bottom: 72px;
}

.contact{
  width:932px;
  margin:auto;
  background:rgba(255, 255, 255, 0.75);
  padding:50px 170px 130px 90px;
  position: relative;
}

.contact p.must-text{
  text-align: right;
  color:#000000;
  line-height:30px;
  position: relative;
  margin-bottom: 30px;
}

.contact span.must-red{
  color:#FF0000;
}

.contact p.must-text span.must-red{
  position: absolute;
  right:80px;
  top:2px;
}

.contact form dl.form-line{
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}

.contact form dl.form-line dt{
  width:130px;
  text-align: right;
  position: relative;
}

.contact form dl.form-line dt span.must-red{
  position: absolute;
}

.contact form dl.form-line dd{
  margin-left: 40px;
  width:510px;
  word-wrap: break-word;
}

.contact form dl.form-line dd input,
.contact form dl.form-line dd textarea{
  max-width:100%;
}

.contact form dl.form-line dd input.input1{
  width:100%;
}

.contact form dl.form-line dd input.input2{
  width:260px;
}

.contact form dl.form-line dd textarea{
  width:100%;
}

.contact .check-button{
  display: block;
  width:230px;
  height:48px;
  cursor:pointer;
  position: absolute;
  bottom:58px;
  left:0;
  right:0;
  margin:auto;
  border:none;
  background:none;
  background-position: center;
  background-image: url("../img/check-button.png");
  transition-duration: 0.7s;
  opacity:0.8;
  text-indent: -9999px;
}

.contact.contact-check  .check-button{
  background-image: url("../img/send-button.png");
}

.contact .check-button:hover{
  opacity:1;
}

.contact .reset{
  border:none;
  background:none;
  cursor:pointer;
  color:#000000;
  line-height:30px;
  border-bottom: 1px solid #000000;
  padding:0 20px;
  position: absolute;
  right:70px;
  bottom:58px;
}

main.contact-page footer{
  color:#ffffff;
}
/*以上お問い合わせページ*/


/*以下予約ページ*/
main.reserve-page{
  background-position: top;
  background-size: cover;
  background-image: url("../img/top-bg.png");
  padding-bottom: 100px;
}

.reserve-section{
  padding-top: 80px;
  width:932px;
  margin:auto;
}

.reserve-section h2{
  text-align: center;
  margin-bottom: 72px;
}

.reserve{
  width:932px;
  margin:auto;
  background:rgba(255, 255, 255, 0.75);
  padding:20px 80px 110px 32px;
  position: relative;
}

.reserve p.must-text{
  text-align: right;
  color:#000000;
  line-height:30px;
  position: relative;
  margin-bottom: 30px;
}

.reserve span.must-red{
  color:#FF0000;
}

.reserve p.must-text span.must-red{
  position: absolute;
  right:80px;
  top:2px;
}

.reserve .reserve-flex{
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
}

.reserve .line1{
  display: flex;
  align-items: center;
  justify-content:flex-start;
  margin-bottom: 16px;
}

.reserve .line1 .line1-flex{
  display: flex;
  align-items:center;
}

.reserve dt{
  text-align: right;
  font-size: 18px;
  font-weight: bold;
  line-height:30px;
  color:#000000;
  width:255px;
}

.reserve .line1 span.day,
.reserve .line1 span.time{
  font-size: 18px;
  font-weight: bold;
  line-height:30px;
  color:#000000;
}

.reserve .line1 span.day{
  margin-left: 56px;
}

.reserve .line1 span.time{
  margin-left: 30px;
}

.reserve .line1 a.link-button{
  margin-left: 30px;
}

.reserve .reserve-flex dd{
  width:510px;
  word-wrap: break-word;
}

.reserve .reserve-flex dd input.input1{
  width:100%;
}

.reserve .reserve-flex  input.input2{
  width:260px;
}

.reserve .reserve-flex  select{
  width:260px;
  padding-left: 30px;
  font-size: 16px;
  font-weight: normal;
  line-height:30px;
  color:#000000;
  background:#ffffff;
  -webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  appearance: none; /* 標準のスタイルを無効にする */
  cursor: pointer;
}

.reserve .reserve-flex .select-dd{
  position: relative;
}

.reserve .reserve-flex .select-dd:after{
    content: "";
    width: 0;
    height: 0;
    display: block;
    border-top: solid 0.5rem #B2B2B2;
    border-right: solid .6rem transparent;
    border-left: solid .6rem transparent;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left:220px;
    cursor:pointer;
}
.reserve .reserve-flex2{
  display: flex;
  justify-content:flex-start;
  margin-bottom: 16px;
  padding-left:230px;
}

.reserve .reserve-flex2 dt{
  text-align: left;
  width:90px;
}

.reserve .reserve-flex2 dd input.input3{
  width:65px;
}

.reserve .reserve-flex2 dd.num-input{
  margin-left: 24px;
}

.reserve .reserve-flex2 dd.num{
  margin-left: 16px;
}

.reserve .reserve-flex2 dd.kind{
  margin-left: 32px;
}

.reserve .reserve-flex2 dd.kind input.input4{
  width:200px;
  margin-left: 12px;
}

.reserve .reserve-flex  textarea{
  width:100%;
  max-width:100%;
}

.reserve .check-button{
  display: block;
  width:230px;
  height:48px;
  cursor:pointer;
  position: absolute;
  bottom:58px;
  left:0;
  right:0;
  margin:auto;
  border:none;
  background:none;
  background-position: center;
  background-image: url("../img/check-button.png");
  transition-duration: 0.7s;
  opacity:0.8;
  text-indent: -9999px;
}

.reserve.reserve-check .reserve-flex .select-dd:after{
  content:none;
}

.reserve.reserve-check .check-button{
  background-image: url("../img/reserve-button.png");
}

.reserve.reserve-check .line1 a{
  display: none;
}

.reserve .check-button:hover{
  opacity:1;
}

.reserve .reset{
  border:none;
  background:none;
  cursor:pointer;
  color:#000000;
  line-height:30px;
  border-bottom: 1px solid #000000;
  padding:0 20px;
  position: absolute;
  right:70px;
  bottom:58px;
}

main.reserve-page footer{
  color:#ffffff;
}

/*以上予約ページ*/

/*以下商品個別ページ*/

main.single-item-page{
  background-position: top;
  background-size: cover;
  background-image: url("../img/top-bg.png");
  padding-bottom: 100px;
}

.single-section{
  padding-top: 80px;
  width:1000px;
  margin:auto;
}

.single-section #topicpath span:nth-child(3) {/*カテゴリーページへのリンクを消す*/
  cursor: text;
}

.single-section #topicpath span:nth-child(3) a{/*カテゴリーページへのリンクを消す*/
  pointer-events: none;
  cursor: text;
}

.single-flex{
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
}

.single-flex .single-item-left{
  width:474px;
}

.single-flex .single-item-left .item-img-main{
  text-align: center;
}

.single-flex .single-item-left .item-img-main img{
  width:474px;
  max-width:474px;
  height:474px;
  object-position: center;
}


  .wp-block-gallery.columns-3 .blocks-gallery-item {
    margin: 0;
  }


.single-flex .single-item-left ul.blocks-gallery-grid{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 16px;
}

.single-flex .single-item-left ul.blocks-gallery-grid::after{
    content:"";
    display:block;
    width: 141px;
    height:0;
  }/*ギャラリーの数が3で割り切れなくてもきれいに3カラムにするためのcss*/


.single-flex .single-item-left ul.blocks-gallery-grid li.blocks-gallery-item{
  margin-bottom: 16px;
  cursor:pointer;
  opacity:0.5;
  transition-duration: 0.7s;
  max-width:141px!important;
  width:141px!important;
  height:141px;
}

.single-flex .single-item-left ul.blocks-gallery-grid li.blocks-gallery-item figure{
  width:141px!important;
  height:141px;
}

.single-flex .single-item-left ul.blocks-gallery-grid li.active{
  opacity:1;
}/*サムネイルクリックでactiveクラスをつける様にj-queryで操作*/

.single-flex .single-item-left ul.blocks-gallery-grid li:hover{
  opacity:1;
}

.single-flex .single-item-left ul.blocks-gallery-grid li img{
  width:141px;
  height:141px;
  max-width:141px;
  object-position: center;

}

.single-flex .single-item-right{
  width:490px;
  color:#ffffff;
}

.single-flex .single-item-right h2.single-item-title{
  color:#ffffff;
  font-size: 24px;
  font-weight: bold;
  line-height:42px;
  margin-bottom: 12px;
}

.single-flex .single-item-right p.single-item-money{
  text-align: right;
  margin-bottom: 12px;
}

.single-flex .single-item-right p.single-item-money,
.single-flex .single-item-right p.single-item-money span{
  color:#ffffff;
  font-size: 24px;
  font-weight: bold;
  line-height:42px;
}

.single-flex .single-item-right p.single-item-sub-title{
  color:#ffffff;
  font-weight: bold;
  line-height:24px;
  margin-bottom: 24px;
}

.single-flex .single-item-right p.single-item-cart{
  text-align: center;
}

.single-section p.single-item-text1,
.single-section p.single-item-text2{
  color:#ffffff;
  font-weight: normal;
  line-height:28px;
}

main.single-item-page footer{
  color:#ffffff;
}

/*以上商品個別ページ*/


/*以下商品archiveページ*/
main.archive-item-page{
  background-position:top;
  background-size:cover;
  background-image: url("../img/archive-bg.png");
  padding-bottom: 100px;
}

.archive-section{
  padding-top: 80px;
}

.archive-section #topicpath{
  width:1000px;
  margin:0 auto 50px;
}

.archive-section h2{
  text-align: center;
  margin-bottom: 80px;
}

.archive-section ul.archive-category-list{
  width:1000px;
  margin:auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.archive-section ul.archive-category-list li{
  margin-bottom: 24px;
}

.archive-section ul.archive-category-list li img{
  width:305px;
  max-width:300px;
  height:122px;
  object-position: center;
  object-fit:cover;
  box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 1);
}

.archive-section .category-frame{
  width:1000px;
  height:78px;
  margin:90px auto 40px;
  position: relative;
}

.archive-section .category-frame img.category-bg{
  position: absolute;
  right:0;
  width:497px;
  height:78px;
  object-position: center;
  z-index:1;
}

.archive-section .category-frame .category-border{
  position: absolute;
  width:763px;
  height:0.5px;
  top:50%;
  background:#ffffff;
  left:0;
  z-index: 2;
}

.archive-section .category-frame h3.category-title{
  position: absolute;
  font-size: 31px;
  line-height:46px;
  position: absolute;
  top:0;
  left:30px;
  z-index:2;
  color:#ffffff;
}

.archive-section .category-frame p.category-text{
  position: absolute;
  font-size: 12px;
  line-height:18px;
  position: absolute;
  bottom:10px;
  left:30px;
  z-index:2;
  color:#ffffff;
}

.archive-section .category-frame p.category-name{
  position: absolute;
  font-size: 24px;
  line-height:37px;
  position: absolute;
  bottom:0px;
  right:360px;
  z-index:2;
  color:#ffffff;
}

.archive-section ul.item-slider{
  width:1200px;
  margin:auto;
  height:340px;
  display: flex;
  justify-content: space-between;
}

.archive-section ul.item-slider .slick-list{
  width:1200px;
  padding:0;

}

.archive-section ul.item-slider li.slick-slide{
  width:156px!important;
  height:340px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.archive-section ul.item-slider li a{
  width:156px;
  height:156px;
}

.archive-section ul.item-slider li a.empty-link{
  width:156px;
  height:156px;
  cursor:default;
  pointer-events: none;
}

.archive-section ul.item-slider li{
  margin-left: 26px;
}

.archive-section ul.item-slider li a{
  opacity:0.7;
}

.archive-section ul.item-slider li a:hover{
  opacity:1;
}

.archive-section ul.item-slider li a img{
  width:156px;
  max-width:156px;
  height:156px;
  object-position: center;
}

.archive-section ul.item-slider img.slick-arrow{
  width:50px;
  height:50px;
  object-position: center;
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
  cursor: pointer;
}

.archive-section ul.item-slider img.prev-arrow{
  left:80px;
  z-index:3;
}

.archive-section ul.item-slider img.next-arrow{
  right:80px;
  z-index:3;
}

/*以上商品archiveページ*/


@media(max-width:1200px){
  main{
    width:1200px;
  }

  .section6 img.pic-img{
    height:700px;
  }

}


@media(max-width:1000px){
  .header-container{
    width:100%;
  }
}

@media(min-width:769px){
  .sp{
    display: none;
  }
}
