@charset "utf=8";

html {
  display: block;
  box-sizing: border-box;
}

head {
  display: none;
}

body {
  background: #ffffff; /*全体の背景エリアカラー*/
  text-rendering: optimizeSpeed;
  color: #404346;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  margin: 0;
}

/* フォントカラー、ウェイト、サイズ */
.color_tomato  {
  color: #ff3683;
}

.color_red  {
  color: #df0000;
}

.color_orange  {
  color: #ee8f00;
}

.color_green  {
  color: #293b30;
}

.weight_light {
  font-weight: lighter;
}

.weight_bold {
  font-weight: bold;
}

.size_small {
  font-size: small;
}

.size_smaller {
  font-size: smaller;
}

.size_large {
  font-size: large;
}

@media screen and (min-width: 769px) {
  body {
    min-height: 100vh;
    position: relative;
  }

  #wrap {
    width: calc(100% - 240px);
    box-sizing: border-box;
    float: right;
  }
}

@media screen and (max-width: 768px) {
  body {
    max-width: 100%;
    min-height: auto;
  }

  #wrap {
    max-width: 100%;
    float: none;
  }

  section {
    width: 100vw;
    margin: 0;
  }
} 

/* ↓↓↓PCサイドメニュー↓↓↓ */
.pc__screen {
  width: 240px;
  min-height: 100%;
  background: #28633c; /*実際は隠れる仮背景色*/
  float: left;
  position: fixed; /* スクロール時にサイドバーを固定 */
  top: 0; /* スクロール時にサイドバーを固定 */
  color: #fff; /*ヘッダーエリア全体のフォントカラー*/
  z-index: 5000; /*メインエリアより上に重なり*/
}

.drawer-container {
  background-color: #bfff00; /*隠れる仮背景色*/
  height: 170px;
}

.drawer-logoarea {
  background-color: #4D9988; /*ヘッダーロゴエリア◎*/
  width: 240px;
  height: 170px;
  margin: auto;
  text-align: center;
  z-index: 10;
  position: absolute;
}

.drawer-logoarea .header-logo {
  width: 150px;
  margin: 40px auto 0 auto;
  text-align: center;
}

.drawer-logoarea .logo-name-eng {
  font-size: 0.7em;
  margin: 0 auto 7px auto;
}

.drawer-logoarea .logo-name-jap {
  font-size: 1.1em;
  letter-spacing: 0.1em;
  margin: auto;
  color: #fff;
  font-weight: 300;
}

.drawer-container__a, .drawer-container__b, .drawer-container__c, .drawer-container__d, .drawer-container__e, .drawer-container__f {
  width: 240px;
}

.walloping-link {
  text-decoration: none;
  color: #fff;
}

.drawer-toggle__a, .drawer-toggle__b, .drawer-toggle__c, .drawer-toggle__d, .drawer-toggle__e, .drawer-toggle__f {
  background-color: #4D9988; /*ヘッダーナビエリア◎*/
  cursor: pointer;
  padding: 20px;
  width: auto;
  z-index: 10;
  position: relative;
  border-top: #e0e0e0 solid 1px;
  letter-spacing: 0.1em;
  font-size: 1.2em;
}

.drawer-toggle__f {
  border-bottom: #e0e0e0 solid 1px;
}

.drawer-toggle__a:hover, .drawer-toggle__b:hover, .drawer-toggle__c:hover, .drawer-toggle__d:hover, .drawer-toggle__e:hover, .drawer-toggle__f:hover {
  background-color: #dbe8e5; /*サイドナビhover時の色△*/
  color: #404346;
}

.drawer-menu__a, .drawer-menu__b, .drawer-menu__c, .drawer-menu__d, .drawer-menu__e, .drawer-menu__f {
  position: absolute;
  top: 0;
  left: -240px; /* 初期状態で非表示 */
  width: 240px;
  height: 100%;
  background-color: #dbe8e5; /*サイドナビhover時の展開△*/
  border-right: 1px solid #ccc;
  transition: left 0.3s ease; /* スライドのアニメーション */
  z-index: 1;
  font-size: 1.1em;
}

.drawer-menu__a ul {
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  padding-top: 185px;
}

.drawer-menu__b ul {
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  padding-top: 250px;
}

.drawer-menu__c ul {
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  padding-top: 318px;
}

.drawer-menu__d ul {
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  padding-top: 383px;
}

.drawer-menu__e ul {
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  padding-top: 450px;
}

.drawer-menu__f ul {
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 1;
  padding-top: 520px;
}

.drawer-menu__a li, .drawer-menu__b li, .drawer-menu__c li, .drawer-menu__d li, .drawer-menu__e li, .drawer-menu__f li {
  padding: 10px;
  z-index: 1;
}

.drawer-menu__a li a, .drawer-menu__b li a, .drawer-menu__c li a, .drawer-menu__d li a, .drawer-menu__e li a, .drawer-menu__f li a {
  display: block;
  text-decoration: none;
  color: #000000;
  letter-spacing: 0.1em;
  z-index: 1;
}

.drawer-menu__a li a:hover, .drawer-menu__b li a:hover, .drawer-menu__c li a:hover, .drawer-menu__d li a:hover, .drawer-menu__e li a:hover, .drawer-menu__f li a:hover {
  display: block;
  text-decoration: none;
  color: #404346;
  font-weight: bold;
  text-decoration: underline;
  letter-spacing: 0.1em;
  z-index: 1;
}

.drawer-container__a:hover .drawer-menu__a ,.drawer-container__b:hover .drawer-menu__b ,.drawer-container__c:hover .drawer-menu__c ,.drawer-container__d:hover .drawer-menu__d ,.drawer-container__e:hover .drawer-menu__e,.drawer-container__f:hover .drawer-menu__f {
  left: 240px; /* ホバー時に表示 */
  z-index: 1;
}

.drawer-container__space {
  width: 240px;
}

.drawer-toggle__space {
  background-color: #4D9988; /*ヘッダー下部エリア◎*/
  width: 240px;
  min-height: 100%;
  z-index: 10;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .pc__screen {
    display: none;
  }
} 
/* ↑↑↑PCサイドメニュー↑↑↑ */

