@charset "utf-8";
@import url("reset.css");
@import url("base.css");
html, body {
  height: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  background-color: #fff;
  color: #221815;
  font: 500 18px/1.7 'Hiragino Mincho ProN', 'YuMincho', 'MS 明朝', 'Times New Roman', serif;
}
/*ここだけ追加*/
.gothic {
    font-family: 'Arial', 'Helvetica', 'sans-serif'; /* ゴシック体に変更 */
}

/*ここまで*/

.serif {
  font: 500 18px/1.7  'Lucida Grande','Hiragino Kaku Gothic ProN','メイリオ', sans-serif;
}
.all {/*スマホの横揺れ禁止*/
  overflow: hidden;
}
.container {
  margin: 0 auto;
  max-width: 1020px;
}
@media only screen and (max-width: 1020px){

.container {
  margin: 0 auto;
  width: 98%;
}

}
a {
  color: #4c6cb3;
  text-decoration: none;
}
a:hover {/*マウスをのせたとき*/
  opacity: .6;
  text-decoration: none;
}
a:hover img {
  opacity: .6;
}

/*///////////////////////////header/////////////////////*/
header {
  background: #f8fbf8;
  padding: 20px 0 10px 0;
}
header .logo-box {
  width: 480px;
  max-width: 60%;
}
header .member-link {
  width: 250px;
  margin-top: 10px;
}
figure img {
  width: 100%;
}
/*///////////////////////header=END=/////////////////////*/
/*//////////////////////////top&common/////////////////////*/
main.top-main {
  width: calc(93% - 265px);
  margin-top: 60px;
}
.main-box {
  width: 46%;
  margin-bottom: 45px;
}
.main-box h2 {
  font-size: 24px;
  color: #898989;
  margin-bottom: 5px;
}
.main-box figure img {
  border: 1px solid #898989;
}
.main-box figure figcaption {
  font-size: 16px;
}
.main-box a {
  color: #221815;
}
.new-video-box {
  background: #e0f3f8;
  border: 1px solid #898989;
  padding: 20px 30px 40px 30px;
  margin-bottom: 45px;
}
.new-video-box h2 {
  font-size: 24px;
  color: #898989;
  margin-bottom: 5px;
}
.new-video-box .wrap {
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}
.new-video-box .wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
/*//////////////////////////top&common=END=/////////////////////*/
/*///////////////////////oter pages/////////////////////*/
main.page {
  width: calc(97% - 265px);
  margin-top: 20px;
}
.page-title {
  color: #008c79;
  font-size: 24px;
  font-weight: bold;
  padding-top: 20px;
}

.photo-bd {
  border: 1px solid #888;
}
.page .w55 {
  width: 55%;
}
.page .w40 {
  width: 40%;
}
.page .w30 {
  width: 30%;
}
.page .page-nav {
  font-size: 24px;
  background: #00a497;
	
  border: 1px solid #3d496b;
  border-radius: 7px;
  margin-bottom: 15px;
}
.page .page-nav a {
  color: #fff;
  padding: 10px 3vw;
}
.page .green-text {
  color: #00a497;
  font-size: 20px;
  font-weight: bold;
}
.page .page-box {
  margin-bottom: 30px;
}
.page .page-box h2 {
  font-size: 24px;
  background: #00a497;
  border: 3px solid #008c79;
  border-radius: 7px;
  margin-bottom: 15px;
  color: #fff;
  text-align:center;
}
.page .page-box h3 {
  font-size: 24px;
  color: #e0f3f8;
}
/*----selfcare----*/
.page .page-box h3 span {
  color: #f39700;
}
/*----group----*/
.page .page-box h3.class-name {
  font-size: 24px;
  color: #231815;
}
.page .page-box .h4-box {
  margin-bottom: 30px;
}
.page .page-box .h4-box h4 {
  font-size: 21px;
  color: #414fa3;
}
.page .page-box .class-info a {
    color: #231815;
  }
