@charset "utf-8";
@import url(//use.fontawesome.com/releases/v5.6.3/css/all.css);

article{
	font-family: 'Noto Serif JP', serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	line-height:2.1;
	padding:0;

  /*fadein*/
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  -webkit-text-size-adjust: 100%;
}

/* ---------------------------
アニメーション
------------------------------ */
/*スクロールでフェードイン*/
.fadeIn {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  visibility: visible !important;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
.animation {
  visibility: hidden;
}

article p{
	font-size:120%;
	line-height: 1.8em;
	letter-spacing: 0.1em;
}

@media (max-width: 768px) {
	article {
		font-size: 1.3rem;
		line-height:1.9;
	}
}

.line{
	display:flex;
	justify-content: space-around;
	flex-wrap:wrap;
}
.wrap800{
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}

.wrap700{
	max-width:700px;
	margin-left:auto;
	margin-right:auto;
}

.img100{
	width:100%;
	height: auto;
}

.mb30{
	margin-bottom:30px;
}

.mb50{
	margin-bottom:50px;
}

.mb100{
	margin-bottom:100px;
}

.mb150{
	margin-bottom:150px;
}

.pb30{
	padding-bottom:30px;
}

.pb100{
	padding-bottom:100px;
}

.pt50{
	padding-top:50px;
}
/* 　画像切り替え　 */
.pc { display: block !important; }
.sp { display: none !important; }
 
@media only screen and (max-width: 767px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
.tcy{
	-webkit-text-combine: horizontal; /* (Chrome9～47、Safari5.1以降) */
	-ms-text-combine-horizontal: all;       /* (InternetExplorer、Edge) */
	-moz-text-combine-upright: all;         /* (Firefox nightly 版) */
	text-combine-upright: all;
	font-style:normal;	
}


.comment{
	padding-top:150px;
}

.title_comment{
	color:#473838;
	font-size: 200%;
	line-height: 1.8em;
	letter-spacing: 0.2em;
	margin-right:30px;
	margin-top:-100px;
	font-weight: 100;
}

.title_comment span{
	font-size:80%;
	display: block;
	color:#B5B5B5;
	font-family: 'Josefin Sans', sans-serif;
	line-height: 1em;
	padding-top: 50px;
}

.text_comment{
	float:left;
	max-width: 460px;
}

.linkbottun{
	padding:10px;
	border:1px black solid;
	display:block;
}

.linkbottun p{
	display:block;
	margin-bottom:0;
}



/*-------------------------
   section#top
---------------------------*/

#top {
  width: 100%;
  height: 90vh;
  background-color: #464646;
  background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/topimg.jpg"); /*背景画像のアドレスを入れる*/
  background-position: top center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  position: relative;
}
#top h1 {
  position: relative;
}
#top h1.title {
  position: absolute;
  font-size: 3rem;
  color: #fff;
  font-weight: 400;
  display: flex;
  margin: 0;
  z-index: 3;
  left: 50%;	
  top: 35%;
	transform: translateX(-50%);
	font-family: 'Shippori Mincho', serif;
	letter-spacing: 0.18em;
}
#top a.scroll {
  display: inline-block;
  padding: 10px 10px 140px;
  position: absolute;
  right: 49%;
  top: 73vh;
  z-index: 2;
  transform: translateX(50%);
  overflow: hidden;
  color: #fff;
  font-size: 1.4rem;
  text-decoration: none;
  writing-mode: vertical-lr;
}
#top a.scroll::after {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  width: 1px;
  height: 220px;
  background: #fff;
}
#top a.scroll::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  width: 1px;
  height: 220px;
  background: rgba(255, 255, 255, .4);
}
#top a.scroll::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/*スマホ表示*/
@media screen and (max-width: 767px) {
  #top {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("../img/topimg_sp.jpg"); /*背景画像のアドレスを入れる*/
    background-attachment: scroll;
  }
  #top h1.title{
     font-size: 2.4rem;
	   
  }
  #top a.scroll::after {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    width: 1px;
    height: 220px;
    background: #fff;
  }
  #top a.scroll::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    width: 1px;
    height: 220px;
    background: rgba(255, 255, 255, .4);
  }
}
/* lead
-------------------------------------------*/
section#lead {
  margin-block-start: 100px;
}

#lead .txtarea{
	width: 96%;
	max-width: 760px;
	margin: 0 auto 100px;
}

#lead .txtarea .txt {
	margin-bottom: 15px;
}

/*-------------------------
   section#intro
---------------------------*/


.item_areaimage{
	width:50vw;
	margin: 0 auto;
	display: block;
}

.item2{
	margin-top:80px;
}