/* ↓↓↓スマホハンバーガー↓↓↓ */
@media (min-width: 769px) {
  .sp__screen {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .el_humburger {
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 20;
    cursor: pointer;
    pointer-events: auto;
    color: #000;
    text-align: center;
    display: block;
    right: 5px;
    top: 0;
    padding-top: 13px;
    width: 70px;
    height: 70px;
  }
 
  .el_humburger_wrapper {
    margin-bottom: 5px;
    width: 30px;
  display: inline-block;
  }

  .el_humburger_text {
    font-size: 10px;
    letter-spacing: 0.1em;
    padding-top: 2px;
  }

  .js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
    display: none;
  }
 
  .el_humburger_text.el_humburger_text__close {
    display: none;
  }
 
  .js_humburgerOpen .el_humburger_text.el_humburger_text__close {
    display: block;
  }
 
  .el_humburger_text svg path {
    -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    fill: #000;
  }

  .el_humburger span.el_humburger_bar {
    display: block;
    width: 100%;
    margin: 0 auto 9px;
    height: 2px;
    left: 0;
    top: 0;
    background: #000;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
  }
 
  .el_humburger span.el_humburger_bar:last-child {
    margin-bottom: 0;
  }
  
  .js_humburgerOpen .el_humburger span.el_humburger_bar.top {
    -webkit-transform: translateY(9px) rotate(-45deg);
    -ms-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }
  
  .js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
    opacity: 0;
  }
  
  .js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
    -webkit-transform: translateY(-13px) rotate(45deg);
    -ms-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg);
  }
  
  .el_humburgerButton.el_humburgerButton__close {
    top: 2%;
    right: 2%;
  }
 
  .el_humburgerButton__close span.el_humburger_bar {
    display: block;
    width: 35px;
    margin: 0 auto;
    height: 4px;
    background: #000;
  }
 
  .el_humburgerButton__close span.el_humburger_bar.top {
    -webkit-transform: translateY(5px) rotate(-45deg);
    -ms-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg);
  }
  
  .el_humburgerButton__close span.el_humburger_bar.bottom {
    -webkit-transform: translateY(-6px) rotate(45deg);
    -ms-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
  }
  
  .navi {
    position: fixed;
    right: 0;
    height: 100%;
    background-color: #fff;
    width: 450px;
    z-index: 3;
    padding: 120px 0; /*元々 padding: 100px 5% 0;*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 600ms ease-out;
    -o-transition: all 600ms ease-out;
    transition: all 600ms ease-out;
    transform:translateZ(0) translateX(100%);
    overflow: auto;
    top: 0; /*開いたときに上部に空いてたすき間を詰める*/
  }

  .navi a {
    text-decoration: none;
    color: #000;
  }

  .js_humburgerOpen .navi {
    transform:translateZ(0) translateX(0);
    width: 100%;
  }

  .navi_item {
    position:relative;
    margin-bottom: 28px;
    white-space: nowrap;
    margin-left: 0;
    font-size: 18px;
    border-bottom: solid 1px #e7e7e7;
  }

  .major_head {
    display: block;
    padding-bottom: 10px;
    margin-left: 20px;
  }

  .navi_item.op_innerLink {
    cursor: pointer;
  }
  
  .el_spChildNavOpen {
    position: absolute;
    top: -6px;
    left: 80%;
    z-index: 20;
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    padding: 10px;
  }
  
  .js_openParent.js_fire > .el_spChildNavOpen {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .js_openParent.js_fire > .el_spChildNavOpen > .el_spChildNavOpen_wrapper:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
  
  .el_spChildNavOpen_wrapper {
    position: relative;
    width: 15px;
    height: 15px;
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
  }

  .el_spChildNavOpen_wrapper:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #4D9988;
    position: absolute;
    top: calc(50% - 1px);
  }

  .el_spChildNavOpen_wrapper:after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #4D9988;
    position: absolute;
    left: calc(50% - 1px);
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out;
  }
  
  .nav_child {
    background-color: #4D9988; /*書き足し*/
  }

  .nav_child a {
    color: #fff;
  }
  
  .nav_child_item {
    position: relative;
    font-size:16px;
    margin-bottom:10px;
    padding-left:40px;
    padding-top: 15px; /*書き足し*/
    padding-bottom: 15px; /*書き足し*/
    border-bottom: solid 1px #ffffff;
  }
  
  .nav_child_item > a {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
  }
  
  .nav_child_item:last-child {
    margin-bottom:0px;
  }

  .js_openSwitch {
    cursor: pointer;
  }
  
  .js_openTarget {
    display: none;
  }
}

/* ↓↓↓【index】ページ↓↓↓ */

/* ★スマホのみヘッダー（下層ページも共通） */
@media screen and (min-width: 769px) {
  .sp_logoname_area {
    display: none;
  }
}  

@media screen and (max-width: 768px) {
  .sp_logoname_area {
    width: auto;
    height: 50px;
    background-color: #008b6d;
    color: #fff;
    display: block;
    align-items: center;
  }

  .sp_logoname_area img {
    margin: 10px;
    width: auto;
    height: 30px;
    float: left;
  }

  .sp_logoname_text p {
    padding-top: 0;
    margin-top: 0;
  }

  .sp_logoname_text .name_eng {
    margin: 0;
    padding: 0;
    font-size: 8px;
    display: inline-flex;
    letter-spacing: 1px;
  }

  .sp_logoname_area .name_jap {
    margin: 0;
    padding: 0;
    font-size: 15px;
    display: inline-flex;
    letter-spacing: 2px;
  }
}

/* ★★メイン画像、後期／前期、4見出しエリア */
.main_header_area {
  position: relative;
  display: contents;
  z-index: 500000;
  margin: auto;
  height: 500px;
  clear: both;
}

/* ★後期/前期エリア */
.top_overview_area {
  position: absolute;
  display: block;
  z-index: 1000;
  margin: 0 0 0 30px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 3px;
  top: 20px; /*上から20px*/
  right: 30px; /*左から30px*/
  box-sizing: content-box;
  background-color: #ffffff;
  border-radius: 15px;
  font-family: 'Franklin Gothic Medium', sans-serif;
  box-shadow: 0 0 10px 2px #7575756a;
}

.top_overview_area .course-title {
  font-size: 24px;
  font-weight: bolder;
  color: #ff2e7e;
  margin-top: 10px;
  margin-bottom: 0px;
  letter-spacing: 0.2em;
}

.top_overview_area .overview-container {
  display: flex;
  margin-bottom: 0;
  padding-bottom: 0;
}

.top_overview_area .con-left {
  padding-right: 40px;
}

.top_overview_area .year {
  margin-top: 5px;
  margin-bottom: 5px;
  color: #009071;
  font-size: 20px;
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  font-weight: bolder;
}

.top_overview_area .year::after {
  background-color: #878787; /* 横線の色 */
  content: "";
  height: 1px; /* 横線の高さ */
  flex-grow: 1; /* 横幅いっぱい */
  margin-left: 15px; /* 文字との余白 */
}

.top_overview_area .tawnship {
  font-size: 12px;
  max-width: 210px;
}

.top_overview_area .schedule-details {
  font-size: 14px;
  display: flex;
}

.top_overview_area .schedule-details a {
  background-color: #008b6d;
  color: #ffffff;
  text-decoration: none;
  border-radius: 10px;
  padding: 5px 10px;
  margin-right: 15px;
}

.top_overview_area .schedule-details a:hover {
  background-color: #92c3c9;
}

@media screen and (max-width: 768px) {
  .top_overview_area {
    position: static; /*一旦PCのposition設定を取り消すため*/
    margin: 10px 5px 5px 5px;
    padding: 5px 10px;
    top: 0;
    right: 0;
  }

  .top_overview_area .course-title {
    font-size: 20px;
    letter-spacing: 0.1em;
  }
  
  .top_overview_area .year {
    margin-bottom: 0;
  }

  .top_overview_area .tawnship {
    font-size: 10px;
    max-width: 230px;
    margin-top: 3px;
  }

  .top_overview_area .schedule-details {
    font-size: 12px;
  }

  .top_overview_area .schedule-details a {
    border-radius: 5px;
    padding: 5px 2px;
  }
}  

/* ★メイン画像 */
.top_image_container {
  /* position: absolute; スライドショーの重なりを防ぐためposition:staticを採用*/
  display: block;
  z-index: 500;
  max-width: 100vw;
  right: 5px;
  height: 280px;
  margin: 0;
  background-color: #ffffff;
  overflow: hidden;
  position: static;
}

.top_image_container .top_image {
  width: 100vw;
  height: 280px;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .top_image_container {
    position: static;
    width: auto;
    height: auto;
  }

  .top_image_container .top_image {
    height: auto;
  }
}

/* ★協会名★（indexページ） */
.area__name {
  position: relative; /*トップ画像との間の謎の隙間を埋めるため*/
  display: block;
  bottom: 5px; /*トップ画像との間の謎の隙間を埋めるため*/
  width: auto;
  background: #c4b57e;
  text-align: center;
  margin-bottom: 10px;
  padding-top: 15px;
  padding-bottom: 10px;

}

.area__name .certification {
  color: #363218;
  text-shadow: 1px 1px 1px #fbfbae67;
  font-family: "Shippori Mincho B1", sans-serif; 
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin: auto;
  align-items: center; /* 横線を上下中央 */
  justify-content: center;
  display: flex;
}

.area__name .certification::after {
  background-color: #363218; /* 横線の色 */
  content: "";
  height: 0.2px; /* 横線の高さ */
  width: 150px;
  margin-left: 15px; /* 文字との余白 */
  margin-right: 150px;
}

.area__name .certification::before {
  background-color: #363218; /* 横線の色 */
  content: "";
  height: 0.2px; /* 横線の高さ */
  width: 150px;
  margin-right: 15px; /* 文字との余白 */
  margin-left: 150px;
}

