﻿@charset "utf-8";
body {
  margin : 0;
  padding : 0;
  background-image : url("210b9053cfcba6b075724dce0edfee00.jpg");
  background-repeat : repeat;
  background-attachment : fixed;
  background-position : center top;
  background-size : cover;
  display : flex;
  flex-direction : column;
  min-height : 100vh;
}
#main {
  width : 900px;
  margin : 0 auto;
  background : #ffffff;
  flex : 1;
}
#header {
  width : 900px;
  margin : 0 auto;
  position : relative;
  background : #fff;
}
.header-image img {
  width : 100%;
  height : auto;
  display : block;
}
.header-left {
  position : absolute;
  left : 45%;
  top : 55%;
  transform : translate(-50%, -55%);
  text-align : center;
}
.header-left h1 {
  color : orange;
  text-shadow : -2px -2px 0 #fff,
     2px -2px 0 #fff,
    -2px  2px 0 #fff, 2px  2px 0 #fff;
}
.header-right {
  position : absolute;
  right : 20px;
  top : 50%;
  transform : translateY(-50%);
  text-align : right;
  background : rgba(255, 255, 255, 0.6);
  padding : 8px;
  border-radius : 6px;
}
.header-right img {
  width : 14px;
  vertical-align : middle;
  margin-right : 5px;
}
  #header .header-right a, #header .header-right a : link, #header .header-right a : visited, #header .header-right a : hover, #header .header-right a : active {
  color : #3cb371 !important;
  text-decoration : none !important;
}
#top-menu {
  width : 100%;
  margin : 0;
  padding : 0;
  background : #ffffff;
  border-top : 1px solid #ccc;
  border-bottom : 1px solid #ccc;
}
#top-menu ul.links {
  width : 900px;
  margin : 0 auto;
  padding : 6px 0;
  list-style : none;
  text-align : center;
  line-height : 1.4;
}
#top-menu ul.links li {
  display : inline-block;
  margin : 0 6px;
}
#top-menu ul.links li a {
  text-decoration : none;
  color : #2e8b57;
  font-weight : bold;
  font-size : 14px;
}
.top-image {
  width : 640px;
  margin : 0 auto 20px;
}
.top-image img {
  width : 100%;
  height : auto;
  display : block;
}
#container {
  width : 900px;
  margin : 0 auto;
  overflow : hidden;
}
#menu {
  float : left;
  width : 230px;
  box-sizing : border-box;
  overflow : hidden;
}
#contents {
  float : right;
  width : 650px;
  padding : 20px 30px;
  box-sizing : border-box;
}
  #container : :after {
  content : "";
  display : block;
  clear : both;
}


/* ================= WHAT'S NEW BOX 専用（親干渉ゼロ） ================= */
.whatsnew-wrapper {
  width: 200px;
  position: relative;
  overflow: hidden; /* 親干渉を完全に遮断 */
}

.whatsnew-box {
  width: 100%;
  height: 150px;
  overflow-y: auto;   /* BOXだけ縦スクロール */
  overflow-x: hidden; /* 横スクロール禁止 */
  box-sizing: border-box;
  padding: 6px;
}

.whatsnew-body {
  height: auto !important;
  margin: 0;           /* 不要な余白を消す */
  padding: 0;          /* 不要な余白を消す */
  word-wrap: break-word; /* 長い文字も折り返す */
  white-space: normal;   /* 横スクロール防止 */
  overflow: hidden !important; /* 横スクロールが出ないように */
}

.my-left-column .whatsnew-wrapper .whatsnew-box .whatsnew-body,
.my-left-column .whatsnew-wrapper .whatsnew-box .whatsnew-body * {
  font-size: 12px !important;
  line-height: 1.4;
}





.self01,
.self02,
.self03,
.self04,
.self05, .self06 {
  position : relative;
  padding : 40px;
  color : #333;
  line-height : 1.8;
  background-repeat : no-repeat;
  background-size : cover;
  background-position : center;
  box-sizing : border-box;
}
.self01 {
  background-image : url("images89.jpg");
}
.self02 {
  background-image : url("images90.jpg");
}
.self03 {
  background-image : url("11222.jpg");
}
.self04 {
  background-image : url("C00184-001E.jpg");
}
.self05 {
  background-image : url("92.jpg");
}
.self06 {
  background-image : url("252d2_t.jpg");
}
.self-scroll {
  position : relative;
  max-height : 400px;
  overflow-y : auto;
  padding : 20px;
  background : rgba(255, 255, 255, 0.75);
  box-sizing : border-box;
}
.scroll-content {
  position : relative;
  z-index : 1;
}
.color-black {
  color : black;
}
.color-green {
  color : #3cb371;
}
.color-pink {
  color : #db7093;
}
.size-2 {
  font-size : 12px;
}
.size-3 {
  font-size : 14px;
}
.size-4 {
  font-size : 16px;
}
.center {
  text-align : center;
}
.pay-fee-box, .dashed-box {
  border : 1px dashed #ccc;
  padding : 10px;
  margin : 15px auto;
  width : 60%;
  text-align : left;
  color : inherit;
}
.contents-inner a, [class^="self"] a {
  text-decoration : none;
  color : inherit;
}
[class^="self"] {
  max-width : 900px;
  width : 100%;
  margin : 0 auto;
  position : relative;
  padding : 40px;
  color : #333;
  line-height : 1.8;
  background-repeat : no-repeat;
  background-size : cover;
  background-position : center;
  box-sizing : border-box;
}
.page-kouten .kouten-box {
  position : relative;
  width : 100%;
  max-width : 900px;
  margin : 40px auto;
  min-height : 600px;
}
.page-kouten .kouten-box img {
  width : 100%;
  height : auto;
  display : block;
}
.page-kouten .kouten-scroll {
  position : absolute;
  top : 30px;
  left : 30px;
  right : 30px;
  bottom : 30px;
  max-height : none;
  overflow-y : auto;
  padding : 20px;
  background : rgba(255, 255, 255, 0.2);
  font-size : 14px;
  line-height : 1.8;
  box-sizing : border-box;
}
.page-kouten #main {
  width : 900px;
  margin : 0 auto;
}
.page-kouten #contents {
  width : 900px;
  margin : 0 auto;
}
.page-kouten #header h1 {
  margin-top : 0;
}
.page-kouten #top-band img, #top-band img {
  width : 100%;
  height : auto;
  display : block;
}
.amay-bokoyaki {
  margin-top : 20px;
  padding : 15px;
  background : #f6fbf2;
  border : 1px dashed #9ccc65;
  text-align : center;
}
.amay-text {
  margin-top : 8px;
  font-weight : bold;
  color : #558b2f;
}

