@charset "utf-8";
/* CSS Document */


/* ---------------------------------------------------------------------------------------------

   Back-Color

--------------------------------------------------------------------------------------------- */
.back-zoge{
	background: #f8f4e6; /*象牙*/
}
.back-kinari{
	background: #fbfaf5; /*生成り*/
}
.back-haikimidori{
	background: #e6eae3; /*灰黄緑*/
}
.back-green-cup{
	background: url(../images/green-cup.png) repeat 0 0;
}



/* ---------------------------------------------------------------------------------------------

   Wrap,Contents-wrap,Contents

--------------------------------------------------------------------------------------------- */

/* Wrap
------------------------------------------------------------*/
.wrap{
	width: 100%;
	overflow: hidden;
	background: #e6eae3;
}

.Top-contents-wrap100{
	position: relative;
	width: 100%;
	padding: 75px 0 150px 0;
}

.contents-wrap100{
	position: relative;
	width: 100%;
	padding: 75px 0 125px 0;
}

.contents-wrap90{
	width: 90%;
	padding: 75px 0 125px 0;
	margin: 0 auto;
}

.contents-wrap80{
	width: 80%;
	padding: 75px 0 125px 0;
	margin: 0 auto;
}

@media screen and (max-width:550px) {

.Top-contents-wrap100{
	padding: 75px 0 125px 0;
}
	
.contents-wrap100{
	padding: 75px 0;
}
	
.contents-wrap90{
	padding: 75px 0;
}

.contents-wrap80{
	padding: 75px 0;
}
	
}


/* Contents
------------------------------------------------------------*/
.contents1400{
	width: 1400px;
	margin: 0 auto;
}

.contents1400max{
	width: 1400px;
	margin: 0 auto;
}

.contents1200{
	width: 1200px;
	margin: 0 auto;
}

.contents1000{
	width: 1000px;
	margin: 0 auto;
}

.contents700{
	width: 700px;
	margin: 0 auto;
}

@media screen and (max-width:1450px) {

.contents1400{
	width: 90%;
}
	
.contents1400max{
	width: 100%;
}
	
}

@media screen and (max-width:1250px) {

.contents1200{
	width: 90%;
}
	
}

@media screen and (max-width:1050px) {

.contents1000{
	width: 90%;
}
	
}

@media screen and (max-width:750px) {
	
.contents700{
	width: 90%;
}

}



/* ---------------------------------------------------------------------------------------------

   H2,H3

--------------------------------------------------------------------------------------------- */

/* 英語テキスト
------------------------------------------------------------*/
.eg-h2{
	text-align: center;
	margin-bottom: 25px;
	font-family: 'Libre Baskerville', serif;
	font-size: clamp(36px, 2vw, 48px);
	color: #a8bf93;
	line-height: 1;
	font-weight: normal;
}

.irre-eg-h2 span{
	font-family: 'Libre Baskerville', serif;
	font-size: 108px;
	color: #a8bf93;
	line-height: 1.25;
	font-weight: normal;
	border-bottom: 0.5px solid #fff;
	filter:drop-shadow(2px 2px 3px rgba(0,0,0,0.1));
	position: relative;
	z-index: 5;
}

@media screen and (max-width:1000px) {

.irre-eg-h2 span{
	font-size: 96px;
	line-height: 1.15;
}
	
}

@media screen and (max-width:750px) {

.irre-eg-h2 span{
	font-size: 84px;
	line-height: 1;
}
	
}

@media screen and (max-width:500px) {

.irre-eg-h2 span{
	font-size: 72px;
}
	
}

@media screen and (max-width:400px) {

.irre-eg-h2 span{
	font-size: 60px;
}
	
}

@media screen and (max-width:350px) {

.irre-eg-h2 span{
	font-size: 48px;
}
	
}