.page .page-box .map-link a {
  font-size: 18px;
  color:#e60012;
}
.page .page-box .class-box {
  padding-bottom: 25px;
  border-bottom: 1px dashed #414fa3;
}
.page .page-box .form-bnr {
  max-width: 360px;
  width: 90%;
  margin: 20px auto 0 auto;
}
#qa span {
  color:#006e35;
}
.page .question {
  color: #008c79;
  border-bottom:1px solid #008c79;
  padding-bottom: 10px;
  margin-bottom: 30px;
  font-weight: bold;
}
.page .answer {
  margin-bottom: 35px;
}
/*----flower----*/
.page .w62 {
  width: 62%;
}
.page .w34 {
  width: 34%;
}
.pink {
  color:#ff499a;
}
.flower .page-nav {
  font-size: 24px;
  background: #ff9999;
  border: 1px solid #cc6699;
  border-radius: 7px;
  margin-bottom: 15px;
}
.page .flower-text {
  color: #cc3333;
  font-size: 20px;
  font-weight: bold;
}
.flower .page-box h2 {
  font-size: 24px;
  background: #ff9999;
  border: 3px solid #cc6699;
  border-radius: 7px;
  margin-bottom: 15px;
  color: #fff;
  text-align:center;
}
.flower .page-box .h4-box h4 {
  font-size: 21px;
  color: #cc3333;
}
.flower .question {
  color: #cc3333;
  border-bottom:1px solid #cc3333;
  padding-bottom: 10px;
  margin-bottom: 30px;
  font-weight: bold;
}
.flower .next a, .flower .next2 a {
  color: #ff3399;
  cursor: pointer;
}
/*--measures--*/
.page .mea-box {
  margin-bottom: 30px;
}
.page .mea-box h3 {
  margin: 0;
  padding: 5px 0;
  font-size: 20px;
  color:#414fa3;
}
.page .w625 {
  width: 62.5%;
}
.page .w35 {
  width: 35%;
}
.page .page-box .mea-h2 {
  margin-bottom: 30px;
}
/* ページTOPに戻るボタン */
#page_top {
    position: fixed;
    bottom: 35px;
    right: 15px;
	font-size: 16px;
}
#page_top a {
    background-color: #888;
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 10px 10px;
	border-radius: 10px;
	border: solid 1px #fff;
	filter: alpha(opacity=75);
	-moz-opacity: 0.75;
	opacity: 0.75;
}
#page_top a:hover {
    text-decoration: none;
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
/*--フォーム--*/
.formh2 {
  font-size: 24px;
  background: #e0f3f8;
  border: 1px solid #414fa3;
  border-radius: 7px;
  margin-bottom: 15px;
  color: #fff;
  text-align: center;
  padding: 0 10px;
}
.form table {
  border: 2px solid #414fa3;
  width: 100%;
  margin-top: 10px;
}
.form tr {
  border-bottom: 1px solid #006e35;
}
.form th {
  color: #414fa3;
  font-weight: bold;
  vertical-align: middle;
  padding:10px 20px;
  border-right: 1px solid #414fa3;
  width: 37%;
}
.form td {
  vertical-align: middle;
  padding:10px 20px;
}
.form input {
  min-height:35px;
  width: 100%;
  padding: 0 10px;
}
.form input[type="radio"] {
  min-height:0;
  width: auto;
  margin-top:-2px;
  margin-right: 5px;
}
.form input.short {
  width: 40%;
}
.form textarea {
	resize: vertical;
  width: 100%;
  min-height: 100px;
  padding: 5px 10px;
}
.form .btn-box input {
  margin: 0 10px;
  border: 2px solid #414fa3;
  border-radius: 20px;
  color: #006e35;
  font-weight: bold;
  font-size: 18px;
text-rendering: auto;
letter-spacing: normal;
word-spacing: normal;
text-transform: none;
text-indent: 0px;
text-shadow: none;
display: block;
text-align: center;
appearance: auto;
background-color: #fff;
-webkit-rtl-ordering: logical;
 cursor:pointer;
padding: 5px 40px;
width: auto;
}
.form .btn-box input:hover {
  opacity: .6;
}



/*///////////////////////oter pages=END=/////////////////////*/
/*//////////////////////////side/////////////////////*/
.side {
  width: 265px;
  margin-top: 0px;
   font-size: 16px;
}
.side-bnr-pc div {
  margin-bottom: 15px;
  font-weight:normal;
  border: 1px solid #008c79;
  width: 100%;
  background:#f8fbf8;
}
.side-bnr-pc a {
  font-size: 16px;
  color:#475950;
  text-decoration: none;
  display: block;
  padding: 10px 0;
  text-align: center;
}
.side-bnr figure {
  margin-bottom: 15px;
  width: 100%;
}
.side-bnr {
  padding-bottom: 35px;
}
.side-box {
  border-left: 1px solid #666;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
}
.side-box-news {
  padding: 30px 15px;
  height: 250px;
  overflow-y: scroll;
}
.side-box-news::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.side-box-news::-webkit-scrollbar-track {
  border-left: 1px solid #999;
  background-color: #fff;
}
.side-box-news::-webkit-scrollbar-thumb {
  border-radius: 0px;
  background-color: #e0f3f8;
  border-left: 1px solid #999;
}
.side-box h2 {
  background: #414fa3;
  color: #fff;
  font-size: 18px;
  text-align: center;
  padding: 5px;
}
.side-box p span {
    color: #006e36;
    font-weight: bold;
}
.side-box-in {
  padding: 10px 15px 25px 15px;
}
.side-box2 {
  margin-bottom: 40px;
}
.side-box2 h2 {
  font-size: 20px;
  color: #666;
  margin-bottom: 15px;
}
.side-box2 figure {
  margin-bottom: 20px;
}