.label_areaimage{
	writing-mode: vertical-lr;
	background:#fff;
	padding:80px 15px;
	position:absolute;
	letter-spacing: 0.1em;
	top:-120px;
	right:20px;
	box-shadow: 0px 0px 26px hsla(0,0%,0%,0.10);
}

.label_areaimage span{
	font-size:50%;
}

.title_plan{
	font-size: 270%;
}

/*-------------------------
   section#lead
---------------------------*/

.subtitleS{
	display:block;
	font-size:80%;
	color:#959595;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 100;
}
.titleS_comment{
	letter-spacing: 0.1em;
	font-size: 150%;
	font-weight: normal;
}

.title_detail{
	font-size:169.2%;
	letter-spacing: 0.2em;
	margin-bottom:15px;
}

.number_detail{
	font-family: 'Josefin Sans', sans-serif,'Noto Serif JP', serif;
	font-weight: 100;
	font-size:120%;
	position:absolute;
	top:0;
	left:0;
	color:#959595;
	padding:5px 0 0 10px;
	background: linear-gradient(135deg, #D8D8D8, #D8D8D8 49%, #959595 49%, #959595 51%, hsla(0,0%,0%,0.00) 51%, hsla(0,0%,0%,0.00));
	width:60px;
	height:60px;
}

.point1{
	flex-direction: row-reverse;
}

/*.comment_point1_north{
	width:60%;
	background-color:#fff6eb;
	padding:50px 100px 0 100px;
	margin-left:-50px;
	margin-right:-100px;
	margin-bottom:-100px;
}*/
.comment_point1{
	width:60%;
	background-color:rgba(170, 137, 189,0.4);
	padding:50px 100px 0 100px;
	margin-left:-65px;
	margin-right:-100px;
	margin-bottom:-100px;
}
.photo_point1{
	width: 50%;
	margin:150px -50px 30px -50px;
	z-index: 3;
	
}
/*.bg_color_north {
	background-color:#fff6eb;
}
.bg_color_south {
	background-color:#ddeded
}*/

.comment_point2{
	width:60%;
	/*background-color:#fff6eb;*/
	background-color:rgba(255, 207, 140,0.4);
	padding:50px 100px 0 100px;
	margin:50px -150px -100px -50px;
}
/*.comment_point2_south{
	width:60%;
	background-color:#ddeded;
	padding:50px 100px 0 100px;
	margin:200px -150px -100px -50px;
}*/

.photo_point2{
	width: 50%;
	margin:150px 0px 50px 100px;
}

@media screen and (max-width: 1080px){
	.point1{
		overflow-x: clip;
	}
	
}
	
@media screen and (max-width: 767px){
	.comment{
		padding:0px 2%;
	}
	
	.title_comment{
		text-align: left;
        writing-mode: horizontal-tb;
		font-size:180%;
		margin-right:0px;
		float:none;
	}
	
	.text_comment{
		max-width:100%;
	}
	
	.item_areaimage{
		width:90%;
	}
	
	.label_areaimage{
		font-size:100%;
		padding:20px 5px;
		top:-60px;
		right:10px;
	}
	
	.item2{
		margin-bottom:60px;
	}
	
	.title_plan{
		height:200px;
		margin-top:0;
}

	.nodal{
		height:400px;
	}

	.comment_point1,
	.photo_point1,
	.photo_point1_2,
	.comment_point2,
	.photo_point2,
	.photo_point2_2{
		width:100%;
		margin:0;
		padding:30px 2%;
		background-color: transparent;
	}
	
	.point1{
		background-color: rgba(170, 137, 189,0.4);
		margin:0 2% 50px;
		box-shadow: 2px 3px 8px hsla(0,0%,0%,0.10);
	}
	.point2{
		background-color:rgba(255, 207, 140,0.4);
		margin:0 2% 50px;
		box-shadow: 2px 3px 8px hsla(0,0%,0%,0.10);
	}
}
/*-------------------------
   section#plan
---------------------------*/
#plan {
	margin: 0 auto;
	padding-top: 5rem;
}

.plan_img{
	text-align: center!important;
	margin: 0 auto;
	display: block;
}

.plan_2F{
	width: 100%;
	background-image: url("../img/plan_bg.png");
	background-repeat: repeat;
}
#plan img {
	/*max-width: 700px;*/
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
	display: block;
}