/* ===============================
 　カルーセル
================================ */
.cont-two {
  width : 900px;
  margin: 0 auto;　/* ← これ！！ */
  overflow : hidden;
  background : #ffffff;
}
.wrap-two {
  display : flex;
  width : 2700px;
  transition : transform 0.6s ease;
}
.items-two {
  width : 900px;
  height : 420px;
  flex-shrink : 0;
  position : relative;
  overflow : hidden;
}
.items-two img {
  width : 100%;
  height : 100%;
  object-fit : cover;
  display : block;
}
.caption {
  position : absolute;
  top : 50%;
  left : 50%;
  transform : translate(-50%, -50%);
  text-align : center;
  width : 90%;
}
.caption-title {
  font-size : 36px;
  font-weight : bold;
  text-shadow : 0 2px 6px rgba(0, 0,0, 0.4);
}
.caption-sub {
  font-size : 20px;
  margin-top : 10px;
  text-shadow : 0 2px 6px rgba(0, 0,0, 0.4);
}
.items-two.slide1 .caption-title {
  color : #ff4fa3;
}
.items-two.slide1 .caption-sub {
  color : #2aa7ff;
}
.items-two.slide2 .caption-title {
  color : #7dffb3;
}
.items-two.slide2 .caption-sub {
  color : #ffe24d;
}
.items-two.slide3 .caption-title {
  color : #8b5cf6;
}
.items-two.slide3 .caption-sub {
  color : #ff8c42;
}


#footer {
  clear : both;
  width : 100%;
  background-color : #f5f5f5;
  text-align : center;
  margin : 0;
  padding : 5px 0;
  position : relative;
  box-sizing : border-box;
  height : auto;
  display : flex;
  justify-content : center;
  cursor : default !important;
}

  #footer a, #footer a : link, #footer a : visited, #footer a : hover, #footer a : active {
  color : #666 !important;
  text-decoration : none !important;
  border : none !important;
}
#footer, #footer * {
  pointer-events : auto;
}
.footer-inner {
  width : 900px;
  margin : 0 auto;
  padding : 12px 0;
  text-align : center;
  font-size : 12px;
  color : #666;
  line-height : 1.5;
}

/* ===============================
   h2　h3帯設定
================================ */

#contents h2.catch {
  width : 640px;
  margin : 20px auto 15px;
  font-size : 22px;
  font-weight : bold;
  line-height : 1.6;
}

h2.bg-title {
  width: 100%;
  margin: 30px 0 10px;
  padding: 10px 15px;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  text-align: left;
  background: #f2f2f2;
  border-radius: 8px;
}

#contents h3.service-title {
  width : 600px;
  margin : 25px auto 10px;
  padding : 8px 12px;
  font-size : 16px;
  font-weight : bold;
  text-align : center;
  background : #f7f7f7;
  border-radius : 4px;
  color : #333;
}
.service-title {
  margin : 30px 0 10px;
  font-size : 16px;
  font-weight : bold;
}
.service-title.counseling {
  color : #1e6bb8;
}
.service-title.coaching {
  color : #7b4fa3;
}
h2.band-title.words-title {
  width : 640px;
  margin : 20px auto 15px;
  padding : 10px 0;
  font-size : 18px;
  font-weight : bold;
  color : #333;
  text-align : center;
  background : #f2f2f2;
  border-radius : 4px;
}
#contents img[src*="himawari4"] {
  display : block;
  clear : both;
  margin : 30px auto;
}
#menu table {
  width : 100%;
  box-sizing : border-box;
}
#menu td {
  padding : 4px;
  box-sizing : border-box;
}
#menu img {
  max-width : 100%;
  height : auto;
  display : block;
  margin : 10px auto;
}
  #menu a, #menu a : link, #menu a : visited, #menu a : hover, #menu a : active {
  color : #333;
  text-decoration : none;
  display : block;
  line-height : 1.5;
  margin : 6px 0;
}
.red {
  color : #ff4d4d;
}
.green {
  color : #2e8b57;
}
.pink {
  color : #cc6699;
}
.orange {
  color : #ff9933;
}
.gray {
  color : #666;
}
.free-links {
  line-height : 0;
}
.free-links a {
  display : block;
}
.free-links a + a img {
  display : block;
  width : 100%;
  margin-top : -1px;
}
/* ===============================
   キャンドル重ね文字 完全版
   左寄せ・行間最小・スマホ対応
================================ */

/* コンテナ */
.bg-text {
  position: relative;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  font-family: "ヒラギノ角ゴシック","メイリオ",sans-serif;
  padding: 0;
}