.area__name h1 {
  font-family: "Kiwi Maru", serif;
  color: #ffffff;
  text-shadow: 1px 2px 2px #667100;
  font-size: 35px;
  font-weight: 400;
  letter-spacing: 0.4em;
  margin: auto;
  display: inline-block;
}

.area__name .association-name-eng {
  font-family: "Shippori Mincho B1", sans-serif; 
  font-size: 18px;
  font-weight: 400;
  color: #363218;
  letter-spacing: 0.1em;
  margin: 5px auto;
}

@media screen and (max-width: 768px) {
  .lower_none {
    display: none;
  }

  .area__name {
    margin-bottom: 0;
  }

  .area__name .certification {
    font-size: 13px;
    margin: auto;
    display: flex;
  }

  .area__name h1 {
    font-size: 25px;
    letter-spacing: 0.2em;
  }

  .area__name .association-name-eng {
    font-size: 12px;
    margin: 5px auto 0 auto;
  }
  
  .area__name .certification::after {
    display: none;
  }

  .area__name .certification::before {
    display: none;
  }
}

/* ★日程スライドショー */

.slide-wrapper ul {
  margin: 0;
  padding: 0;
}

.slide-wrapper li {
  list-style: none;
}

/* ↓ スライドの外枠 */

.slide-wrapper {
  z-index: 1;
  width: 100%;
  min-height: 300px;
  padding-bottom: 5px;
  position: relative;
  overflow: hidden; /* はみ出したスライドを隠す */
}

/*  ↓ スライド（コンテンツ） */

.slide { /*スライド全体 */
  width: 300%;
  height: 75%;
  margin: 10px auto;
  display: flex;
  transition: all 0.3s;
}

.slide_inside { /* スライド */
  width: 33.33%;
  min-height: 220px;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: space-around;
  align-items: stretch;
  background-color: #f5f5ec;
  border-radius: 15px;
  margin: auto 15px;
}

.slide_inside a {
  text-decoration: none;
  color: #000;
  display: block;
}

.slide_inside a:hover {
  opacity: 0.5;
}

.slide_inside p {
  margin: 5px auto;
}

.slide_inside .certification {
  margin-top: 10px;
}

.slide_inside .place {
  font-size: 35px;
  font-family: "Kiwi Maru", serif;
}

.slide_inside .training_days {
  font-size: 20px;
  font-weight: bold;
}

.slide_inside .appliinfo_button {
  display: inline-block;
  background-color: #008b6d;
  color: white;
  border-radius: 20px;
  padding: 1px 15px;
}

.slide_inside .deadline {
  margin-bottom: 10px;
}

.slide1 { /* スライドさせるために必要なクラス */
  transform: translateX(0);
}

.slide2 { /* スライドさせるために必要なクラス */
  transform: translateX(-11.11%);
}

.slide3 { /* スライドさせるために必要なクラス */
  transform: translateX(-22.22%);
}

.slide4 { /* スライドさせるために必要なクラス */
  transform: translateX(-33.33%);
}

.slide5 { /* スライドさせるために必要なクラス */
  transform: translateX(-44.44%);
}

.slide6 { /* スライドさせるために必要なクラス */
  transform: translateX(-55.55%);
}

.slide7 { /* スライドさせるために必要なクラス */
  transform: translateX(-66.66%);
}

.slide8 { /* スライドさせるために必要なクラス */
  transform: translateX(-77.77%);
}

.slide9 { /* スライドさせるために必要なクラス */
  transform: translateX(-88.88%);
}

.slide10 { /* スライドさせるために必要なクラス */
  transform: translateX(-99.99%);
}

.slide div:nth-of-type(1){ /* 背景色 */
  border-top: solid 15px #ff4a90;
}

.slide div:nth-of-type(2){ /* 背景色 */
  border-top: solid 15px #d0c765;
}

.slide div:nth-of-type(3){ /* 背景色 */
  border-top: solid 15px #4cd3cc;
}

.slide div:nth-of-type(4){ /* 背景色 */
  border-top: solid 15px #f88e4c;
}

.slide div:nth-of-type(5){ /* 背景色 */
  border-top: solid 15px #4C64D3;
}

.slide div:nth-of-type(6){ /* 背景色 */
  border-top: solid 15px #ade388;
}

.slide div:nth-of-type(7){ /* 背景色 */
  border-top: solid 15px #ff4a4a;
}

.slide div:nth-of-type(8){ /* 背景色 */
  border-top: solid 15px #4cd3ad;
}

.slide div:nth-of-type(9){ /* 背景色 */
  border-top: solid 15px #ddc07f;
}

/* ↓ 左右のボタン */

.next {
  position: absolute;
  width: 15px;
  height: 15px;
  right: 20px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  -webkit-transform: rotate(45deg) translateY(50%);
  transform: rotate(45deg) translateY(50%);
}

.prev {
  position: absolute;
  width: 15px;
  height: 15px;
  left: 30px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  -webkit-transform: rotate(-135deg) translateY(-50%);
  transform: rotate(-135deg) translateY(-50%);
}

/* ↓ インジケーター */

.indicator {
  width: 100%;
  position: absolute;
  bottom: 15px;
  display: flex;
  column-gap: 20px;
  z-index: 10;
  justify-content: center;
  align-items: center;
}

.indicator li {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  list-style: none;
  background-color: #fff;
  border: 2px #343434 solid;
  cursor: pointer;
}

.indicator li:first-of-type {
  background-color: #343434;
}

@media screen and (max-width: 768px) {
  .slide { /*スライド全体 */
    width: 900%; /* 初期300% */
  }

  .slide-wrapper {
    min-height: 260px;
  }

  .slide_inside { /* スライド */
    min-height: 200px;
  }
}

.area__othercourses {
  text-align: center;
  font-size: 19px;
}

.area__othercourses a {
  display: block;
  color: #000000;
}

.area__othercourses a:hover {
  color: #ac33ac;
}

.area__othercourses p {
  display: block;
  margin: auto;
}

/* ★メインエリア★（indexページ） */
.upper-main-area {
  width: 900px;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .upper-main-area {
    width: 100%;
  }
}

/* ★ビフォーアフターエリア★（indexページ） */
.area__top_before_after {
  width: 100%;
  margin: 80px auto;
  padding-bottom: 30px;
  font-family: "Shippori Mincho B1", sans-serif;
  background-color: #eef0e2;
}

.area__top_before_after .head_text_container {
  text-align: right;
}

.area__top_before_after .head_text_container h2 {
  font-size: 35px;
  color: #ffffff;
  letter-spacing: 5px;
  background: #4D9988;
  padding: 0.5em;
  margin: 0;
  line-height: 1.4;
}

.area__top_before_after p {
  margin: 0;
  padding-right: 20px;
  line-height: 1.6;
}

.area__top_before_after .head_text_container .technic {
  font-size: 70px;
  font-weight: bold;
  color: #ff3683;
  letter-spacing: 8px;
}

.area__top_before_after .head_text_container .master {
  font-size: 30px;
  color: #8d8606;
  letter-spacing: 0;
  text-shadow: 2px 2px 5px #efeed6;
}

.area__top_before_after .head_text_container .text_certification {
  font-size: 28px;
  font-weight: bold;
  color: #332f2c;
  letter-spacing: 4px;
}

.area__top_before_after .image_containaer {
  width: 100%;
  text-align: center;
}

.area__top_before_after .image_containaer img {
  width: 90%;
  margin: 20px auto;
}

@media screen and (max-width: 768px) {
  .area__top_before_after {
    margin: 30px auto;
  }

  .area__top_before_after .head_text_container h2 {
    font-size: 15px;
    letter-spacing: 2px;
  }

  .area__top_before_after .head_text_container .technic {
    font-size: 35px;
    letter-spacing: 1px;
  }

  .area__top_before_after .head_text_container .master {
    font-size: 15px;
  }

  .area__top_before_after .head_text_container .text_certification {
    font-size: 14px;
    letter-spacing: 2px;
  }
}

/* ★スケジュールスクロール★（indexページ） */
.area_scroll_info {
  background-color: #ffffff; /*スケジュールエリアカラー*/
  text-align: center;
  width: 100%;
}