/*@media screen and (min-width: 1081px){
	.plan_img{
	height: 1850px;
	}
}*/
/*------------------------
     section#photos
--------------------------*/
#photos {
	background-color: #faf3e6;
}
/*.photos_north{
	background-color:#fff6eb;
}
.photos_south{
	background-color:#dfefef;
}*/
.album {
	margin: 0 auto;
	width: 700px;;
}
.title_photo{
	letter-spacing: 0.1em;
	font-size:200%;
	font-weight: normal;
	text-align: center;
}
@media screen and (max-width: 767px){
	.album {
		width: 95%;
	}
}

/*------------------------
     section#area
--------------------------*/
#area .title_area{
	font-size: 270%;
	margin-bottom: 30px;
}

#area .title_comment .span_s{
	font-size: 50%;
	color: #473838;
	letter-spacing: 0.18em;
	display: block;
}

/*----------------------- 
     section#virtual 
-------------------------*/
#virtual{
	background-color: rgba(170, 137, 189,0.2);
	padding-top: 50px;
	padding-bottom: 80px;
	margin-bottom: 80px
}

.title_photo,.title_virtual,.title_outline {
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.1em;
	font-size:200%;
	font-weight: normal;
	text-align: center;
}
.nodal{
	width:700px;
	height:500px;
	padding:2%;
	margin: 0 auto;
}

.nodal iframe{
	width:100%;
	height:100%;
}
@media screen and (max-width: 767px){
	.virtual p  {
		width: 96%;
		margin: 0 auto;
	}
	.nodal {
		width: 95%;
	}
}

/* inquiry 問い合わせ */
section#inquiry {
	width: 100%;
	max-width: 950px;
	margin-inline-start: auto;
	margin-inline-end: auto;
	margin-block-end: 150px;
	text-align: center;
	cursor: pointer;
	margin: 0 auto 3em;
}
.btn-gradient-3d-orange {
  padding: 0.5em 3em;
  text-decoration: none;
  border-radius: 4px;
  color: #ffffff;
  background-image: linear-gradient(45deg, #70e1f5 0%, #ffd194 100%);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
/*  width: 300px;
  height: 50px;*/
  vertical-align: middle;
  font-size: 1.5em;
text-shadow:1px 0 5px rgba(0, 0, 0, 0.29);
	text-align: center;
	margin: 0 auto;
}
.btn-gradient-3d-orange img {
	vertical-align: middle;
}

.btn-gradient-3d-orange:active {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  border-bottom: none;
}
.mail_icon {
	display: inline-block;
	margin: 0 10px 5px 0;
	box-shadow: 1px 0 5px rgba(0, 0, 0, 0.29);
}


/* パララックス　*/
.bg01{
    background-image: url(../img/bg01.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    -moz-background-size:cover;
    background-size:cover;
    height: 360px;
    display: block;
}

.bg02{
    background-image: url(../img/bg02.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    -moz-background-size:cover;
    background-size:cover;
    height: 360px;
    display: block;
}
.bg03{
    background-image: url(../img/bg03.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    -moz-background-size:cover;
    background-size:cover;
    height: 360px;
    display: block;
}

@media screen and (max-width: 767px) {
	.bg01{
	background-size: cover;
	background-attachment: scroll;
	}
	.bg02{
	background-size: cover;
	background-attachment: scroll;
	}
   .bg03{
	background-size: cover;
	background-attachment: scroll;
	background-image: url(../img/bg03sp.jpg);
	}
}
.pc { display: block !important; }
.sp { display: none !important; }

@media only screen and (max-width: 767px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

/* ---------------------------
contact
------------------------------ */

.cta_btn {
  position: fixed;
  background-color: #DDD0E5;
  border-radius: 0;
  bottom: 3%;
  right: 0;
  transition: all 0.3s ease;
  z-index: 90;
	border: none;
}

.cta_link {
  display: flex;
  align-items: center;
}

.cta_icon {
  padding: 2rem;
  color: #666;
}

.cta_ttl {
  padding-left: 8px;
  padding: 2rem;
  text-align: justify;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  font-weight: 200;
  color: #666;	
}

#cta_floating.cta_btn,
.cta_floating {
  transform: translateX(15rem);
}

#cta_floating.cta_btn:hover,
.cta_floating:hover {
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  #cta_floating.cta_btn,
  .cta_floating {
    transform: translateX(0);
  }
  .cta_btn {
    right: 16px;
    height: 60px;
    width: 60px;
    padding: 0;
    text-align: center;
    border-radius: 50%;
    border: none;
    outline: none;
    box-shadow: 0 1px 3px 1px rgb(0 0 0 / 8%);
    box-shadow: 0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%);
    transform: translateX(calc(100% + 16px));
    transition: 0.2s cubic-bezier(0, .6, .99, 1);
    cursor: pointer;
  }
	.cta_icon{
		position: relative;
		top: -2px;
		left: -2px;
	}
}

