@charset "UTF-8";
/* Scss Document */
/*---------mixin設定-------------*/
/*ブレイクポイント*/
/*-------------------------------

 //共通パーツ

-------------------------------*/
@media (min-width: 769px) {
  .pc_none {
    display: none; } }
@media (max-width: 768px) {
  .sp_none {
    display: none; } }
@font-face {
  font-family: 'LINESeedJP';
  src: url("../font/LINESeedJP_OTF_Rg.woff") format("truetype");
  font-style: normal; }
@font-face {
  font-family: 'LINESeedJP';
  src: url(" ../font/LINESeedJP_OTF_Bd.woff") format("truetype");
  font-weight: bold;
  font-style: normal; }
.ft_line {
  font-family: 'LINESeedJP';
  line-height: 1.3; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.w100 {
  width: 100% !important; }

.w90 {
  width: 90% !important; }

.w70 {
  width: 70% !important; }

.w48 {
  width: 48% !important; }

.w20 {
  width: 20% !important; }

.w75 {
  width: 75% !important; }

.sp-auto {
  margin: 0 auto !important; }

.fs14 {
  font-size: 14px !important; }

.fs16 {
  font-size: 16px !important; }

.fs18 {
  font-size: 18px !important; }

.tac {
  text-align: center; }

.fw500 {
  font-weight: 500 !important; }

.fw600 {
  font-weight: 600 !important; }

.fw700 {
  font-weight: 700 !important; }

.lh18 {
  line-height: 1.8 !important; }

.txt-justify {
  text-align: justify; }

.red-text {
  color: #BC0000; }

.green-text {
  color: #009AE0; }

.white-text {
  color: #fff; }

.inner {
  width: 90%;
  margin: 0 auto; }

.btn_doc {
  color: #000;
  text-align: center;
  text-decoration: underline;
  font-size: 14px;
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500; }
  .btn_doc img {
    width: 10px; }

@media (min-width: 1024px) {
  .pc-mb0 {
    margin-bottom: 0px !important; }

  .pc-mb10 {
    margin-bottom: 10px !important; }

  .pc-mb20 {
    margin-bottom: 20px !important; }

  .pc-mb30 {
    margin-bottom: 30px !important; }

  .pc-mb40 {
    margin-bottom: 40px !important; }

  .pc-mb50 {
    margin-bottom: 50px !important; }

  .pc-mb60 {
    margin-bottom: 60px !important; }

  .pc-mb70 {
    margin-bottom: 70px !important; }

  .pc-mb80 {
    margin-bottom: 80px !important; }

  .pc-mb90 {
    margin-bottom: 90px !important; }

  .pc-mb100 {
    margin-bottom: 100px !important; }

  .auto {
    margin: 0 auto !important; }

  .pc-tal {
    text-align: left; }

  .pc-tac {
    text-align: center; }

  .inner {
    max-width: 1000px;
    margin: 0 auto; } }
/*-------------------------------

 //cmn_ttl
-------------------------------*/
.cmn_ttl {
  font-size: 8vw;
  margin-bottom: 30px; }
  .cmn_ttl span {
    font-size: 5vw; }

@media (min-width: 769px) {
  .cmn_ttl {
    font-size: 48px;
    margin-bottom: 50px; }
    .cmn_ttl span {
      font-size: 26px; } }
/*-------------------------------

 //cv
-------------------------------*/
.cv {
  background: #fff;
  padding: 30vw 0 30px;
  position: relative; }
  .cv .cv_txt_01 {
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    margin: auto;
    width: 90%; }
  .cv .cv_txt_02 {
    width: 95%;
    margin: 0 auto 6px; }
  .cv .btn {
    transition: transform 0.3s ease; }
    .cv .btn:hover {
      transform: scale(1.05); }

.note {
  color: #919191;
  margin-top: 15px;
  font-size: 10px; }

@media (min-width: 769px) {
  .cv {
    padding: 55px 0 40px; }
    .cv .pc_flex {
      display: flex;
      justify-content: center;
      align-items: center; }
    .cv .cv_txt_01 {
      top: -120px;
      margin: auto;
      max-width: 400px; }
    .cv .cv_txt_02 {
      width: 48%;
      margin: 0 30px 0 0; }
    .cv .btn_block {
      width: 42%; }
    .cv .note {
      margin-top: 30px;
      text-align: center;
      display: block;
      font-size: 12px; } }
/*-------------------------------

 //fv_cv
-------------------------------*/
.fv_cv {
  background: #e7f8ff;
  padding: 20px 0; }
  .fv_cv .fv_cv_txt {
    font-size: 5vw; }
  .fv_cv .btn {
    transition: transform 0.3s ease; }
    .fv_cv .btn:hover {
      transform: scale(1.05); }

@media (min-width: 769px) {
  .fv_cv {
    padding: 20px 0; }
    .fv_cv .inner {
      display: flex;
      justify-content: center;
      align-items: center; }
    .fv_cv .txt_block {
      width: auto;
      margin-right: 40px; }
    .fv_cv .btn_block {
      width: 42%; }
    .fv_cv .fv_cv_txt {
      font-size: 30px;
      margin-bottom: 15px; } }
/*-------------------------------

 //worry
-------------------------------*/
.worry {
  background: #009ae0;
  padding: 30px 0 50px;
  position: relative; }
  .worry::after {
    content: "";
    display: block;
    background: url("../images/arrow.png") no-repeat;
    background-size: contain;
    width: 10px;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;
    margin: auto; }
  .worry .worry_ttl {
    font-size: 6.5vw;
    display: flex;
    justify-content: center;
    flex-flow: nowrap;
    align-items: center; }
    .worry .worry_ttl img {
      width: 100px;
      margin-left: 15px; }
  .worry .worry_list {
    display: flex;
    flex-flow: column;
    flex-flow: row wrap; }
    .worry .worry_list .worry_item {
      width: 100%;
      background: #fff;
      border-radius: 10px;
      padding: 20px 15px;
      box-sizing: border-box;
      margin-bottom: 10px;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-flow: nowrap; }
      .worry .worry_list .worry_item:last-child {
        margin-bottom: 0; }
      .worry .worry_list .worry_item img {
        width: 25px;
        margin-right: 15px; }
      .worry .worry_list .worry_item p {
        font-size: 14px;
        font-weight: 500; }

@media (min-width: 769px) {
  .worry {
    padding: 50px 0 50px; }
    .worry::after {
      width: 30px;
      height: 80px;
      bottom: -60px; }
    .worry .worry_ttl {
      font-size: 40px; }
      .worry .worry_ttl img {
        width: 108px;
        margin-left: 20px; }
        .worry .worry_ttl img.img01 {
          width: 100px;
          margin-right: 20px; }
    .worry .worry_list {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between; }
      .worry .worry_list .worry_item {
        width: 49%;
        padding: 25px 30px;
        margin-bottom: 15px; }
        .worry .worry_list .worry_item:last-child {
          margin-bottom: 15px; }
        .worry .worry_list .worry_item img {
          width: 30px;
          margin-right: 25px; }
        .worry .worry_list .worry_item p {
          font-size: 18px; } }
/*-------------------------------

 //plan
-------------------------------*/
.plan {
  background: #e7f8ff url("../images/plan_bg_sp.png") no-repeat;
  background-size: 100%;
  background-position: center top;
  padding: 60px 0 60px; }
  .plan .inner {
    width: 100%; }
  .plan .plan_copy {
    width: 80%;
    margin: 0 auto 40px; }
  .plan .plan_item p, .plan .plan_item figure {
    width: 85%;
    margin: 0 auto; }
  .plan .plan_item .plan_ttl {
    background: #009ae0;
    color: #fff;
    font-size: 5.5vw;
    position: relative;
    margin-bottom: 20px; }
    .plan .plan_item .plan_ttl img {
      position: absolute; }
  .plan .plan_item .plan_ttl.ttl_01 {
    padding: 20px 0 20px 15vw;
    border-radius: 100vh 0 0 100vh;
    margin-left: 4%; }
    .plan .plan_item .plan_ttl.ttl_01 img {
      width: 86px;
      right: 8vw;
      bottom: 0; }
  .plan .plan_item .plan_ttl.ttl_02 {
    padding: 20px 0 20px 45vw;
    border-radius: 0 100vh 100vh 0;
    margin-right: 4%; }
    .plan .plan_item .plan_ttl.ttl_02 img {
      width: 110px;
      left: 8vw;
      bottom: 0; }

@media (min-width: 769px) {
  .plan {
    background: #e7f8ff url("../images/plan_bg_pc.png") no-repeat;
    background-size: 100%;
    background-position: center top;
    padding: 100px 0 200px; }
    .plan .inner {
      max-width: 800px; }
    .plan .plan_copy {
      width: 100%;
      margin: 0 auto 70px; }
    .plan .plan_item p, .plan .plan_item figure {
      width: 100%; }
    .plan .plan_item .pc_flex {
      display: flex;
      justify-content: space-between;
      flex-flow: row wrap;
      align-items: center; }
      .plan .plan_item .pc_flex figure, .plan .plan_item .pc_flex p {
        width: 48%; }
    .plan .plan_item .plan_ttl {
      font-size: 28px;
      margin-bottom: 20px;
      text-align: center; }
    .plan .plan_item .plan_ttl.ttl_01 {
      padding: 20px 0;
      border-radius: 100vh;
      margin-left: 0; }
      .plan .plan_item .plan_ttl.ttl_01 img {
        right: 80px; }
    .plan .plan_item .plan_ttl.ttl_02 {
      padding: 20px 0;
      border-radius: 100vh;
      margin-right: 0; }
      .plan .plan_item .plan_ttl.ttl_02 img {
        left: 50px; } }
/*-------------------------------

 //reason
-------------------------------*/
.reason {
  background: #009ae0 url("../images/reason_txt.svg") no-repeat;
  background-size: 60%;
  background-position: center top;
  padding: 50px 0 30vw;
  position: relative; }
  .reason::after {
    content: "";
    display: block;
    background: url("../images/arrow.png") no-repeat;
    background-size: contain;
    width: 10px;
    height: 60px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: auto;
    z-index: 999; }
  .reason .reason_block {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 30px; }
    .reason .reason_block:last-child {
      margin-bottom: 0; }
    .reason .reason_block .add_bg_sp {
      background: #FFF8DA;
      border-radius: 10px 10px 0 0;
      padding: 0 30px 15px 30px;
      box-sizing: border-box; }
    .reason .reason_block .reason_num {
      background: #FFDA37;
      padding: 4px 0;
      font-size: 14px;
      border-radius: 0 0 5px 5px;
      display: inherit;
      width: 100px;
      margin: 0 auto 15px; }
    .reason .reason_block .reason_ttl {
      font-size: 6vw;
      margin-bottom: 20px;
      line-height: 1.4; }
    .reason .reason_block .check_list {
      padding: 20px 30px;
      box-sizing: border-box; }
      .reason .reason_block .check_list li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 10px;
        font-weight: 500; }
        .reason .reason_block .check_list li:last-child {
          margin-bottom: 0; }
        .reason .reason_block .check_list li img {
          width: 16px;
          margin-right: 10px; }
    .reason .reason_block .reason_txt {
      width: 85%;
      margin: 0 auto;
      padding: 15px 0 20px;
      box-sizing: border-box;
      border-top: 1px dashed #000; }

@media (min-width: 769px) {
  .reason {
    background-size: 350px;
    background-position: center top 60px;
    padding: 80px 0 60px; }
    .reason::after {
      width: 30px;
      height: 80px;
      bottom: -100px; }
    .reason .reason_block {
      margin-bottom: 60px;
      position: relative; }
      .reason .reason_block .add_bg_sp {
        padding: 0; }
      .reason .reason_block .add_bg_pc {
        background: #FFF8DA;
        border-radius: 10px 10px 0 0;
        padding: 70px 70px 40px 70px;
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        flex-flow: row wrap;
        align-items: center; }
        .reason .reason_block .add_bg_pc .txt_block {
          width: 45%; }
        .reason .reason_block .add_bg_pc figure.sp_none {
          width: 48%; }
      .reason .reason_block:nth-of-type(even) .add_bg_pc {
        flex-flow: row-reverse; }
      .reason .reason_block .reason_num {
        font-size: 18px;
        width: 140px;
        margin: 0 auto;
        position: absolute;
        right: 0;
        left: 0;
        top: 0; }
      .reason .reason_block .reason_ttl {
        font-size: 32px;
        margin-bottom: 20px; }
      .reason .reason_block .check_list {
        padding: 0; }
        .reason .reason_block .check_list li br {
          display: none; }
      .reason .reason_block .reason_txt {
        width: 100%;
        padding: 30px 70px 30px; } }
/*-------------------------------

 //amata
-------------------------------*/
.atama {
  background: #e7f8ff;
  padding: 10px 0 60px;
  position: relative; }
  @media (max-width: 768px) {
    .atama::before {
      content: "";
      display: block;
      background: url("../images/cercle.png") no-repeat;
      background-size: contain;
      width: 100%;
      height: 60px;
      position: absolute;
      left: 0;
      right: 0;
      top: -15vw;
      margin: auto; } }
  .atama .atama_ttl {
    width: 80%;
    margin: 0 auto 30px; }
  .atama figure {
    width: 90%;
    margin: 0 auto 15px; }
  .atama .txt_01 {
    font-size: 6vw;
    margin-bottom: 20px; }
  .atama .txt_02 {
    font-size: 4.8vw;
    margin-bottom: 40px; }

@media (min-width: 769px) {
  .atama {
    padding: 60px 0 100px;
    background: #009ae0; }
    .atama .inner {
      background: #fff;
      border-radius: 10px;
      padding: 70px;
      box-sizing: border-box; }
    .atama .atama_ttl {
      width: 90%;
      margin: 0 auto 30px; }
    .atama figure {
      width: 90%;
      margin: 0 auto 25px; }
    .atama .txt_01 {
      font-size: 34px;
      margin-bottom: 30px; }
    .atama .txt_02 {
      font-size: 22px;
      margin-bottom: 60px; } }
.mod_about {
  margin: auto;
  max-width: 1000px;
  width: 90%; }

.mod_about h3 {
  text-align: center;
  font-weight: 600;
  font-size: 34px;
  color: #000; }

.mod_about h3 span {
  color: #0095aa; }

.mod_about ul {
  margin-top: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between; }

.mod_about li {
  width: 48%; }

.mod_about li a {
  width: 100%;
  height: 50px;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ccc;
  cursor: pointer; }

.mod_about li a.active {
  background: #0092a8; }

.mod_about .content {
  margin-top: 20px;
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden; }

.mod_about .content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

@media (max-width: 768px) {
  .mod_about {
    margin: 50px auto 0;
    width: 90%; }

  .mod_about h3 {
    font-size: 26px;
    line-height: 1.2;
    margin-bottom: 20px; }

  .mod_about ul {
    margin-top: 5vw;
    display: flex;
    align-items: center;
    justify-content: space-between; }

  .mod_about li a {
    width: 100%;
    height: 40px;
    color: #fff;
    font-weight: bold;
    font-size: 4.6vw;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ccc; }

  .mod_about li a.active {
    background: #0092a8; }

  .mod_about .content {
    margin-top: 5vw;
    position: relative;
    padding-bottom: 56.25%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden; } }
/*-------------------------------

 //case
-------------------------------*/
.case {
  background: #009ae0 url("../images/case_txt.svg") no-repeat;
  background-size: 40%;
  background-position: center top;
  padding: 60px 0 60px; }
  .case .case_list {
    display: flex;
    flex-flow: column; }
    .case .case_list li {
      width: 100%;
      background: #fff;
      border-radius: 10px;
      margin-bottom: 30px; }
      .case .case_list li:last-child {
        margin-bottom: 0; }
    .case .case_list .add_bg {
      background: #FFF8DA;
      border-radius: 10px 10px 0 0;
      padding: 15px 25px 10px;
      box-sizing: border-box; }
    .case .case_list .case_head {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .case .case_list .case_head .case_icon {
        width: 30%;
        margin-right: 15px; }
      .case .case_list .case_head .case_school {
        font-size: 17px; }
    .case .case_list .case_graph {
      width: 90%;
      margin: 10px auto 0; }
    .case .case_list .case_content {
      padding: 20px 25px; }
      .case .case_list .case_content .case_ttl {
        font-size: 5vw;
        margin-bottom: 15px; }
  .case .case_txt_01 {
    font-size: 6vw;
    margin: 50px 0 25px;
    line-height: 1.4; }
    .case .case_txt_01 span {
      position: relative;
      padding: 0 20px;
      display: inline-block; }
      .case .case_txt_01 span::before {
        position: absolute;
        left: 0;
        bottom: 0;
        content: "";
        width: 2px;
        height: 90%;
        background: #fff;
        border-radius: 3px;
        transform: rotate(-25deg); }
      .case .case_txt_01 span::after {
        position: absolute;
        content: "";
        right: 0;
        bottom: 0;
        width: 2px;
        height: 90%;
        background: #fff;
        border-radius: 3px;
        transform: rotate(25deg); }
  .case .case_txt_02 {
    margin: 40px 0 15px;
    font-size: 6vw; }
  .case .case_list_02 li {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    height: 400px; }
  .case .case_list_02 .case_head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 15px; }
    .case .case_list_02 .case_head .case_icon {
      width: 30%;
      margin-right: 15px; }

@media (min-width: 769px) {
  .case {
    background-size: 220px;
    background-position: center top 60px;
    padding: 80px 0 140px; }
    .case .case_list {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between; }
      .case .case_list li {
        width: 48%;
        margin-bottom: 0; }
      .case .case_list .add_bg {
        padding: 20px 30px 10px; }
      .case .case_list .case_head .case_icon {
        width: 20%;
        margin-right: 15px; }
      .case .case_list .case_graph {
        width: 75%;
        margin: 20px auto 0; }
      .case .case_list .case_content {
        padding: 30px 40px; }
        .case .case_list .case_content .case_ttl {
          font-size: 24px; }
    .case .case_txt_01 {
      font-size: 34px;
      margin: 80px 0 40px; }
      .case .case_txt_01 span {
        padding: 0 30px; }
    .case .case_txt_02 {
      margin: 80px 0 15px;
      font-size: 38px; }
    .case .case_list_02 li {
      height: 420px; }
      .case .case_list_02 li p {
        font-size: 15px; }
    .case .case_list_02 .case_head .case_icon {
      width: 25%;
      margin-right: 15px; } }
.swiper {
  padding-bottom: 40px;
  overflow: visible;
  /* はみ出し部分を表示 */
  position: relative; }

.swiper-wrapper {
  overflow: visible; }

.swiper-pagination {
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 10; }

/*-------------------------------

 //other
-------------------------------*/
.other {
  background: #e7f8ff;
  padding: 50px 0; }
  .other .other_ttl {
    font-size: 6vw;
    margin-bottom: 25px; }

@media (min-width: 769px) {
  .other {
    padding: 100px 0; }
    .other .other_ttl {
      font-size: 34px;
      margin-bottom: 30px; } }
@media (min-width: 769px) {
  .mod_flow {
    text-align: center; }

  .mod_flow ol {
    width: 1000px;
    height: 276px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    border-radius: 20px;
    background: #fff; }

  .mod_flow ol li {
    width: 30%;
    padding-top: 40px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative; }

  .mod_flow ol li:nth-child(even) {
    background: #FFF8DA; }

  .mod_flow ol li:nth-child(even)::before {
    width: 0;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 138px 0 138px 20px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 0;
    left: 0;
    content: ""; }

  .mod_flow ol li:nth-child(2)::after {
    width: 0;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 138px 0 138px 20px;
    border-color: transparent transparent transparent #FFF8DA;
    position: absolute;
    top: 0;
    right: -20px;
    content: ""; }

  .mod_flow ol li:nth-child(2),
  .mod_flow ol li:nth-child(3) {
    padding-left: 30px; }

  .mod_flow ol li:last-child {
    border-radius: 0 20px 20px 0; }

  .mod_flow ol li dt {
    font-weight: 600;
    font-size: 24px;
    color: #009AE0; }

  .mod_flow ol li dd {
    margin-top: 20px;
    font-size: 14px; }

  .mod_flow h6 {
    margin-top: 70px;
    font-weight: 600;
    font-size: 30px;
    color: #000; }

  .mod_flow h6 span {
    color: #009AE0; }

  .mod_flow ul {
    margin-top: 40px;
    display: flex;
    justify-content: space-between; }

  .mod_flow ul li {
    width: 340px;
    height: 340px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    background: #fff;
    filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.1)); }

  .mod_flow ul li figure {
    margin-top: -20px; } }
@media (max-width: 768px) {
  .mod_flow {
    text-align: center; }

  .mod_flow ol {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 20px;
    background: #fff;
    width: 95%;
    margin: 0 auto; }

  .mod_flow ol li {
    padding-top: 40px;
    padding-bottom: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative; }

  .mod_flow ol li:first-child {
    padding-top: 20px; }

  .mod_flow ol li:last-child {
    padding-bottom: 25px; }

  .mod_flow ol li:nth-child(even) {
    background: #FFF8DA; }

  .mod_flow ol li:nth-child(even)::before {
    width: 0;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 30px 43vw 0 43vw;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    content: ""; }

  .mod_flow ol li:nth-child(2)::after {
    width: 0;
    height: 0;
    display: block;
    border-style: solid;
    border-width: 30px 45vw 0 45vw;
    border-color: #fff transparent transparent transparent;
    border-color: #FFF8DA transparent transparent transparent;
    position: absolute;
    bottom: -30px;
    left: 0;
    content: ""; }

  .mod_flow ol li:last-child {
    border-radius: 0 0 20px 20px; }

  .mod_flow ol li dt {
    font-weight: 600;
    font-size: 20px;
    color: #009AE0; }

  .mod_flow ol li dd {
    margin-top: 10px;
    font-size: 14px; }

  .mod_flow h6 {
    margin-top: 10vw;
    font-weight: 600;
    font-size: 20px;
    color: #000; }

  .mod_flow h6 span {
    color: #009AE0; }

  .mod_flow ul {
    padding: 0 5vw;
    display: flex;
    flex-direction: column; }

  .mod_flow ul li {
    width: 80vw;
    height: 80vw;
    margin-top: 5vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    background: #fff;
    filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.1)); }

  .mod_flow ul li figure img {
    width: auto;
    height: 30vw;
    margin-top: -5vw; } }
.sec_question {
  width: 95%;
  margin: 0 auto; }

.sec_question .item {
  margin-top: 30px;
  background: #fff;
  border-radius: 10px; }

.sec_question .item .box {
  padding: 0 20px; }

.sec_question .item .box .wrap {
  border-bottom: 1px solid #dbdbdb;
  padding: 20px 0; }

.sec_question .item .box .wrap.last {
  border-bottom: none; }

.sec_question .item .question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  color: #009ae0;
  font-weight: bold;
  font-size: 20px;
  padding-right: 40px;
  cursor: pointer; }

.sec_question .item .question.show::before {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateX(-50%) rotate(0deg);
  -ms-transform: translateX(-50%) rotate(0deg);
  transform: translateX(-50%) rotate(0deg); }

.sec_question .item .question::after,
.sec_question .item .question::before {
  content: "";
  position: absolute;
  width: 25px;
  height: 4px;
  background: #009ae0;
  top: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  right: 0px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s; }

.sec_question .item .question::before {
  -webkit-transform: translateX(-50%) rotate(90deg);
  -ms-transform: translateX(-50%) rotate(90deg);
  transform: translateX(-50%) rotate(90deg); }

.sec_question .item .question .q {
  background: #009ae0;
  color: #fff;
  font-weight: 900;
  border-radius: 5px;
  width: 36px;
  min-width: 36px;
  font-size: 22px;
  height: 36px;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 0.5em;
  line-height: 1; }

.sec_question .item .answer {
  margin-top: 1em;
  display: none;
  color: #333333;
  font-size: 16px; }

.sec_question .item .answer .answer-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 10px 0 0; }

.sec_question .item .answer .a {
  font-size: 26px;
  font-weight: 900;
  text-transform: uppercase;
  color: #b3b3b3;
  line-height: 1;
  margin-right: 0.5em; }

@media (max-width: 768px) {
  .sec_question .item .question {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    color: #009ae0;
    font-weight: bold;
    font-size: 16px;
    padding-right: 40px;
    cursor: pointer; }

  .sec_question .item .answer {
    margin-top: 1em;
    display: none;
    color: #333333;
    font-size: 14px; }

  .sec_question .item .question::after,
  .sec_question .item .question::before {
    content: "";
    position: absolute;
    width: 15px;
    height: 4px;
    background: #009ae0;
    top: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    right: 0px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s; }

  .sec_question .item .question::before {
    -webkit-transform: translateX(-50%) rotate(90deg);
    -ms-transform: translateX(-50%) rotate(90deg);
    transform: translateX(-50%) rotate(90deg); }

  .sec_question .item .question .q {
    background: #009ae0;
    color: #fff;
    font-weight: 900;
    border-radius: 5px;
    width: 30px;
    min-width: 30px;
    font-size: 18px;
    height: 30px;
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: 0.5em;
    line-height: 1; } }
/*-------------------------------

 //room
-------------------------------*/
.room {
  padding: 40px 0 50px; }
  .room .room_ttl {
    font-size: 7vw;
    display: flex;
    justify-content: center;
    align-items: center; }
    .room .room_ttl img {
      width: 100px;
      margin-left: 15px; }
  .room .classrooms > div {
    margin-bottom: 15px; }
  .room .classrooms .area {
    background: #009ae0;
    color: #fff;
    font-size: 4.2vw;
    text-align: center;
    font-weight: 700;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 5px;
    position: relative;
    cursor: pointer; }
  .room .classrooms ul {
    background: #e7f8ff;
    padding: 20px 20px 10px;
    box-sizing: border-box;
    border-radius: 0 0 5px 5px; }
    .room .classrooms ul li {
      margin-bottom: 15px;
      margin-right: 15px;
      display: inline-block; }
    .room .classrooms ul a {
      color: #000;
      font-size: 4.2vw;
      text-decoration: underline; }

@media (min-width: 769px) {
  .room {
    padding: 60px 0 160px; }
    .room .room_ttl {
      font-size: 34px;
      display: flex;
      justify-content: center;
      align-items: center; }
      .room .room_ttl img {
        width: 100px;
        margin-left: 15px; }
    .room .classrooms {
      max-width: 800px;
      margin: 0 auto; }
    .room .classrooms > div {
      margin-bottom: 20px; }
    .room .classrooms .area {
      font-size: 18px;
      text-align: left;
      padding: 15px 40px; }
    .room .classrooms ul {
      padding: 30px 40px 20px; }
      .room .classrooms ul a {
        font-size: 16px; } }
/*-------------------------------

 //footer
-------------------------------*/
footer {
  background: #2C2C2C;
  color: #fff;
  text-align: center;
  padding: 6px 0;
  font-size: 12px; }
