* {
  /*font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif*/
  font-family: Avenir, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", ヒラギノ角ゴシック, YuGothic, "Yu Gothic", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

div,
p {
  font-weight: 700;
}

body {
  margin: 0px;
}

ul {
  padding: 0;
}

.line {
  border-bottom: 1px solid black;
}

.wrapper {
  margin: 0 auto;
  text-align: center;
}

.wrapper .click {
  color: #989595;
  text-align: center ;
  font-weight:bold;
  font-size: 20px;
}

.width {
  width: 1000px;
  margin: 0 auto 20px;
}

#mainvisual {
  background-color: #08A597;
  padding: 40px 0;
  width: 1000px;
  margin: 0 auto;
}

#mainvisual p {
  text-align: center;
  font-size: 35px;
  color: white;
  font-weight: lighter;
}

#mainvisual span {
  color: white;
  display: block;
  font-weight: bold;
  margin: 14px 0 0;
  font-size: 80px;
  line-height: 1.2;
}

#mainvisual img {
  display: block;
  margin: 0 auto;
}

/*philosophy*/

#philosophy {
  margin-bottom: 60px;
}

#philosophy .container {
  margin: auto;
  max-width: 1000px;
  padding: 0 40px;
  box-sizing: border-box;
}

#philosophy h2 {
  margin: 30px auto 14px;
  font-size: 28px;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  border-bottom: 1px solid #000;
}

.philosophy_block:not(:last-of-type) {
  margin: 0 0 40px;
}

.philosophy_ttl2 {
  margin: 0 0 10px;
  text-indent: 1rem;
  font-size: 19px;
}

.philosophy_txt,
.philosophy_txt * {
  margin: 0;
  padding: 0 0 0;
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.philosophy_txt .philosophy_txt_body {
  display: none;
}

.btn_more {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 6px auto 0;
  padding: 6px 20px;
  line-height: 1;
  border: 1px solid #08A597;
  color: #08A597;
  font-weight: 500;
}

.toshinJisseki_wrap {
  display: flex;
  justify-content: center;
}

.toshinJisseki img {
  display: block;
  max-width: 800px;
}

/*introduction*/

#introduction p.title {
  color: #08A597;
  font-size: 30px;
  margin: 50px auto 0 auto;
  text-align: center;
}

#introduction div.wrapper div.btn_bottom span {
  font-size: 18px;
}

p.title span {
  color: #08A597;
  font-size: 45px;
}

#introduction .text {
  font-size: 20px;
  line-height: 1.7;
  text-align: center;
}

#introduction .text-2 {
  font-size: 40px;
  line-height: 1.7;
  text-align: center;
  color: #009688;
}

.btn_top_flex{
  display: flex;
  width: 100%;
  justify-content: space-evenly;
}

.btn_top_1 {
  width: 546px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border: 2px solid black;
  position: relative;
  padding: 2em 0px 1em;
}

.btn_top,
.btn_bottom p {
  color: #08A597;
  font-size: 14px;
}
.btn_top_2{
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.btn_top_small{
  float: left;
}

.introduction-contents-list{
  display: block; 
  width: 100%; 
  height: 100%; 
}
.btn_txt{
  font-size: 23px;
}

.btn-container {
  width: 1000px;
  display:flex;
  margin:10px auto;
  padding:0;
  gap:10px;
}

#btn_top_1 >.btn_top {
  flex: 0 1 calc(45% - 10px); 
  box-sizing: border-box; 
  text-align: center;
}

.btn_top_big {
  box-sizing: border-box; 
  text-align: center;
  width: 90%;
}

.btn-container-title {
  flex: 0 1 90%; 
  box-sizing: border-box; 
  padding: 0 1em;
  margin: 0;
  background-color: white;
  font-size:30px;
  position: absolute;
  top: -25px;
}
.btn-container-title2{
  flex: 0 1 90%; 
  box-sizing: border-box; 
  padding: 0 1em;
  margin: 0;
  background-color: white;
  font-size:30px;
  position: absolute;
  top: -25px;
}

.btn-container-title {
  font-size:30px;
}
.btn_top_small_img{
  width:145px;
}
.btn_top_big_img{
  width: 100%;
  height: auto;
}
.btn_top{
  width: 45%;
}
.btn_top_img{
  width: 100%;
  height: auto;
}
.introduction-contents-list{
  width: 100%;
}

/*lesson*/

#lesson {
  margin-top: 30px;
}

#pageTop {
  position: fixed;
  bottom: 20px;
  right: 100px;
  width: 0px;
  z-index: 200000;
}

#pageTop a {
  display: block;
  z-index: 999;
  border-radius: 45px;
  width: 70px;
  height: 70px;
  background-color: #08A597;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.top {
  position: relative;
  top: 22px;
}

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

#toshin-moshi .center .explain {
  margin-bottom: 15px;
}

