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

article{
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	line-height:2.1;
	padding:0;
}

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;
	margin-top: 40px;
}

.mb50{
	margin-bottom:50px;
}

.mb100{
	margin-bottom:100px;
}

.mb150{
	margin-bottom:150px;
}

.pb30{
	padding-bottom:30px;
}

.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
---------------------------*/

section#top{
	margin: 0 auto;
}


ul.topImgL{
	width: 100%;
}

.slick-list img {
	max-width: 1200px;
	width:100%;
	margin: 0 auto;
}
.pagetitle {
	padding: 3rem 0;
}

#top h1{


	font-size: 3rem;
}
@media screen and (max-width: 768px){
	#top h1{
	font-size: 2rem;	
}
	.pagetitle {
	padding: 1rem 0 0 10px;
}
	}

/*-------------------------
   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%;
	margin-bottom: 20px;
}

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

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

.comment_point1{
	width:60%;
	background-color:#fff6eb;
	padding:50px 100px 0 100px;
	margin-left:-100px;
	margin-right:-50px;
	margin-bottom:-100px; 
	box-shadow: inset 0 0 15px 15px #ffffff;

}

.photo_point1{
	width: 40%;
	margin:200px 0 30px -150px;
}

.photo_point1_2{
	width: 95%;
}

.item_point1_detail{
	border:1px solid #000;
	padding:60px 4% 4%;
	margin:2%;
	position:relative;
}

.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;
}

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

.comment_point2_north{
	width:60%;
	background-color:#fff6eb;
	padding:50px 100px 0 100px;
	margin-left:-50px;
	margin-right:-100px;
	margin-bottom:-100px;
}
.comment_point2_south{
	width:60%;
	background-color:#ddeded;
	padding:50px 100px 0 100px;
	margin-left:-50px;
	margin-right:-100px;
	margin-bottom:-100px;
}
.photo_point2{
	width: 50%;
	margin:200px -50px 30px 0px;
}
.bg_color_north {
	background-color:#fff6eb;
}
.bg_color_south {
	background-color:#ddeded
}
.comment_point3_north{
	width:60%;
	background-color:#D3C2AB;
	padding:50px 100px 0 100px;
	margin:200px -150px -100px -50px;
}
.comment_point3_south{
	width:60%;
	background-color:#ddeded;
	padding:50px 100px 0 100px;
	margin:200px -150px -100px -50px;
}

.photo_point3{
	width: 50%;
	margin:50px 0px 50px 100px;
}
@media screen and (max-width: 768px){
	.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{
		margin-top:0;
}

	.nodal{
		height:400px;
	}

	.comment_point1,
	.photo_point1,
	.photo_point1_2,
	.comment_point2_north,
	.comment_point2_south,
	.photo_point2,
	.comment_point3_north,
	.comment_point3_south,
	.photo_point3,
	.photo_point3_2_north,.photo_point3_2_north{
		width:100%;
		margin:0;
		padding:30px 2% 50px;
	}
	
	.point1,
	.point2_north,
	.point3_north{
		background-color:#fff6eb;
		margin:0 2% 50px;
		box-shadow: 2px 3px 8px hsla(0,0%,0%,0.10);
	}
	.point1,
	.point2_south,
	.point3_south{
		background-color:#ddeded;
		margin:0 2% 50px;
		box-shadow: 2px 3px 8px hsla(0,0%,0%,0.10);
	}
}
/*-------------------------
   section#plan
---------------------------*/
#plan {
	margin: 0 auto 100px;
	padding-top: 5rem;
}
#plan img {
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
	display: block;
	margin-top: 40px;
}
/*------------------------
     section#photos
--------------------------*/

.photos_north{
	background-color:#D3C2AB;
}
.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: 768px){
	.album {
		width: 95%;
	}
}
/*----------------------- 
     section#virtual 
-------------------------*/
.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: 768px){
	.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: 768px) {
	.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: 768px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

#service {
	clear:both;
	width:950px;
	margin:3em auto ;
	display: block;
	color: #444444;
	}

#service ul{
	display: -webkit-flex;
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
}
#service ul li {
	margin: 1em;
}
@media only screen and (max-width: 768px){
	#service {
		width: 95%;
	}
}
#open {
	margin-bottom: 5em;
}
.date {
	font-size: 1.5em;
	font-weight: bold;
}
.open_box {
 margin: 2em auto;
 padding: 1em;
 width: 90%;
 background-color: #ffffff; /* 背景色 */
 box-shadow: -5px -5px 15px 5px rgba(248, 224, 178, 0.95), 5px 5px 15px 7px rgba(159, 240, 248, 0.8);
}
@media only screen and (max-width: 768px){
	.open_box {
		padding-top: 10em;
	}
}
/* ---------------------------
contact
------------------------------ */

.contact button {
	border: none;
}

.cta_btn {
  position: fixed;
  background-color: #2b2b2b;
  border-radius: 0;
  bottom: 3%;
  right: 0;
  box-shadow: 0 1px 3px 1px rgb(0 0 0 / 8%);
  transition: all 0.3s ease;
  z-index: 90;
	cursor: pointer;
}

.cta_link {
  display: flex;
  align-items: center;
	margin-bottom: 0!important;
}

.cta_icon {
  padding: 2rem;
	position: relative;
	top: 2px;
  color: #fff;
	line-height: 0;
}

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

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

#cta_floating.cta_btn:hover,
.cta_floating:hover {
  transform: translateX(0);
}

@media screen and (max-width: 639px) {
  .pcOnly {
    display: none;
  }
  #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;
  }
}