/*///////////////////////side=END=/////////////////////*/
/*///////////////////////////footer/////////////////////*/
footer {
  background: #00a497;
}
footer ul {
  padding: 20px 0;
  list-style: none;
}
footer ul li {
  border-left: 1px solid #fff;
}
footer ul li:last-child {
  border-right: 1px solid #fff;
}
footer ul li a {
  color: #fff;
  text-decoration: none;
  padding: 0 10px;
}
/*////////////////////////PC&common=END=////////////////////////*/
.pc-tab {
  display: none;
}
.sp-only {
  display: none;
}


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

body        {
    -webkit-text-size-adjust: 100%;
}
.pc-tab {
  display: block;
}
.sp-only {
 display: none;
}
.main-box {
  width: 100%;
  margin-bottom: 45px;
}
main {
  margin-bottom: 30px;
}
.page .page-nav a {
  color: #fff;
  padding: 10px 2vw;
}
.page .w30 {
  width: 48%;
}

}

@media only screen and (max-width: 667px){ /*667からihone6,7,8横*/

.sp-only {
 display: block;
}
.pc-only {
  display: none;
}
.container {
  margin: 0;
  width: 100%;
}
header .logo-box {
  width: 80%;
  max-width: 80%;
  margin-left: 10%;
}
header .logo-box h1 {
  text-align: center;
}
main.top-main {
  width: 100%;
  margin-top: 0;
  margin-bottom: 30px;
  padding: 0 3%;
}
main.page {
  width: 100%;
  margin-top: 0;
  margin-bottom: 30px;
  padding: 0 3%;
}
.side {
  width: 100%;
  padding: 0 3%;
}
.side-link {
  margin-bottom: 15px;
  padding: 0 10px;
}
main.page .side-link {
  margin-bottom: 15px;
  padding: 0;
}
.new-video-box {
  background: #fff;
  border: none;
  padding: 0;
}
.new-video-box video {
  padding: 10px;
}
.new-video-box p {
  padding: 10px;
}
.new-video-box h2 {
  margin-bottom: 0;
  text-align: center;
  background: #16902e;
  color: #fff;
  font-size: 17px;
  text-align: center;
  padding: 5px;
}
.new-video-box .wrap {
  width: calc(100% - 20px);
  margin: 10px;
  height: 0;
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}

.side-box {
  border: none;
}
.side-box-news {
  margin: 10px;
  border: 1px solid #666;
  padding: 10px;
  height: 250px;
  overflow-y: scroll;
}
.side-box2 h2 {
  margin-bottom: 0;
  text-align: center;
  background: #16902e;
  color: #fff;
  font-size: 17px;
  text-align: center;
  padding: 5px;
}
.side-box2 figure {
  padding: 10px;
  margin-bottom: 0;
}
.side-box2 p {
  padding: 10px;
}
footer {
  background: #eef4d4;
}
footer ul {
  padding: 0;
  list-style: none;
}
footer ul li {
  border-left: none;
  border-top:1px solid #16902e;
  text-align: center;
  width: 100%;
}
footer ul li:last-child {
  border-right: none;
}
footer ul li a {
  color: #006e36;
  text-decoration: none;
  padding: 10px 0;
  display: block;
}
.page .w62 {
  width: 100%;
  margin-bottom: 20px;
}
.page .w34 {
  width: 100%;
}
.page .w30 {
  width: 100%;
}
/*--フォーム--*/
.form tr {
  border-bottom: 2px solid #006e35;
}
.form th {
  vertical-align: top;
  padding: 5px;
  border-right: none;
  border-bottom: 1px dotted #006e35;
  width: 100%;
  display: block;
}
.form td {
  vertical-align: top;
  padding: 5px;
  width: 100%;
  display: block;
}
.form .btn-box input {
  margin-bottom: 10px;
}
.form input {
  min-height: 25px;
  padding: 0 5px;
}
.form input.short {
  width: 80%;
}
.form textarea {
  padding: 5px;
}

/*///////////////////////////////////////--ハンバーガー--/////////////////////////////////////*/
nav {
    width: 100%;
	 background: transparent;
}
nav.sp-only {
	position: fixed;
	top: 0;
	right:0;
	z-index: 200;
	}
.top-nav2 > ul li {
  padding-bottom:10px;
}
.top-nav2 > ul li a:hover {
  color: #5a702f;
  opacity: 1.0;
}
.top-nav2 .act{
cursor: pointer;
}
.top-nav2 .menu-item {
  position:relative;
}
ul#menu-topnavsp {
  background: #b8ddbf;
   margin-top: 0;
   padding: 20px;
   list-style: none;
   -webkit-transition: .35s ease-in-out;
   -moz-transition: .35s ease-in-out;
   transition: .35s ease-in-out;
   overflow-y: scroll;
   position: fixed;
   width: 80%;
   z-index: 100;
   top: 0px;
   height: 100%;
  color: #000;
}
ul#menu-topnavsp li {
   padding: 10px;
   width: 100%;
  font-size: 16px;
}
ul#menu-topnavsp li a {
   color: #000;
	text-decoration: none;
  display: block;
}
ul#menu-topnavsp li a:hover {
   opacity: .7;
}
ul#menu-topnavsp{
   right : -100%;
}
ul#menu-topnavsp.active{
   right : 0px;
}
.move-2.on.btn{
  position: absolute;
  right: 10px;
  top: 10px;
 z-index: 101;
}
.sp-menu {
   width: 100%;
   margin-left: 65px;
}
.btn{
   width: 40px;
   height: 40px;
   position: absolute;
  left: 10px;
	top: 10px;
   color: #16902e;
  background: #eef4d4;
	border-radius: 50%;

}
.btn:before,
.btn:after,
.btn span{
  display: block;
  width: 30px;
  position: absolute;
   -webkit-transition: .35s ease-in-out;
   -moz-transition: .35s ease-in-out;
   transition: .35s ease-in-out;
}
.btn span{
    height: 2px;
    background-color: #16902e;
    top: 48%;
	  right: 12%;
}
.btn:before{
    content: "";
    top: 28%;
	  right: 12%;
    border-top: 2px solid #16902e;
}
.btn:after{
    content: "";
     top: 68%;
	  right: 12%;
    border-bottom: 2px solid #16902e;
}
.btn.on span{
    display: none;
       width: 50px;
    height: 50px;
}
.btn.on:before{
    top: 45%;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}