#g-pos .contents {
  line-height: 1.7;
  color: #333333;
  font-size: 20px;
  text-align: left;
}

.pos_bottom {
  font-size: 50px;
  color: #F14B4B;
  margin-top: -20px;
}

.explain {
  float: left;
  font-size: 20px;
  text-align: left;
  color: #333333;
  width: 370px;
  margin: 0 1%;
  line-height: 1.5;
}

.explain_new {
  float: left;
  font-size: 20px;
  text-align: left;
  color: #333333;
  width: 100%;
  margin: 4% 1%;
  line-height: 1.7;
}

.pic {
  float: left;
  width: 48%;
  margin: 0 1%;
}

.pic>img {
  width: 100%;
}

span.line {
  font-size: 25px;
  border-bottom: solid 1px #08A597;
}

/*サイドメニュー*/
.side_menu {
  position: fixed;
  top: 114px;
  right: 0;
  z-index: 200000;
}

.side_menu img {
  width: 100%;
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.button-link {
  color: #00f;
  text-decoration: underline;
}

.button-link:hover {
  cursor: pointer;
  color: #f00;
}

#modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.75);
}

#modal-content {
  width: calc(100% - 44px);
  padding: 10px 20px;
  border: 2px solid #aaa;
  background: #fff;
  display: none;
  z-index: 1;
  position: relative;
}

#modal-wrapper {
  width: 100%;
}


.menu-subtitle {
  color: #fff;
}

.side_box {
  box-sizing: border-box;
  background-color: white;
}

.jugyo td {
  color: #F05D27;
  border: 1px solid #F05D27;
}

.instructor td {
  color: #6B81CB;
  border: 1px solid #6B81CB;
}

.system td {
  color: #E78D9D;
  border: 1px solid #E78D9D;
}

.pos td {
  color: #F14B4B;
  border: 1px solid #F14B4B;
}

.jugyo a {
  color: #F05D27;
}

.instructor a {
  color: #6B81CB;
}

.system a {
  color: #E78D9D;
}

.pos a {
  color: #F14B4B;
}

.home .menu-title {
  background-color: #08A597;
}

.menu-title {
  background-color: #fff;
  border: solid #009380 2px;
}

.kouza td {
  color: #7fd475;
  border: 1px solid #7fd475;
}

.kouza a {
  color: #7fd475;
}

.kouza .menu-title {
  background-color: #7fd475;
}

.side_box td {
  border-bottom: none;
  border-right: none;
  font-size: 18px;
  width: 50%;
}

.home .menu-title p {
  color: #fff;
  text-align: center;
  font-size: 23px;
}

.menu-title p {
  color: #009380;
  text-align: left;
  font-size: 23px;
}

.side_box table {
  height: 100%;
  width: 100%;
  text-align: center;
}

.menu-title img {
  max-width: 33px;
}

.menu-title p {
  float: left;
  width: 18%;
  text-align: center;
}

.menu-title .center {
  width: 63%;
  text-align: center;
}

tr.other .menu-title {
  background:#009380;
}

tr.other:last-of-type .menu-title .center {
  width: 100%;
  color:#fff;
}

.num {
  border-bottom: 3px solid #fff;
}

.icon {
  width: 20%;
  text-align: left;
}

#side {
  width: 400px;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100000;
  margin-right: -400px;
  transition: 0.5s;
}

#side .home a {
  color: #fff;
}

.side_box {}

#side a {
  text-decoration: none;
  display: block;
  width: 100%;
}

.side_close img {}

.side_close:hover,
.side_menu:hover {
  cursor: pointer;
}

table {
  border-spacing: 0;
}

th p {
  margin: 0;
}

/*サイドメニュー*/

#fixed_footer {
  position: fixed;
  width: 100%;
  bottom: 0px;
  background-color: white;
  margin: 0 auto;
  text-align: center;
}

#fixed_footer img {
  width: 270px;
  box-shadow: 0 1px 1px #666666;
  margin: 10px 10px 0;
}

#Footer {
  text-align: center;
}

/*____________________________________
  Button
____________________________________*/