.area_scroll_info h2 {
  font-size: 25px;
  text-align: left;
  color: #7c7060;
  margin-bottom: 10px;
}

.area_scroll_info table{
  font-size: 17px;
  width: 100%;
  height: 450px;
  border-collapse: collapse;
  overflow-y: scroll;
  border: double 5px #e1e1e1;
  display: block;
}

.area_scroll_info tbody {
  display: block;
  width: 100%;
}

.area_scroll_info table tr{
  border-bottom: solid 2px white;
  width: 100%;
  height: 100px;
}

.area_scroll_info table tr:last-child{
  border-bottom: none;
}

.area_scroll_info table th {
  position: relative;
  z-index: 0;
  color: white;
  text-align: center;
  padding: 10px 0;
  width: 20%;
}

.area_scroll_info table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  z-index: 0;
  top:calc(50% - 15px);
  right:0;
  border-right: 15px solid #eee;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.area_scroll_info table .label_mint .kind {
  background-color: #75d1bd;
}

.area_scroll_info table .label_pink .kind {
  background-color: #f2a5b7;
}

.area_scroll_info table .label_gray .kind {
  background-color: #b0b0b0;
}

.area_scroll_info table td {
  background-color: #eee;
  padding: 10px 0;
  width: 100%;
  margin: auto;
}

.area_scroll_info table .date{
  width: 180px;
  display: inline-block;
}

.area_scroll_info table .info_title {
  width: 500px;
  display: inline-block;
  text-align: left;
}

.area_scroll_info table img {
  width: 90%;
  padding: 10px;
}

@media screen and (min-width: 769px) {
  .sp_br {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .area_scroll_info {
    width: 90%;
    margin: auto;
  }

  .area_scroll_info table{
    width: 100%;
    height: 290px;
    font-size: 10px;
    margin: 0;
  }

  .area_scroll_info table tr{
    width: 100%;
    height: 25px;
  }

  .area_scroll_info table th {
    width: 27%;
    height: 25px;
  }

  .area_scroll_info table th:after{
    top:calc(50% - 7px);
    border-right: 7px solid #eee;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
  }

  .area_scroll_info table td {
    width: 100%;
    padding: 0;
    line-height: 0.8;
    text-align: left;
    font-size: 12px;
    display: block;
  }

  .area_scroll_info table .date{
    width: auto;
    display: table-cell;
    padding: 10px 0 0 5px;
    font-weight: bold;
  }

  .area_scroll_info table .info_title {
    width: 100%;
    display: block;
    padding: 0 0 10px 5px;
    line-height: 1.2;
  }

  .sp-br {
    display: block;
  }
}

/* ★マンガエリア★（indexページ） */
.area_manga {
  width: 100%;
  margin: 50px auto auto auto;
  padding-top: 50px;
  text-align: center;
  background-color: #f5f5ec;
}

.area_manga h2, .area_persona h2 {
  text-align: center;
  font-size: 1.7em;
  font-weight: bolder;
  margin: 20px;
  display: block;
    color: #4D9988;
}

.font_special  {
  font-size: 1.9rem;
}

.manga_container .img_manga {
  width: 80%;
  margin: 50px auto;
}

@media screen and (max-width:768px){
  .area_manga h2, .area_persona h2 {
    font-size: 20px;
    margin: 10px;
  }

  .font_special  {
    font-size: 25px;
  }

  .manga_container .img_manga {
    width: 100%;
    margin: 20px auto;
  }
}

/* ★爪ケアの即戦力を育てるプログラム★（indexページ） */
.area__intended {
  margin-top: 100px;
  margin-bottom: 100px;
  padding-top: 20px;
  padding-bottom: 40px;
  background-color: #f5f5ec;
  position: relative; /*4つの付箋の影より後ろにいくため*/
  z-index: -2; /*4つの付箋の影より後ろにいくため*/
}

.area__intended h2 {
  width: 530px;
  margin-left: auto;
  margin-right: auto;
  font-size: 30px;
  text-align: center;
  color: #4b5564;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 0.7em;
  border-bottom: 2px solid #4e3f01;
}

.area__intended h2:before {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) skew(-25deg);
  height: 25px;
  width: 10px;
  border-right: 2px solid #333;
  background-color: #f9f9f3;
  content: "";
  padding-left: 10px;
}

.area__intended .problemtype {
  font-size: 1.5em;
  margin: 40px auto;
  width: auto;
  justify-content: center;
  display: flex;
}

.area__intended .problemtype h3 {
  padding: 0 40px;
  margin: 15px;
  display: inline-block;
  position: relative;
  padding: .5em 1.4em .5em 1em;
  background-color: #edf9bc;
  color: #2e2d2d;
  font-family: 'Franklin Gothic Medium', sans-serif;
  font-weight: 500;
}

.area__intended .problemtype h3::before {
  position: absolute;
  bottom: -1px;
  right: 9px;
  z-index: -1;
  transform: rotate(5deg);
  width: 70%;
  height: 50%;
  background-color: #b6b6b5;
  content: "";
  filter: blur(4px);
}

.area__intended .recommendation {
  font-size: 1.5em;
  clear: both;
  margin: 20px 0 0 240px;
}

.area__intended .recommendation img {
  width: 50px;
  float: left;
  margin-right: 20px;
}

.area__intended .recommendation h3 {
  display: block;
  padding: 20px 0 0 40px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .area__intended {
    width: auto;
    margin: auto;
    background-color: #fff;
    padding-bottom: 0;
    margin-bottom: 50px;
  }

  .area__intended h2 {
    width: auto;
    font-size: 17px;
    margin: 20px;
    padding-bottom: 0.5em;
  }

  .area__intended h2:before {
    background-color: #ffffff;
  }

  .area__intended .problemtype {
    font-size: 12px;
  }

  .area__intended .problemtype h3 {
    margin: 0 8px 0 0;
  }

  .area__intended .recommendation {
    font-size: 14px;
    letter-spacing: 0.2em;
    margin: auto;
    width: auto;
    text-align: center;
    padding: 0;
    position: relative;
  }

  .area__intended .recommendation img {
    float: none;
    margin: auto auto 20px auto;
    padding: 0; 
    z-index: 10;
  }

  .area__intended .recommendation h3 {
    padding: 0;
    width: auto;
    margin: auto;
    position: absolute;
    z-index: 20;
    top: 45px;
    right: 0;
    left: 0;
    text-shadow: 1px 1px 0 rgb(255, 255, 255);
  }
}

/* ★選ばれる理由★（indexページ） */
.area__feature {
  box-sizing: border-box; /*⇐paddingで左右が広がるのを抑える*/
  width: 100%;
  margin-top: 30px;
  margin-right: auto;
  margin-left: auto;
  padding: 50px 20px;
  background-color: #f5f5ec;
  z-index: -5; /*水色数字01,02,03の後ろにくるため*/
  position: relative; /*水色数字01,02,03の後ろにくるため*/
}

.area__feature h2 {
  width: 530px;
  margin-left: auto;
  margin-right: auto;
  font-size: 30px;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 0.7em;
  border-bottom: 2px solid #4e3f01;
}

.area__feature h2:before{
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) skew(-25deg);
  height: 25px;
  width: 10px;
  border-right: 2px solid #333;
  background-color: #f9f9f3;
  content: "";
  padding-left: 10px;
}

.area__feature .box{
  display: flex;
  flex-direction: row;
}

.area__feature .reverse{
  display: flex;
  flex-direction: row-reverse;
}

.area__feature .box + .box{
  margin-top: 80px;
}

.area__feature .box__body{
  width: 50%;
  padding: 0 20px;
}