.btn.on:after{
    top:45%;
   right: 5px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}
.btnlink{
    width: 90%;
    display: block;
    margin: auto;
    border: 1px solid #0060ff;
    border-radius: 5px;
    background: #4285F4;
    height: 35px;
    line-height: 35px;
    text-align: center;
    margin-bottom: 35px;
    color: #fff;
}


}

/* メインボックスのスタイル */
/* メインボックスのスタイル */
.main-box {
  padding: 0; /* 上下の余白をなくす */
  margin: 0; /* 外側の余白をなくす */
  width: 100%; /* 親要素の幅を全て使う */
}

/* 画像とテキストを横並びにするコンテナ */
.content-wrapper {
  display: flex; /* フレックスボックスを使用して横並びにする */
  align-items: flex-start; /* 上端で揃える */
  gap: 20px; /* 画像とテキストの間に余白を設定 */
  margin: 0; /* コンテナの外側余白をなくす */
  width: 100%; /* 親要素の幅を全て使う */
  box-sizing: border-box; /* パディングとボーダーを含めた幅の計算を行う */
}

/* 左側の画像 */
.left-image {
  flex: 0 0 35%; /* 画像の幅を35%に固定 */
  max-width: 35%; /* 最大幅を35%に設定 */
}

.left-image img {
  width: 100%; /* 親要素の幅に基づく幅 */
  height: auto; /* アスペクト比を維持する */
  display: block; /* 余白を削除するためのブロック表示 */
}

/* 右側のテキスト */
.right-text {
  flex: 0 0 65%; /* テキストの幅を65%に固定 */
  max-width: 65%; /* 最大幅を65%に設定 */
  font-size: 16px; /* テキストのフォントサイズ */
  color: #333; /* テキストの色 */
  line-height: 1.5; /* テキストの行間を調整 */
}
