body{line-height:1.8em;font-family: sans-serif;font-size:15px;}
img{width:100%;}
#main h3 {
    padding:5px 10px 5px 35px;  /*内側の余白*/
    border-bottom:1px solid #666666;  /*下線の太さ 種類 色*/
    font-size:23px;
    font-weight:bold;
    position:relative;
    text-align:left;
}

#main h2{padding:5px 10px 5px 30px;margin-bottom:1em;font-size:24px;
    font-weight:bold;}
#main h4{padding:5px 10px 5px 30px;margin-bottom:0.5em;font-size:1.2em;
    font-weight:bold;}
@media only screen and (max-width: 680px) {
  #main h1 { font-size: 0.8em; }
  #main h1, #main h3{margin-left:10px;margin-right:10px;}}

#wrapper{
margin:0;
padding:0;
text-align:center;
}

#page{
margin:10px auto;
max-width:1280px;
padding:0;
}

#header{
text-align:left;
padding-top:20px;
width:100%;
/*height:150px;*/
display: flex;
justify-content: space-between;
}

#logo{display:block;
margin:20px 0 0 35px;
}
#logo img{max-width:300px; height:auto;}
#lang{width: fit-content;}
#lang a{ text-decoration: none;color:#000000;}
#lang a:hover{ text-decoration:underline;}
@media only screen and (max-width: 680px) {
#header{ flex-direction: row-reverse; /* 右から左へ並ぶ */
text-align:left;
padding-top:10px;
width:100%;
height:90px;}
#logo{margin:10px auto;}
#logo {max-width:50%;padding:0;
display:block;}
#logo img{max-width:80%; height:auto;}
#lang{margin-left:0;}
}
@media only screen and (max-width: 480px) {
#header{ flex-direction: row-reverse; /* 右から左へ並ぶ */
text-align:left;
padding-top:10px;
width:100%;
height:90px;}
#logo{margin:10px auto 0 0;}
#logo {max-width:50%;padding:0;
display:block;}
#logo img{max-width:100%; height:auto;}
#lang{margin-left:0;}
}
/* 見出しmaru */
/*色分け設定*/
:root{ --base-color: #fbeaff;
  --green-color: #d6e6ae;
  --yellow-color: #fdf7b8;
  --pink-color: #f5d5e0;
  --blue-color: #a0d8f5;
  --pink2-color: #f4b6c7;
  --blue2-color: #cae8f9;}
div[data-contents="01"]{--base-color:#fbeaff;}
[data-contents="08"]{--base-color: var(--green-color);}
[data-contents="09"]{--base-color: var(--yellow-color);}
[data-contents="10"]{--base-color: var(--pink-color);}
[data-contents="11"]{--base-color: var(--blue-color);}
[data-contents="12"]{--base-color: var(--pink2-color);}
[data-contents="13"]{--base-color: var(--blue2-color);}
.h-bg-circle {
  position: relative;
  z-index: -100;
  padding-left: 20px;padding-top:50px;
}

.h-bg-circle::before {
  content: '';
  position: absolute;
  top: 20%;
  left: 0;
  transform: translateY(-50%);
  width: 100px;
  height: 100px;
  background: var(--base-color);
  border-radius: 50%;
  z-index: -100;
  opacity: 0.5;
}
.h-bg-circle2 {
  position: relative;
  z-index: -100;
  padding-left: 20px;
}

.h-bg-circle2::after {
  content: '';
  position: absolute;
  top: 70%;
  right: 0;
  transform: translateY(-50%);
  width: 200px;
  height: 200px;
  background: var(--base-color);
  border-radius: 50%;
  z-index: -100;
  opacity: 0.5;
}

.t_menu a{ text-decoration: none;color:#000000;}
.t_menu{ padding:0 10px 4px 10px;
  white-space: nowrap;transition: color 0.25s ease;/*display: inline-block;*/position: relative;}
.t_menu a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #999999;
bottom: -1px;
transform: scale(0, 1);
transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;   /*変形の時間*/}
.t_menu a:hover::after {
transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/}


/*kokokara */

header::after{display:none;} 
nav{display: block;}

.Toggle{display: none;}
.menu{width: 100%;
  background-color: transparent;
  margin-top:0;
 -webkit-transform: translateX(0);
 transform: translateX(0);
}
.menu ul{list-style-type: none;
 height: 70px;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-around;
 align-items: center;
}
.menu ul li a{
 padding: 0 1em;
text-decoration: none;}
.menu ul li a:hover
{background-color:transparent;}

/* メニューのaタグ（オリジナルテーマのクラス名に合わせて調整してください） */
/* メニューアイテムのリスト（横並びにする設定） */
.menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.t_menu a {
  display: block;
  position: relative;
  /* 高さや余白は元のデザインに合わせて調整してください */
  height: 50px;     
  line-height: 50px;
  padding: 0 20px;  
  text-decoration: none;
  text-align: center;
}

/* 日本語と英語の共通設定 */
.t_menu a span {
  display: block;
  width: 100%;
  /* 変化にかかる時間（0.3秒でフェード） */
  transition: opacity 0.3s ease; 
}

/* 1. 通常（日本語）の状態 */
.t_menu a .ja {
  opacity: 1;
}

/* 2. 英語の初期状態（同じ位置に重ねて、透明にしておく） */
.t_menu a .en {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

/* 3. ホバー時：日本語を透明にする */
.t_menu a:hover .ja {
  opacity: 0;
}

/* 4. ホバー時：英語を不透明（表示）にする */
.t_menu a:hover .en {
  opacity: 1;
}

@media screen and (max-width: 680px) {
nav{width: 100%;
/*height: 70px;*/
position: relative;
background: #ffffff;}

.drawer{
 display: flex;
 flex-direction: row;
 align-items: center;
 justify-content: space-between;
 position: relative;
 height: 70px;
 padding: 0 1em;
}
.t_menu{ padding:10px 0;width: 60%;margin:0 auto;
  white-space: nowrap;transition: color 0.25s ease;/*display: inline-block;*/position: relative;
}
.t_menu a:hover::before {
  transform: scaleX(0.8);/*下線の長さ*/
  transform-origin: center;
}
.t_menu a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  
  height: 10px;
  border-bottom:1px solid #333333;
  transform: scaleX(0);
  transform-origin: center;
  transition: all 0.25s ease;
  transition-property: transform;
}

/*ナビゲーション部分*/
.menu ul{display:block;height:100%;padding-top:50px;padding-left:0;}
.menu li a {width:fit-content;
/*height:50px;*/
/*font-weight:bold;*/
margin:0 auto;
padding: 1em;
/*border-bottom: 1px dotted #CCC;*/
color:#777;
text-decoration:none;
}

/*.menu ul li a:hover
{background-color:rgba(0,0,0,0.5);
color:orange;}
*/

.menu{
text-align:center;
background-color:rgba(255,255,255,0.5);
transition: .5s ease;/*滑らかに表示*/
-webkit-transform: translateY(-105%);
transform: translateY(-105%);/*左に隠しておく*/
}

/*OPEN時の動き*/
.menu.open {
 -webkit-transform: translateY(0%);
 transform: translateY(0%);/*中身を表示（下へスライド）*/
}

/*トグルボタンのスタイルを指定*/
.Toggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    width: 44px;
    height: 45px;
    cursor: pointer;
    z-index: 1100;
  right:15px;
  top:10px;
  background-color:#ffffff;border-radius:5px;
  border:1px solid #333333;
}
 
.Toggle span {
    display: block;
    position: absolute;
    width: 30px;
    left:6.5px;
    border-bottom: solid 2px #333333;
    -webkit-transition: .35s ease-in-out; /*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;    /*変化の速度を指定*/
    transition: .35s ease-in-out;     /*変化の速度を指定*/
}
 
.Toggle span:nth-child(1) {
    top:6px;
}
 
.Toggle span:nth-child(2) {
    top: 16px;
}
 
.Toggle span:nth-child(3) {
    top: 26px;
}

.Toggle span:nth-child(3)::after {
	content:"menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:-4px;
	left:-1.5px;
	color: #333333;
	font-size: 0.8rem;font-family: "メイリオ";
	text-transform: none;
} 

.Toggle.active span:nth-child(1) {
    top: 16px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.Toggle.active span:nth-child(3)::after {
	content:"close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top:1px;
	left:15px;color: #333333;
	font-size: 0.8rem;font-family: "メイリオ";
	text-transform: none;
}
.menu{
/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
position:fixed;
z-index:999;
/*ナビの位置と形状*/
top:0;right:0;
width:100%;
height: 100vh;/*ナビの高さ*/
background:#e9fee0;
/*動き*/
transition: all 0.6s; opacity: 0.85;
}

/*アクティブクラスがついたら位置を0に*/
.menu.open{ top: 0;}
}

/* kokomade */

.background-container {
            width: 100%;
            height: 0;
            padding-top:16%;
            background-size: cover;
            background-position: right;
            background-repeat: no-repeat;
        }

        /* スマートフォン向け（デフォルト） */
        .background-container {
            background-image: url('');
        }

        /* タブレット向け */
        @media (min-width: 768px) {
            .background-container {
                background-image: url('');
            }
        }

        /* デスクトップ向け */
        @media (min-width: 1024px) {
            .background-container {
                background-image: url('');
            }
        }


#footer{
text-align:left;
font-size:10px;
max-width:1280px;
height:190px;
margin:0 auto;
padding:10px;
display: flex;
justify-content: space-between;

background-size:cover;
background-repeat : no-repeat;
background-position : right;
}
.f1{background-image : url("../img/bgf2-1.png");}
.f2{background-image : url("../img/bgf2-2.png");}
.f3{background-image : url("../img/bgf2-3.png");}

#copy{margin:170px 0;line-height:1em;text-align:right;width:100%;}
#snsarea{margin:170px 0;width:100%;display:flex; justify-content: center;}
#snsarea img{max-width:30px;display: block;height:auto;margin:0 5px; }
#snsarea ul,li{list-style:none;margin:0;padding:0;display:flex;}
@media only screen and (max-width: 680px) {
#footer{display: block;height:200px}
#copy{margin:-85px 0 10px 0;text-align:center;padding:5px;}
#snsarea{margin-bottom:35px;margin-top:205px;}
.f1{background-image : url("../img/bgs1.png");}
.f2{background-image : url("../img/bgs2.png");}
.f3{background-image : url("../img/bgs3.png");}}


.clear{clear:both;}
.clearfix:after {display: block;clear: both;content: "";}


#main{
margin-top:50px;
text-align:left;
}

.concept_a{
width:90%;
margin:10px auto;
padding-bottom:50px;
text-align:left;
font-size: 15px;
line-height:1.4em;
}

.concept_b{
width:85%;
margin:10px auto 60px auto;
text-align:left;
}

.concept_ai{
width:90%;
margin:10px auto 0 auto;
text-align:left;
font-size: 15px;
line-height:1.4em;
}
.concept_bz{
width:90%;
margin:30px 0 100px 0;
text-align:left;
font-size: 12px;
line-height:1.4em;
color:#cc6633;
}
.concept_bz2{
width:540px;
margin:3px 0 100px 0;
text-align:right;
font-size: 12px;
line-height:1.4em;
color:#cc6633;
}
.headphoto{margin:10px auto 45px auto;}
.headphoto img{width:100%;height:auto;}

/*TOPページ*/
.en_title
{font-size:0.8em;padding-left:1.5em;font-weight:normal;}
.en_text/* english text */
{font-size:0.9em;line-height:1.2em;margin-top:1em;}
.main_box{display:flex;flex-direction: row-reverse; /* 右から左へ逆順に並ぶ */}
.pic_box{padding-right:30px;}
.tex_box{padding:15px;}
.button_box{width:100%; margin-top:15px;display: flex;
 justify-content: flex-end;}
.b_en{font-size:0.9em;padding-left:1.5em;}
.button019 a {border:solid 1px #333;
    background: #fff;
    border-radius: 3px;
    text-decoration:none;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 10px 45px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button019 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 1rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.button019 a:hover {
  background: #999;
  color: #FFF;
}
.button019 a:hover:after {
  right: 0.8rem;
}
.button_box2{width:100%; margin-top:0;margin-bottom:10px;display: flex;
 justify-content: flex-end;}
.button020 a {border:solid 1px #F576B0;
    background: #F576B0;
    border-radius: 3px;
    text-decoration:none;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 200px;
    padding: 10px 45px;
    color: #fff;
    transition: 0.3s ease-in-out;
    opacity: 1.0; /* 通常時：不透明 */
    font-size: 13px;
}
.button020 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 1rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.button020 a:hover {opacity: 0.8; 
}
.button020 a:hover:after {
  right: 0.8rem;
}
.b_en2{font-size:0.9em;padding-left:1.5em;}
.support_box ul{margin:20px 0;width:100%; display: flex;align-items: center;
  justify-content: space-around; flex-wrap: wrap;padding:0;}
.support_box img{max-width:150px;height:auto;}
.support_box2{width:80%;margin:15px auto;}
@media only screen and (max-width: 680px) {
.main_box{display:block;}
.support_box2{width:100%;margin:15px auto;}
.pic_box{padding:10px;}
.button020 a {max-width:160px; padding: 10px 20px 10px 5px;}
.button020 a:after {right: 0.6rem;}
.button020 a:hover:after {right: 0.4rem;}
.b_en2{font-size:0.8em;padding-left:1em;}
}

/* ABOUT */
.pic_box_a1{margin-right:30px;}
.pic_box_a1 img{max-width:350px;}
.tex_box_a1{width: calc(100% - 380px); }
.logo_box{display:flex;width:80%;margin:20px auto;}
.logo_box dl{display: grid;
  grid-template-columns: auto 1fr; /* 1列目は内容の幅、2列目は残りすべて */
  gap: 10px;                       /* dtとddの間隔を自動設定 */}
.logo_box dt,
.logo_box dd{margin:0;}
.pic_box_a{padding-right:30px;}
.pic_box_a img{max-width:120px;}
.tex_box_a{width: calc(100% - 150px); }
.concept_c{ width: fit-content;
  margin-left: auto;
  margin-right: 0;
 margin-top:5px;
font-size:0.8em;
}
.box80{width:80%;margin:10px auto;}
@media only screen and (max-width: 680px) {
.pic_box_a1{margin:10px auto;}
.pic_box_a1 img{max-width:95%;}
.tex_box_a1{width:fit-content; padding:15px;}
.pic_box_a{width:fit-content;margin:0 auto;padding:5px;}
.tex_box_a{width:100%;}
.concept_c{ width: 90%;}
.logo_box{display:block;width:fit-content;}
}

/* INFO */
.main_box_i{display:flex;}
.pic_box_i{padding-right:30px;}
.pic_box_i img{max-width:350px;}
.tex_box_i{width: 100%; }
.tex_box_i .name_i{display:block;text-align:right;margin:0.5em 1.5em 3em 0;font-size:1.1em;}
.pic_box_i1{display:flex;justify-content: flex-end;width:100%;}
.pic_box_i1 img{max-width:280px;}
.info{width:80%;margin:20px auto;}
.info dl{margin:20px 0;padding:0;width:100%;display: flex;flex-wrap: wrap; border-top: 1px solid #ccc;border-left: 1px solid #ccc;border-right: 1px solid #ccc;}
.info dt{box-sizing: border-box;
width:200px;text-align:center;
font-size: 15px;
line-height:1.5em;
margin:0;padding:10px;border-bottom: 1px #ccc solid;}
.info dd{width: calc(100% - 200px);border-bottom: 1px #ccc solid;
text-align:left;box-sizing: border-box;border-left: 1px solid #ccc; /* ここで縦の罫線を引く */
font-size: 15px;
line-height:1.5em;
margin:0;padding:10px 10px 5px 20px;}
.info dd a{text-decoration:none;color:#57A579;}
.info dd a:hover{opacity: 0.8;}
.info p{font-size:12px;margin:0;padding:0;line-height:1.5em;}
.en_text a{text-decoration:none;color:#57A579;}
.en_text a:hover{opacity: 0.8;}

.membership{width:90%;border:double 10px #99cc66;margin:60px auto; }
.membership h3{width:90%;margin-left:auto;margin-right:auto;margin-bottom:0;}
.membership .en_title{width:90%;text-align:right;font-size:1.1em;margin-bottom:20px;}
.membership h4{position: relative;
  border-bottom: 1px solid #333333;
  padding: 5px 10px 5px 30px;}
.membership h4::after {
  position: absolute;
  content: '';
  top: 5px;
  left: 3px;
  width: 20px;
  height: 20px;
  background-color: #777777;}
.membership .en_title2{font-size:0.8em;padding-left:1.5em;font-weight:normal;}
.sub_com{margin:15px auto;text-align:right;}
.sub_com2{margin:50px auto 15px auto;text-align:center;}
.ms_box{display: flex; justify-content: space-around;margin:0 auto 50px auto;}
.ms_contents{width:100%;padding:7px;}
.ms_contents h5{color:#333; font-size:1.1em;position: relative;padding: 5px 10px 5px 20px;margin:15px 0 5px 0;}
.ms_contents h5::after {position: absolute;content: '';top: 5px;left: 3px; width: 15px; height: 15px; background-color: #57A579;}

.ms_contents ul{position: relative;padding: 5px 10px 5px 20px;margin:0 0 0 10px;}
.ms_contents li::before {
  content: ""; /* 文字は入れない */
  position: absolute;
  left: 0;
  /*top: 0.5em; /* 上からの位置を微調整 */
  width: 12px;
  height: 12px;
  background-color: #9eccb2; /* 青色 */
  border-radius: 50%; /* 完全な丸にする */}
@media only screen and (max-width: 680px) {
.main_box_i{display:block;}
.pic_box_i{padding:0;margin:10px auto;text-align:center;}
.pic_box_i img{max-width:200px;}
.tex_box_i .name_i{text-align:right;margin:0.5em 1.5em 1em 0;font-size:1.1em;}
.info{display: block;width:100%;}
.info dl{width:100%;border:none;}
.info_p{width:100%;}
.info dd{width:100%;border-bottom: 1px #666666 dashed;border-box;border-left:none;padding:5px;}
.info dt{text-align:left;width:100%;border:none;padding: 20px 0 0 15px;}
.membership{width:100%;}
#main .membership h3{text-align:center;padding:5px 0;width:95%;margin-left:auto;margin-right:auto;}
.ms_box{display: block; justify-content: space-around;margin:0 auto 20px auto;}
.ms_contents{width:100%;margin:0 auto 10px auto;}
}


/*　フォーム　*/
.form{
width:90%;margin:40px auto;
}
.inquiry{margin: auto;}
.thanks{
width:80%;height:100%;
margin:40px auto;
text-align:center;
}
.brown2{color:#996633;font-size: 0.9em;}
.contactform{width:100%;padding:30px 0;background-color:#eee;border-radius:10px;content: '';}
.form td{background-color:#fff;}
@media only screen and (max-width: 680px) {
.contactform{width:100%;}
.form th td{
width:300px;}}

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
.inquiry th,.inquiry td {
 display:block!important;
 width:100%!important;
 border-top:none!important;
 -webkit-box-sizing:border-box!important;
 -moz-box-sizing:border-box!important;
 box-sizing:border-box!important;
}
.inquiry tr:first-child th{
 border-top:1px solid #d7d7d7!important;
}
/* 必須・任意のサイズ調整 */	
.inquiry .haveto,.inquiry .any {	
font-size:10px;
}}
/*見出し欄*/
.inquiry th{
 text-align:left;
 font-size:15px;
 color:#444;
 padding-left:1em;
 width:30%;
 background:#fff;
 border:solid 1px #d7d7d7;
}
/*通常欄*/
.inquiry td{padding-left:1em;
 font-size:15px;
 border:solid 1px #d7d7d7;	
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #d7d7d7;	
}
/*必須の調整*/
.haveto{
 font-size:7px;
 padding:5px;
 background:#ff9393;
 color:#fff;
 border-radius:2px;
 margin-left:8px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:7px;
 padding:5px;
 background:#93c9ff;
 color:#fff;
 border-radius:2px;
 margin-left:8px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
#formbtn{
 display: block;
 padding:1em 0;
 margin:30px auto;
 width:250px;
 background:#ffff;
 color:#333;
 font-size:18px;
 font-weight:bold;	 
 border-radius:2px;
 border: 1px solid #333;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#666;
 color:#fff;
}
.send{text-align:center;}

/* thanksページ */
.thanks{margin:20px auto 10px auto;font-size:2em;text-align:center;max-width:70%;}
.thanks-s{margin:30px auto;max-width:60%;}

/*　スタッフ　*/
.staff{width:90%;margin:60px auto 100px auto;}
.staff_box{max-width:800px;margin:100px auto 80px auto;padding:0;display: flex;
flex-direction: row-reverse;}
.staff_p{
/*max-width:250px;*/
margin:0;padding:0;
    width: 250px;         /* 実際のサイトの幅に合わせる（環境で微調整してください） */
    height: 300px;        /* 実際のサイトの高さに合わせる */
   /* overflow: hidden;     /* 枠からはみ出た部分を強制カット */
   /* border-radius: 0;     /* 丸ではなく「四角」にする */
    position: relative;}
.staff_p img {
    width: 250px !important;
    height: auto !important;
    object-fit: cover; /* 縦横比を維持したまま、枠いっぱいに広げて中央でトリミング */
    object-position: center;
}
.staff_c{
width:100%;}
.staff_t{
width:80%;
text-align:left;
font-size: 15px;
line-height:1.7em;
margin-top:-30px;padding:10px 10px 5px 80px;
}
.name{display: flex;}
.staffname{width:200px;
/*line-height:2em;*/
font-size:17px;
font-weight:bold;
padding:0 0 0 10px;
margin:5px 0;
text-align:left;
}
.ename{font-size:13px;font-weight:normal;padding:3px 0 0 1em;}
.estaff_t{font-size: 0.9em;line-height:1.3em;padding-top:0.8em;}
.snslink{width:150px; display: flex;
    justify-content: center;}
.snslink img{max-width:30px;display: block;height:auto;margin:0 5px; }
/*色分け設定*/
:root{ --base-color: #fbeaff;
  --kourei-color: #ffe2d0;
  --kodomo-color: #fff8da;
  --gakusei-color: #e9fee0;
  --hand-color: #ebfcff;
  --pet-color: #f8dfff;
  --chiiki-color: #ffc7c5;}
div[data-contents="01"]{--base-color:#fbeaff;}
div[data-contents="02"]{--base-color: var(--kourei-color);}
div[data-contents="03"]{--base-color: var(--kodomo-color);}
div[data-contents="04"]{--base-color: var(--gakusei-color);}
div[data-contents="05"]{--base-color: var(--hand-color);}
div[data-contents="06"]{--base-color: var(--pet-color);}
div[data-contents="07"]{--base-color: var(--chiiki-color);}
.ma{
    display: inline-block;
    position: relative;
    margin: calc(-8.5em / 2) 0 calc(8.5em / 4) calc(8.5em / 2);
    padding-top:4.5em;
    color: #333333;
    line-height: 1em;}
.ma::before {
    position: absolute;
    bottom: calc(-9.5em / 3);
    left: calc(-9.5em / 6);
    z-index: -1;
    width: 9.5em;
    height: 9.5em;
    border-radius: 50%;
    background: var(--base-color);
    content: '';}
.ka{position: relative; padding: 15px;}
.ka::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;  /* 上側の線の長さ */
  height: 150px; /* 右側の線の長さ */
  border-top: 5px solid var(--base-color);
  border-right: 5px solid var(--base-color);}
  
.sup-text {
  vertical-align: super; /* 文字を上付きにする */
  font-size: 0.6em;      /* 文字サイズを少し小さく*/
}

@media only screen and (max-width: 680px) {
.staff{width:95%;margin:60px auto 60px auto;}
.staff_box{max-width:800px;margin:100px auto;padding:0;display: block;
flex-direction: row;}
.staff_p{
max-width:80%;
margin:0 auto;padding:0;}
.staff_c{
width:100%;}
.staff_t{
width:90%;
text-align:left;
font-size: 13px;
line-height:1.7em;
margin:-30px auto 10px auto;padding:0;
}
.name{display: flex;}
.staffname{width:60%;
/*line-height:2em;*/
font-size:16px;
font-weight:bold;
padding:0 0 0 10px;
margin:5px 0;
text-align:left;
}
.ename{font-size:12px;font-weight:normal;padding:3px 0 0 1em;}
.estaff_t{font-size: 13px;line-height:1.4em;}
.snslink{width:150px; display: flex;
    justify-content: center;}
.snslink img{max-width:30px;display: block;height:auto;margin:0 5px; }
.ma {
    display: inline-block;
    position: relative;
    margin: calc(-8.5em / 2) 0 calc(8.5em / 4) calc(8.5em / 2);
    padding-top:4.5em;
    color: #333333;
    line-height: 1em;}
.ma::before {
    position: absolute;
    bottom: calc(-9.5em / 3);
    left: calc(-9.5em / 6);
    z-index: -1;
    width: 9.5em;
    height: 9.5em;
    border-radius: 50%;
    background:var(--base-color);
    content: '';}
.ka{position: relative; padding: 15px;}
.ka::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 250px;  /* 上側の線の長さ */
  height: 250px; /* 右側の線の長さ */
  border-top: 5px solid var(--base-color);
  border-left: 5px solid var(--base-color);
  border-right:none;}
}


/* テーブル　*/
.info_a td{font-size: 14px;line-height:2em;padding-left:20px;}
.info_a th{font-size: 14px;line-height:2em;
width:200px;text-align:center;font-weight:normal;}

/* zeh */
.zeh{color:#663300;font-size:13px;margin-bottom:3px;}
.concept_b table{text-align:center;font-size:12px;width:90%;margin: auto;}
.concept_b th{background-color:#FFF3D5;color:#49341f;line-height:1.5em;font-weight:normal;}
.concept_b td{background-color:#FFFBF1;color:#555555;line-height:1.5em;}
.zeh_p{width:90%;text-align:center;margin:20px auto;}
.zeh_p img{max-width:550px;}
@media only screen and (max-width: 680px) {
.concept_b table{width:100%;}}

/* topスライド */
#photo_p{margin:0; padding:0;}
.slide{
width: 100%;
height: auto;
margin:-45px auto 20px auto;
padding:0;
color:#000000;
font-size:12px;
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
text-align:center;
}


@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.swiper-container {
  width: 100%;
  height: ;
}


.smar{display: none;}
.defa{display: block;margin-bottom:60px;}
.defa p{font-size: 3vw;}
.smar p{font-size: 4.5vw;}
@media only screen and (max-width: 680px) {
.smar{display: block;}
.defa{display: none;}}






.multiple-list{
   display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}



.multiple-item:nth-child(-n+2){
    margin-top: 0;
}






/* 改行位置指定 */
.show_sp {
  display: none;
}
.show_mv {
  display: block;
}
@media only screen and (max-width: 680px) {
.show_sp {
  display: block;
}
.show_mv {
  display: none;
}
}


.links a:hover{
color:#999999;
}
.links a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #ceb849;
	transform: scaleX(0);
	transition: transform 0.3s;
}

.links a:hover::after {
	transform: scaleX(1);
}

/* 戻るボタン　パソコン・スマホ共通のCSS */
#PageTopBtn {
    position: fixed; /*ボタンの配置場所を固定*/
    /*bottom: 10px; /*下からのボタンの配置場所はpagetop.js*/
    right: 10px; /*右からのボタンの配置場所を指定*/
    z-index: 999;
}
#PageTopBtn a {
    display: block; /*配置の調整*/
    text-decoration: none; /*文字の下線を消す*/
    color: #333333; /*文字の色*/
    background: #ffffff; /*ボタンの背景色*/
    text-align: center; /*文字を中央に配置*/
    border-radius: 5%; /*ボタンの角を少し丸くする*/
    border:1px solid #333333;
    outline: none; /*クリックしたときの黒い枠を消す*/
}
#PageTopBtn a:hover {
    text-decoration: none; 
    color: #777777; /*マウスオーバー時の背景色*/
}

/* パソコンで表示する場合のCSS */
@media (min-width: 768px) {
#PageTopBtn {
    font-size: 13px; /*文字のサイズ*/
}
#PageTopBtn a {
    width: 100px; /*ボタンの幅*/
    height: 23px; /*ボタンの高さ*/
    padding: 23px 0; /*文字の配置場所の調整*/
}
}

/* スマホで表示する場合のCSS */
@media (max-width: 767px) {
#PageTopBtn {
    font-size: 10px;
}
#PageTopBtn a {
    width: 70px;
    height: 38px;
    padding: 15px 0;
    margin-right:15px;
}
}

/* note */
/* リスト全体の横並び・グリッド配置（必要に応じて調整してください） */
.note .list {
  display: flex;
  flex-flow: column;
  gap: 10px; /* カード同士の間隔 */
  list-style: none;
  padding: 0;
  margin: 0;
}

.note .col {
  width: 100%; /* 3段並びの例（スマホ時は100%に調整可能） */
  box-sizing: border-box;
}

/* カード全体のスタイル */
.card-wrapper {display: flex;flex-direction: row;
  text-decoration: none;
  color: #333;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  height: auto; /* カード全体の高さを揃える */
}

/* ★ サムネイルの高さを揃える重要設定 ★ */
.card-thumbnail {
  margin: 0;
  padding: 0;
  width: 15%;
  aspect-ratio: 16 / 9; /* 画像の縦横比を16:9に固定（正方形なら 1 / 1） */
  overflow: hidden;
  background-color: #f7fafc; /* 画像読み込み前の背景色 */
}

.card-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比を崩さずに枠いっぱいに広げる */
  object-position: center; /* 中央を中心にトリミング */
  display: block;
}

/* カード内のテキストエリア調整 */
.card-contents {width:84%;
  padding: 0 5px 0 11px;
}
.card-description{margin:5px 0;}
.card-date{ display:flex;
  justify-content:flex-end; margin:0 15px 0 0;}
#main .note h4{font-size:17px;padding:5px 10px;border-bottom:1px solid #333;margin:3px;}

@media (max-width: 780px) {
/* リスト全体の横並び・グリッド配置（必要に応じて調整してください） */
.note .list {
  display: flex;
  flex-flow: wrap;
  gap: 20px; /* カード同士の間隔 */
  list-style: none;
  padding: 0;
  margin: 0;
}

.note .col {
  width: calc(50% - 10px); /* 3段並びの例（スマホ時は100%に調整可能） */
  box-sizing: border-box;
}

/* カード全体のスタイル */
.card-wrapper {
  display: block;
  text-decoration: none;
  color: #333;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  height: 100%; /* カード全体の高さを揃える */
}

/* ★ サムネイルの高さを揃える重要設定 ★ */
.card-thumbnail {
  margin: 0;
  padding: 0;
  width: 100%;
  aspect-ratio: 16 / 9; /* 画像の縦横比を16:9に固定（正方形なら 1 / 1） */
  overflow: hidden;
  background-color: #f7fafc; /* 画像読み込み前の背景色 */
}

.card-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比を崩さずに枠いっぱいに広げる */
  object-position: center; /* 中央を中心にトリミング */
  display: block;
}

/* カード内のテキストエリア調整 */
.card-contents {width:auto;
  padding: 6px;
}
#main .note h4{font-size:16px;padding:0 0 3px 0;border-bottom:1px solid #333;margin:0;}
/*@media (max-width: 780px) {.note .list {
  display: block;}
  .note .col {
  width: 90%; /* 3段並びの例（スマホ時は100%に調整可能） */
/*margin:0 auto 10px auto;
}
}*/
.note_btn{ display: flex; justify-content: center;
align-items: flex-end;}
}

/* 404ページ */
.p-404{text-align:center;width:80%;margin:50px auto;color:#666;}
.l-font{font-size:5em;font-weight:bold;}
.s-font{font-size:16px;}

/* googlereCAPTCHAのロゴ消す*/
.grecaptcha-badge { visibility: hidden; }