/* 画像 */
.bg-img {
  width: 600px;
  height: auto;          /* 高さ自動 */
  display: block;
  object-fit: cover;
  border-radius: 12px;
}

/* 文字 */
.bg-inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* 上詰め */
  align-items: flex-start;     /* 左寄せ */
  padding: 20px;
  text-align: left;
  color: white;
  text-shadow: 0 0 6px rgba(0,0,0,0.7);
  font-size: 16px;
  line-height: 1.2;            /* 行間最小 */
  box-sizing: border-box;
  z-index: 2;
}

.bg-inner .red {
  color: #ff6666;
  font-weight: bold;
}

.bg-text + * {
  margin-top: 0 !important;
}

/* ===============================
   スマホ閲覧用
================================ */
@media screen and (max-width: 768px) {
  .bg-inner {
    padding: 10px;
    font-size: 13px;     /* 文字を縮小 */
    line-height: 1.1;    /* 行間をさらに詰める */
  }

  .bg-inner p {
    font-size: 13px;
    line-height: 1.1;
    word-break: break-word;
  }

  .lead {
    font-size: 14px;
  }

  .bg-text h2.bg-title {
    font-size: 16px;
    line-height: 1.2;
  }
}

/* ===============================
   スマホ用調整
================================ */
@media screen and (max-width: 768px) {
  .bg-text {
    width: 100%;
    height: auto;   /* 画面幅に合わせて高さ自動調整 */
  }

  .bg-inner {
    padding: 10px;
    font-size: 14px;
    line-height: 1.1;
  }

  .bg-inner p {
    font-size: 14px;
    line-height: 1.1;
    word-break: break-word;
  }

  .lead {
    font-size: 15px;
  }
}






}.top-image {
  width : 900px;
  margin : 0 auto;
}
.top-image img {
  width : 100%;
  height : auto;
  display : block;
}
.section-title {
  width : 640px;
  margin : 30px auto 20px;
  padding : 12px 20px;
  background : #f2f2f2;
  text-align : center;
  font-size : 22px;
  font-weight : bold;
  border-radius : 8px;
}
h2.section-title {
  font-size : 22px;
}
h3.section-title {
  font-size : 20px;
}
h4.section-title {
  font-size : 18px;
}
h5.section-title {
  font-size : 16px;
}
h6.section-title {
  font-size : 14px;
}
.band-title {
  display : block;
  width : 100%;
  box-sizing : border-box;
  margin : 40px 0 0;
  padding : 12px 20px;
  background : #f2f2f2;
  text-align : left;
  font-weight : bold;
  font-size : 14px;
  border-radius : 8px;
  color : #333;
}
  @media screen and (max-width : 768px) {
  .band-title{margin : 25px 0 20px;
  padding : 12px 16px;
  font-size : 14px;
}
}h2.band-title {
  margin : 20px 0 20px;
}
.promise-list {
  margin : 20px 0 40px;
  padding-left : 1.2em;
  color : #2e8b57;
}
.promise-list li {
  margin-bottom : 18px;
}
.promise-list strong {
  display : block;
  font-weight : bold;
  margin-bottom : 6px;
}
.promise-list p {
  margin : 0;
  line-height : 1.7;
}
.herb-box {
  display : flex;
  align-items : flex-start;
  gap : 20px;
  margin-bottom : 30px;
}
.herb-icon {
  flex : 0 0 45%;
}
.herb-icon img {
  width : 100%;
  height : auto;
  display : block;
}
.herb-text {
  flex : 0 0 55%;
  padding-top : 12px;
}
.herb-text p {
  margin : 0;
  color : #ffa500;
  font-size : 16px;
  line-height : 1.9;
}
  @media screen and (max-width : 768px) {
  .herb-box{flex-direction : column;
}
.herb-icon, .herb-text {
  flex : none;
  width : 100%;
}
}.notice-box .notice-text {
  font-size : 13px;
  line-height : 1.2;
  color : #2f5f3a;
}
body.onecolumn .title-set p {
  color : #3cb371;
  line-height : 1.4;
}
body.onecolumn h3.counseling + p, body.onecolumn h3.counseling + p + p {
  color : #2f6fb2;
  line-height : 1.2;
}
body.onecolumn h3.coaching + p, body.onecolumn h3.coaching + p + p {
  color : #7a4fa3;
  line-height : 1.0;
}
body.onecolumn #rightcolumn {
  float : right;
  width : 650px;
  box-sizing : border-box;
}
body.words-page .band-title {
  width : auto;
  margin : 20px 0;
  padding : 6px 14px;
  line-height : 1.3;
}
body.words-page .band-title,
body.words-page .section-title, body.words-page .words-title {
  margin-left : 0;
  margin-right : 0;
}
body.words-page #contents img {
  width : 100%;
  max-width : 640px;
  height : auto;
  display : block;
  margin : 20px auto;
}
body.words-page #contents .other-images img {
  margin : 4px auto !important;
}
.words-page #contents {
  text-align : left;
}
.words-page .words-title {
  text-align : left;
}
.words-page .course-intro {
  text-align : left;
}
.words-page .course-box {
  text-align : left;
  color : #000080;
  line-height : 1.4;
}
.words-page .course-box h3 {
  text-align : center;
}
.words-page #contents .course {
  color : #000080;
}
.words-page #contents .course table.course-table {
  color : inherit;
}
.words-page .course-message-box {
  color : #000080 !important;
}
.words-page .center {
  text-align : center !important;
}
body.words-page #contents {
  width : 640px;
  max-width : 100%;
}
body.words-page .course table {
  margin : 0 auto 20px;
  border-collapse : collapse;
}
.detail-link {
  font-size : 14px;
  color : #9400d3;
}
.detail-link a {
  font-size : 16px;
  color : #9400d3;
  font-weight : bold;
  text-decoration : none;
}
.apply-link {
  margin : 10px 0;
}
.apply-link a {
  font-size : 12px;
  color : #000080;
  text-decoration : none;
}
body.spi .apply-link a {
  font-size : 14px;
  font-weight : bold;
}
.course-center {
  text-align : center;
}
.course-table {
  width : 630px;
  margin : 0 auto 30px;
  border : 3px solid #ccc;
}
.words-page #contents .course {
  color : #000080;
}
.words-page #contents .course table.course-table {
  color : inherit;
}
.notice-table, .info-table {
  margin : 0 auto 30px;
  border-collapse : collapse;
}
.notice-table td,
.info-table td, .info-table th {
  padding : 10px;
  font-size : 14px;
  vertical-align : top;
}
.info-table th {
  width : 180px;
  text-align : center;
  font-weight : normal;
}
.notice-red-bold {
  color : red;
  font-size : 16px;
  font-weight : bold;
}
.notice-black {
  color : #000;
  font-size : 14px;
}
.notice-red {
  color : red;
}
.center {
  text-align : center;
}
#contents img {
  display : block;
  margin : 0 auto;
  width : 100%;
  max-width : 630px;
  height : auto;
}
.other-images {
  display : flex;
  flex-direction : column;
  align-items : center;
  gap : 0;
  line-height : 0;
}
.other-images img {
  display : block;
  margin : 0;
  padding : 0;
}
.band-title {
  margin-bottom : 0 !important;
}
body.words-page h2.band-title {
  margin-bottom : 0;
}
#contents {
  padding : 20px 30px;
}
#contents .course-text,
#contents .course-note, #contents .course-list {
  padding-left : 20px;
  padding-right : 20px;
  box-sizing : border-box;
}
#contents .contents-inner {
  max-width : 640px;
  margin : 0 auto;
  padding : 0 20px;
  box-sizing : border-box;
  overflow : hidden;
}
.course-text,
.course-list, .course-image {
  clear : both;
}
.price-text {
  text-align : center;
  color : #66CC99;
  font-size : 14px;
  margin : 10px 0 20px;
}
.service-price {
  margin : 20px 0;
}
.service-price .price-text {
  text-align : center;
  color : #66CC99;
  font-size : 14px;
}
body.hadoukouza-page #container,
body.hadoukouza-page #menu, body.hadoukouza-page #contents {
  display : block !important;
  width : 100% !important;
  max-width : none !important;
  float : none !important;
  margin : 0;
  padding : 0;
}
body.hadoukouza-page #pdf-container {
  width : 900px;
  margin : 30px auto;
}
body.hadoukouza-page #pdf-container iframe {
  width : 100%;
  height : 800px;
  border : none;
  display : block;
}
body.heal-page #menu {
  display : none;
}
body.heal-page #contents {
  width : 100%;
  max-width : none;
}
body.heal-page .onecolumn-contents {
  width : 850px;
  margin : 30px auto;
}
body.healing-page #contents {
  width : 700px;
  padding : 10px;
  box-sizing : border-box;
}
body.howto2-page #contents,
body.howto3-page #contents,
body.howto4-page #contents,
body.howto5-page #contents, body.howto6-page #contents {
  width : 650px;
  padding : 10px;
  box-sizing : border-box;
}
body.howto3-page .line-btn {
  width : 120px !important;
  height : auto !important;
}
body.howto3-page #contents table td {
  font-size : 14px !important;
  line-height : 1.4;
}
body.hypno-page #contents {
  width : 650px;
  padding : 10px;
  box-sizing : border-box;
}
.page-pay #contents .contents-inner {
  line-height : 1.7;
  font-size : 18px;
}
.page-pay #contents .contents-inner .color-green {
  color : #3cb371;
}
.page-pay #contents .contents-inner .color-pink {
  color : #db7093;
}
.page-pay #contents .contents-inner .size-3 {
  font-size : 16px;
}
.page-pay #contents .contents-inner .text-left {
  text-align : left;
}
.page-pay #contents .contents-inner .dashed-box {
  border : 1px dashed #ccc;
  padding : 10px;
  margin : 15px auto;
  width : 60%;
  text-align : left;
}
.page-pay #contents .contents-inner .center {
  text-align : center;
}
.page-pay #contents .contents-inner a {
  text-decoration : none;
  color : inherit;
}
.page-pay #contents .pay-fee-box {
  border : 1px dashed #ccc;
  padding : 10px;
  margin : 15px auto;
  width : 60%;
  text-align : left;
  color : #db7093;
}
.intro-catch {
  text-align : center;
  font-size : 18px;
  color : #9966CC;
  margin-bottom : 10px;
}
.intro-text {
  font-size : 14px;
  color : #9999ff;
  line-height : 1.4;
}
.course-info {
  text-align : center;
  margin : 20px 0;
}
.course-times {
  font-size : 18px;
  color : #8b008b;
  font-weight : bold;
}
.course-detail {
  font-size : 14px;
}
.course-text {
  margin : 20px 0;
  color : #ba55d3;
  line-height : 1.8;
}
.course-list {
  margin : 20px 0 20px 1.2em;
  color : #ba55d3;
}
.page-kouten .kouten-scroll {
  font-size : 18px;
  line-height : 1.8;
  color : #444444;
}
.page-kouten .text-red {
  color : red;
}
.page-kouten .text-blue {
  color : #0000cd;
}
.page-kouten .text-orange {
  color : #ff8c00;
}
.page-kouten .text-crimson {
  color : #dc143c;
}
.page-kouten .text-red-large {
  color : red; font-size : 20px;
}
.page-kouten .kouten-scroll b {
  font-weight : bold;
}
.page-kouten .kouten-scroll br {
  line-height : 1.8;
}
.course-note {
  margin : 20px 0;
  color : #ba55d3;
  font-size : 13px;
  line-height : 1.6;
}
.center-intro {
  text-align : center;
  color : #da70d6;
}
.center-intro {
  text-align : left;
  color : #da70d6;
}
.center-intro .intro-text {
  line-height : 1.0;
  font-size : 14px;
}
.voice-img-grid {
  display : grid;
  grid-template-columns : 1fr 1fr;
  gap : 20px;
  margin-bottom : 30px;
}
.voice-img-item {
  background-image : url("waku2.jpg");
  background-size : 100% 100%;
  background-repeat : no-repeat;
  background-position : top center;
  padding : 30px 20px;
  color : #000;
  font-size : 0.9rem;
  line-height : 1.6;
  text-align : left;
  box-sizing : border-box;
}
.voice-overlay {
  position : absolute;
  top : 50%;
  left : 50%;
  transform : translate(-50%, -50%);
  color : #fff;
  font-size : 0.9rem;
  font-weight : bold;
  text-shadow : 0 0 6px rgba(0, 0,0, 0.7);
  text-align : center;
  width : 90%;
  line-height : 1.4;
  padding : 0 5px;
}
#contents table {
  width : 100% !important;
  max-width : 100% !important;
  box-sizing : border-box;
}
#menu .session-title {
  width : 100% !important;
  display : block;
  box-sizing : border-box;
}
.free-links img {
  width : auto !important;
  max-width : 100% !important;
  height : auto !important;
  display : block;
}
#contents .yellow-band {
  width : 640px !important;
  margin : 0 auto !important;
  box-sizing : border-box;
}
#menu .yellow-band {
  width : 100% !important;
  margin : 10px 0 !important;
  box-sizing : border-box;
}
#menu img {
  width : auto !important;
  max-width : 100% !important;
  height : auto;
  display : block;
}
#contents img {
  width : 100%;
  max-width : 630px;
  height : auto;
  display : block;
}
#menu {
  float : left;
  width : 230px;
  min-height : 1px;
}
#contents {
  float : right;
  width : 650px;
}
  #container : :after {
  content : "";
  display : block;
  clear : both;
}
body.spi #contents {
  width : 650px;
  margin : 0;
  float : right;
}
body.spi #container {
  width : 900px;
  margin : 0 auto;
}
body.onecolumn #rightcolumn {
  margin-left : 20px;
}
body.onecolumn #menu {
  width : 195px;
  font-size : 13px;
}
#menu {
  width : 195px;
  font-size : 13px;
  line-height : 1.6;
  box-sizing : border-box;
}
#menu a {
  display : block;
  text-decoration : none;
}
#menu img {
  max-width : 100%;
  height : auto;
  display : block;
}
.neko-img {
  width : 200px;
  height : auto;
  display : block;
  margin : 10px auto;
}
.bokoyaki-text, .bokoyaki-box {
  line-height : 1.9;
  color : #333;
  font-size : 14px;
}
.bokoyaki-date {
  color : #888;
  font-size : 12px;
  margin-bottom : 6px;
}
.bokoyaki-text, .bokoyaki-box {
  max-width : 480px;
  margin : 0 auto 32px;
}