/* 日本語テキスト
------------------------------------------------------------*/
h2{
	font-size: clamp(24px, 2vw, 30px);
	font-weight: normal;
	line-height: 1.75;
	margin-bottom: 25px;
}
.re-h2{ /*レギュラーh2*/
	width: 90%;
	text-align: center;
	letter-spacing: 0.15em;
	margin: 0 auto 50px auto;
}

.re-h3 {
	width: 90%;
	text-align: center;
	margin: 0 auto 25px auto;
}
.re-h3 span{ 
	font-size: clamp(20px, 2vw, 24px);
	font-weight: normal;
	line-height: 1.75;
	letter-spacing: 0.15em;
}

.irre-h3 {
	/*width: 90%;*/
	margin: 0 auto 25px auto;
}
.irre-h3 span{ 
	font-size: clamp(20px, 2vw, 24px);
	font-weight: normal;
	line-height: 1.75;
}

@media screen and (max-width:500px) {

h2{
	margin-bottom: 15px;
}
	
}


/* H1,H2,H3 EachTextAnime テキスト
------------------------------------------------------------*/
/*========= 1文字ずつ出現させるためのCSS ===============*/
.eachTextAnime span{
	opacity: 0;
}
.eachTextAnime.appeartext span{
	animation:text_anime_on 0.5s ease-out forwards;
}
@keyframes text_anime_on {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}



/* ---------------------------------------------------------------------------------------------

   Br

--------------------------------------------------------------------------------------------- */
.br-1920{
	display: block;
}
.br-1400{
	display: none;
}
.br-1200{
	display: none;
}
.br-1000{
	display: none;
}
.br-700{
	display: none;
}
.br-500{
	display: none;
}
.br-400{
	display: none;
}
.br-350{
	display: none;
}

@media screen and (max-width:1400px) {
.br-1400{
	display: block;
}
}
@media screen and (max-width:1200px) {
.br-1200{
	display: block;
}
}
@media screen and (max-width:1000px) {
.br-1000{
	display: block;
}
}
@media screen and (max-width:700px) {
.br-700{
	display: block;
}
}
@media screen and (max-width:500px) {
.br-500{
	display: block;
}
}
@media screen and (max-width:400px) {
.br-400{
	display: block;
}
}
@media screen and (max-width:350px) {
.br-350{
	display: block;
}
}

.br--500{/*左右500pxで解除*/
	display: block;
}
@media screen and (max-width:500px) {
.br--500{/*左右500pxで解除*/
	display: none;
}
}



/* ---------------------------------------------------------------------------------------------

   Pankuzu

--------------------------------------------------------------------------------------------- */
.pankuzu-wrap{
	width: 100%;
	padding: 5px 0;
}

.pankuzu-wrap .pankuzu{
	width: 1000px;
	margin: 0 auto;
	font-size: clamp(12px, 2vw, 14px);
}
.pankuzu-wrap .pankuzu a{
	font-size: clamp(12px, 2vw, 14px);
}

.fa-angle-right{
	margin: 0 0.75em;
	font-size: clamp(12px, 2vw, 16px);
   color: #666;
}

@media screen and (max-width:1200px) {

.pankuzu-wrap .pankuzu{
	width: 75%;
}
	
}

/*@media screen and (max-width:900px) {

.pankuzu-wrap .pankuzu{
	width: 55%;
}
	
}*/

/*@media screen and (max-width:550px) {

.pankuzu-wrap .pankuzu{
	width: 40%; 
}
	
}*/


/* 境界線 ※全共通
------------------------------------------------------------*/

.separator-line{
	width: 100%;
	height: 75px;
	background: url(../footer-images/dark-mosaic.png) repeat-x 0 0;
	position: relative;
	z-index: 1;
}

@media screen and (max-width:550px) {

.separator-line{
	height: 50px;
}
	
}


/* ---------------------------------------------------------------------------------------------

   ページ内・外 リンクボタン read more

--------------------------------------------------------------------------------------------- */
.custom-btn {
  background: #fff;
  outline: none !important;
  cursor: pointer;
  transition: all 0.6s ease;
  position: relative;
  display: inline-block;
  z-index: 5;
}

