/* 基本設定 */
*{padding:0;margin:0;}

.wapper{
width: 100%;	
background:#f5f5f5 ;

}



.container {
	background-color: #ffffff;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border-bottom-width: 0px;
	padding-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	max-width :1280px;
}

.row {
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	display: inline-block
}
.body {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}



.pc-header {
  width: 100%;
  max-width: 1280px;
  height: 100px;
  padding-top: 13px;
  background: #1a1a1a;
  box-shadow: 0px 5px 8px -5px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  box-sizing: border-box;
}

.pc-header-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
}

.pc-header-left {
  width: 47%;
  padding-top: 17px;
}

.pc-header-left > p {
  font-size: 22px;
  color: #ffffff;
  letter-spacing: 2px;
  padding-left: 30px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.pc-header-left > p > a {
  text-decoration: none;
  color: #ffffff;
}

.pc-header-right {
  width: 53%;
  padding-top: 15px;
  padding-right: 20px;
  display: flex; /* 横並びにする */
  align-items: center; /* 上下中央揃え */
}
.pc-header-left-ja {
  width: 53%;
  padding-top: 17px;
}

.pc-header-left-ja > p {
  font-size: 22px;
  color: #ffffff;
  letter-spacing: 2px;
  padding-left: 30px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.pc-header-left-ja > p > a {
  text-decoration: none;
  color: #ffffff;
}

.pc-header-right-ja {
  width: 47%;
  padding-top: 15px;
  padding-right: 20px;
  display: flex; /* 横並びにする */
  align-items: center; /* 上下中央揃え */
}
.pc-header-left-en {
  width: 52%;
  padding-top: 17px;
}

.pc-header-left-en > p {
  font-size: 22px;
  color: #ffffff;
  letter-spacing: 2px;
  padding-left: 30px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.pc-header-left-en > p > a {
  text-decoration: none;
  color: #ffffff;
}
.pc-header-right-en {
  width: 48%;
  padding-top: 15px;
  padding-right: 20px;
  display: flex; /* 横並びにする */
  align-items: center; /* 上下中央揃え */
}
/* モーダルの外側 */
.pc-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  z-index: 1000;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

/* モーダルが表示された状態 */
.pc-modal.pc-show {
  display: flex;
  opacity: 1;
}

/* モーダルの中身 */
.pc-modal-content {
  background: #e5e5e5;
  padding: 40px 20px;
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
  position: relative;
  text-align: center;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.pc-modal.pc-show .pc-modal-content {
  opacity: 1;
  transform: scale(1);
}

/* 閉じるボタン */
.pc-close-btn {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  cursor: pointer;
  color: #333;
  background: none;
  border: none;
}

/* 言語リンクボタン（モーダル内） */
.pc-lang-button {
  display: block;
  background-color: #333333; /* サイトの雰囲気に合わせてダークグレー */
  width: 300px;
  margin: 40px auto;
  text-align: center;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #ffffff;
}

.pc-lang-button > a {
  display: block;
  position: relative;
  font-size: 16px;
  color: #ffffff; /* テキストは白 */
  text-decoration: none;
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.pc-lang-button > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  margin: -3px 0 0 0;
  border-top: 6px solid #ffffff;
  border-left: 6px solid transparent;
  transform: rotate(45deg);
}

/* ホバー時の背景色 */
.pc-lang-button:hover {
  background-color: #000000;
}

/* 言語選択ボタン（ヘッダー部分） */
.pc-language-button {
  display: flex;
  align-items: center;
  width: 140px;
  background-color: #1a1a1a;
  border: 1px solid #ffffff;
  cursor: pointer;
  margin-right: 20px;
  padding: 5px 10px;
  border-radius: 4px;
}

.pc-language-button:hover {
  background: #000000;
}

.pc-language-button img {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.pc-language-button span {
  color: #ffffff;
  font-size: 13px;
  padding-left: 10px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}



/* メニュー2列部分 */
.pc-header-menu-columns {
  display: flex;
  flex-direction: column; /* 縦並び（2列目が下に積む） */
  align-items: flex-end;  /* 右揃え */
}

.pc-header-right-row {
  display: flex;
  gap: 20px;
  margin-bottom: 5px;
  white-space: nowrap;
}

.pc-header-right-row a {
  color: #ffffff;
  text-decoration: none;
  font-size: 13px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.pc-header-right-row a:hover {
  text-decoration: underline;
}





/* スマホヘッダーメニュー */

/* SPヘッダー3ハンバーガーのみ */

/* ヘッダー全体 */
/* SPヘッダー3ハンバーガーのみ */
.sp-header {	
position: fixed;	
top: 0;	
left: 0;
width: 100%;
padding-bottom: 0px;
	z-index: 25;
background: rgb(44, 62, 80, 0.8);	
	height: 50px;
margin-top:0px;	
		
}
.sp-header-menu1{
width: 66%;	
margin: 0 auto;
float:left;	
	height: 50px;
padding-top:12px;	
}
.span-sp-header-title{
width: 100%;
margin-top:-10px;
margin-bottom:-3px;	
padding-left:2%;	
}
.span-sp-header-title > p{
font-size:10px;
color:#ffffff;font-family: "Noto Serif JP", serif;
font-weight: 300;	
}
.sp-header-menu1> a{
font-size:16px;	
color:#ffffff;
text-decoration: none;
padding-left:4%;
font-family: "Noto Serif JP", serif;
font-weight: 300;		
}

.sp-header-menu2-1{
width: 9%;	
margin-top:5px;
margin-right:2%;	
float:right;	
height: 33.5px;	
padding-top:8px;
padding-left:1%;
}
.sp-header-menu2-1 img{
    width: 25px; 
    height: 25px; 
}
.sp-header-menu2{
width: 9%;	
margin-top:5px;
margin-right:2%;	
float:right;	
height: 33.5px;	
padding-top:12px;
padding-left:1%;

}

/* spハンバーガー */
#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 50%;
  height: 52px;
  vertical-align: middle;	
padding-left: 10%;	
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 1px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 1px;
  background: #ffffff;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
padding-top:5%;	
padding-left:3%;
background:url("../images/sp-menu-back.png");
background-repeat: repeat-y;
background-position: 99% 0;	
background-color: #FDF5E6;
  top: 0;
  left: 0;
  z-index: 9999;/*最前面に*/
  width: 92%;/*右側に隙間を作る（閉じるカバーを表示）*/
  height: 100%;
  transition: 0.6s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
}

#nav-content > li
{
	position: relative;
	width: 95%;
  color: black;
  border-left: solid 0px orange;/*左側の線*/
  margin-bottom: 6px;/*下のバーとの余白*/
  line-height: 1.5;
  padding: 12px 0;
  border-bottom:0px solid #d4d4d4;	
  list-style-type: none!important;
}
#nav-content > li:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 0px #8a8a8a;
  border-right: solid 0px #8a8a8a;
  position: absolute;
  top: 50%;
 right: 25px;
  margin-top: -4px;
  transform: rotate(45deg);
}


#nav-content  > li > a {
	 
	   color: #333333;
	text-decoration: none;
display:block;
padding-left:10%;font-family: "Noto Serif JP", serif;
font-weight: 300;		
}
.sp-menu-sen{
width: 90%;
margin:auto;	
}






/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}




.row.blockDisplay {
	display: block;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 480px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
@media only screen and (max-width: 750px) {
img { max-width: 100%; }
}




/* pcサイトで使っているCSS*/
/* pc見出しタグ */

/* 文字サイズspan*/
.span-13{
font-size:13px;	
}

h1{
width: 85%;
max-width: 700px;	
text-align: center;	
margin:auto;	
letter-spacing: 2px;			
padding-top:30px;
line-height: 100%;
padding-bottom:10px;
}
.pc-title-komiji{
font-size:14px;	
line-height: 100%;	
letter-spacing: 4px;	
color:#3f3f3f;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-title{
width: 700px;
font-size:24px;	
color:#3f3f3f;	
margin:auto;
margin-top:80px;
margin-bottom:10px;	
text-align: center;		
letter-spacing: 3px;	
line-height: 100%;font-family: "Noto Serif JP", serif;
font-weight: 500;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-title-15{
font-size:15px;	
}
.pc-title-en{
width: 700px;
font-size:28px;	
color:#3f3f3f;	
margin:auto;
margin-top:80px;
margin-bottom:10px;	
text-align: center;		
letter-spacing: 2px;	
line-height: 100%;font-family: "Noto Serif JP", serif;
font-weight: 500;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-title-en-komoji{
font-size:18px;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-title-sen{
width: 800px;
margin:auto;	
}
.pc-title-sen-en{
width: 800px;
margin:auto;
margin-top:17px;
margin-bottom:70px;		
}
.pc-title-sen-en-contact{
width: 800px;
margin:auto;
margin-top:17px;
margin-bottom:40px;		
}
.pc-midashi-eigo {
width: 700px;
    font-size: 22px;
    color: #3f3f3f;
	letter-spacing: 2px;
	margin:auto;
    margin-top: 10px;
    margin-bottom: 70px;
    text-align: center;
line-height: 100%;font-family: "Noto Serif JP", serif;
font-weight: 500;
}
.pc-midashi-eigo-en {
width: 700px;
    font-size: 20px;
    color: #3f3f3f;
	letter-spacing: 2px;
	margin:auto;
    margin-top: 10px;
    margin-bottom: 70px;
    text-align: center;
line-height: 100%;font-family: "Noto Serif JP", serif;
font-weight: 500;
}






.sp-h1-komoji{
font-size:15px;
line-height: 100%;	
letter-spacing: 2px;	
 font-family: "Noto Serif JP", serif;
font-weight: 300;	
}
.sp-h1{
font-size:20px;	
color:#3f3f3f;	
 	
line-height: 100%;font-family: "Noto Serif JP", serif;
font-weight: 300;	
}

h2{

}
.pc-h2{
font-size:24px;	
color:#3f3f3f;	
line-height: 100%;font-family: "Noto Serif JP", serif;
font-weight: 300;	
}
.sp-h2{
font-size:20px;	
color:#3f3f3f;	
 	
line-height: 100%;	
letter-spacing: 2px;font-family: "Noto Serif JP", serif;
font-weight: 300;	
}
h3{
border-bottom:1px solid  #cccccc;	
padding-bottom:5px;	
text-align: left;	
}

.sp-h3-span{
font-size:19px;
padding-left:50px;
 	
letter-spacing: 2px;		
color:#3f3f3f;font-family: "Noto Serif JP", serif;
font-weight: 300;		
}



.sp-h3-komoji{
font-size:12px;
line-height: 100%;	
}

h4{
font-size: 22px;
width: 80%;	
text-align: center;
margin:auto;	
color: #2a2a2a;	
letter-spacing: 2px;		
border-bottom: 1px solid #9f9f9f;		
padding-top:47px;	
 font-family: "Noto Serif JP", serif;
font-weight: 300;		
}





.sp-midashi-sen{
width: 85%;
margin:auto;	
}

/* pcトップメイン*/
.pc-main{
width: 100%;
height: 490px;	
padding-top:10px;	
margin-bottom:0px;	
background-image: url("../images/pc-main1.jpg")	;
}
.svg-container-soto {
  width: 100%;
  max-width: 500px;
  margin-left: auto; 
  padding-top:130px;
  padding-bottom:40px;		
}
.svg-container {
  width: 100%;
  max-width: 400px;

  padding-top:40px;
  padding-bottom:40px;		
}
.sp-svg-container-soto{
  width: 100%;
  padding-top:40px;
  padding-bottom:10px;	
  margin-top:-10px;	
  margin-bottom:60px;	
  background: #131A2E;		
}
.sp-svg-container {
  width: 80%;
  margin:auto; 
  background: #131A2E;	
}




.char path {
  fill: none;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: draw 1.7s ease-in-out forwards;
}
.char-1 path { animation-delay: 0.0s; }
.char-2 path { animation-delay: 0.2s; }
.char-3 path { animation-delay: 0.4s; }
.char-4 path { animation-delay: 0.6s; }
.char-5 path { animation-delay: 0.8s; }
.char-6 path { animation-delay: 1.0s; }
.char-7 path { animation-delay: 1.2s; }
.char-8 path { animation-delay: 1.4s; }
.char-9 path { animation-delay: 1.6s; }
.char-10 path { animation-delay: 1.8s; }
.char-11 path { animation-delay: 2.0s; }
.char-12 path { animation-delay: 2.2s; }
.char-13 path { animation-delay: 2.4s; }
.char-14 path { animation-delay: 2.6s; }
.char-15 path { animation-delay: 2.8s; }
.char-16 path { animation-delay: 3.0s; }
.char-17 path { animation-delay: 3.2s; }
.char-18 path { animation-delay: 3.4s; }
.char-19 path { animation-delay: 3.6s; }
.char-20 path { animation-delay: 3.8s; }
.char-21 path { animation-delay: 4.0s; }


@keyframes draw {
  to { stroke-dashoffset: 0; }
}



.pc-dress{
width: 100%;
max-width: 800px;
margin:auto;	
margin-top:-40px;
margin-bottom:80px;	
}
.pc-dress > a{	
padding-left:80px;	
font-size:17px;	
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;	
text-decoration: none;	
}
.pc-dress > a:hover{	
text-decoration: underline;
}

/* pc-トップYouTube埋め込み */
.pc-top-youtube{
width: 100%;
max-width: 800px;
margin:auto;
margin-top:60px;	
margin-bottom:60px;	
}




/* pc-top-newsアニメーション1 */
.pc-top-news {
  display: block;  
  width: 800px;  
  padding-top:40px; 
  padding-bottom:30px;	
  margin: auto;  
  margin-top:80px;
  margin-bottom:120px;	
  background: #ffffff;
  position: relative;  
  text-align: center;  
  font-size: 18px;
  letter-spacing: 2px;
  color: #8c6f54;
  text-decoration: none;  
  box-sizing: border-box; /* ← これを追加 */
  overflow: hidden;       /* ← はみ出し防止 */
}

/* 初期状態: ボーダー非表示 */
.pc-top-news::before,
.pc-top-news::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border: 2px solid #decfbf;
  border-radius: 0;
  transition: none;
  box-sizing: border-box; /* ← これを追加 */
}

/* 左上を起点に右に伸びて下に伸びる */
.pc-top-news::before {
  top: 0;
  left: 0;
  border-right-width: 0;
  border-bottom-width: 0;
}

/* 右下を起点に左に伸びて上に伸びる */
.pc-top-news::after {
  bottom: 0;
  right: 0;
  border-left-width: 0;
  border-top-width: 0;
}

.pc-top-news-animate::before {
  animation: pc-top-news-anime1 2s forwards;
}

.pc-top-news-animate::after {
  animation: pc-top-news-anime2 2s forwards;
}

@keyframes pc-top-news-anime1 {
  0% { width: 0; height: 0; }
  50% { width: calc(100% - 0px); height: 0; }
  100% { width: calc(100% - 0px); height: calc(100% - 0px); }
}

@keyframes pc-top-news-anime2 {
  0% { width: 0; height: 0; }
  50% { width: calc(100% - 0px); height: 0; }
  100% { width: calc(100% - 0px); height: calc(100% - 0px); }
}

.pc-top-news::before,
.pc-top-news::after {
  pointer-events: none;
}

/* タイトル */
.pc-top-news-title {
  width: 100%;       /* ← 親の幅に合わせる */
  font-size: 24px;  
  color: #3f3f3f;  
  margin: auto;
  margin-bottom: 10px;  
  padding-left: 40px;  
  text-align: left;    
  letter-spacing: 3px;  
  line-height: 100%;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  box-sizing: border-box; /* ← 追加 */
}

.pc-top-news-title-sen {
  width: 100%;       /* ← 親の幅に合わせる */
  margin: auto;  
  margin-bottom:30px;	
  box-sizing: border-box; /* ← 追加 */
}
/* ニュースアイテム全体 */
.pc-top-news-item {
  display: flex;            /* 左右に並べる */
  justify-content: space-between; /* 左右に余白を持たせる */
  align-items: center;      /* 垂直中央揃え */
  width: 700px;
  margin: auto;
  margin-bottom: 15px;      /* 各ニュースの間隔 */
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
  line-height: 1.4;
}

/* 日付部分 */
.pc-top-news-date {
  color: #8c6f54;
  flex: 0 0 160px;          /* 固定幅（調整可能） */
}

/* タイトル部分 */
.pc-top-news-title-link {
  flex: 1;                  /* 残りの幅を使う */
  text-align: left;
	padding-left:20px;
}

/* リンクの装飾 */
.pc-top-news-title-link a {
  color: #3f3f3f;
  text-decoration: none;
  transition: color 0.3s;
}

.pc-top-news-title-link a:hover {
  color: #8c6f54; 	/* ホバー時の色変化 */
  text-decoration: underline;
}


.pc-main-back{
width: 100%;

}
.pc-biography-name{
width: 95%;
max-width: 700px;	
margin:auto;
margin-bottom:0px;	
}
.pc-biography-name > p{
font-size:25px;	
letter-pcacing: 1px;
color:#5c4b3b;font-family: "Noto Serif JP", serif;
font-weight: 300;	
	
}
.pc-biography-name1{
width: 95%;
max-width: 700px;	
margin:auto;
margin-bottom:40px;	
}
.pc-biography-name1 > p{
font-size:25px;	
letter-pcacing: 1px;
color:#5c4b3b;
font-family: "Noto Serif JP", serif;
font-weight: 300;	
}
.pc-image{
width: 100%;
text-align: center;
margin-bottom:50px;	
}
.pc-bun-ja-biography{
width: 95%;
max-width: 700px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-biography > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

.pc-facebook-link{
width: 100%;	
max-width: 200px;
margin:auto;
margin-top:-40px;	
margin-bottom:100px;	
}
.pc-facebook-link ul{

}
.pc-facebook-link ul > li{
padding:15px 0;
list-style: none;	
}
.pc-facebook-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-facebook-link ul > li > a:hover{
text-decoration: underline;
}


.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 300px);
  gap: 20px; /* 画像の間の余白 */
margin-top:80px;	
margin-bottom:100px;	
  justify-content: center; /* 中央寄せ（任意） */
}

.image-grid img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; /* 必要に応じて調整 */
}
.image-grid1 {
  display: grid;
  grid-template-columns: repeat(3, 300px);
  gap: 20px; /* 画像の間の余白 */
margin-top:-80px;	
margin-bottom:100px;	
  justify-content: center; /* 中央寄せ（任意） */
}

.image-grid1 img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; /* 必要に応じて調整 */
}
.pc-bun-ja-les-spirales{
width: 95%;
max-width: 700px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-les-spirales > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-les-pcirales-link{
width: 95%;	
max-width: 600px;
margin:auto;
margin-bottom:100px;	
}
.pc-les-pcirales-link ul{

}
.pc-les-pcirales-link ul > li{
padding:15px 0;
list-style: none;	
}
.pc-les-pcirales-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-les-pcirales-link ul > li > a:hover{
text-decoration: underline;
}


/* pcサイトウルクズノフデュオ*/
.pc-bun-ja-ourkouzounov-duo{
width: 95%;
max-width: 700px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-ourkouzounov-duo > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-bun-ja-ourkouzounov-duo1{
width: 95%;
max-width: 700px;
margin:auto;	
margin-bottom:150px;	
}
.pc-bun-ja-ourkouzounov-duo1 > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-ourkouzounov-duo-link{
width: 100%;	
max-width: 500px;
margin:auto;
margin-bottom:100px;	
}
.pc-ourkouzounov-duo-link ul{

}
.pc-ourkouzounov-duo-link ul > li{
padding:15px 0;
list-style: none;	
}
.pc-ourkouzounov-duo-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-ourkouzounov-duo-link ul > li > a:hover{
text-decoration: underline;
}


.pc-bun-ja-france-antilles-japan{
width: 100%;
max-width: 700px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-france-antilles-japan > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-france-antilles-japan-link{
width: 100%;	
max-width: 600px;
margin:auto;
margin-bottom:100px;	
}
.pc-france-antilles-japan-link ul{

}
.pc-france-antilles-japan-link ul > li{
padding:15px 0;
list-style: none;	
}
.pc-france-antilles-japan-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-france-antilles-japan-link ul > li > a:hover{
text-decoration: underline;
}


.pc-bun-ja-memorial-symphony{
width: 100%;
max-width: 700px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-memorial-symphony > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-memorial-symphony-link{
width: 100%;	
max-width: 600px;
margin:auto;
margin-bottom:100px;	
}
.pc-memorial-symphony-link ul{

}
.pc-memorial-symphony-link ul > li{
padding:15px 0;
list-style: none;	
}
.pc-memorial-symphony-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-memorial-symphony-link ul > li > a:hover{
text-decoration: underline;
}


.pc-bun-ja-education{
width: 100%;
max-width: 700px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-education > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-education-link{
width: 100%;	
max-width: 600px;
margin:auto;
margin-bottom:100px;	
}
.pc-education-link ul{

}
.pc-education-link ul > li{
padding:15px 0;
list-style: none;	
}
.pc-education-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-education-link ul > li > a:hover{
text-decoration: underline;
}

.pc-works-title{
width: 100%;
padding-left:2%;
margin-bottom:30px;	
text-align: center;	
}
.pc-works-title > p{
font-size:25px;	
letter-spacing: 4px;
color:#2a2a2a;
font-family: "Noto Serif JP", serif;
font-weight: 500;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-top-title-ja{
width: 100%;
margin:auto;
margin-bottom:20px;
background: #f5f0e6;
padding:8px 0;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-top-title-ja > p{
font-size:18px;	
text-align: center;	
letter-pcacing: 1px;
padding:0 2%;	
color:#5c4b3b;
font-family: "Noto Serif JP", serif;
font-weight: 500;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

/* 教育*/
.pc-works-list-1{
width: 95%;
max-width: 500px;	
margin:auto;
margin-bottom:60px;	
}
.pc-works-list-1 ul{

}
.pc-works-list-1 ul > li{
width: 100%;	
padding:8px 0;
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
list-style: none;	
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-works-list{
width: 95%;
max-width: 600px;	
margin:auto;
margin-bottom:60px;	
}
.pc-works-list ul{

}
.pc-works-list ul > li{
width: 100%;	
padding:8px 0;
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
list-style: none;	
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-works-list-13{
font-size:13px;	
}
.pc-works-bun{
width: 95%;
max-width: 600px;	
margin:auto;
margin-bottom:60px;	
}
.pc-works-bun > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-works-bun1{
width: 95%;
max-width: 600px;	
margin:auto;
margin-top:40px;	
margin-bottom:10px;	
}
.pc-works-bun1 > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-works-bun-title{
width: 95%;
max-width: 600px;	
margin:auto;
margin-top:15px;	
margin-bottom:10px;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-works-bun-title > p{	
font-size:18px;		
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 500;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

.pc-gakufu-bun{
width: 95%;
margin:auto;
margin-bottom:60px;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-gakufu-bun > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}

.pc-woks-2retsu{
width: 800px;
margin:auto;
margin-top:40px;
margin-bottom:	60px;
}
.pc-woks-2retsu-naka{
display: flex;	
}
.pc-works-left{
width: 400px;	
text-align: center;	
}
.pc-works-right{
width: 400px;
padding-top:50px;	
padding-left:40px;	
}
.pc-works-right > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-pcacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-works-right > p > a{
color:#0000ff;
text-decoration: none;	
}
.pc-works-right > p > a:hover{
text-decoration: underline;	
}

.clear {
clear:both;
}


/* pcニュース*/
.pc-bun-ja-news{
width: 100%;
max-width: 700px;
margin:auto;	
margin-bottom:60px;	
}
.pc-bun-ja-news > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-bun-ja-news > p >a{
color:#0000ff;
text-decoration: none;	
}
.pc-bun-ja-news > p >a:hover{
text-decoration: underline;	
}

/* pc問い合わせ*/
.pc-bun-ja-contact{
width: 100%;
max-width: 500px;
margin:auto;	
margin-bottom:40px;	
}
.pc-bun-ja-contact > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.pc-bun-ja-contact-mail{
width: 100%;
max-width: 600px;
margin:auto;	
margin-bottom:40px;	
text-align: center;	
}
.pc-bun-ja-contact-mail > a{
font-size:22px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
text-decoration: none;	
font-family: "Noto Serif JP", serif;
font-weight: 400;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.pc-bun-ja-contact-mail > a:hover{
text-decoration: underline;
}


/* タイトル */
.pc-newspage-waku{
width: 100%;
max-width: 700px;
border:1px solid #8c6f54;
padding-top:40px;
padding-left:40px;
padding-right:40px;	
padding-bottom:10px;	
margin:auto;	
margin-bottom:100px;	
box-sizing: border-box;	
}
.pc-newspage-waku-en{
width: 100%;
max-width: 800px;
border:1px solid #8c6f54;
padding-top:40px;
padding-left:40px;
padding-right:40px;	
padding-bottom:10px;	
margin:auto;	
margin-bottom:100px;	
box-sizing: border-box;	
}

.pc-newspage-title {
  width: 100%;       /* ← 親の幅に合わせる */
  font-size: 24px;  
  color: #3f3f3f;  
  margin: auto;
  margin-bottom: 10px;  
  padding-left: 40px;  
  text-align: left;    
  letter-spacing: 3px;  
  line-height: 100%;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  box-sizing: border-box; /* ← 追加 */
}

.pc-newspage-title-sen {
  width: 100%;       /* ← 親の幅に合わせる */
  margin: auto;  
  margin-bottom:30px;	
  box-sizing: border-box; /* ← 追加 */
}
/* ニュースアイテム全体 */
.pc-newspage-item {
  display: flex;
  justify-content: flex-start;
  align-items: baseline; /* ← 高さをbaselineで揃える */
  width: 700px;
  margin: auto;
  margin-bottom: 30px;
  color: #333333;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.4;
box-sizing: border-box;	
}
.pc-newspage-item-en {
  display: flex;
  justify-content: flex-start;
  align-items: baseline; /* ← 高さをbaselineで揃える */
  width: 800px;
  margin: auto;
  margin-bottom: 30px;
  color: #333333;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.4;
box-sizing: border-box;	
}

/* 日付部分 */
.pc-newspage-date {
  color: #8c6f54;
  flex: 0 0 180px;
  font-size: 16px;
  line-height: 1.4;
　letter-spacing: 1px;
box-sizing: border-box;	
}

/* 右側：テキストとリンクのラッパー */
.pc-newspage-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-left: 20px;
box-sizing: border-box;	
}

/* 上段テキスト */
.pc-newspage-text {
  width: 100%;	
  color: #3f3f3f;
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  font-weight: 400;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
box-sizing: border-box;	
}

/* 下段リンク */
.pc-newspage-title-link {
  margin-top: 5px;
}

/* リンクの装飾 */
.pc-newspage-title-link a {
  color: #3f3f3f;
  text-decoration: none;
  transition: color 0.3s;
  font-size: 16px;
  font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

.pc-newspage-title-link a:hover {
  color: #8c6f54;
  text-decoration: underline;
}


/* spサイトCSS */
/* spメイン画像*/
.sp-top-main{
width: 100%;
margin-top:24px;
}


.sp-dress{
width: 100%;
margin:auto;	
margin-top:-10px;
margin-bottom:80px;	
}
.sp-dress > a{	
padding-left:5%;	
font-size:17px;	
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;	
text-decoration: none;	
}
.sp-dress > a:hover{	
text-decoration: underline;
}

/* pc-トップYouTube埋め込み */
.sp-top-youtube{
width: 100%;
margin-top:60px;	
margin-bottom:60px;	
}

/* sp-top-newsアニメーション1 */
.sp-top-news {
  display: block;  
  width: 98%;       /* ← %で可変幅に */
  max-width: 800px; /* ← 最大幅を800pxに */
  padding:10px 10px;  
  margin: 80px auto 120px auto;  
  background: #ffffff;
  position: relative;  
  text-align: center;  
  font-size: 18px;
  letter-spacing: 2px;
  color: #8c6f54;
  text-decoration: none;  
  box-sizing: border-box;
  overflow: hidden;
}

/* 初期状態: ボーダー非表示 */
.sp-top-news::before,
.sp-top-news::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border: 2px solid #decfbf;
  border-radius: 0;
  transition: none;
  box-sizing: border-box;
  pointer-events: none;
}

.sp-top-news::before {
  top: 0;
  left: 0;
  border-right-width: 0;
  border-bottom-width: 0;
}

.sp-top-news::after {
  bottom: 0;
  right: 0;
  border-left-width: 0;
  border-top-width: 0;
}

.sp-top-news-animate::before {
  animation: sp-top-news-anime1 2s forwards;
}

.sp-top-news-animate::after {
  animation: sp-top-news-anime2 2s forwards;
}

@keyframes sp-top-news-anime1 {
  0% { width: 0; height: 0; }
  50% { width: 100%; height: 0; }
  100% { width: 100%; height: 100%; }
}

@keyframes sp-top-news-anime2 {
  0% { width: 0; height: 0; }
  50% { width: 100%; height: 0; }
  100% { width: 100%; height: 100%; }
}

/* タイトル */
.sp-top-news-title {
  width: 100%;
  font-size: 24px;
  color: #3f3f3f;
  margin-top:20px;	
  margin-bottom:10px;	
  padding-left: 40px;
  text-align: left;
  letter-spacing: 3px;
  line-height: 1.2;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  box-sizing: border-box;
}

.sp-top-news-title-sen {
width: 96%;
margin:auto;	
margin-bottom:30px;	
}

/* ニュースアイテム全体 */
.sp-top-news-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 95%;       /* ← 可変幅に */
  max-width: 700px; /* ← 最大幅 */
  margin: 0 auto 15px auto;
  color: #333333;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  word-break: normal;
  overflow-wrap: normal;
  white-space: normal;
  line-height: 1.4;
  box-sizing: border-box;
  flex-wrap: wrap; /* スマホ時に折り返し */
}

/* 日付部分 */
.sp-top-news-date {
  color: #8c6f54;
  flex: 0 0 120px;
  padding-left: 3%;	
  font-size: 15px; /* スマホでは小さく */
}

/* タイトル部分 */
.sp-top-news-title-link {
  flex: 1;
  text-align: left;
  font-size: 16px;
  padding-left: 3%;	
}

.sp-top-news-title-link a {
  color: #3f3f3f;
  text-decoration: none;
  transition: color 0.3s;
}

.sp-top-news-title-link a:hover {
  color: #8c6f54;
  text-decoration: underline;
}

/* スマホサイズ向け調整 */
@media (max-width: 600px) {
  .sp-top-news {
    margin: 50px auto 80px auto;
    font-size: 16px;
  }

  .sp-top-news-title {
    font-size: 20px;
    padding-left: 20px;
  }

  .sp-top-news-item {
    flex-direction: column;  /* 縦並びに */
    align-items: flex-start; /* 左揃えに */
    width: 100%;
  }

  .sp-top-news-date {
    margin-bottom: 5px;
    flex: none;    /* 幅指定を解除 */
    font-size: 13px;
  }

  .sp-top-news-title-link {
    padding-left: 0;
    width: 100%;
    font-size: 15px;
  }
}

/* spタイトル*/
.sp-title-top{
width: 98%;	
margin:auto;
margin-bottom:40px;	
text-align: left;	
}
.sp-title-page{
width: 98%;	
margin:auto;
margin-top:60px;	
margin-bottom:40px;	
text-align: left;	
}
.sp-span-title-top{
font-size:22px;	
padding-left:5%;		
letter-spacing: 2px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
} 
.sp-span-title-top1{
font-size:20px;	
padding-left:2%;		
letter-spacing: 2px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
} 
.sp-span-title-15{
font-size:16px;	
}
.sp-span-title{
font-size:20px;
padding-left:10px;	
letter-spacing: 2px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
} 
.sp-top-title-sen{
width: 98%;
margin:auto;
margin-top:5px;
}
.sp-midashi-eigo{
width: 95%;	
font-size:20px;
color:#2a2a2a;	
padding-top:5px;
padding-left:30px;	
margin:auto;	
text-align: left;
font-family: "Noto Serif JP", serif;
font-weight: 400;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-midashi-eigo-14{
width: 95%;	
font-size:15px;
color:#2a2a2a;	
padding-top:5px;
padding-left:20px;	
margin:auto;	
text-align: left;
font-family: "Noto Serif JP", serif;
font-weight: 400;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-midashi-eigo-15{
width: 95%;	
font-size:17px;
color:#2a2a2a;	
padding-top:5px;
padding-left:30px;	
margin:auto;	
text-align: left;
font-family: "Noto Serif JP", serif;
font-weight: 400;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-midashi-shita{
margin-bottom:60px;	
}
.sp-image{
width: 98%;
margin:auto;	
margin-bottom:20px;	
}
.sp-works-title{
width: 100%;
padding-left:2%;
margin-bottom:30px;	
}
.sp-works-title > p{
font-size:20px;	
letter-spacing: 1px;
color:#2a2a2a;
font-family: "Noto Serif JP", serif;
font-weight: 500;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-top-title-ja{
width: 100%;
margin:auto;
margin-bottom:20px;
background: #f5f0e6;
padding:8px 0;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;	
}
.sp-top-title-ja > p{
font-size:18px;	
letter-spacing: 1px;
padding:0 2%;	
color:#5c4b3b;
font-family: "Noto Serif JP", serif;
font-weight: 500;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

.sp-biography-name{
width: 95%;
margin:auto;
margin-bottom:0px;	
}
.sp-biography-name > p{
font-size:18px;	
letter-spacing: 1px;
color:#5c4b3b;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-biography-name1{
width: 95%;
margin:auto;
margin-bottom:40px;	
}
.sp-biography-name1 > p{
font-size:18px;	
letter-spacing: 1px;
color:#5c4b3b;
font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-bun-ja-biography{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-biography > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

.sp-facebook-link{
width: 100%;	
padding-left:20%;
margin:auto;	
margin-bottom:100px;	
}
.sp-facebook-link ul{

}
.sp-facebook-link ul > li{
padding:15px 0;
list-style: none;	
}
.sp-facebook-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-facebook-link ul > li > a:hover{
text-decoration: underline;
}


/* spレスピラル*/
.sp-les-spirales-link{
width: 90%;
margin:auto;
margin-bottom:60px;	
}
.sp-les-spirales-link ul{

}
.sp-les-spirales-link ul > li{
padding:15px 0;
list-style: none;	
}
.sp-les-spirales-link ul > li > a{
font-size:17px;	
line-height: 120%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
padding:8px 0;
text-decoration: none;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

.sp-bun-ja{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja > p{
font-size:16px;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;		
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

/* spウルクズノフデュオ*/
.sp-bun-ja-duo-ourkouzounov{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-duo-ourkouzounov > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-bun-ja-duo-ourkouzounov1{
width: 90%;
margin:auto;
margin-top:40px;	
margin-bottom:10px;	
}
.sp-bun-ja-duo-ourkouzounov1 > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

/* sp記憶の交響曲*/
.sp-bun-ja-memorial-symphony{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-memorial-symphony > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
/* spデュオウルクズノフ*/
.sp-bun-ja-ourkouzounov-duo{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-ourkouzounov-duo > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
/* spフランスアンティーユ日本*/
.sp-bun-ja-les-spirales{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-les-spirales > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
/* spフランスアンティーユ日本*/
.sp-bun-ja-france-antilles-japan{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-france-antilles-japan > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
/* sp教育*/
.sp-bun-ja-education{
width: 90%;
margin:auto;
margin-bottom:40px;	
}
.sp-bun-ja-education > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;font-family: "Noto Serif JP", serif;
font-weight: 300;	
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}

/* 教育*/
.sp-works-list{
width: 90%;
margin:auto;
margin-bottom:60px;	
}
.sp-works-list ul{

}
.sp-works-list ul > li{
width: 100%;	
padding:8px 0;
font-size:17px;	
line-height: 120%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-works-list-13{
font-size:13px;	
}
.sp-works-bun{
width: 90%;
margin:auto;
margin-bottom:60px;	
}
.sp-works-bun > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.sp-works-bun1{
width: 90%;
margin:auto;
margin-bottom:10px;	
}
.sp-works-bun1 > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.sp-works-bun-title{
width: 95%;
margin:auto;
margin-top:15px;	
margin-bottom:10px;	
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;		
}
.sp-works-bun-title > p{	
font-size:18px;		
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 500;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}

.sp-gakufu-bun{
width: 90%;
margin:auto;
margin-bottom:60px;	
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;	
}
.sp-gakufu-bun > p{
width: 100%;	
font-size:17px;	
line-height: 120%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.sp-gakufu-bun > p > a{
color:#0000ff;
text-decoration: none;
}


/* spニュース*/
.sp-bun-ja-news{
width: 90%;
max-width: 700px;
margin:auto;	
margin-bottom:50px;	
}
.sp-bun-ja-news > p{
width: 100%;	
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}
.sp-bun-ja-news > p > a{
color:#0000ff;
text-decoration: none;	
}

/* sp問い合わせ*/
.sp-bun-ja-contact{
width: 90%;
max-width: 500px;
margin:auto;	
margin-bottom:40px;	
}
.sp-bun-ja-contact > p{
font-size:17px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
font-family: "Noto Serif JP", serif;
font-weight: 300;
word-break: normal;
overflow-wrap: normal;
white-space: normal;	
}
.sp-bun-ja-contact-mail{
width: 100%;
max-width: 600px;
margin:auto;	
margin-bottom:40px;	
text-align: center;	
}
.sp-bun-ja-contact-mail > a{
font-size:20px;	
line-height: 160%;	
letter-spacing: 1px;
color:#333333;
text-decoration: none;	
font-family: "Noto Serif JP", serif;
font-weight: 400;
word-break: normal;
overflow-wrap: normal;
white-space: normal;
}


/* スマホ全体枠 */
.sp-newspage-waku {
  width: 98%;
  padding: 20px;
  margin: auto;
  margin-bottom: 60px;
  box-sizing: border-box;
  border: 1px solid #8c6f54;
}

/* 各アイテム */
.sp-newspage-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 25px;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  color: #333;
  line-height: 1.6;
  box-sizing: border-box;
}

/* 日付 */
.sp-newspage-date {
  color: #8c6f54;
  font-size: 17px;
  margin-top:5px;	
  margin-bottom: 4px;
  font-weight: 500;
  letter-spacing: 1px;
}

/* 内容全体（テキスト＋リンク） */
.sp-newspage-content {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding-left: 0;
}

/* テキスト */
.sp-newspage-text {
  font-size: 17px;
  font-weight: 400;
  color: #3f3f3f;
  margin: 0;
  padding: 0;
  letter-spacing: 1px;	
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  box-sizing: border-box;
}

/* リンク */
.sp-newspage-title-link {
  margin-top: 4px;
}

.sp-newspage-title-link a {
  color: #3f3f3f;
  font-size: 17px;
  text-decoration: none;
  letter-spacing: 1px;	
  transition: color 0.3s;
  font-weight: 300;
}

.sp-newspage-title-link a:hover {
  color: #8c6f54;
  text-decoration: underline;
}









/* 上に戻るボタン */

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #aae272;
  opacity: 0.6;
  border-radius: 50%;
margin-right: 3%;
	margin-bottom: 3%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: FontAwesome;
  content: '\f102';	
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


.pc-footer {
  background-color: #333333; /* ヘッダーと同じ背景色に設定 */
  padding: 40px 0;
  width: 100%;
  display: flex;
  justify-content: center;
}

.pc-footer-menu-columns {
  width: 1280px;
  display: flex;
  flex-direction: column;
  align-items: center; /* 左寄せに変更したい場合はここで調整 */
}

.pc-footer-row {
  display: flex;
  gap: 20px;
  margin-bottom: 10px;
  white-space: nowrap;
}

.pc-footer-row a {
  color: #ffffff;
  text-decoration: none;
  font-size: 13px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.pc-footer-row a:hover {
  text-decoration: underline;
}

.pc-footer-2-copyright{
width: 1280px;
padding-top:40px;
padding-bottom:40px;	
text-align: center;
background: #1a1a1a;	
}
.pc-footer-2-copyright > p{
width: 1280px;
font-size:15px;
color:#ffffff;
letter-spacing: 1px;	
font-family: "Noto Serif JP", serif;
font-weight: 400;	
}


/* spフッターナビ */

.sp-footer-pagelink-zentai{
width: 100%;
background:#f6e9d6;
padding:30px 0;	
}
.sp-footer-pagelink-zentai ul{
width: 90%;
margin:auto;	
}
li.sp-footer-pagelink{
width: 100%;
list-style: none;
padding:5px 0;	
position: relative;		
}
li.sp-footer-pagelink > a{
display: block;	
color:#333333;
font-size:15px;
text-decoration: none;
padding-left:6%;	
letter-spacing: 1px;font-family: "Noto Serif JP", serif;
font-weight: 300;		
}

/* spフッター */

.spfooter {
	width: 100%;
	clear: both;
  text-align: center;
  padding:10px 0;	
  background:#bfa46f;	
}

.spfooter p {
width: 100%;
ext-align: center;
font-size: 14px;
color: #4a4a4a;
line-height: 170%;
padding:10px 0;font-family: "Noto Serif JP", serif;
font-weight: 300;		
}



*, *:before, *:after {
	box-sizing: border-box;
}





/*メニューをページ下部に固定*/
#sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 1;
   z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 14px;
   border-right: 1px solid #fff;
}

/*左側メニュー*/
#sp-fixed-menu li:first-child{
   background: #FF5733;
}

/*右側メニュー*/
#sp-fixed-menu li:last-child{
   background: #FF8C42;
}

/*ボタンを調整*/
#sp-fixed-menu li a{
   color: #fff;
	font-size:14px;
   text-align: center;
   display:block;
	text-decoration: none;
   width: 100%;
   padding:15px 10px;
	letter-spacing: 1px;
 font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;	
}
@media (min-width: 768px) {
   .for-sp{
      display:none;
    }
}


/* モーダルの外側 */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7); /* 半透明黒背景 */
  z-index: 1000;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

/* モーダルが表示された状態 */
.modal.sp-show {
  display: flex;
  opacity: 1;
}

/* モーダルの中身 */
.modal-content {
  background: #e5e5e5; /* 中身の背景色 */
  padding: 40px 20px;
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
  position: relative;
  text-align: center;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

/* 表示時に中身をフェード＆スケールアップ */
.modal.sp-show .modal-content {
  opacity: 1;
  transform: scale(1);
}

/* 閉じるボタン */
.close-btn {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 30px;
  cursor: pointer;
  color: #333;
  background: none;
  border: none;
}

/* 言語ボタン */
.sp-lang-botan-ja {
  display: block;
  background-color: #333333; /* ダークグレー */
  width: 300px;
  margin: 40px auto;
  text-align: center;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #ffffff;
  transition: background-color 0.3s ease;
}

/* ホバー時の背景色 */
.sp-lang-botan-ja:hover {
  background-color: #000000;
}

.sp-lang-botan-ja > a {	
  display: block;
  position: relative;	
  font-size: 16px;
  color: #ffffff; /* 白文字 */
  text-decoration: none;	
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}

.sp-lang-botan-ja > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 0;
  height: 0;
  margin: -3px 0 0 0;
  border-top: 6px solid #ffffff;
  border-left: 6px solid transparent;
  transform: rotate(45deg);
}



/* 初期状態の共通設定 */
.mojianime1 span,
.mojianime2 span,
.mojianime3 span,
.mojianime4 span,
.mojianime5 span,
.mojianime6 span,
.pc-main-image span,
.mojianime8 span,
.mojianime9 span,
.mojianime10 span
{
    display: inline-block;
    opacity: 0; /* 初期は透明 */
    transform: translate(0, 0) rotateY(0deg); /* 初期位置と回転角度 */
    will-change: transform, opacity; /* パフォーマンス向上 */
    backface-visibility: visible; /* 背面を表示 */
    transform-style: preserve-3d; /* 3D効果を維持 */
}

/* アニメーションごとのスタイル */
.mojianime1 span {
    transform: translate(-10px, -10px) rotateY(0deg); /* 初期状態 */
}

.mojianime2 span {
    transform: translate(0, -10px) rotateY(0deg); /* 初期状態 */
}

.mojianime3 span {
    transform: translate(0, 10px) rotateY(0deg); /* 初期状態 */
}

.mojianime4 span {
    transform: translate(-10px, 10px) rotateY(0deg); /* 初期位置 */
}

.mojianime5 span {
    transform: translateY(20px); /* 初期位置 */

}

.mojianime6 span {
    transform: translateY(0); /* 初期位置 */
}

.mojianime7 span {
    opacity: 0; /* 初期状態で透明 */
    transform: translateY(0); /* 初期位置は変化なし */
}
.mojianime8 span {
    opacity: 0; /* 初期状態で透明 */
    transform: translateY(0px); /* 初期位置 */
}
.mojianime9 span {
    transform: translate(0, -10px); /* 初期状態 */
}
.mojianime10 span {
    transform: translate(0, 10px); /* 初期状態 */
}


/* アニメーション1 */
.title-sen1 {
  width: 100%;
  max-width: 800px;
  margin: auto;
  border-bottom: 1px solid #848484;
  transform-origin: center;
  transform: scaleX(0); /* 初期状態で非表示 */
  transition: transform 1.5s ease-out;
}
.title-sen1.title-sen1-active {
  transform: scaleX(1); /* アニメーションで表示 */
}

/* アニメーション2 */

.title-sen2 {
  width: 100%;
  max-width: 750px;
  margin: auto;
  border-bottom: 1px solid #848484;
  transform-origin: left; /* アニメーションの起点を左側に設定 */
  transform: scaleX(0); /* 初期状態で非表示 */
  transition: transform 1.3s ease-out; /* アニメーション設定 */
}

.title-sen2.title-sen2-active {
  transform: scaleX(1); /* アニメーションで表示 */
}

/* アニメーション3 */

.title-sen3 {
  width: 100%;
  max-width: 750px;
  margin: auto;
  border-bottom: 3px solid #d4d4d4;
  transform-origin: right; /* アニメーションの起点を左側に設定 */
  transform: scaleX(0); /* 初期状態で非表示 */
  transition: transform 1.3s ease-out; /* アニメーション設定 */
}

.title-sen3.title-sen3-active {
  transform: scaleX(1); /* アニメーションで表示 */
}


.title-sen4 {
  width: 100%;
  max-width: 750px;
  margin: auto;
  border-bottom: 1px solid #848484;
  transform-origin: left; /* アニメーションの起点を左側に設定 */
  transform: scaleX(0); /* 初期状態で非表示 */
  transition: transform 1.3s ease-out 0.7s; /* アニメーション設定 */
}

.title-sen4.title-sen4-active {
  transform: scaleX(1); /* アニメーションで表示 */
}


/* イメージアニメーション1　右からスライド */
.image-right {

}

.image-right img {
  opacity: 0; /* 初期は透明 */
  transform: translateX(30px); /* 右にずらす */
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.image-right-active img {
  transform: translateX(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}
.image-right-all {
  opacity: 0; /* 初期は透明 */
  transform: translateX(30px); /* 右にずらす */
  transition: transform 1s ease-out, opacity 1s ease-out;
}


.image-right-all-active{
  transform: translateX(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}


/* イメージアニメーション2　左からスライド */
.image-left {

}

.image-left img {
  opacity: 0; /* 初期は透明 */
  transform: translateX(-30px); /* 左にずらす */
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.image-left-active img {
  transform: translateX(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}

.image-left-all {
  opacity: 0; /* 初期は透明 */
  transform: translateX(-40px); /* 左にずらす */
  transition: transform 1.2s ease-out, opacity 1.2s ease-out;
}
.image-left-all-active{
  transform: translateX(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}



.image-left-1{
  opacity: 0; /* 初期は透明 */
  transform: translateX(-30px); /* 左にずらす */
  transition: transform 1.8s ease-out, opacity 1.8s ease-out;
}
.image-left-2 {
  opacity: 0;
  transform: translateX(-80px);
  transition: transform 1.8s ease-out 0.3s, opacity 1.8s ease-out 0.3s; /* 0.3秒の遅延 */
}
.image-left-3 {
  opacity: 0;
  transform: translateX(-100px);
  transition: transform 1.8s ease-out 0.6s, opacity 1.8s ease-out 0.6s; /* 0.6秒の遅延 */
}
.image-left-1-active{
  transform: translateY(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}

.image-left-2-active{
  transform: translateX(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}
.image-left-3-active{
  transform: translateX(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}

/* イメージアニメーション3　下からスライド */
.image-shita {

}

.image-shita img {
  opacity: 0; /* 初期は透明 */
  transform: translateY(30px); /* 下にずらす */
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.image-shita-active img {
  transform: translateY(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}
.image-shita-all {
  opacity: 0; /* 初期は透明 */
  transform: translateY(40px); /* 下にずらす */
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
}


.image-shita-all-active{
  transform: translateY(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}

/* イメージアニメーション4　上からスライド */
.image-ue {

}

.image-ue img {
  opacity: 0; /* 初期は透明 */
  transform: translateY(-30px); /* 上にずらす */
  transition: transform 1s ease-out, opacity 1s ease-out;
}

.image-ue-active img {
  transform: translateY(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}
.image-ue-all {
  opacity: 0; /* 初期は透明 */
  transform: translateY(-30px); /* 上にずらす */
  transition: transform 1s ease-out, opacity 1s ease-out;
}
.image-ue-all-active{
  transform: translateY(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に表示 */
}

/* botanアニメーション1 */
a.botan{
display: block;	
width: 60%;	
max-width: 250px;
padding:10px 0;	
margin:auto;	
background: #ffffff;
position: relative;	
text-align: center;	
font-size:18px;
letter-spacing: 2px;
color:#8c6f54;
text-decoration: none; 
margin-bottom:60px;	
}


/* 初期状態: ボーダー非表示 */
a.botan::before,
a.botan::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 2px solid #decfbf; /* ボーダー色 */
    border-radius: 0;
    transition: none;
}

/* 左上を起点に右に伸びて下に伸びる */
a.botan::before {
    top: 0;
    left: 0;
    border-right-width: 0;
    border-bottom-width: 0;
}

/* 右下を起点に左に伸びて上に伸びる */
a.botan::after {
    bottom: 0;
    right: 0;
    border-left-width: 0;
    border-top-width: 0;
}

/* アニメーション時: ボーダー展開※クラス名は親クラス名-animate */
a.botan-animate::before {
    animation: botan-anime1 1.5s forwards;
}

a.botan-animate::after {
    animation: botan-anime2 1.5s forwards;
}

/* calcでborderの太さ文の数字を引く */
@keyframes botan-anime1 {
    0% {
        width: 0;
        height: 0;
    }
    50% {
        width: calc(100% - 0px); /* ボーダーサイズを考慮 */
        height: 0;
    }
    100% {
        width: calc(100% - 0px); /* ボーダーサイズを考慮 */
        height: calc(100% - 0px); /* ボーダーサイズを考慮 */
    }
}

@keyframes botan-anime2 {
    0% {
        width: 0;
        height: 0;
    }
    50% {
        width: calc(100% - 0px); /* ボーダーサイズを考慮 */
        height: 0;
    }
    100% {
        width: calc(100% - 0px); /* ボーダーサイズを考慮 */
        height: calc(100% - 0px); /* ボーダーサイズを考慮 */
    }
}

.botan > a::before,
.botan > a::after {
  pointer-events: none; /* ← これを追加！ */
}