#top-band {
  position : relative;
}

#top-band img {
  display : block;
}

.index-h1 {
  width : 100%;
  font-size : 16px;
  font-weight : 600;
  text-align : center;
  margin : 8px 0;
  color : #0b2f4a;
  text-shadow :
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff,
     0 2px 3px rgba(0,0,0,0.3);
}


#top-band img {
  display: block;
  width: 100%;   /* ← これ超重要 */
  height: auto;
}


.soul-banner {
  position : relative;
  padding : 50px 20px;
  text-align : center;
  line-height : 1.6;
}
  .soul-banner : :before {
  content : "";
  position : absolute;
  inset : 0;
  background-image : url("b6.jpg");
  background-repeat : no-repeat;
  background-position : center top;
  background-size : 100% 100%;
  z-index : 0;
}
.soul-title, .soul-sub {
  position : relative;
  z-index : 1;
}
.soul-title {
  font-size : 20px;
  font-weight : bold;
  color : #990066;
  margin-bottom : 10px;
}
.soul-sub {
  font-size : 16px;
  color : #333;
}
.text-outline-white {
  text-shadow : -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff, 1px  1px 0 #fff;
}
#contents .text-center {
  text-align : center;
}
#contents .font-c71585 {
  color : #c71585 !important;
}
.text-center {
  text-align : center;
}
.font-blue {
  color : blue;
}
.size-4 {
  font-size : 1.5em;
}
p {
  line-height : 1.4 !important;
  margin-top : 8px !important;
  margin-bottom : 8px !important;
}
#contents br {
  line-height : 0 !important;
}
#contents h3 {
  font-size : 18px;
  color : #3CB371;
  margin-top : 20px;
  margin-bottom : 8px;
}
#contents p {
  font-size : 14px;
  color : #000000;
  line-height : 1.6;
  margin-bottom : 12px;
}
.column-link {
  color : #32cd32;
  text-decoration : none;
}
  .column-link : hover {
  text-decoration : underline;
}
.band-title {
  font-size : 18px;
  font-weight : bold;
  color : #8a2be2;
  margin-top : 30px;
  margin-bottom : 10px;
  text-align : center;
}
.seminar-course .course h3 {
  color : #8a2be2;
  font-weight : bold;
  font-size : 16px;
  margin-top : 20px;
}
.seminar-course .course h4 {
  color : #8a2be2;
  font-weight : bold;
  font-size : 14px;
  margin-top : 10px;
}
.seminar-course .course ul {
  background-color : #ffffcc;
  border : 1px solid #cccc00;
  padding : 10px 20px;
  list-style-type : disc;
}
.seminar-course .course ul li {
  font-size : 14px;
  color : #9370db;
  margin-bottom : 5px;
}
.seminar-course .course p.apply-link a {
  color : #8a2be2;
  text-decoration : none;
  font-weight : bold;
}
.session-title {
  color : #8a2be2;
  font-weight : bold;
  font-size : 16px;
  margin-top : 10px;
}
.session-price {
  color : #90ee90;
  font-weight : bold;
}
.session-desc {
  color : #9370db;
  font-size : 14px;
  line-height : 1.5;
}
.ticket-title {
  color : #8a2be2;
  font-weight : bold;
}
.ticket-price {
  color : #90ee90;
}
.ticket-desc {
  color : #9370db;
}
.apply-link a {
  color : #8a2be2;
  text-decoration : none;
  font-weight : bold;
}
#contents table {
  width : 100%;
  max-width : 630px;
  border : 3px solid #cccccc;
  margin : 0 auto 20px auto;
  border-collapse : collapse;
}
#contents td {
  padding : 5px 10px;
  vertical-align : top;
}
#contents table td {
  line-height : 1.7 !important;
}
#main #contents table td {
  line-height : 1.7 !important;
}
#contents td.center {
  text-align : center;
}
#contents img {
  max-width : 100%;
  height : auto;
}
#menu table {
  width : 100%;
  border : 1px solid #cccc00;
  background-color : #ffffcc;
  margin-bottom : 10px;
}
#menu table td {
  padding : 4px;
  color : #FF6600;
  font-weight : bold;
  font-size : 14px;
}
#menu table td a {
  color : #FF6600;
  text-decoration : none;
}
#footer {
  width : 100%;
  background-color : #f0f0f0;
  padding : 15px 0;
  text-align : center;
  font-size : 12px;
  color : #333;
}
#footer .footer-inner {
  width : 900px;
  margin : 0 auto;
}
#contents {
  max-width : 630px;
  margin : 0 auto;
  padding : 10px;
  box-sizing : border-box;
  font-family : "メイリオ", sans-serif;
}
#contents .band-title {
  font-size : 20px;
  font-weight : bold;
  color : #00AADD;
  text-align : center;
  margin-top : 20px;
  margin-bottom : 20px;
}
#contents .center {
  text-align : center;
  margin : 15px 0;
}
#contents .content-block {
  margin-bottom : 30px;
}
#contents .normal-text {
  font-size : 14px;
  line-height : 1.6;
  color : #000000;
}
#main #contents p.normal-text {
  line-height : 1.7 !important;
}
#contents .highlight {
  color : #00AADD;
  font-weight : bold;
}
#contents a {
  color : #00AADD;
  text-decoration : underline;
}
#footer {
  width : 100%;
  background-color : #f4f4f4;
  padding : 15px 0;
  text-align : center;
  font-size : 12px;
  color : #333;
}
#footer .footer-inner {
  max-width : 900px;
  margin : 0 auto;
}
body.howto2-page #contents {
  width : 650px;
  padding : 10px;
  box-sizing : border-box;
}
body.howto2-page #contents .session-intro {
  font-size : 14px;
  line-height : 1.6;
}
body.howto2-page #contents .method-list {
  color : #0099FF;
  font-weight : bold;
  margin : 10px 0;
}
body.howto2-page #contents p {
  margin-bottom : 15px;
}
body.howto2-page #contents .apply-link a {
  color : #0099FF;
  text-decoration : none;
  font-weight : bold;
  display : inline-block;
  margin-top : 10px;
}
body.howto2-page #contents .session-images img {
  display : block;
  margin : 10px auto;
  max-width : 100%;
  height : auto;
}
body.howto2-page .img-tight {
  max-width : 100%;
  height : auto;
  display : block;
  margin : 0 auto 10px auto;
}
body.howto3-page #contents {
  width : 650px;
  padding : 10px;
  box-sizing : border-box;
  font-size : 14px;
  line-height : 1.6;
  letter-spacing : 1px;
}
body.howto3-page #contents img {
  max-width : 100%;
  height : auto;
}
body.howto3-page #contents img.img-tight {
  display : block;
  margin : 0 auto 15px auto;
}
body.howto3-page #contents table {
  width : 100%;
  max-width : 630px;
  margin : 10px auto;
  border-collapse : collapse;
  background-color : #fff;
}
body.howto3-page #contents table td {
  border : 1px solid #ccc;
  padding : 8px;
  vertical-align : top;
}
body.howto3-page #contents .session-title {
  color : #FF6600;
  font-weight : bold;
  font-size : 16px;
}
body.howto3-page #contents .apply-link a {
  color : #8a2be2;
  font-weight : bold;
  text-decoration : none;
}
body.howto3-page #contents .line-btn {
  width : 120px !important;
  height : auto !important;
  display : block;
  margin : 10px auto;
}
body.howto3-page #contents font[size="4"] {
  font-size : 16px;
}
body.howto3-page #contents font[size="3"] {
  font-size : 14px;
}
#contents {
  line-height : 1.4;
  margin-bottom : 10px;
}
#contents,
#contents p, #contents table td {
  line-height : 1.2 !important;
  margin : 0 !important;
  padding : 4px 8px !important;
}
body.howto3-page #contents > div {
  line-height : 1.3 !important;
}
body.howto4-page #contents .right-column-text {
  font-size : 14px;
  color : #191970;
  line-height : 1.6;
  letter-spacing : 1px;
}
body.howto4-page #contents .right-column-text {
  line-height : 1.4 !important;
}
body.howto4-page #contents .img-tight {
  max-width : 100%;
  height : auto;
  margin-bottom : 10px;
}
body.howto4-page #contents .center {
  text-align : center;
}
#contents p.howto5-text {
  line-height : 2.0 !important;
  font-size : 16px;
  color : #1e90ff;
}
.img-tight {
  max-width : 100%;
  height : auto;
}
.highlight {
  color : #d9534f;
  font-weight : bold;
}
.highlight {
  color : #c71585;
  font-weight : bold;
}
body.howto6-page #contents {
  font-size : 14px;
  line-height : 2.2;
  letter-spacing : 1px;
  color : #2e8b57;
}
body.howto6-page #contents p {
  font-size : 14px;
  line-height : 2.2;
  letter-spacing : 1px;
  margin : 0 0 2em;
}
body.howto6-page #contents .img-tight {
  max-width : 100%;
  height : auto;
}
body.howto6-page #contents .center {
  text-align : center;
}
body.howto6-page #contents .apply-link a {
  font-size : 14px;
}
body.howto6-page #contents p.wide-space {
  margin-bottom : 2em !important;
}
body.howto6-page #contents p {
  color : #2e8b57 !important;
}
body.howto6-page #contents p.apply-link {
  margin-top : 3em !important;
}
body.howto6-page #contents {
  color : #333333;
  font-size : 14px;
  line-height : 2;
}
body.howto6-page #contents img.img-tight {
  display : block;
  margin : 0 auto 1.5em;
}
body.howto6-page #contents .hypno-text {
  margin-top : 1.5em;
}
body.howto6-page #contents .center {
  text-align : center;
}
#contents {
  font-size : 16px;
  color : #333;
}
#contents .band-title.words-title {
  color : #2e8b57;
  font-size : 20px;
  font-weight : bold;
  text-align : center;
  margin : 0 0 1em;
}
#contents .blue-title {
  color : #0066cc;
  font-size : 18px;
  font-weight : bold;
  line-height : 1.2;
  margin-bottom : 0.3em;
}
#contents .purple-title {
  color : #9933cc;
  font-size : 16px;
  font-weight : bold;
  line-height : 1.2;
  margin-bottom : 0.3em;
}
#contents .red-title {
  color : #cc0000;
  font-size : 18px;
  font-weight : bold;
  line-height : 1.2;
  margin-bottom : 0.3em;
}
#contents .red-title + .red-title {
  font-size : 16px;
}
#contents .purple-note {
  color : #aa55dd;
  font-size : 12px;
  line-height : 1.2;
  margin-bottom : 0.3em;
}
#contents .blue-item {
  color : #0066cc;
  font-weight : bold;
}
#contents .purple-text {
  color : #663399;
}
#contents .note-small {
  color : #666;
  font-size : 12px;
}
#contents .blue-text {
  color : #0066cc;
  font-weight : bold;
}
#contents .green-price {
  color : #2e8b57;
  font-size : 16px;
  font-weight : bold;
}
#contents .darkred-text {
  color : #990000;
}
#contents .course-list {
  color : #333;
}
#contents .red-note {
  color : #cc0033;
  font-weight : bold;
}
#contents .hypno-text {
  font-size : 14px;
  line-height : 1.9;
  letter-spacing : 0.5px;
}
#contents .hypno-text p {
  line-height : 1.6 !important;
  margin-bottom : 0.8em !important;
}
#contents .hypno-text br {
  margin-bottom : 1.2em !important;
}
#contents table {
  border-collapse : collapse;
  margin : 1.5em auto;
}
#contents table td {
  padding : 1.5em;
  line-height : 1.5;
}
#contents table p {
  margin : 0.4em 0;
  line-height : 1.5;
}
#contents table br {
  display : block;
  margin-bottom : 0.4em;
}
.hypno-table .blue-title,
.hypno-table .purple-title, .hypno-table .purple-note {
  line-height : 1.2;
  margin-bottom : 0.3em;
}
.notice-table, .info-table {
  width : 610px;
  border-collapse : collapse;
  margin : 1.5em auto;
  border : 3px solid #999;
}
.notice-table td,
.info-table td, .info-table th {
  padding : 1.2em;
  vertical-align : top;
  line-height : 1.6;
}
.info-table th {
  background : #f5f5f5;
  font-weight : bold;
  width : 180px;
  border-right : 3px solid #999;
}
#contents a {
  color : #0066cc;
  font-weight : bold;
  text-decoration : underline;
}
body.other-page #contents .other-images img {
  width : auto !important;
  max-width : none !important;
  height : auto !important;
  display : block !important;
}
body.other-page #contents h2.band-title {
  font-weight : bold !important;
}
body.other-page h2.band-title {
  padding-top : 5px !important;
  padding-bottom : 5px !important;
  line-height : 1.2 !important;
}
#contents {
  font-size : 14px;
  color : #333;
}
#contents table.stone-table {
  width : 100%;
  border-collapse : collapse;
  margin : 0 auto 0.8em;
  border : 1px solid #ccc;
}
#contents table.stone-table td {
  padding : 0.5em 0.8em;
  line-height : 1.5;
}
#contents table.stone-table td center, #contents table.stone-table td .center {
  display : block;
  text-align : center;
}
#contents img {
  display : block;
  margin : 0.5em auto;
  max-width : 100%;
  height : auto;
}
#contents .contents-inner {
  line-height : 1.7;
  box-sizing : border-box;
}
#contents .contents-inner p,
#contents .contents-inner font, #contents .contents-inner br {
  line-height : 1.7 !important;
  margin-bottom : 1em !important;
}
#contents .contents-inner strong, #contents .contents-inner span {
  color : inherit;
  font-weight : inherit;
}
.words-page.howto4-page #contents .contents-inner {
  line-height : 1.7;
  box-sizing : border-box;
}
.words-page.howto4-page #contents .contents-inner p,
.words-page.howto4-page #contents .contents-inner span, .words-page.howto4-page #contents .contents-inner br {
  line-height : 1.7 !important;
  margin-bottom : 1em !important;
}
.words-page.howto4-page #contents .contents-inner .highlight-red {
  color : red;
  font-weight : bold;
}
.words-page.howto4-page #contents .contents-inner .highlight-blue {
  color : blue;
}
.words-page.howto4-page #contents .contents-inner .highlight-purple {
  color : purple;
}
.words-page.howto4-page #contents .contents-inner .highlight-green {
  color : green;
}
.words-page.howto4-page #contents .contents-inner .highlight-orange {
  color : orange;
}
#contents .contents-inner {
  line-height : 1.6;
  letter-spacing : 1px;
  box-sizing : border-box;
}
#contents .contents-inner .color-red {
  color : red;
}
#contents .contents-inner .color-blue {
  color : #0000cd;
}
#contents .contents-inner .color-green {
  color : green;
}
#contents .contents-inner .color-orange {
  color : orange;
}
#contents .contents-inner .color-black {
  color : #000;
}
#contents .contents-inner p, #contents .contents-inner span {
  margin : 0;
  padding : 0;
}
#contents a {
  text-decoration : none;
}
.contents-inner {
  line-height : 1.7;
  font-size : 18px;
}
.color-green {
  color : #3cb371;
}
.color-pink {
  color : #db7093;
}
.color-black {
  color : black;
}
.size-3 {
  font-size : 16px;
}
.size-4 {
  font-size : 18px;
}
.text-left {
  text-align : left;
}
.center {
  text-align : center;
}
.pay-fee-box, .dashed-box {
  border : 1px dashed #ccc;
  padding : 10px;
  margin : 15px auto;
  width : 60%;
  text-align : left;
  color : inherit;
}
.contents-inner a {
  text-decoration : none;
  color : inherit;
}
.self-scroll {
  position : relative;
  max-height : 400px;
  overflow-y : auto;
  padding : 20px;
  background : rgba(255, 255, 255, 0.75);
  box-sizing : border-box;
  max-width : 900px;
  width : 100%;
  margin : 0 auto;
}
.contents-inner {
  line-height : 1.6;
  font-size : 14px;
  letter-spacing : 1px;
}
.color-black {
  color : black;
}
.size-2 {
  font-size : 12px;
}
.size-3 {
  font-size : 14px;
}
.size-4 {
  font-size : 16px;
}
.text-left {
  text-align : left;
}
.center {
  text-align : center;
}
.contents-inner a {
  text-decoration : none;
  color : inherit;
}

