@charset "utf-8";
/*
===============================================================================
■ general
===============================================================================
*/
* 
	{
		padding: 0;
		margin: 0;
			min-height: 0;
			min-width: 0;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
	}
html, body 
	{
			height: 100%;
			width: 100%;
			margin: 0;
	}
html 
{
  	font-size: 62.5%;
}
body 
{
  color: #2f3c45;
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-style: normal;
  line-height: 1.7;
  font-feature-settings: "palt";
  letter-spacing: .15rem;
  background:rgb(178,178,178,0.2) url("img/pc_logo.png") repeat 0 0/390px 160px;
  background-attachment:fixed;
	text-align:justify;
}
/*　IE11　*/
_:-ms-lang(x)::-ms-backdrop, body 
{
  font-family: 'Noto Sans JP', sans-serif;
}
/*　Edge 2　*/
_:-ms-lang(x)::backdrop, body 
{
  font-family: 'Noto Sans JP', sans-serif;
}
#PageWrapper 
{
  overflow: hidden;
  padding: 0;
  margin: 0 auto;
  border: 0;
  outline: 0;
  width:100%;
  max-width:768px;
	background:rgba(255, 255, 255, 0.5);
}
/*　img　*/
img 
{
  width: 100%;
  vertical-align: bottom;
  padding: 0;
  margin: 0;
}
/*　list　*/
ul 
{
  list-style: none;
}
/*　text　*/
.center 
{
  text-align: center;
}
.right 
{
  text-align: right;
}
.small 
{
  font-size: 1.2rem;
}
.kome 
{
  margin-top: 1.4rem;
}
strong 
{
  font-weight: bold;
}
i 
{
  font-style: normal;
	margin-left: 1rem;
}
.red 
{
  color: #e53935;
}
.blue
{
	color: #1375A2;
}
/*　link　*/
a:link 
{
  color: #71ACC7;
  text-decoration: none;
}
a:visited 
{
  color: #71ACC7;
  text-decoration: none;
}
a:hover 
{
  color: #71ACC7;
  text-decoration: none;
}
a:active 
{
  color: #71ACC7;
  text-decoration: none;
}
a img:hover 
{
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
  text-decoration: none;
}
/*　clearfix　*/
.clearfix:after 
{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
/*　flex box　*/
.f-container 
	{
		display: flex;
		flex-flow:row wrap;
/*		justify-content: space-between;*/
		align-items: flex-start;
		align-content: flex-start;
	}
/*　flex box　safari用*/
::-webkit-full-page-media, :future, :root .f-container
	{
		justify-content: initial;
	}
/*　grid　*/
.grid 
	{
		display: grid;
		place-items: center;
	}
/*　pc/sp　*/
.pc 
{
  display: block !important;
}
.sp 
{
  display: none !important;
}
@media only screen and (max-width: 560px) 
{
  body 
	{
    font-size: 1.4rem;
  }
  .pc 
	{
    display: none !important;
  }
  .sp 
	{
    display: block !important;
  }
}
/*
===============================================================================
■ header
===============================================================================
*/
header 
{
  position: fixed;
  overflow: hidden;
  width: 100%;
  max-width:768px;
  background-color: white;
  padding: 17px 0;
  z-index: 999;
}
.logo 
{
  width: 110px;
  float: left;
}
/*　ir header　*/
.header_inner 
{
  width: 94%;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) 
{
  .header_inner {
    max-width: 768px;
  }
}
@media screen and (max-width: 560px) 
{
  header 
	{
    padding: 10px 0;
  }
  .header_inner
	{
    width: 94%;
  }
}
/*
===============================================================================
■ content
===============================================================================
*/
main 
{
  display: block;
  padding-bottom: 120px;
  margin: 70px 0 0;
	background-color:rgb(255, 255, 255);

}
#personal main 
{
  padding-bottom: 40px;
  margin-top: 70px;
}
.contentWrap 
{
  width: 100%;
  overflow: hidden;
}
.bk_wht 
{
  background: #fff;
}
article 
{
  padding:4rem 10% 0;
}
/*　ir name　*/
.irName 
{
  font-size: 4rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 2px;
}
.irNameSub 
{
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.35rem;
}
@media screen and (max-width: 560px) 
{
  main 
	{
    padding-bottom: 50px;
    margin: 56px 0 0;
  }
  #personal main 
	{
    padding-bottom: 0;
    margin: 56px 0 0;
  }
  .irName 
	{
    font-size: 2.5rem;
  }
  .irNameSub 
	{
    font-size: 1.2rem;
  }
	article 
	{
  padding:2rem 6%;
	}
}
/*
===============================================================================
■ hawaii_flexarea
===============================================================================
*/
.hawaii_flexarea
{
	display: flex;
	flex-wrap: wrap；
}
.hawaii_flexarea div
{
	width: 49%;
}
.pdf_hawaii div
{
	padding: 2%;
	}
@media screen and (max-width: 560px) 
{
	.hawaii_flexarea div
	{
	width: 100%;
	}
	.hawaii_flexarea
	{
	display: block;
	}
}
/*
===============================================================================
■ top_nagano_flexarea
===============================================================================
*/
.top_nagano_flexarea
{
	display: flex;
	flex-wrap: wrap；
}
.top_nagano_flexarea div
{
	width: 49%;
}
.pdf_nagano
{
	text-align: center;
}
.pdf_nagano div
{
	padding: 2%;
	}
.pdf_nagano img 
{
    width: 70%;
    text-align: center;
}
@media screen and (max-width: 560px) 
{
	.top_nagano_flexarea div
	{
	width: 100%;
}
	.top_nagano_flexarea
	{
		display: block;
	}
}
/*
===============================================================================
■ index.html
===============================================================================
*/
/*　keyvisual　*/
.keyvisual 
{
  width: 100%;
}
.keyvisual img, .keyvisual video 
{
  width: 100%;
}
/*　movie_more　*/
.movie_more 
{
  width: 94%;
  max-width: 800px;
  text-align: right;
  margin: 1rem auto 0;
}
.movie_more a 
{
  color: #99786f;
  font-weight: bold;
  border-bottom: #99786f solid 1px;
  padding-bottom: 4px;
}
/*　introduction　*/
.topIntroduction 
{
	padding: 6rem 7% 3rem;
	text-align: center;
}
.topIntroduction h1
{
	font-size:2.5rem;
	font-weight: 500;
	margin-bottom: 2rem;
	color: #1375A2;
	font-style: italic;
}
.topIntroduction p 
{
  line-height: 2.5;
}
.topIntroduction div 
{
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
/*　h2　*/
h2 
{
  width: 100%;
  margin: 4rem auto 8rem;
  padding: 0.8rem 0;
}
/*　month tab　*/
.monthTabContent .monthTab 
{
/*  width: 90%;*/
  display: flex;
  justify-content: center;
/*  max-width: 700px;*/
  margin: 0 auto;
}
.monthTabContent h3
{
  color:#1375A2;
  margin: 4rem auto 2rem;
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
}
.monthTabContent .monthTab li 
{
  list-style: none;
  width: 23%;
  text-align: center;
  position: relative;
  margin-right: 4px;
	margin-bottom: 4px;
}
.monthTabContent .monthTab li :before 
{
    height: 0;
    display: block;
    position: absolute;
    right: -3px;
    content: "";
    border-top: solid 20px #fff;
    border-left: solid 20px transparent;
    top: -3px;
    z-index: 2;
}
.monthTabContent .monthTab li :after {
    height: 0;
    display: block;
    position: absolute;
    right: -2px;
    content: "";
    border-top: solid 20px transparent;
    border-left: solid 20px transparent;
    top: -2px;
}
.monthTabContent .monthTab li a 
{
  display: block;
  color: #fff;
  font-weight: bold;
  background: #1375A2;
  padding: 1rem 0;
  font-size: 2.5rem;
}
.monthTabContent .overseastab li a
{
	background: #1375A2;
}
/*tabの形状*/
.tab
{
  display: flex;
  flex-wrap: wrap;
}
.tab li
{
	width: 50%;
	text-align: center;
}
.tab li a
{
  display: block;
  background:#ddd;
  margin:0 2px;
  padding:10px 20px;
}
/*liにactiveクラスがついた時の形状*/
.tab li.active a
{
  background:#C2A055;
}
.tab li a img
{
	margin: 0 auto;
}
/*エリアの表示非表示と形状*/
/*
.area {
  display: none;
  opacity: 0;
  background: #fff;
}
*/

/*areaにis-activeというクラスがついた時の形状*/
/*
.area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
*/

@keyframes displayAnime
{
  from 
	{
    opacity: 0;
  }
  to 
	{
    opacity: 1;
  }
}

/*　accordion　*/
.accordion 
	{
		margin-top: 10rem;
	}
.accordion label 
	{
		position: relative;
		display: block;
		cursor: pointer;
		width: 94%;
		max-width: 900px;
		color: #fff;
		font-weight: bold;
		line-height: 1;
		text-align: center;
		background: #1375A2;
		border-radius: 4px;
		padding: 2rem 2rem 2rem 7rem;
		margin: 0 auto .6rem;
	}
.accordion li 
	{
		list-style: none;
	}
.accordion dt 
	{
		margin: 3rem 0 1rem;
	}
.accordion dt strong 
	{
		color: #fff;
		font-weight: bold;
		background: #C58BAE;
		padding: .4rem 1rem;
	}
.accordionBox  section
	{
		border-radius: 1rem;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
		padding-bottom: 1rem;
	}
ul.accordionBox 
	{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		width:92%;
		margin: 0 auto;
	}
.accordionBox  .contentWrap
{
		overflow: unset;
}
.accordionBox  li
	{
		width:45%;
		text-align:center;
	}
.accordionBox  li h2
	{
		margin:4rem auto 2rem;
		padding:0;
	}
.accordionBox .post img
	{
		width:50%;
		border-radius: 50%;
	}
.accordionBox .irInfo
	{
		text-align:center;
		margin: 0 auto;
	}
.accordionBox .irInfo .irName
	{
		font-size:3rem;
	}
.accordionBox .irInfo .irNameSub
	{
		font-size: 1.2rem;
		margin-bottom: 0.5rem;
	}
@media screen and (max-width: 560px)
{
.topIntroduction
	{
		padding: 3rem 10% 0;
	}
	.topIntroduction h1
	{
		font-size:2rem;
	}
  /*　introduction　*/
  .introduction p 
	{
    	line-height: 2;
    }
  /*　h2　*/
h2 
	{
    	margin: 2rem auto 5rem;
    }
/*　month tab　*/
.monthTabContent h3
	{
		font-size: 2rem;
	}
.monthTabContent .monthTab li a 
	{
    	padding: 1rem 0rem;
    }
.monthTabContent .monthTab li .feb2024
	{
	 	padding: 1rem 2rem;
	}
/*　accordion　*/
.accordion 
	{
    	margin-top: 4rem;
    }
.accordion label 
	{
		font-size: 1.4rem;
		padding: 1.4rem 2.6rem 1.4rem 4rem;
    }
.accordion label:after
	{
		top: 34%;
		right: 10px;
    }
.tab li a
	{
  		padding:0;
	}
.monthTabContent .monthTab li a 
	{
		font-size: 1.5rem;
	}
.accordionBox  li
	{
		width:48%;
	}
.accordionBox .irInfo .irName
	{
		font-size:2rem;
	}
.accordionBox .irInfo .irNameSub
	{
		font-size: 1rem;
	}
.accordionBox .irInfo .date
	{
		letter-spacing: 0.1rem;
	}
}
/*
===============================================================================
■ index.html - retreat list
===============================================================================
*/
.retreat_list h2
{
	margin: 6rem 0 4rem;
}
/* Slider */
.slide-container 
{
  width: 100%;
}
.swiper-container 
{
  width: 80%;
/*  right: -10%;*/
  background-color: #fff;
  box-shadow: 10px 10px 15px -10px;
}
.swiper-slide .info_box 
{
  display: flex;
  padding: 1rem 4rem 3.5rem;
	align-items:center;
}
.swiper-slide .info_box img 
{
  border-radius: 50%;
	vertical-align: bottom;
  width: 25%;
	height:25%;
}
.slider-caption 
{
  padding: .6rem 0.5rem;
  margin: 0;
  line-height: 1.5em;
  background: #ffffff;
  color: #2f3c45;
  font-size: 1.5rem;
  font-weight: 600;
}
.swiper-slide .slider-caption p
{
	display: block;
}
.info_box .info_inner
{
	margin-left: 4rem;
}
.info_inner .caption_title 
{
  font-size: 3.5rem;
	padding: 10px 0;
}
.info_inner .caption_title span
{
  font-size: 2rem;
	margin-left: 3rem;
	color: #fff;
	background: #1375A0;
	padding:0 0.5rem 0 0.9rem;
}
.info_inner .caption_days,.info_inner .caption_place
	{
		position: relative;
		font-size: 2rem;
	}
.info_inner .caption_title i
	{
		margin-right: 1rem;
		color: #1375A2;
	}
.info_inner .caption_days i,.info_inner .caption_place i
	{
		margin-right: 1.5rem;
		color: #1375A2;
	}
.info_inner .caption_days,.info_inner .caption_place
	{
		color: #2f3c45;
	}

@media screen and (max-width: 560px)
{
	.retreat_list h2
		{
			margin: 4rem 0 1rem;
		}
	.swiper-container 
		{
		  width: 95%;
		}
	.slider-caption 
		{
		  padding: .6rem 0 .6rem 0rem;
		}
	.info_box .info_inner
		{
			margin-left: 1.5rem;
		}
	.swiper-slide .info_box 
		{
		  padding: 1rem 2rem 	3rem;
		}
	.info_inner .caption_title 
		{
		  font-size: 1.75rem;
			padding: .5rem 0;
		}
	.info_inner .caption_title span
		{
		  font-size: 1.4rem;
			margin-left: 1.5rem;
			padding:0.1rem 0.4rem 0.1rem 0.7rem;
		}
	.info_inner .caption_days,.info_inner .caption_place
		{
			font-size: 1.4rem;
			text-align:start;
		}
	.info_inner .caption_days i,.info_inner .caption_place i
	{
		margin-right: 1rem;
	}
}
/*
===============================================================================
■ detail.php - header
===============================================================================
*/
.header_inner_link 
{
  width: 50rem;
  float: right;
}
.fix_nav_sp ,.fix_nav_sp_142
{
  display: none;
}
.fix_nav_pc 
{
  width: 22.5rem;
  float: left;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
}
#retreat_top 
{
  width: 26rem;
  float: right;
  font-size: 1.5rem;
  letter-spacing: 0;
  text-align: center;
}
#retreat_top a 
{
  display: block;
  height: 3.6rem;
  line-height: 3.6rem;
  border-radius: 2rem;
	border: solid 1px #1375A2;
	color:#1375A2;
	background: #fff;
}
#retreat_top a:hover 
{
  background: -webkit-linear-gradient(to right, #88dea4, #6bccd8);
  background: #fff;
  border: solid 1px #1375A2;
}
@media screen and (max-width: 560px) 
{
  .header_inner_link 
		{
			width: 210px;
		}
  #retreat_top 
		{
			width: 210px;
			font-size: 1.4rem;
		}
  .fix_nav_pc 
		{
			display: none;
		}
	.side_by_side_142
		{
			display: flex;
		}
  .fix_nav_sp 
		{
			display: block;
			position: fixed;
			bottom: 0;
			width: 100%;
			z-index: 99999;
		}
	.fix_nav_sp_142
		{
			display: inline-block;
			position: fixed;
			bottom: 0;
			width: 50%;
			z-index: 99999;
			background: #C7A133;
		}
	.fix_nav_sp_142 .right
		{
			display: inline-block;
			position: fixed;
			bottom: 0;
			right: 0;
			width: 50%;
			z-index: 99999;
			background: #C7A133;
		}
}
/*
===============================================================================
■ detail.php - reserve btn
===============================================================================
*/
.reserve a:link 
{
  color: #fff;
}
.reserve a:visited 
{
  color: #fff;
}
.reserve a:active 
{
  color: #fff;
}
.reserve a:hover 
{
  color: #fff;
}
.reserve a.btn_shine 
{
  display: block;
  position: relative;
  overflow: hidden;
  height: 36px;
  line-height: 36px;
  border: solid 1px #fff;
  border-radius: 20px;
	font-weight:700;
}
.reserve a.btn_shine:before 
{
  content: "";
  position: absolute;
  top: -50px;
  left: -25px;
  height: 130px;
  width: 40px;
  background: #fff;
  opacity: 0.3;
  transform: rotate(40deg);
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.reserve a.btn_shine:hover:before 
{
  left: 95%;
}
.pre_reserve 
{
  height: 36px;
  color: #fff;
  font-weight: 400;
  text-align: center;
  line-height: 36px;
  background: #9E9E9E;
  border: solid 1px #fff;
  border-radius: 20px;
}
.btn_shine .arrow 
{
	position: relative;
}
.btn_shine .arrow::after
{
	content: "";
  position: absolute;
  top: 0;  
  right: -1.5em;
  transform: translateY(-90%); 
  border: 11px solid transparent;
  border-left: 11px solid #fff;    
}
@media screen and (max-width: 560px) 
{
  .reserve a.btn_shine 
		{
			width: 100%;
			height: 65px;
			font-size: 2.2rem;
			font-weight: 600;
			text-align: center;
			line-height: 65px;
			border: none;
			border-radius: 0;
			background:#C7A133;
			letter-spacing: 0.4rem;
		}
.reserve a.btn_shine_142
		{
			width: 100%;
			height: 65px;
			font-size: 1.5rem;
			font-weight: 600;
			text-align: center;
			line-height: 1.5rem;
			border: none;
			border-radius: 0;
			letter-spacing: 0.4rem;
		}
  .reserve a.btn_shine::before 
		{
			top: -50px;
			left: -25px;
			height: 150px;
			width: 50px;
		}
	.reserve a.btn_shine_142::before 
		{
			top: -50px;
			left: -25px;
			height: 150px;
			width: 50px;
		}
	.reserve a.btn_shine .arrow
		{
			position: relative;
		}
	.reserve a.btn_shine .arrow::after
		{
			top:-0.2rem;
			right: -4rem;
			transform: translateY(-90%);
			border: 8px solid transparent;
			border-left:8px solid #fff;
		}
  .reserve a.btn_shine:hover:before 
		{
			left: 95%;
		}
  .pre_reserve 
		{
			height: 50px;
			font-size: 2.2rem;
			line-height: 50px;
			background: #9E9E9E;
			border: none;
			border-radius: 0;
		}
	.btn_shine .arrow::after
		{
			right: -4rem;
			transform: translateY(-90%); 
			border: 8px solid transparent;
			border-left: 8px solid #fff;    
		}
}
/*
===============================================================================
■ detail.php - mv
===============================================================================
*/
.personal_mv_inner 
	{
		justify-content: center;
		align-items: center;
	/*  background-color: rgba(255, 255, 255, 0.8);*/
		padding: 4rem 7% 0;
	}
.personal_mv_inner ul
	{
		display: flex;
		padding-bottom: 1.5rem;
		font-size: 2rem;
		font-weight: 500;
		line-height: 1.8rem;
		margin-left: -0.5rem;
	}
.fa-solid, .fas
	{
		margin-right: 0.5rem;
		margin-left:0;
	}
.personal_mv_inner ul li
	{
		display: flex;
	}
.personal_mv_inner ul .ic_days
	{
		margin-left: 1.5rem;
	}
.personal_mv_inner ul .ic_map,.personal_mv_inner ul .ic_days
	{
		position: relative;
		background: #1375A2;
		color: #fff;
		padding: 0.8rem 1rem;
		border-radius: 0.3rem;
	}
/*　catchcopy　*/
.catchcopy 
	{
		font-size: 4rem;
		font-weight: 400;
		line-height: 1.25;
		letter-spacing: 0.1em;
		text-align: start;
	}
/* リトリートタイトル上の見出しがあった場合 */
.catchcopy .title_s
	{
		color: #fff; 
		background: #2f3c45; 
		border-radius:0.3rem;
		display:inline-block;
		font-size: 2rem; 
		font-weight: 600;
		padding: 0.3rem;
		margin-bottom:0.5rem;
	}
/* IE11 */
_:-ms-lang(x)::-ms-backdrop, .catchcopy 
	{
		letter-spacing: -3px;
	}
.catchcopy span 
	{
		letter-spacing: 0.05em;
	}
.catchcopy span.small45 
	{
		font-size: 4.5rem;
	}
.catchcopy span.small40 
	{
		font-size: 4rem;
	}
.catchcopy span.small35 
	{
		font-size: 3.5rem;
	}
.catchcopy span.small30 
	{
		font-size: 3.5rem;
	}
/*　ir_date　*/
.ir_date 
	{
		display:flex;
		flex-flow:nowrap;
		width: 90%;
		max-width: 520px;
		margin: 0 auto;
		padding: 2rem 0;
		align-items:center;
	}
.ir_date figure 
	{
		width: 60%;
		max-width: 180px;
		margin: 0 auto;
	}
.ir_date figure img 
	{
		width: 100%;
		border-radius: 100px;
	}
.ir_date .name 
	{
		width: 60%;
		padding: 4.5rem 0;
	}
@media screen and (max-width: 560px) 
{
	.personal_mv_inner 
		{
			padding: 4rem 6% 0;
		}
  .catchcopy 
		{
			font-size: 2.2rem;
			line-height: 1.2;
			font-weight: 500;
			letter-spacing: 0.1rem;
		}
/* リトリートタイトル上の見出しがあった場合 */
	.catchcopy .title_s
		{
			font-size: 1.5rem; 
			padding: 0.3rem;
		}
  .ir_date .name 
		{
			width: 100%;
			padding: 1rem 0 0;
		}
	.personal_mv_inner ul
		{
		padding-bottom: 1rem;
		font-size:1.5rem;
		letter-spacing:0.1rem;
		line-height:1.5rem;
		}
	.personal_mv_inner ul .ic_map,.personal_mv_inner ul .ic_days
		{
			padding: 0.6rem 0.7rem;
		}
}
/*
===============================================================================
■ detail.php - nav （schedule btn）
===============================================================================
*/
#personal .js-tab .triangle p::before 
{
  left: 8%;
}
#personal nav 
{
  overflow: hidden;
  margin-bottom: 5rem;
}
#personal .js-tab 
{
  width: 336px;
  float: right;
  background: #fff;
}
.js-tab > div 
{
  display: inline;
}
.js-tab > div:last-of-type 
{
  margin-right: 0;
}
.js-tab > div a 
{
  color: #74614b;
}
.button 
{
  padding: 10px 0;
}
.button 
{
  display: inline-block;
  width: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 30px;
  outline: none;
  border: 1px solid #74614b;
}
.button:hover 
{
  background-color: #74614b;
  color: #fff;
}
.button a 
{
  color: #74614b;
  display: block;
  font-size: 1.3rem;
}
.button a:hover 
{
  background-color: #74614b;
  color: #fff;
}
.button::before, .button::after 
{
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button, .button::before, .button::after, .button a, .button a::before, .button a::after 
{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.js-tab .triangle 
{
  position: relative;
}
.js-tab .triangle p::before 
{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 4.5px 0 4.5px;
  border-color: #cec5b2 transparent transparent transparent;
  position: absolute;
  left: 20%;
  top: 42%;
  content: '';
}
.js-tab .triangle p::before:a:hover 
{
  color: #fff;
}
.js-tab_content 
{
  background: url(../img/ico_lotus.svg) 50% 0 no-repeat;
  background-size: 35px;
  padding-top: 80px;
  margin-top: 55px;
}
/*.js-tab .triangle p::before{ left: 10px;}*/
@media screen and (max-width: 560px) 
{
  #personal nav 
	{
    margin: 22px 0 40px;
  }
  #personal .js-tab 
	{
    width: 100%;
    float: none;
  }
}
/*
===============================================================================
■ detail.php - contents
===============================================================================
*/
.article_inner 
{
  margin: 0 auto 5rem;
}
#personal h2 
{
  position: relative;
  color: #1375A2;
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 4rem;
	text-align: center;
	background-image: linear-gradient(90deg, #1375A2 0 20%, #dedede 20%);
  background-repeat: no-repeat;
  background-size: 30% 8%;
  background-position: bottom;
}
#personal h2:after 
{
  content: "";
  display: block;
  height: 8px;
}
#personal h2 span 
{
  display: inline-block;
}
/*　link　*/
.linkStyle 
{
  padding: 0 4px 0 0;
}
@media screen and (max-width: 560px) 
{
  .article_inner 
	{
  	margin: 0 auto 4rem;
  }
  #personal h2 
	{
    font-size: 2rem;
    margin-bottom: 3rem;
  }
  .linkStyle 
	{
    padding: 1px 6px 1px 0;
  }
}
/*
===============================================================================
■ detail.php - slider
===============================================================================
*/
.memory .slider_wrap, .greeting .slider_wrap 
{
  width: 100%;
  max-width: 740px;
  margin: 4rem auto 0;
}
.memory .slick-slide li img, .greeting .slick-slide li img 
{
  display: block;
  width: 100%;
}
.memory .slick-prev, .memory .slick-next, .greeting .slick-prev, .greeting .slick-next 
{
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 50px;
  height: 50px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  z-index: 2;
}
.memory .slick-prev:before, .memory .slick-next:before, .greeting .slick-prev:before, .greeting .slick-next:before 
{
  content: '';
  display: block;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
}
.memory .slick-prev:after, .greeting .slick-prev:after 
{
  content: '';
  display: block;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 12px solid transparent;
  position: absolute;
  top: 12px;
  left: 3px;
}
.memory .slick-next:after, .greeting .slick-next:after 
{
  content: '';
  display: block;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 12px solid transparent;
  position: absolute;
  top: 12px;
  left: 18px;
}
.memory .slick-prev, .greeting .slick-prev 
{
  left: 4;
  top: 240px;
}
.memory .slick-next, .greeting .slick-next 
{
  right: 4;
  top: 240px;
}
@media screen and (max-width: 560px) 
{
  .memory .slider_wrap, .greeting .slider_wrap 
	{
    width: 100%;
    margin: 2rem auto 0;
  }
  .memory .slick-prev, .greeting .slick-prev 
	{
    top: 120px;
  }
  .memory .slick-next, .greeting .slick-next 
	{
    top: 120px;
  }
}
/*
===============================================================================
■ detail.php - description（リトリート概要）
===============================================================================
*/

@media screen and (max-width: 560px) 
{
	.description 
	{
    padding: 2rem 6% 0;
  }
  .description p 
	{
    line-height: 2;
  }
}
/*
===============================================================================
■ detail.php - description（リトリート概要）
===============================================================================
*/
.description dl dt 
{
  width: 8%;
  margin-bottom: 1rem;
}
.description dl dt span 
{
	background: #1375A2;
	border-radius:20px;
	color: #fff;
  display: block;
  width: 35px;
  height: 35px;
  text-align: center;
  line-height: 35px;
  
}
.description dl dd 
{
  display: block;
  width: 92%;
  max-width: 680px;
  line-height: 40px;
}
.description dl dd span 
{
  display: inline-block;
  line-height: 1.25;
}
.description p 
{
  line-height: 2.5;
}
.description p:last-child 
{
  padding-bottom: 0;
}
.description .apply aside 
{
  width: 100%;
  max-width: 660px;
  line-height: 2.0;
  margin: 0 auto;
}
.description .apply aside ul 
{
  margin-top: 20px;
}
.description .apply aside ul li 
{
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 8px;
}
.description .apply aside ul li:last-child 
{
  margin-bottom: 0;
}
@media screen and (max-width: 768px) 
{
.description dl dd 
	{
    max-width: 548px;
  }
.description dl dd span 
	{
    padding-top: .2rem;
  }
}
@media screen and (max-width: 560px) 
{
.description dl dd 
	{
    width: 90%;
    max-width: 470px;
    font-size: 1.5rem;
		padding-left: 1.5rem;
  }
.description dl dt 
	{
		padding: 0.5rem 0 1rem;
	}
.description p 
	{
    line-height: 2;
  }
.description .apply_reserve_btn 
	{
    margin: 26px auto 24px;
  }
.description .apply_reserve_btn a.btn_shine, .apply_pre_reserve_btn 
	{
    font-size: 2.2rem;
		height: 8rem;
		line-height: 1.8;
		padding: 2rem 0;
		font-weight:700;
		letter-spacing: 0.4rem;
  }
.description .apply_reserve_btn a.btn_shine:before 
	{
    display: none;
  }
.description .apply_reserve_btn a span 
	{
    font-size: 1.2rem;
  }
.description .apply aside 
	{
    line-height: 1.7;
  }
.description dl dt span 
	{
		width: 27px;
		height: 27px;
		line-height: 27px;
	}
}
@media screen and (max-width: 320px) 
{
  .description dl dt 
		{
			width: 17%;
		}
  .description dl dd 
		{
			width: 83%;
		}
}
/*
===============================================================================
■ detail.php - introduction
===============================================================================
*/
.introduction .f-container 
	{
		align-items:center;
		width: 90%;
		margin: 0 auto 4rem;
		flex-wrap: nowrap;
		justify-content:space-around;
	}
.introduction figure 
	{
		width: 32%;
		max-width: 250px;
	}
.introduction figure img
	{
		border-radius:50%;
	}
.introduction .introduction_btn_area
	{
		width: 70%;
		margin: 0 auto;
	}
.introduction .introduction_btn_area .btn_introduction 
	{
		display: block;
		background: #1375A2;
		border-radius: 5rem;
		text-align: center;
	}
.introduction_btn_area .btn_introduction img 
	{
		width: 70%;
	}
a.btn_introduction:first-child 
	{
		margin-bottom: 1rem;
	}
.personal_career 
	{
		line-height: 2;
	}
@media screen and (max-width: 768px) 
{
 .introduction figure 
		{
			width: 30%;
		}
  .introduction .personal_txtbox 
		{
			width: 65%;
		}
  .introduction .personal_txtbox .btn 
		{
			width: 40%;
		}
}
@media screen and (max-width: 560px) 
{
	.introduction .f-container
		{
			margin: 0 auto ;
		}
  .introduction figure 
		{
			width: 60%;
			float: none;
			margin: 0 auto 2rem;
		}
	.introduction .introduction_btn_area .btn_introduction 
		{
			height:auto;
		}
	.introduction_btn_area .btn_introduction img 
		{
			max-width: 100%;
			width: 315px;
		}
  .introduction .personal_txtbox 
		{
			width: 94%;
			float: none;
			margin: 0 auto;
		}
  .introduction .personal_txtbox .btn 
	{
    width: 50%;
  }
}
/*
===============================================================================
■ detail.php - greeting
===============================================================================
*/
.greeting p 
	{
		line-height: 2.0;
		padding-bottom: 1rem;
	}
.greeting p:last-child 
	{
  	padding-bottom: 0;
	}
@media screen and (max-width: 560px) 
{
 .greeting 
	{
    line-height: 1.7;
  }
}
/*
===============================================================================
■ detail.php - schedule
===============================================================================
*/
#schedule .article_inner
	{
		margin:0 auto;
	}
.time_sche h3 
	{
		font-size: 2rem;
		margin-bottom: 0.5rem;
		color: #1375A2;
		font-weight:600;
	}
.time_sche h3 span 
	{
  color: #1375A2;
  font-size: 1.5rem;
}
.sche_box 
	{
		background: rgba(255, 255, 255, .8);
		-moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		-ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		padding: 3rem 4rem;
		margin: 0 auto 4rem;
}
.sche_box dl 
	{
		overflow: hidden;
		border-bottom: 1px dashed #cec5b2;
		padding: 1.5rem 0;
	}
.sche_box dl:last-of-type 
	{
  	border-bottom: none;
	}
.sche_box dt 
	{
		display: block;
		width: 18%;
		float: left;
		color:#1375A2;
		letter-spacing:0.1rem;
		margin-left:1rem;
	}
.sche_box dd 
	{
		display: block;
		width: 80%;
		float: right;
		color:#1375A2;
	}
.sche_box dd span 
	{
		font-size: 1.2rem;
	}
.sche_box dd small 
	{
		color:#2f3c45;
		display:block;
		line-heigth:1.7;
	}
.schedule p
	{
		margin-top: -3rem;
	}
@media screen and (max-width: 560px) 
{
  .sche_box 
		{
			padding: 1rem 1.5rem;
		}
	.sche_box dl:last-of-type
		{
			margin: 0 auto 2rem;
		}
  .sche_box dd 
		{
			font-size: 1.5rem;
			font-weight: 600;
			text-align: start;
		}
	.sche_box dd small 
		{
			font-weight: normal;
		}
	.sche_box dt 
		{
			width: 23%;
			margin-left:0rem;
		}
	.sche_box dd 
		{
			width: 77%;
		}
	.time_sche h3 
		{
			font-size: 1.5rem;
		}
}
/*
===============================================================================
■ detail.php - voice
===============================================================================
*/
.voice_box {
  background: rgba(255, 255, 255, .8);
  -moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  padding: 3rem 4rem;
  margin: 0 auto 4rem;
}
.voice_box h3
{
	color: #1375A2;
	font-size: 1.8rem;
	font-weight: 800;
	line-height: 1.4;
	margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .voice_box {
    padding: 2rem 3rem;
  }
}
@media screen and (max-width: 560px) {
  .voice_box {
    padding: 2rem 3rem;
  }
}
/*
===============================================================================
■ detail.php - detail
===============================================================================
*/
#detail .article_inner
	{
		margin:0 auto;
	}
.detail_box 
	{
		background: rgba(255, 255, 255, .8);
		-moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		-ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		padding: 3rem 4rem;
	}
.detail_box dl 
	{
		overflow: hidden;
		border-bottom: 1px dashed #cec5b2;
		padding: 1.5rem 0;
	}
.detail_box dl:last-of-type 
	{
		border-bottom: none;
	}
.detail_box dt 
	{
		display: block;
		width: 23%;
		float: left;
		color:#1375A2;
		letter-spacing:0.1rem;
	}
.detail_box dd 
	{
		display: block;
		width: 77%;
		float: right;
		color:#1375A2;
	}
.detail_box dd span 
	{
		font-size: 1.2rem;
	}
.detail_box dd small 
	{
		color:#2f3c45;
		display:block;
		line-heigth:1.7;
	}
.detail_box dl dd a 
	{
		text-decoration:underline;
	}
@media screen and (max-width: 560px) 
	{
		.detail_box 
			{
				padding: 1rem 1.8rem;
			}
		.detail_box dd 
			{
				font-size: 1.5rem;
				font-weight: 600;
			}
		.detail_box dt 
			{
				width: 28%;
			}
		.detail_box dd 
			{
				width: 72%;
				letter-spacing:0.1rem;
			}
	}
/*
===============================================================================
■ detail.php - access
===============================================================================
*/
.access 
	{
		background: none;
		box-shadow: none;
	}
.address 
	{
		width: 100%;
	}
.access.fade-in 
	{
		padding: 4rem 10%;
	}
.address p 
	{
		text-shadow: none;
	}
.address h5 
	{
    font-weight: 600;
	}
.gmap_area
	{
		padding-top: 50%;
		position: relative;
	}
.gmap_area iframe
	{
		position: absolute;
		top: 0;
		left:0;
		width: 100%;
		height: 100%;
	}
.traffic h6 
	{
		font-size: 1.6rem;
		margin: 4rem 0 .4rem;
	}
.traffic h6 i 
	{
		font-size: 2.4rem;
		margin-right: .6rem;
	}
.traffic p 
	{
		font-size: 1.4rem;
	}
.bus_stop td 
	{
		font-size: 1.4rem;
		border-bottom: #433f3f 1px dashed;
		padding: 4px 0;
	}
.time td 
	{
		padding: 10px 0;
	}
@media screen and (max-width: 560px) 
{
  article.access.fade-in 
	{
		padding: 2rem 6%;
	}
}
/*
===============================================================================
■ detail.php - belonging
===============================================================================
*/
.belonging ul li 
	{
		padding-bottom: 20px;
	}
.belonging ul li a 
	{
		font-weight: bold;
	}
@media screen and (max-width: 560px) 
{
  .belonging ul li 
	{
    padding-bottom: 10px;
  }
  .belonging aside 
	{
    font-size: 1.4rem;
  }
}
/*
===============================================================================
■ detail.php - price
===============================================================================
*/
.price_box 
	{
		text-align: center;
		background: rgba(255, 255, 255, .8);
		border-radius:30px;
		-moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		-webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		-ms-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
		padding: 30px 0;
		margin: 0 auto 20px;
}
.price_box h3 
	{
		font-size: 5rem;
		font-weight: 500;
	}
.price_box .price_wrapper 
	{
    margin: auto;
    width: 90%;
	}
.price_wrapper .plan
	{
		padding: 2rem 0 2rem;
	}
.price_wrapper .border_top
	{
		border-top: 1px dashed #1375A2;
		padding-bottom: 2rem;
	}
.price_wrapper .plan_inner 
	{
    display: flex;
    justify-content: center;
    align-items: center;
	 	margin-bottom: 2rem;
		white-space: nowrap;
	}
.price_wrapper .plan_inner p
	{
		line-height: 1;
	}
.price_wrapper .plan_inner p::before
	{
		content:"";
		display: inline-block;
    width: 7rem;
    height: 7rem;
		background-size:cover;
	}
.price_wrapper .plan_inner .early_price::before
	{
		background-image: url("../images/icon/ic_early_new.png")
	}
.price_wrapper .plan_inner .repeat_price::before
	{
		background-image: url("../images/icon/ic_repeat_new.png")
	}
.price_wrapper .plan_inner strong 
	{
    color: #1375A2;
    font-size: 7.5rem;
		margin-left:-3rem;
		letter-spacing:-.3rem;
	}
.price_wrapper .plan_119
	{
		padding: 0;
	}
.price_wrapper .plan_inner_119
	{
		margin-left: 5rem;
		white-space: nowrap;
	}
.price_wrapper .plan_inner_119 .price_119 strong 
	{
    color: #2f3c45;
		font-size: 7.5rem;
		margin-left:3rem;
		letter-spacing:-.3rem;
	}
.price_wrapper .plan_inner_119 .price_119::before
	{
		content:"定価";
		border: solid 2px #2f3c45;
    width: 7rem;
    height: 7rem;
		font-weight: 500;
		position: absolute;
		top: 55%;
		left: 17%; 
		line-height: 3.3;
		font-size: 2rem;
	}
.price_wrapper .plan_inner_119 span.en 
	{
    font-size: 3.7rem;
	}
.price_wrapper .plan_inner span.en 
	{
    font-size: 3.7rem;
	}
.price_wrapper .proper_price 
	{
		text-align-last: end;
		font-size: 2.8rem;
	}
.price_wrapper .plan_inner + p 
	{
		font-size: 2.8rem;
	}
.price aside 
	{
		width: 600px;
		line-height: 2.0;
		margin: 0 auto;
	}
.price aside ul li a 
	{
		display: inline-block;
		font-weight: bold;
		padding: 2px 8px;
	}
.tax 
	{
		padding-left: 0.5em;
		font-size: 1rem;
	}
/*価格（数字）フォント変更*/
.roboto-medium 
	{
		font-family: "Roboto", sans-serif;
		font-weight: 500;
		font-style: normal;
	}
/*ID：142用CSS価格（数字）フォント変更*/
.span1_id142
	{
		background: #1375A2; 
		color: #fff; 
		padding: 0.5rem 1rem; 
		font-size:2rem;
	}
.span2_id142
	{
		color: #1375A2; 
		border: solid 1.5px #1375A2;
		padding: 0.5rem;
	}
.plan.id_142 strong
	{
		margin-left: 1.5rem;
	}
.plan.id_142 .plan_inner
	{
		margin-left: -5rem;
	}
.plan.id_142 p.roboto-medium:last-child
	{
		margin-left: -4.5rem;
	}
@media screen and (max-width: 560px) 
{
.price_box 
	{
		width: 100%;
		padding: 2rem 0;
		margin: 0 auto 2rem;
	}
.price_wrapper .plan
	{
		padding: 1rem 0 1rem;
	}
.price_wrapper .plan_inner 
	{
	  margin-bottom: 1rem;
	}
.price_wrapper .plan_inner strong 
	{
    font-size: 4.8rem;
		margin-left:0.5rem;
		letter-spacing:-0.2rem;
		font-weight: 600;
	}
.price_wrapper .plan_inner_119 .price_119 strong 
	{
		font-size: 3.75rem;
		letter-spacing:-0.1rem;
		margin-left: 0rem;
		font-weight: 600;
	}
.price_wrapper .plan_inner_119 .price_119::before
	{
		border: solid 1.5px #2f3c45;
    width: 3.5rem;
    height: 3.5rem;
		top: 53%;
		left: 17%; 
		line-height: 3;
		font-size: 1rem;
	}
.price_wrapper .plan_inner_119 span.en 
	{
    font-size: 1.5rem;
	}
.price_box h3 
	{
		font-size: 2.4rem;
		margin-bottom: 0;
  }
.price_wrapper .plan_inner span.en 
	{
    	font-size: 1.5rem;
	}
.price_box p 
	{
    	font-size: 1.3rem;
  }
.price_wrapper .plan_inner + p 
	{
		font-size: 1.4rem;
		margin-top: -0.5rem;
		letter-spacing: 0rem;
	}
.price_wrapper .plan_inner p::before
	{
    width: 3rem;
    height: 3rem;
	}
.price_box .plan 
	{
    font-size: 2rem;
  }
.price_wrapper .proper_price 
	{
		font-size: 1.4rem;
		letter-spacing: 0rem;
	}
.price_box .plan dl 
	{
    width: 80%;
    margin: 0 auto;
  }
.price aside 
	{
    width: 100%;
    line-height: 1.7;
  }
.price aside ul li a 
	{
    padding: 1px 6px;
  }
/*ID：142用CSS価格（数字）フォント変更*/
.span1_id142
	{
		padding: 0.2rem 0.5rem; 
		font-size:1.5rem;
	}
.span2_id142
	{
		color: #1375A2; 
		border: solid 1.5px #1375A2;
		padding: 0.5rem;
		font-size:1rem;
		position: relative;
		top: -0.5rem;
	}
.plan.id_142 .plan_inner
	{
		margin-left: -2rem;
	}
.plan.id_142 strong
	{
		font-size: 4rem;
	}
.plan.id_142 p.roboto-medium:last-child
	{
		margin-left: -2.8rem;
		margin-top: -2rem;
	}
}
/*
===============================================================================
■ detail.php - apply
===============================================================================
*/
.apply_reserve_btn 
	{
		width: 100%;
	}
.apply_reserve_btn a:link ,.apply_reserve_btn_142 a:link 
	{
		color: #fff;
	}
.apply_reserve_btn a:visited ,.apply_reserve_btn_142 a:visited 
	{
		color: #fff;
	}
.apply_reserve_btn a:active ,.apply_reserve_btn_142 a:active 
	{
		color: #fff;
	}
.apply_reserve_btn a:hover ,.apply_reserve_btn_142 a:hover 
	{
  	color: #fff;
	}
.apply_reserve_btn a.btn_shine 
	{
		display: block;
		position: relative;
		overflow: hidden;
		font-size: 3.5rem;
		line-height: 1.1;
		height:11rem;
		text-align: center;
		letter-spacing: 6px;
		border: solid 3px #fff;
		border-radius: 60px;
		padding: 30px 0;
		background: #C7A133;
		font-weight: 700;
	}
.apply_pre_reserve_btn 
	{
		width: 100%;
		max-width: 660px;
		color: #fff;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 22px;
		text-align: center;
		letter-spacing: 6px;
		background: #9E9E9E;
		border: solid 1px #fff;
		border-radius: 50px;
		padding: 16px 18px;
		margin: 0 auto 4rem;
	}
.apply_reserve_btn a.btn_shine::before 
	{
		position: absolute;
		content: '';
		display: inline-block;
		top: -180px;
		left: 0;
		width: 30px;
		height: 100%;
		background-color: #fff;
		animation: kiran 3s ease-in-out infinite;
	}
@keyframes kiran 
	{
		0% { transform: scale(0) rotate(45deg); opacity: 0; }
		80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
		81% { transform: scale(4) rotate(45deg); opacity: 1; }
		100% { transform: scale(50) rotate(45deg); opacity: 0; }
	}
.apply_reserve_btn a.btn_shine:hover:before 
	{
		left: 95%;
	}
.apply_reserve_btn a span 
	{
		font-size: 1.5rem;
		letter-spacing: 0;
	}
.description .apply_reserve_btn_142
{
  width: 100%;
  margin:0 auto;
}
.apply_reserve_btn_142 a.btn_shine 
	{
		display: block;
		position: relative;
		overflow: hidden;
		font-size: 2.5rem;
		line-height: 1.1;
		height:10rem;
		text-align: center;
		letter-spacing: 6px;
		border: solid 3px #fff;
		border-radius: 60px;
		padding: 30px 0;
		background: #C7A133;
		font-weight: 700;
	}
.apply_reserve_btn_142 a.btn_shine::before 
	{
		position: absolute;
		content: '';
		display: inline-block;
		top: -180px;
		left: 0;
		width: 30px;
		height: 100%;
		background-color: #fff;
		animation: kiran 3s ease-in-out infinite;
	}
@keyframes kiran 
	{
		0% { transform: scale(0) rotate(45deg); opacity: 0; }
		80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
		81% { transform: scale(4) rotate(45deg); opacity: 1; }
		100% { transform: scale(50) rotate(45deg); opacity: 0; }
	}
.apply aside 
	{
		width: 100%;
		max-width: 660px;
		line-height: 2.0;
		margin: 0 auto;
		font-size:2.5rem;
	}
.apply aside ul 
	{
		margin-top: 2rem;
	}
.apply aside ul li 
	{
		font-size: 1.6rem;
		line-height: 1.6;
		margin-bottom: 8px;
	}
.apply aside ul li:last-child 
	{
		margin-bottom: 0;
	}
@media screen and (max-width: 560px)
	{
		.apply_reserve_btn 
			{
				width: 100%;
				margin:0 auto 2rem;
			}
		.apply_reserve_btn a.btn_shine, .apply_pre_reserve_btn 
			{
				font-size: 2.2rem;
				padding:1.5rem 0;
				line-height:1.8;
				height:8rem;
				font-weight:700;
				letter-spacing:0.4rem;
			}
		.apply_reserve_btn_142 a.btn_shine 
			{
				font-size: 2rem;
				line-height: 1;
				height:8rem;
				padding: 15px 0;
			}
		.apply_pre_reserve_btn 
			{
				margin: 0 auto 2rem;
			}
		.apply aside ul 
			{
				margin-top: 1rem;
			}
		.apply aside ul li 
			{
				 font-size: 1.5rem;
				 margin-bottom: 0;
			}
		.apply_reserve_btn a span 
			{
				font-size: 1.2rem;
			}
		.apply aside 
			{
				line-height: 1.7;
				font-size:1.5rem;
			}
	}
/*
===============================================================================
■ detail.php - cancel
===============================================================================
*/
.cancel h3
{
	color: #242424;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 1rem;
	padding-bottom: 0.4rem;
	text-align: center;
}
.cancel p 
	{
		margin-bottom: 5rem;
	}
.cancel .f-container 
	{
		align-items: center;
	}
.cancel .cancel_chart 
	{
		border-top: solid 1px #1375A2;
		border-left: solid 1px #1375A2;
		margin-bottom: 5rem;
	}
.cancel .f-col-1 
	{
		width: 70%;
		border-right: solid 1px #1375A2;
		border-bottom: solid 1px #1375A2;
	}
.cancel .f-col-2 
	{
		width: 30%;
		border-right: solid 1px #1375A2;
		border-bottom: solid 1px #1375A2;
	}
.cancel .cancel_title 
	{
		color: #fff;
		font-size: 1.5rem;
		font-weight: bold;
		background: #1375A2;
		padding: .5rem 1.2rem;
	}
.cancel ol li 
	{
		list-style: none;
		font-size: 1.4rem;
		border-bottom: solid 1px #1375A2;
		padding: .5rem 1.2rem;
	}
.cancel ol li:first-child 
	{
		color: #1375A2;
		font-size: 1.2rem;
		background: #D0E3EC;
		padding: 0 1.2rem;
	}
.cancel ol li:last-child 
	{
		border: none;
	}
.cancel .contact 
	{
		display: block;
		width: 100%;
		background: #1375A2;
		margin: 0 auto;
		padding: 2rem 0;
		border-radius: 6rem;
		text-align: center;
		font-size: 2rem;
		color: #fff;
	}
.cancel .contact img
	{
		width:70%;
	}
@media screen and (max-width: 560px) 
{
  .cancel p
	{
    margin-bottom: 3rem;
  }
  .cancel .f-col-1
	{
    width: 68%;
  }
  .cancel .f-col-2 
	{
    width: 32%;
  }
  .cancel .cancel_title 
	{
    font-size: 1.4rem;
    padding: 0.3rem 1.2rem;
		text-align: start;
  }
  .cancel ol li 
	{
    height: 54px;
    font-size: 1.3rem;
  }
  .cancel ol li:first-child 
	{
    height: auto;
    font-size: 1rem;
    letter-spacing: 0rem;
  }
	.cancel .cancel_chart 
	{
	margin-bottom: 4.5rem;
	}
	.cancel .contact img
	{
	width:90%;
	}
	.cancel .contact 
	{
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 320px) 
{
  .cancel ol li:first-child 
	{
    height: 36px;
  }
}
/*
===============================================================================
■ retreat Top
===============================================================================
*/
.to_retreat_top 
	{
		position: relative;
		margin: 50px auto 20px;
		text-align: center;
	}
.to_retreat_top a 
	{
		color: #2f3c45;
	}
.to_retreat_top p a:before 
	{
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4px 8px 4px 0;
		border-color: transparent #2f3c45 transparent transparent;
		position: absolute;
		left: 34%;
		top: 30%;
		content: '';
	}
.voice_movie 
	{
		padding: 12rem 7% 0;
	}
@media screen and (max-width: 560px) 
{
 .to_retreat_top p a:before 
	{
		left: 25%;
  	}
	.voice_movie 
	{
		padding: 6rem 5% 0;
	}
}

/*
===============================================================================
■ footer
===============================================================================
*/
footer 
	{
		position: relative;
		font-size: 1.2rem;
		background: #1375A2;
		padding: 40px;
		margin: 0 auto;
		z-index: 999;
		max-width:768px;
	}
footer .footer_nav 
	{
		width: 100%;
		text-align: center;
		margin: 0 auto 20px;
	}
footer .footer_nav ul li 
	{
		display: inline-block;
	}
footer .footer_nav ul li:before 
	{
		content: "";
		display: inline-block;
		height: 1em;
		border-left: 1px solid #fff;
		vertical-align: middle;
	}
footer .footer_nav ul li:first-child:before, footer .footer_nav ul li:nth-child(8):before 
	{
		border-left: none;
	}
footer .footer_nav a 
	{
		position: relative;
		display: inline-block;
		line-height: 2.5em;
		box-sizing: border-box;
		padding: 0 1em;
		color: #fff;
	}
footer .footer_nav a :link
	{
		color: #fff;
	}
@media screen and (max-width: 1024px) 
{
  footer .footer_nav 
	{
    max-width: 900px;
  }
  footer .footer_nav ul li:nth-child(8):before 
	{
  }
}
@media screen and (max-width: 820px) 
{
  footer .footer_nav ul li:nth-child(6):before 
	{
    border-left: none;
  }
  footer .footer_nav ul li:nth-child(7):before 
	{
  }
}
@media screen and (max-width: 768px) 
{
  footer 
	{
    width: 100%;
    font-size: 1.2rem;
  }
  footer .footer_nav 
	{
    width: 700px;
  }
  footer .footer_nav ul li:last-child:before 
	{
    border-left: none;
  }
}
@media screen and (max-width: 560px) 
{
  footer 
	{
    padding-bottom: 70px;
  }
  .footer_inner_end footer 
	{
    padding-bottom: 20px;
  }
  footer .footer_nav 
	{
    width: 96%;
    max-width: 360px;
  }
  footer .footer_nav ul li:nth-child(odd):before 
	{
    border-left: none;
  }
  footer .footer_nav ul li:nth-child(6):before, footer .footer_nav ul li:last-child:before 
	{
  }
  _::-webkit-full-page-media, _:future, :root #personal footer 
	{
    margin-bottom: 20px;
  }
	footer 
	{
		padding: 4rem 1rem 8rem;
	}
}
@media screen and (max-width: 320px) 
{
  footer .footer_nav ul li:nth-child(6):before, footer .footer_nav ul li:nth-child(8):before 
	{
    border-left: none;
  }
  footer .footer_nav ul li:nth-child(7):before 
	{
  }
}
/*
===============================================================================
■ pageTop
===============================================================================
*/
#pageTop 
	{
		position: fixed;
		width: 100px;
		height: 100px;
		font-size: 3rem;
		text-align: center;
		line-height: 100px;
		background-color: white;
		border-radius: 50px;
		bottom: 16px;
		right: 16px;
		z-index: 9999;
	}
#pageTop:hover 
	{
		opacity: 0.85;
	}
#pageTop a 
	{
		display: block;
		text-decoration: none;
	}
#pageTop a:link, #pageTop a:visited, #pageTop a:hover, #pageTop a:active 
	{
		color: #1375A2;
	}
@media screen and (max-width: 820px) 
{
  #pageTop 
	{
    position: relative;
    width: 100%;
    height: 80px;
    line-height: 80px;
    background: #fff;
    border-radius: 0;
    bottom: 0;
    right: 0;
  }
}
@media screen and (max-width: 560px) 
{
  #pageTop 
	{
    height: 60px;
    font-size: 2rem;
    line-height: 60px;
  }
}
/*
===============================================================================
■ copyright
===============================================================================
*/
#copyright 
	{
		color: #fff;
		font-size: 10px;
		text-align: center;
	}
/*=========
accordion
=========*/
/*アコーディオン全体*/
.accordion-area
	{
    list-style: none;
    max-width: 900px;
    margin:0 auto;
	}
.accordion-area li
	{
    margin: 10px 0;
	}
.accordion-area section 
	{
/*		border: 1px solid #1375A2;*/
	}
/*アコーディオンタイトル*/
.title 
	{
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1.6rem;
    font-weight: normal;
    padding: 3% 3% 3% 4.5rem;
    transition: all .5s ease;
	  background: #D0E3EC;
	  color: #1375A2;
	}

/*アイコンの＋と×*/
.title::before,
.title::after
	{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #1375A2;
  }
.title::before
	{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
  }
.title::after
	{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);
	}
/*　closeというクラスがついたら形状変化　*/
.title.close::before
	{
		transform: rotate(45deg);
	}
.title.close::after
	{
		transform: rotate(-45deg);
	}
/*アコーディオンで現れるエリア*/
.accordion-area .box 
	{
    display: none;/*はじめは非表示*/
    background: #fff;
    padding: 3% 6%;
	}
/*=========
base
=========*/
.s_section 
	{
		max-width: 1020px;
		margin: 0 auto;
		padding: 2rem 10px;
	}
.gutter>*:not(:last-child) 
	{
  	margin-bottom: 1.5rem;
}
ul.list-disc 
	{
		margin-bottom: 0;
		padding-left: 0;
	}
.list-disc__item 
	{
		margin-left: 1.5em;
		list-style: disc;
	}
a._a 
	{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
		padding: 2.0em 1.0em;
		border: 1px solid #222222;
		background: linear-gradient(to right, #ffffff 50%, #222222 50%);
		background-size: 200% auto;
		box-sizing: border-box;
		color: #222222;
		font-size: 14px;
		text-decoration: none;
		text-align: center;
		transition: .3s;
		position: relative;
	}
a._a:after 
	{
		content: "";
		position: absolute;
		right: -5px;
		bottom: -5px;
		width: 100%;
		height: 100%;
		border-right: 1px solid #222222;
		border-bottom: 1px solid #222222;
	}
a._a:hover 
	{
		color: #ffffff;
		background-position: -100% 0;
	}
    
#mainDescription
{
    margin: 4vw 0;
}