.area__feature .box__ttl {
  position: relative;
  padding-top: 1.5em;
  font-size: 1.7em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.area__feature .box__ttl::before {
  position: absolute;
  bottom: 0;
  left: 0;
  top:-30px;
  z-index: -1;
  color: #d3fff5; /*バックデカ数字の色*/ 
  font-size: 5em;
  line-height: 1;
  content: attr(data-number);
  pointer-events: none;
}

.area__feature .box__ttl .color-tomato {
  color: #ff3683;
  font-size: 1.1em;
}

.area__feature .box__txt {
  margin-top: 20px;
  font-size: 1.3em;
  letter-spacing: 0.1em;
}

.area__feature .box__image{
  width: 40%;
}

.area__feature .box__image img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

@media screen and (max-width:768px){
  .area__feature {
    width: auto;
    margin-top: auto;
  }

  .area__feature h2 {
    width: auto;
    font-size: 17px;
    margin: 10px 10px 70px 10px;
  }

  .area__feature .box {
    display: block;
  }

  .area__feature .box + .box{
    margin-top: 60px;
  }

  .area__feature .box__body{
    width: 100%;
    padding: 0;
  }

  .area__feature .box__ttl {
    font-size: 1.5em;
  }

  .area__feature h3 {
    margin-bottom: 10px;
  }

  .area__feature .box__txt {
    margin-top: 0;
    font-size: 15px;
  }

  .area__feature .box__image{
    width: 80%;
    margin: 20px auto 10px auto;
  }

  .area__feature .box__image img{
    aspect-ratio: 4 / 3;
  }
}

/* ★資格の相性診断★（indexページ） */
/* 見出しはarea_mangaに同じ */
.area_persona {
  margin-top: 50px;
  padding-top: 50px;
  background-color: #f4fdff;
}

.area_persona h2 {
  font-family: 'Shippori Mincho B1', sans-serif;
}

.area_persona p {
  margin: 0 10px;
  font-weight: bold;
  text-align: center;
}

.area_persona .persona_list {
  width: 500px;
  margin: auto;
}

.area_persona .persona_list h3 {
  font-size: 23px;
  margin-bottom: 5px;
  color: #4549d6;
  border-bottom: dashed 2px #e0a265;
}

.area_persona .persona_list p {
  text-align: left;
  padding-bottom: 5px;
  font-size: 15px;
}

.area_persona .manga_container {
  text-align: right;
  margin-right: 30px;
}

.area_persona .manga_container .img_manga {
  width: 60%;
}


@media screen and (max-width:768px){
  .area_persona {
    margin-top: 0;
  }

  .area_persona .persona_list {
    width: auto;
    margin: 20px 10px;
  }

  .area_persona .persona_list h3 {
    font-size: 19px;
  }

  .area_persona .persona_list p {
    font-weight: normal;
  }


  .area_persona .manga_container {
    margin-right: 10px;
  }

  .area_persona .manga_container .img_manga {
    width: 90%;
  }
}

/* ★〔訪問爪ケア〕・〔受講案内〕・〔申し込み〕のバナー★ */
.area__application {
  width: auto;
  height: auto;
  margin: 100px auto;
}

.area__application a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.area__application .image-container-guidance {
  background-image: url(../images/my_link_banner02.webp);
}

.area__application .image-container-appry {
  background-image: url(../images/my_link_banner04.webp);
}

.area__application .image-container-activity {
  background-image: url(../images/my_link_banner05.webp);
}

.area__application .decoration {
  width: 100%;
  height: 160px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center;
  border: solid 2px #ff2e7e;
  margin: 20px auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.area__application .decoration:hover {
  opacity: 0.6;
}

.area__application .decoration p {
  font-size: 3em;
  font-family: 'Franklin Gothic Medium', sans-serif;
  font-weight: bold;
  color: #ff2e7e;
  letter-spacing: 0.4em;
  text-shadow: 1px 1px 10px #ffffff;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .area__application {
    width: 90%;
    margin: 50px auto;
  }

  .area__application .decoration  {
    width: auto;
    height: 100px;
    background-size: cover;
  }
  .area__application .decoration p  {
    font-size: 20px;
  }
}

/* ★横並び画像★（下層ページ共通） */
.area__treatment-image {
  margin-top: 10px;
}

.area__treatment-image .three-image-container {
  display: flex;
  justify-content: space-around; /* 子要素を均等に配置 */
  align-items: center; /* 子要素を縦方向の中心に揃える */
  margin-bottom: 30px;
}

.area__treatment-image .lower img {
  max-width: 30%; /* 画像の最大幅を設定 */
  height: auto; /* 画像の縦横比を維持 */
}

#index .lower img, #technician .lower img {
  box-shadow: 5px 5px 0px #d4f9f1;
}

/* ↑↑↑【index】ページ↑↑↑*/

/* ↓↓↓バナーエリア↓↓↓ */
.area__banner {
  width: 100%;
  margin: auto;
  justify-content: center;
  align-items: center;
}

.area__banner p {
  font-weight: 600;
}

.banner-container {
  display: flex; /* 横並び */
  width: calc(100%/3); /* 例: 親要素の幅 */
  height: 100px; /* 例: 親要素の高さ */
  margin: auto;
  justify-content: center;
}

.banner-container a {
  display: contents;
  width: auto;
  height: auto;
}

.banner-container img {
  display: block;
  width: 85%;
  height: auto;
  padding-left: 10px;
  padding-right: 15px;
  object-fit: contain; /* 縦横比を維持して拡大縮小 */
}

@media screen and (max-width: 768px) {
  #index .area__banner {
    margin-bottom: 10px;
  }

  .area__banner {
    height: 200px;
  }

  .banner-container {
    justify-content: center;
    margin: auto auto 10px auto;
    height: 35px;
  }

  .banner-container img {
    height: 50px;
    padding: 5px;
    margin: 0;
    border: none;
  }
}
/* ↑↑↑バナーエリア↑↑↑ */

/* ↓↓↓全頁共通フッター↓↓↓ */
footer {
  margin-top: 50px;
  padding: 2rem;
  font-size: 15px;
  color: #4b5564;
  background: #f0eee8;
}

.footer__logo {
  display: inline-block;
  margin-bottom: 2rem;
  margin-right: 20px;
  width: 200px;
}

footer .grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

footer .grid div {
  margin-right: 20px;
}

footer .grid div a {
  color: #4b5564;
  text-decoration: none;
}

footer .grid div a:hover {
  color: #000;
}

.footer__navi-heading {
  font-weight: 800;
}

.footer__navi {
  padding: 0;
  list-style: none;
}

.footer__navi li {
  margin-bottom: 0.75rem;
}

footer hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #95979a;
}


@media (min-width: 769px) {
  footer .md-flex {
    display: flex;
  }

  footer .md-justify-between {
    justify-content: space-between;
  }

  footer .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  footer {
    margin-top: 0;
    padding: 30px 10px;
  }

  .footer__logo img {
    width: 150px;
  }

  .footer__navi li {
    font-size: 11px;
    margin-bottom: 0.5rem;
  }
}

/* display: gridプロパティでモバイルサイズだとナビゲーションが2カラム。
カラム数は、grid-template-columnsでナビゲーションの数に合わせて変更。 */

/* ↑↑↑全頁共通フッター↑↑↑ */

/* ↓↓↓下層ページ共通メインエリアヘッダー↓↓↓ */
.lowre-main-image {
  width: 100%;
}

.lowre-breadcrumb-section {
  display: block;
  width: 900px;
  margin: 10px auto;
}

.lowre-breadcrumb-section .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  letter-spacing: 0.1em;
  font-size: 0.8em;
  color: #5b5b5b;
  padding-left: 0;
}

.breadcrumb li:not(:last-of-type)::after {
  content: "›";
  margin: 0.6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}

.lowre-header {
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  justify-content: center; /* 文字を中央寄せ */
  width: 900px;
  margin: 50px auto 50px auto;
  height: auto;
  align-items: center; /* 子要素を縦方向の中心に揃える */
  font-weight: 600;
}

.lowre-header::before, .lowre-header::after {
  background-color: #000000; /* 横線の色 */
  content: "";
  height: 1px; /* 横線の高さ */
  width: 100px; /* 横線の長さ */
}

.lowre-header::before {
  margin-right: 15px; /* 文字との余白 */
}

.lowre-header::after {
  margin-left: 15px; /* 文字との余白 */
}