/* ===============================
   TOPメッセージ（青帯の下）
================================ */

.top-message {
  position: relative;
  z-index: 1;
  height: auto;
  min-height: 200px; /* ←画像の高さに合わせて調整してね */
}

.top-message img {
  width: 100%;
  height: auto;
  display: block;
}


.top-message-text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center; /* 上下中央揃え */
  align-items: center;     /* 左右中央揃え */
  text-align: center;
  z-index: 10;
  pointer-events: none; /* ←クリックできないようにする（必要なら） */
}


/* 文字装飾 */
.line-main {
  font-family: Meiryo;
  font-size: 36px;
  color: #000080;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
}

.line-sub {
  font-size: 24px;
  color: #00bfff;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;
}

.line-me {
  font-family: Meiryo;
  font-size: 20px;
  color: #1360ad;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff;

  align-self: flex-end; /* ← 右寄せ */
  text-align: center;   /* ← 改行は中央揃え */
}


/* ===============================
   TOPページの右リンク線削除
================================ */
.header-right a,
.header-right a:-webkit-any-link {
  text-decoration: none !important;
  color: #3cb371 !important;
}

.header-right a,
.header-right a:link,
.header-right a:visited,
.header-right a:hover,
.header-right a:active,
.header-right a:-webkit-any-link {
  text-decoration: none !important;
  border-bottom: none !important;
  color: #3cb371 !important;
}


/* ===============================
   右カラムの上の余白を詰める
================================ */
#rightcolumn {
  margin-top: 10px;
}

#rightcolumn h2 {
  margin-top: 0;
}

/* ===============================
   学びの場行間や色
================================ */
#main.kouten-only td {
  line-height: 1.4;
}

#main.kouten-only .c-blue {
  color: #1e90ff;
}

#main.kouten-only .c-navy {
  color: #191970;
}

#main.kouten-only .c-accent {
  color: #1e50a2;
}

#main.kouten-only .c-gunjo{
  color: #223a70;
}

#main.kouten-only .c-sikon{
  color: #460e44;
}
#main.kouten-only .c-kouza{
  color: #2a4073;
}
#main.kouten-only .c-step{
  color: #1e50a2;
}

#main.kouten-only .em {
  font-weight: 600;
}
#main.kouten-only .center-text {
  display: block;
  text-align: center;
  margin: 0.8em 0;