.btn-3 {
  width: 100%;
  height: auto;
  border: none;
  margin-top: 15px;
}

.btn-3 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  /*font-family: 'Libre Baskerville', serif;*/
	line-height: 2.5;
	font-size: clamp(14px, 2vw, 16px);
}
.fa-angle-double-right{
	color: #666;
}

.btn-3:before,
.btn-3:after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  background: #999;
  transition: all 0.6s ease;
}

.btn-3:before {
  height: 0%;
  width: 0.5px;
}
.btn-3:after {
  width: 0%;
  height: 0.5px;
}

.btn-3:hover:before {
  height: 100%;
}

.btn-3:hover:after {
  width: 100%;
}

.btn-3 span:before,
.btn-3 span:after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  background: #999;
  transition: all 0.6s ease;
}

.btn-3 span:before {
  width: 0.5px;
  height: 0%;
}
.btn-3 span:after {
  width: 0%;
  height: 0.5px;
}

.btn-3 span:hover:before {
  height: 100%;
}

.btn-3 span:hover:after {
  width: 100%;
}
	



/* ---------------------------------------------------------------------------------------------

   スクロールダウン ※9-1-1 縦線が動いてスクロールを促す

--------------------------------------------------------------------------------------------- */
/*スクロールダウン全体の場所*/
.scrolldown{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	left:50%;
	bottom: 0;
    /*全体の高さ*/
	height:100px;/*50px*/
}

/*Scrollテキストの描写*/
.scrolldown span{
    /*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
    /*テキストの形状*/
	color: #333;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 50px;/*30px*/
	background: #333;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:50px;/*30px*/
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}
	
	
	
/* ---------------------------------------------------------------------------------------------

   Fadeアニメーション設定

--------------------------------------------------------------------------------------------- */
 .fade{
  opacity: 0;
   transform: translate3d(0, 0, 0);
  transition: all 3s ease;/*fadeスピード*/
  &.full {
   transition: all 0.8 ease;
  }
}

 .top_fade{
  opacity: 0;
   transform: translate3d(0, -75px, 0);
  transition: all 2s ease;/*fadeスピード*/
  &.full {
   transition: all 0.8 ease;
  }
}

 .left_fade{
  opacity: 0;
   transform: translate3d(-75px, 0, 0);
  transition: all 2s ease;/*fadeスピード*/
  &.full {
   transition: all 0.8 ease;
  }
}

 .right_fade{
  opacity: 0;
   transform: translate3d(75px, 0, 0);
  transition: all 2s ease;/*fadeスピード*/
  &.full {
	  
   transition: all 0.8 ease;
  }
}

 .bottom_fade{
  opacity: 0;
   transform: translate3d(0, 75px, 0);
  transition: all 2s ease;/*fadeスピード*/
  &.full {
   transition: all 0.8 ease;
  }
}

.fade-content .anm_mod.active {
 opacity: 1;
 transform: translate3d(0, 0, 0);
}



/* ---------------------------------------------------------------------------------------------

   Page-Top

--------------------------------------------------------------------------------------------- */
#Page-Top {
    position: fixed;
    right: -80px;
    bottom: 155px;
	z-index: 40;
}

#Page-Top a{
    display: flex;
    justify-content: center;
	background: #c7b370;
    transition: opacity .6s ease;
    align-items: center;
    text-decoration: none;
    border-radius: 50px;
	padding: 20px;
}
#Page-Top a:hover {
    opacity: 0.75;
}

#Page-Top .fa-chevron-up{
	line-height: 1;
	font-size: clamp(12px, 3vw, 18px);
}
#Page-Top a .fa-chevron-up{
	color: #333;
}




/* ---------------------------------------------------------------------------------------------

   

--------------------------------------------------------------------------------------------- */
#search_bar {
	margin: 3rem auto 1rem;
}
@media (min-width: 992px) {
	#search_bar {
		display: flex;
		justify-content: center;
	}
}

strong {
	font-weight: normal;
}