.lowre-pagelink-section {
  width: 900px;
  margin: auto;
  padding: 10px 5px;
  display: flex;
  border-radius: 10px;
  border: solid 1px #c6c6c6;
  /* background-image: linear-gradient(90deg, #fff7e2, #fffdf8 13%, #ffe9e9 32%, #fffeec 49%, #ffffff 68%, #fff1ff 83%, #fff6db); */
  background-color: #f7f7f5;
}

.lowre-pagelink-section li {
  float: left;
  padding-left: 0;
  margin: 10px 40px 10px 20px;
  font-size: 1.2em;
  list-style-type: none;
}

.lowre-pagelink-section li a {
  text-decoration: none;
  color: #3b3b3b;
}

.lowre-pagelink-section li a:hover {
  text-decoration: underline;
  color: #000000;
}

@media screen and (max-width: 768px) {
  .lowre-breadcrumb-section {
    width: auto;
    margin: 0;
    padding-left: 5px;
  }

  .lowre-header {
    width: auto;
    margin: 50px auto;
  }

  .lowre-header::before, .lowre-header::after {
    width: 30px; /* 横線の長さ */
  }

  .lowre-pagelink-section {
    width: auto;
    padding: 5px;
    margin: 0 10px 50px 10px;
  }

  .lowre-pagelink-section ul {
    padding: 0;
  }

  .lowre-pagelink-section li {
    padding-left: 0;
    margin: 5px;
    font-size: 15px;
  }

}  
/* ↑↑↑下層ページ共通メインエリアヘッダー↑↑↑ */

/* ↓↓↓下層ページ共通メインエリア基本デザイン↓↓↓ */
.lowre-main-area {
  width: 900px;
  margin: 50px auto;
}

.lowre-main-area section {
  margin-top: 80px;
  margin-bottom: 80px;
}

.lowre-main-area .blue_square {
  padding: 0.7rem 1.5rem;
  letter-spacing: 0.1em;
  border-left: 20px solid rgb(39, 79, 153);
  border-bottom: solid 1px #ccc;
}

.lowre-main-area section h3 {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  color: #ff2e7e;
  margin-bottom: 0;
}

.lowre-main-area section p {
  margin: 10px 5px;
  font-size: 1.3em;
  letter-spacing: 0.2em;
  line-height: 1.6em;
}

@media screen and (max-width: 768px) {
  .lowre-main-area {
    width: auto;
    padding: 0;
    margin: 0;
  }

  .lowre-main-area section {
    margin: 20px 10px;
    width: auto;
  }

  #technician section h2, #guidance section h2, #about section h2, #preparations section h2, #graduate section h2 {
    padding: 0.5rem 1rem;
    border-left: 15px solid rgb(39, 79, 153);
    font-size: 17px;
  }

  .lowre-main-area section p {
    font-size: 17px;
    letter-spacing: 0;
    line-height: 1.5em;
  }
}
/* ↑↑↑下層ページ共通メインエリア基本デザイン↑↑↑ */

/* ↓↓↓下層ページ共通、他ページリンクボックス↓↓↓ */
.lowre-flex-box {
  max-width: 100%;
  margin: 30px auto;
  display: flex; /* フレックスボックスにする */
  justify-content: space-around; /*ボックスを横位置均等配置*/
  align-content:center; /* 折り返し時の配置指定 */
}

.lowre-flex-box a {
  display: inline-flex;
  width: calc(100%/4);
  margin: 2px;
  background-color: #ff77ab;
  text-decoration: none;
  border-radius: 5px;
}

.lowre-flex-box a:hover {
  background-color: #f2a5b7;
}

.lowre-flex-box .flex-item {
  width: 100%;
  color: #ffffff;
  padding: 40px 5px;
  text-align: center;
  font-size: 20px;
}

@media screen and (max-width: 768px) {
  .lowre-main-area .lowre-flex-box {
    min-height: 50px;
    margin: 50px auto 0 auto;
    padding: auto 0;
  }

  .lowre-main-area .lowre-flex-box a {
    margin: 0 1px 0 0;
    border-radius: 0;
    align-items: center;
  }

  .lowre-main-area .lowre-flex-box .flex-item {
    width: auto;
    margin: auto;
    padding: 10px 5px;
    font-size: 12px;
  }

}
/* ↑↑↑下層ページ共通、他ページリンクボックス↑↑↑ */


/* ↓↓↓【technician】ページ↓↓↓*/
@media screen and (max-width: 768px) {
  #technician .lowre-header {
    width: 350px;
    margin: 50px auto;
    font-size: 25px;
  }
}    
/* ↑↑↑【technician】ページ↑↑↑*/

/* ↓↓↓【guidance】ページ↓↓↓*/
#guidance .days {
  padding: 0 10px;
}

#guidance .days .day-heading {
  display: inline-block;
  padding-bottom: 0.5rem;
  padding-right: 20px;
  border-bottom: 1px solid #333;
  margin-top: 30px;
}

#guidance .days .day-text {
  margin-top: 5px;
}

#guidance .price-table {
  width: 100%;
  border-collapse:  collapse;     /* セルの線を重ねる */
}

#guidance .price-table tr {
  height: 80px;
}

#guidance .price-table th {
  width: 20%;
  border: solid 1px #a4a4a4;
  font-weight: 600;
  background-color: #e9e9e9;
}

#guidance .price-table td {
  width: 80%;
  border: solid 1px #a4a4a4;
  padding: 20px;
  line-height: 2;
}

#guidance .price-table .price {
  font-size: 1.1em;
  letter-spacing: 0.1em;
}

#guidance .price-table .matter {
  font-weight: bold;
}

#guidance .price-table .price {
  font-size: 1.1em;
  font-weight: bold;
}

#guidance #link__appry {
  margin-top: 50px;
  margin-bottom: 50px;
}

#guidance .year-held {
  display: inline-block;
  padding-bottom: 0.2rem;
  padding-right: 20px;
  border-bottom: 1px solid #333;
  margin-top: 30px;
  font-weight: bolder;
  font-size: 30px;
}

#guidance #event__dates__region h3 {
  margin-top: 0;
}

#guidance .schedule-table {
  width: 100%;
  padding-left: 100px;
  font-size: 20px;
}

#guidance .schedule-table tr {
  height: 80px;
}

#guidance .schedule-table {
  background-color: #ffffff;
}

#guidance .schedule-table .child:nth-child(1) {
  width: 20%;
}

#guidance .schedule-table .child:nth-child(2) {
  width: 35%;
  text-align: center;
}

#guidance .schedule-table .child:nth-child(3) {
  width: 25%;
  text-align: center;
}

#guidance .schedule-table .child:nth-child(4) {
  width: 20%;
  text-align: center;
  margin: auto;
}

#guidance .schedule-table .deadline {
  font-size: 17px;
}

/* ↓↓※申込みボタン↓↓ */
.appry-btn-circle, .appry-btn-triangle, .appry-btn-cross {
  display: inline-flex;
  color: #ffffff;
  padding: 2px 20px;
  border-radius: 20px;
  text-decoration: none;
}

.appry-btn-circle {
  background-color: #4D9988;
}

.appry-btn-circle:hover {
  background-color: #81d1c0;
}

.appry-btn-triangle {
  background-color: #f09c5c;
}

.appry-btn-triangle:hover {
  background-color: #f6b17c;
}

.appry-btn-cross {
  color: #332f2c;
}

/* ↑↑※申込みボタン↑↑ */

#guidance .enquiry {
  margin-top: 50px;
}

#guidance .exercise_image {
  width: 400px;
}