a {
  -o-transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
  -webkit-font-smoothing: antialiased;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

a {
  cursor: pointer;
}

.col_flex {
  display: flex;
  min-height: 1px;
  flex-wrap: wrap;
  justify-content: center;
}

.col_4 {
  max-width: 33.333333%;
  flex: 0 0 30%;
  padding-right: 15px;
  padding-left: 15px;
  text-align: center;
}

.btn_basic {
  font-size: 2.4rem;
  display: block;
  margin-bottom: 20px;
  padding: 0.3em 0em;
  transition: none;
  text-align: center;
  color: #fff;
  border-radius: 4px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
  font-weight: bold;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

.btn_basic span {
  font-size: 14px;
}

.fa_angle_right {
  line-height: 1.5;
  float: right;
}

/* btn_basicApplication_type01 */
.btn_basicApplication_type01 {
  border: 1px solid #cc1338;
  background-color: #dc143c;
  background-image: linear-gradient(to bottom, #dc143c, #cc1338);
  border-bottom: solid 3px #94112b;
}

.btn_basicApplication_type01:hover {
  border: 1px solid #bd1134;
  background-color: #ad102f;
  background-image: linear-gradient(to bottom, #cc1338, #ad102f);
  border-bottom: solid 3px #94112b;
}

/* btn_basicRequest_type01 */
.btn_basicRequest_type01 {
  border: 1px solid #009380;
  background-color: #008271;
  background-image: linear-gradient(to bottom, #009380, #008271);
  border-bottom: solid 3px #04675b;
}

.btn_basicRequest_type01:hover {
  border: 1px solid #008271;
  background-color: #008271;
  background-image: linear-gradient(to bottom, #008271, #008271);
  border-bottom: solid 3px #04675b;
}

/* btn_basicMeeting__type01 */
.btn_basicMeeting__type01 {
  border: 1px solid #002d71;
  background-color: #0041a4;
  background-image: linear-gradient(to bottom, #165dc7, #0f4da9);
  border-bottom: solid 3px #073984;
}

.btn_basicMeeting__type01:hover {
  border: 1px solid #0041a4;
  background-color: #00193e;
  background-image: linear-gradient(to bottom, #0e4eaf, #103b7b);
  border-bottom: solid 3px #073984;
}

.btn_row_three .btn_basic {
  font-size: 20px;
}

.btn_wide .btn_basic {
  width: 50%;
  margin: 0 auto calc(40px + 50px) auto;
}

.btn_bottom_wrap {
  width: 1000px;
  padding: 20px 0;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  margin: 40px auto;
}

.btn_bottom_wrap h3 {
  text-align: center;
  border-bottom: none;
}

.soon .container {
  position: relative;
}

.btn_wide .soon_circle {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  top: _15px;
  right: 270px;
  background-color: #fff;
  color: #d8143b;
  border: 1px solid #d8143b;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.2;
  width: 90px;
  height: 90px;
  padding: .4em;
  border-radius: 50%;
}

.btn-copy-type01 {
  padding: 0 10px;
  text-shadow: none;
  border-bottom: 1px solid;
}

.btn-copy-type02 {
  padding: 0 10px;
  text-shadow: none;
  border-bottom: 1px solid;
}

.btn-copy-type03 {
  padding: 0 10px;
  text-shadow: none;
  border-bottom: 1px solid;
}

@media screen and (max-width:600px) {
  .btn_wide .btn_basic {
    width: 90%;
    margin: 0 auto calc(20px + 30px) auto;
  }

  .btn_basic {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }

  .btn_row_three .btn_basic {
    font-size: 1.8rem;
  }

  .col_flex.btn_row_two,
  .col_flex.btn_row_three {
    display: block;
  }

  .btn_row_two .col_6,
  .btn_row_three .col_4 {
    max-width: 90%;
    margin: 0 auto;
  }

  .btn_basic {
    padding: .7em 1em;
  }
}

.fs18 {
  font-size: 18px;
}

.fs16 {
  font-size: 16px;
}

.block {
  display: block;
  margin-right: 0 !important;
}

a.pn:link {
  text-decoration: underline;
  color: #666666;
  font-size: 12px;
}

a.pn:active {
  text-decoration: none;
  color: #CC3366;
  font-size: 12px;
}

a.pn:visited {
  text-decoration: underline;
  color: #666666;
  font-size: 12px;
}

a.pn:hover {
  text-decoration: none;
  color: #CC3366;
  font-size: 12px;
}

.pankuzu {
  padding-top: 5px;
  font-size: 12px;
  color: #000000;
}

.red_btn {
  text-align: center;
  font-size: 15px;
  background: red;
  color: #fff;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 5px 5px 0px 0px rgba(127, 127, 127, 0.62);
}

.mr1em {
  margin-right: 1em;
}

.clear {
  clear: both;
}

.more-detail {
  font-size: 18px;
}

#tuki-koza .pic img {
  width: 77%;
}

#koza-taikei .pic_2 a img {
  width: 80%;
}

.mb15 {
  margin-bottom: 15px;
}

.fs16 {
  font-size: 16px;
}

.toshin-moshi-notice {
  text-align: left;
  font-size: 16px;
}

.pos-description {
  line-height: 1.7;
  color: #333333;
  font-size: 20px;
  text-align: left;
}

.perfect-master-item {
  display: flex;
  align-items: center;
}

.pos_link {
  display: flex;
  justify-content: center;
  gap: 30px;
}

.pos_link .pos_link_btn {
  font-size: 18px;
  background: #F57A00;
  font-weight: 500;
  text-decoration: none;
  padding: 8px 15px;
  border-radius: 36px;
  color: #fff!important;
}
.pos_link .pos_link_btn:hover span {
  color: #fff!important;
  text-decoration: underline;
}

.pos_link .pos_link_btn::before {
  content: "▶";
  margin-right: 3px;
  color: #fff!important;
}

.tab-box{
  width: 100%;
}

/*2022更新時にｺﾒﾝﾄｱｳﾄ*/
/*#teacher .title {
  color: #6B81CB;
  font-size: 28px;
  margin-top: 50px;
}

#teacher .title span {
  color: #6B81CB;
  font-size: 40px;
}

title
#lesson .title {
  color: #F57A00;
  font-size: 26px;
  margin-top: 50px;
}

#lesson .title span {
  color: #F57A00;
  font-size: 40px;
}

#measures .title {
  color: #7fd475;
  font-size: 26px;
  margin-top: 50px;
}

#measures .title span {
  color: #7fd475;
  font-size: 40px;
}

#system .title {
  color: #EA9DAB;
  font-size: 28px;
  margin-top: 50px;
}

#system .title span {
  color: #EA9DAB;
  font-size: 40px;
}

#pos .title {
  color: #F14B4B;
  font-size: 28px;
  margin-top: 50px;
}

#pos .title span {
  color: black;
  font-size: 40px;
}

.subvisual_1 {
  background-color: #F57A00;
  padding: 1px 0;
}

.subvisual_1 p {
  font-size: 25px;
  color: white;
  font-weight: lighter;
}

.subvisual_1 span {
  color: white;
  font-size: 40px;
}

.subvisual_1-2 {
  background-color: #7fd475;
  padding: 1px 0;
}

.subvisual_1-2 p {
  font-size: 25px;
  color: white;
  font-weight: lighter;
}

.subvisual_1-2 span {
  color: white;
  font-size: 40px;
}

.subvisual_2 {
  background-color: #6B81CB;
  padding: 1px 0;
}

.subvisual_2 p {
  font-size: 25px;
  color: white;
  font-weight: lighter;
}

.subvisual_2 span {
  color: white;
  font-size: 40px;
}

.subvisual_3 {
  background-color: #EA9DAB;
  padding: 1px 0;
}

.subvisual_3 p {
  font-size: 25px;
  color: white;
  font-weight: lighter;
}

.subvisual_3 span {
  color: white;
  font-size: 40px;
}

.subvisual_4 {
  background-color: #F14B4B;
  padding: 1px 0;
}

.subvisual_4 p {
  font-size: 25px;
  color: white;
  font-weight: lighter;
}

.subvisual_4 span {
  color: white;
  font-size: 40px;
}


*/




/*2022更新時に追加*/

.center {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

.title {
  color: #009380;
  font-size: 25px;
  margin: 0 auto;
}

.subvisual {
  background-color: #009380;
  padding: 1px 0;
  width: 1000px;
  margin: 0 auto;
}

.subvisual p {
  padding: 20px 0;
  font-size: 25px;
  color: white;
  font-weight: 500;
}

.subvisual span {
  color: white;
  font-size: 40px;
}

.border {
  border: 3px solid #009380;
  padding: 10px;
  margin-top: 20px;
  width: 900px;
}

.small {
  font-size: 30px !important;
}

.introduction-img {
  width: 100%;
}


/* ０８調整用 */
.other_content {
  margin: 0 auto 15px;
  width: 100%;
  max-width: 700px;
}

.other_content .body {
  margin: 20px auto 0;
  display: none;
  text-align: left;
}

.ctn-ttl {
  position: relative;
}

.ctn-ttl span {
  content: "";
  position: absolute;
  right: 30px;
  border: 0;
  border-bottom: solid 2px #000;
  border-right: solid 2px #000;
  display: inline-block;
  transform: rotate(45deg);
  width: 18px;
  height: 18px;
}

.ctn-ttl.active span{
  top:25px;
  transform: rotate(-135deg);
}

.nagare-total-txt {
  text-align: center;
}

.nagare-ctn {
  position: absolute;
  width: 280px;
  display: flex;
  flex-flow: column;
  align-items: center;
}

.ttl-detail-txt {
  text-align: left;
  font-size: 15px;
  letter-spacing: -1px;
  line-height: 20px;
  font-weight: 500;
  padding: 10px 0;
}

.nagare-ctn .arrow {
  width: 0px;
  height: 20px;
  border-width: 20px 10px 0 10px;
}

.kouza-txt {
  text-align: center;
}

#master {
  margin: 0 0 60px;
}

#other {
  margin: 60px auto 30px;
}

#other h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  margin: 0 auto 20px;
  padding: 14px 0;
  color: #fff;
  width: 100%;
  line-height: 1;
  background-color: #009380;
}

#philosophy h3{
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
}