@media screen and (max-width: 768px) {
  #guidance  {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #guidance .days .day-heading {
    font-size: 14px;
  }

  #guidance .days .day-text {
    font-size: 14px;
  }

  #guidance #fee {
    margin-top: 50px;
  }

  #guidance .price-table {
    margin: auto;
    font-size: 12px;
  }

  #guidance .price-table tr {
    width: 100%;
    height: auto;
    margin: 0;
  }

  #guidance .price-table th {
    width: fit-content;
    margin: 0;
  }

  #guidance .price-table td {
    max-width: 80%;
    padding: 10px;
    line-height: 1.5;
    margin: 0;
  }

  #guidance .price-table .tool {
    line-height: 1.2;
  }

  #guidance #event__dates__region .year-held {
    margin-top: 10px;
    font-size: 20px;
  }

  #guidance #event__dates__region h3 {
    font-size: 15px;
  }

  #guidance .schedule-table {
    width: 100%;
    padding-left: 10px;
    font-size: 13px;
  }

  #guidance .schedule-table tr {
    height: 50px;
  }

  #guidance .schedule-table .child:nth-child(1) {
    width: 20%;
  }

  #guidance .schedule-table .child:nth-child(2) {
    width: 40%;
    text-align: center;
  }

  #guidance .schedule-table .child:nth-child(3) {
    width: 25%;
    text-align: center;
  }

  #guidance .schedule-table .child:nth-child(4) {
    width: 15%;
    text-align: center;
  }

  #guidance .schedule-table .deadline {
    font-size: 10px;
  }

  #guidance .vacant_seat {
    margin: 30px auto 50px auto;
  }

  #guidance .vacant_seat p {
    font-size: small;
  }

  #guidance .exercise_image {
    width: 90%;
  }

  #guidance .enquiry {
    margin: 30px auto 50px auto;
    width: auto;
  }
}
/* ↑↑↑【guidance】ページ↑↑↑*/

/* ↓↓↓【appry】ページ↓↓↓ */
#appry .hidden_btn {
  text-decoration: none;
  color: #000;
}
/* ↑↑↑【appry】ページ↑↑↑*/

/* ↓↓↓【about】ページ↓↓↓ */
#about .philosophy-area p, #about .greeting-area .profile_text, #about .overview-area p {
  margin-top: 20px;
}

#about .philosophy-area p {
  font-family: 'Shippori Mincho B1', sans-serif;
  font-size: 1.5em;
  line-height: 1.7;
  font-weight: bold;
}

#about h2 {
  margin-bottom: 40px;
}

#about .greeting-area figure {
  float: right;
  width: 30%;
  text-align: center;
}

#about .greeting-area figure img {
  max-width: 100%;
}

#about .greeting-area figure p {
  margin: 5px auto 0 auto;
}

#about .greeting-area .profile_text  {
  font-size: 18px;
}

#about .float-none  {
  clear: both;
}

#about .activity-area p {
  font-family: 'Franklin Gothic Medium', sans-serif;
}

#about .overview-area table {
  border-collapse: collapse;
  width: 90%;
  margin-left: auto;
  text-align: left;
}

#about .overview-area table tr {
  border-bottom: solid 1px #8e8e8e;
  vertical-align: top;
}

#about .overview-area table th {
  padding: 10px 0;
  width: 20%;
  letter-spacing: 0.2em;
}

#about .overview-area table td {
  padding: 10px;
  width: 70%;
  letter-spacing: 0.1em;
}


@media screen and (max-width: 768px) {
  #about .philosophy-area p, #about .greeting-area .profile_text, #about .overview-area p {
    padding-bottom: 20px;
  }

  #about .philosophy-area p {
    font-size: 16px;
  }

  #about h2 {
    margin-bottom: 20px;
  }

  #about .greeting-area figure {
    width: 40%;
  }

  #about .greeting-area p  {
    font-size: 14px;
  }

  #about .overview-area table {
    font-size: 11px;
    width: 95%;
    margin-bottom: 50px;
  }
}
/* ↑↑↑【about】ページ↑↑↑*/

/* ↓↓↓【contact】ページ↓↓↓ */
#contact .faq-area .faq-category {
  position: relative;
  padding: 1rem 2rem;
  border: 3px solid #c45a78;
  border-radius: 0 10px 10px 10px;
  letter-spacing: 0em;
  background-color: #fff;
  line-height: 2;
  margin-top: 50px;
  margin-bottom: 20px;
  display: inline-block;
}

#contact .faq-area .faq-category:before {
  font-size: 18px;
  position: absolute;
  top: -30px;
  left: -3px;
  height: 30px;
  padding: 0 2em;
  content: 'カテゴリ';
  color: #fff;
  border-radius: 10px 10px 0 0;
  background: #c45a78;
}

#contact .faq-area .faq-category a {
  color: #000;
}

#contact .faq-area .faq-category a:hover {
  text-decoration: none;
  color: #000;
}

#contact .faq-area h3 {
  color: #333;
}

/* ★よくある質問アコーディオン★ */
.faq-accordion {
  width: 100%;
  margin-bottom: 7px;
  background-color: #ffffff;
  border-radius: 5px;
}

.faq-accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
  background-color: #ffedf9;
}

.faq-accordion summary::-webkit-details-marker {
  display: none;
}

.faq-accordion summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #413b3b;
  border-right: 3px solid #413b3b;
  content: '';
  transition: transform .3s;
}

.faq-accordion[open] summary::after {
  transform: rotate(225deg);
}

.faq-accordion p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 2em 1.5em;
  color: #333333;
  transition: transform .5s, opacity .5s;
}

.faq-accordion[open] p {
  transform: none;
  opacity: 1;
}

@media (max-width: 768px) {
  #contact .faq-area .faq-category {
    padding: 10px;
    font-size: 15px;
  }

  #contact .faq-accordion summary {
    font-size: 14px;
  }

  #contact .faq-accordion p {
    font-size: 14px;
    padding: 10px 15px 20px 15px;
  }
}

/* ↓↓↓問い合わせフォーム */
#contact .contact-area {
  text-align: center;
}

#contact input {
  height: 30px;
}

#contact select {
  height: 35px;
}

#contact .form .required_text {
  border: solid 1px #ff0000;
  padding: 0 5px;
  color: #ff0000;
  border-radius: 3px;
  margin-right: 5px;
}

#contact .btn-area {
  text-align: center;
  margin: 10px 0 50px 0;
}

#contact .revois-btn {
  border: 1px solid #ff0077;
  border-radius: 3px;
  background-color: #ff0077;
  color: #ffffff;
  margin-right: 20px;
  padding: 5px 10px;
}

#contact .reset-btn {
  border: 1px solid #ff0077;
  border-radius: 3px;
  background-color: #ff0077;
  color: #ffffff;
  padding: 5px 10px;
}

@media screen and (min-width: 769px) {
  #contact .contact-area {
    background-color: #f4f4f4;
    width: 100%;
    margin: 100px auto;
    padding: 50px 0 50px 0;
  }

  #contact .form {
    max-width: 80%;
    text-align: left;
  }

  #contact .form dl dt {
    width: 100%;
    padding: 10px 0 0 50px;
    margin-left: 50px;
  }
  
  #contact .form dl dd {
    width: 100%;
    padding: 10px 0;
    margin-left: 100px;
  }
  
  #contact #name-kanji, #contact #name-furigana, #contact #tel, #contact #street_building, #contact #name-company, #contact #type-a {
    width: 50%;
  }
  
  #contact #mail {
    width: 70%;
  }
  
  #contact #contents {
    width: 70%;
    max-width: 100%;
    height: 150px;
  }

  #contact .contact-attention {
    text-align: left;
    padding-left: 100px;
  }
}  

@media screen and (max-width: 768px) {
  #contact .contact-area {
    background-color: #f4f4f4;
    width: 90%;
    margin: 50px auto;
    padding: 10px 0;
  }

  #contact .form {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
    color: #444444;
  }

  #contact .form .required_text {
    font-size: smaller;
  }

  #contact .form dl dt {
    width: 100%;
    padding-top: 10px;
    text-align: left;
    line-height: 0.5;
  }
  
  #contact .form dl dd {
    padding: 10px 0;
    margin-left: 5px;
    text-align: left;
  }

  #contact #name-kanji, #contact #name-furigana, #contact #tel, #contact #type-a {
    width: 60%;
  }
  
  #contact #mail, #contact #street_building, #contact #name-company {
    width: 95%;
  }
  
  #contact #contents {
    width: 100%;
    height: 170px;
  }

  #contact .contact-attention p {
    text-align: left;
    width: auto;
    margin: 30px 0;
    font-size: 15px;
  }
}

  /* ↓confirm.php↓ */
.kakudai {
  font-size: 50px;
}

.send-btn, .back-btn {
  margin: 50px;
  padding: 10px 15px;
}

  @media screen and (min-width: 769px) {
    .kakudai {
      font-size: 35px;
    }

    .send-btn, .back-btn {
      margin: 35px;
      padding: 10px 15px;
    }
  }

  /* ↑confirm.php↑ */


/* ↓↓↓【appry】↓↓↓ */
#appry .appry-area {
  margin: auto;
  width: auto;
}

#appry .lowre-main-area h2 {
  text-align: center;
  margin-bottom: 30px;
}

#appry #personal__appry {
  margin: auto auto 200px auto;
  width: auto;
}

#appry #personal__appry iframe {
  width: 880px;
}

#appry #appry__bank {
  width: auto;
  margin: auto auto 200px auto;
  text-align: center;
  background-color: #f1f0f0;
  padding: 20px 40px;
}

#appry #appry__bank p {
  text-align: left;
  margin-bottom: 20px;
}

#appry #appry__bank .transfer-destination {
  text-align: left;
  border: solid 1px #000;
  padding: 20px 40px;
  margin-top: 50px;
  margin-bottom: 30px;
  background-color: #f5f5f5;
}

#appry #group__appry {
  margin: auto auto 300px auto;
  width: auto;
}

#appry #group__appry iframe {
  width: 880px;
}

@media (max-width: 768px) {
  #appry #appry__before {
    margin: 100px 10px;
  }

  #appry #appry__before p {
    font-size: 14px;
  }

  #appry #appry__after {
    margin: 50px 10px;
  }

  #appry #appry__after p {
    font-size: 14px;
  }

  #appry #personal__appry {
    margin: 0;
  }

  #appry #personal__appry iframe {
    width: 100%;
    margin-bottom: 50px;
  }

  #appry #appry__bank {
    margin: auto;
    padding: 20px;
  }

  #appry #appry__bank p {
    font-size: 14px;
  }

  #appry #appry__bank .calculation {
    line-height: 2;
    font-size: 15px;
    letter-spacing: 1px;
  }

  #appry #appry__bank .transfer-destination {
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 0;
  }

  #appry #appry__bank .attention {
    font-size: 12px;
  }

  #appry #group__appry {
    margin: 50px 0;
  }

  #appry #group__appry iframe {
    width: 100%;
    margin-bottom: 50px;
  }
}

/* ↓↓↓特商法表示ページ↓↓↓ */

#commerce h1 { 
  font-size: 17px;
}

#commerce .commerce_table {
  width: 100%;
  border-collapse: collapse; /* セルの線を重ねる */
  margin: auto auto 100px auto;
}

#commerce .commerce_table tr {
  height: 80px;
}

#commerce .commerce_table th {
  width: 20%;
  border: solid 1px #a4a4a4;
  font-weight: 600;
  background-color: #e9e9e9;
}

#commerce .commerce_table td {
  width: 80%;
  border: solid 1px #a4a4a4;
  padding: 20px;
  line-height: 2;
}

@media (max-width: 768px) {
  #commerce .commerce_table {
    font-size: 12px;
  }

  #commerce .commerce_table tr {
    width: 100%;
    height: auto;
    margin: 0;
  }

  #commerce .commerce_table th {
    width: fit-content;
    margin: 0;
  }

  #commerce .commerce_table td {
    max-width: 80%;
    padding: 10px;
    line-height: 1.5;
    margin: 0;
  }
}

/* ↓↓↓プライバシーポリシーと利用規約ページ↓↓↓ */

#privacy h1, #terms h1 {
  font-size: 17px;
}

#privacy .policy_matter, #terms .terms_matter {
  margin: 20px;
}

#privacy section h2, #terms section h2 {
  font-size: 11px;
}

#privacy section p, #terms section p {
  font-size: 11px;
}

/* ↓↓↓受講当日について↓↓↓ */

#time_schedule table {
  width: auto;
  vertical-align: top;
  line-height: 2;
  font-size: 20px;
  margin-bottom: 30px;
}

#time_schedule table caption {
  text-align: left;
  padding-left: 10px;
  font-weight: bold;
}

#time_schedule table th {
  width: 1px;
	white-space: nowrap;
  vertical-align: top;
}

#time_schedule table td {
	word-break: break-all;
  vertical-align: top;
  padding-left: 10px;
}

#preparations #necessities details summary {
  font-size: medium;
  color: #fff;
  background-color: #3e4d36;
  border: solid 1px #ffffff;
  display: inline-block;
  cursor: pointer;
  border-radius: 8px;
  padding: 3px 10px;
  margin-left: 20px;
}

#preparations #necessities details img {
  width: 60%;
}

#preparations #tel_number .btn {
  color: #000;
  letter-spacing: 1.2px;
}

@media (min-width: 769px) {
  #preparations #necessities a {
    font-size: medium;
  }
}

@media (max-width: 768px) {
  #preparations h3 {
    font-size: 1.2em;
  }

  #preparations #necessities a {
    font-size: large;
  }

  #preparations #necessities h3 {
    margin-top: 50px;
  }

  #preparations #necessities p {
    font-size: small;
  }

  #preparations #necessities details summary {
    font-size: small;
  }
  
  #preparations #necessities details img {
    margin: 20px;
  }

  #preparations #necessities .daiso_chair {
    width: 60%;
    margin: 20px;
  }

  #preparations #necessities a {
    font-size: small;
  }

  #preparations #venue_each h3 {
    margin-top: 30px;
  }

  #preparations #venue_each .parking {
    margin-top: 30px;
  }

  #preparations #time_schedule, #preparations #necessities, #preparations #clothing, #preparations #venue_each, #preparations #notice {
    margin-bottom: 50px;
  }

  #preparations #time_schedule table {
    font-size: small;
  }

  #preparations .time_schedule_attention p {
    font-size: small;
  }

  #preparations #necessities .daiso_chair {
    width: 80%;
  }

  #preparations #venue_each {
    font-size: small;
  }
}

  /* ↓↓↓お知らせページ↓↓↓ */
#information .lowre-main-area .news_date {
  display: inline-block;
  background-color: #e79e38;
  padding: 0 7px;
  border-radius: 5px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.2em;
}

#information .lowre-main-area .news_title {
  margin-top: 0;
  border-bottom: double 5px #FFC778;
  font-size: 20px;
}

#information .lowre-main-area .news_text {
  margin-left: 18px;
}

.line_through {
  text-decoration: line-through;
}


@media (max-width: 768px) {
  #information .lowre-main-area .info_news_section {
    margin-bottom: 70px;
  }
}

/* ↓↓↓修了生の方へページ↓↓↓ */
#graduate .advertisement_method {
  width: auto;
  margin: 15px;
  padding: 5px;
  border-radius: 5px;
  border: solid 1px #cbcbc5;
  background-color: #fafaf7;
}

#graduate .advertisement_method p {
  font-size: small;
  line-height: 2;
}

#graduate .advertisement_method p .required {
  padding: 0 5px;
  color: rgb(210, 0, 0);
  border: solid 1px rgb(210, 0, 0);
  border-radius: 5px;
  font-size: smaller;
}

#graduate .precautions_title {
  font-size: small;
  font-weight: bold;
}

#graduate .precautions_text {
  line-height: 1.5;
  font-size: small;
}

#graduate .available_container {
  width: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#graduate .available_item {
  height: auto;
}

#graduate .available_banner img {
  border: solid 1px #c6c6c6;
  height: 80px;
  margin-right: 20px;
}

#graduate .available_banner a {
  text-decoration: none;
  color: #ee8f00;
  letter-spacing: 1px;
}

#graduate .available_logo img {
  border: solid 1px #c6c6c6;
  padding: 20px;
  height: 100px;
}

#graduate #graduate_update p {
  letter-spacing: 0;
}

