@charset "UTF-8";
:root {
  --color-text1: #52504E;
  --color-text2: #FFFFFF;
  --color-base1: #FFFFFF;
  --color-base2: #000000;
  --color-base3: #AFB7BA;
  --color-base4: #EEF1F2;
  --color-border1: #52504E;
  --color-border2: #FFFFFF;
  --color-theme1: #E94709;
  --color-theme2: #B69241;
  --width-basic_pc: 960px;
  --width-basic_sp: 100%;
  --height-fixed-header1_pc: 110px;
  --height-fixed-header1_sp: 80px;
  --height-fixed-footer1_pc: 255px;
  --height-fixed-footer1_sp: 80px;
  --fontsize-base_pc: 14px;
  --fontsize-base_tablet: 14px;
  --fontsize-base_sp: 12px;
  --fontsize_10pt: 0.71rem;
  --fontsize_11pt: 0.78rem;
  --fontsize_12pt: 0.85rem;
  --fontsize_13pt: 0.92rem;
  --fontsize_14pt: 1rem;
  --fontsize_15pt: 1.07rem;
  --fontsize_16pt: 1.14rem;
  --fontsize_17pt: 1.21rem;
  --fontsize_18pt: 1.28rem;
  --fontsize_19pt: 1.35rem;
  --fontsize_20pt: 1.42rem;
  --fontsize_21pt: 1.5rem;
  --fontsize_22pt: 1.57rem;
  --fontsize_23pt: 1.64rem;
  --fontsize_24pt: 1.71rem;
  --fontsize_25pt: 1.78rem;
  --fontsize_26pt: 1.85rem;
  --fontsize_27pt: 1.92rem;
  --fontsize_28pt: 2rem;
  --fontsize_29pt: 2.07rem;
  --fontsize_30pt: 2.14rem;
  --fontsize_31pt: 2.21rem;
  --fontsize_32pt: 2.28rem;
  --fontsize_33pt: 2.35rem;
  --fontsize_34pt: 2.42rem;
  --fontsize_35pt: 2.5rem;
  --fontsize_36pt: 2.57rem;
  --fontsize_37pt: 2.64rem;
  --fontsize_38pt: 2.71rem;
  --fontsize_39pt: 2.78rem;
  --fontsize_40pt: 2.85rem;
  --fontsize_41pt: 2.92rem;
  --fontsize_42pt: 3rem;
  --fontsize_43pt: 3.07rem;
  --fontsize_44pt: 3.14rem;
  --fontsize_45pt: 3.21rem;
  --fontsize_46pt: 3.28rem;
  --fontsize_47pt: 3.35rem;
  --fontsize_48pt: 3.42rem;
  --fontsize_49pt: 3.5rem;
  --fontsize_50pt: 3.57rem;
  --fontsize_51pt: 3.64rem;
  --fontsize_52pt: 3.71rem;
  --fontsize_53pt: 3.78rem;
  --fontsize_54pt: 3.85rem;
  --fontsize_55pt: 3.92rem;
  --fontsize_56pt: 4rem;
}

/*** Media Query ***/
/* HTMLtag */
a {
  color: var(--color-text1);
  text-decoration: none;
  transition: all 0.2s ease-in;
}
a:hover {
  opacity: 0.5;
}

a[href^="tel:"] {
  pointer-events: none;
}

/* preset */
.pc {
  display: inline !important;
}

.tablet {
  display: inline !important;
}

.sp {
  display: none !important;
}

.sans {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.serif {
  font-family: "Noto Serif JP", "游明朝体", YuMincho, "游明朝", "Yu Mincho", serif;
}

.domain:before {
  content: "@";
}

@media screen and (max-width: 820px) and (min-width: 545px) {
  /* HTMLtag */
  a {
    text-decoration: none;
  }
  a:hover {
    opacity: 1;
  }
  /* preset */
  .pc {
    display: none !important;
  }
  .tablet {
    display: inline !important;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 544px) {
  /* HTMLtag */
  a:hover {
    opacity: 1;
  }
  a[href^="tel:"] {
    pointer-events: auto;
  }
  /* preset */
  .pc {
    display: none !important;
  }
  .tablet {
    display: none !important;
  }
  .sp {
    display: inline !important;
  }
}
/*** Media Query ***/
/* common */
html {
  font-size: var(--fontsize-base_pc);
}

body {
  width: 100%;
  color: var(--color-text1);
  background-color: var(--color-base1);
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-feature-settings: "palt";
  font-weight: 400;
  line-height: 1.6em;
  letter-spacing: 0.05em;
  margin: 0;
  overflow: auto;
}

header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 20;
  width: 100%;
  height: var(--height-fixed-header1_pc);
  overflow: hidden;
}
header.alt .inner {
  background-image: none;
  background-color: var(--color-theme1);
}
header.alt .inner .main-navigation ul li.conversion {
  background-color: var(--color-base1);
}
header.alt .inner .main-navigation ul li.conversion a {
  background-image: url(../img/common/nav1_9_pos.svg);
}
header .inner {
  position: relative;
  width: 100%;
  height: 100vh;
  background-image: url(../img/home/mainvisual1_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
header .inner .logo {
  position: absolute;
  top: 20px;
  left: 30px;
  width: 174px;
  height: auto;
  aspect-ratio: 174/44;
}
header .inner .logo a {
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/logo1_pos.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: left top;
}
header .inner .logo a img {
  display: none;
}
header .inner .main-navigation {
  position: absolute;
  top: 0;
  right: 30px;
}
header .inner .main-navigation ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
header .inner .main-navigation ul li {
  display: none;
}
header .inner .main-navigation ul li.panel {
  display: block;
  height: 64px;
}
header .inner .main-navigation ul li.panel a {
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center 65%;
}
header .inner .main-navigation ul li.panel a .text {
  display: none;
}
header .inner .main-navigation ul li.reason {
  width: 90px;
}
header .inner .main-navigation ul li.reason a {
  background-image: url(../img/common/nav1_1.svg);
}
header .inner .main-navigation ul li.course {
  width: 80px;
}
header .inner .main-navigation ul li.course a {
  background-image: url(../img/common/nav1_4.svg);
}
header .inner .main-navigation ul li.faq {
  width: 70px;
}
header .inner .main-navigation ul li.faq a {
  background-image: url(../img/common/nav1_8.svg);
}
header .inner .main-navigation ul li.conversion {
  width: 130px;
  background-color: var(--color-theme1);
}
header .inner .main-navigation ul li.conversion a {
  background-image: url(../img/common/nav1_9_neg.svg);
}

main {
  position: relative;
  z-index: 10;
  width: 100%;
  background-color: var(--color-base1);
  overflow: auto;
}
main .inner {
  width: 100%;
  padding: 130px 0;
}
main .inner section {
  width: var(--width-basic_pc);
  margin: 0 auto;
}

footer {
  position: relative;
  z-index: 10;
  width: 100%;
  height: var(--height-fixed-footer1_pc);
  background-color: var(--color-theme1);
}
footer .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
footer .inner .copyright {
  margin-top: 30px;
  color: var(--color-text2);
  font-size: var(--fontsize_14pt);
}

#menu-trigger {
  display: none;
}

#uptop {
  opacity: 0;
  position: fixed;
  backface-visibility: hidden;
  z-index: 19;
  right: 25px;
  bottom: 25px;
  margin: 0;
  padding: 0;
  width: 50px;
  height: 50px;
  transition: all 0.4s;
}
#uptop.show {
  opacity: 1;
  bottom: 30px;
}
#uptop.page-bottom {
  bottom: calc(var(--height-fixed-footer1_pc) + 75px);
}
#uptop button {
  margin: 0;
  width: 100%;
  height: 100%;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  outline: none;
}
#uptop button a {
  display: block;
}
#uptop button a img {
  display: block;
  width: 100%;
  height: auto;
}

#overlay {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background-color: var(--color-base2);
}

@media screen and (max-width: 820px) and (min-width: 545px) {
  /* common */
  html {
    font-size: var(--fontsize-base_pc);
  }
}
@media screen and (max-width: 544px) {
  /* common */
  html {
    font-size: var(--fontsize-base_sp);
  }
  body {
    padding-top: var(--height-fixed-header1_sp);
  }
  body.menu-open {
    overflow: hidden !important;
  }
  header {
    height: var(--height-fixed-header1_sp);
    overflow: unset;
  }
  header.alt .inner .main-navigation ul li.conversion {
    background-color: var(--color-theme2);
  }
  header .inner {
    height: 100%;
    background-image: none;
    background-color: var(--color-base1);
  }
  header .inner .logo {
    top: 22px;
    left: 18px;
    width: 150px;
  }
  header .inner .main-navigation {
    display: none;
    top: var(--height-fixed-header1_sp);
    right: 0;
    width: 100%;
    height: calc(100svh - var(--height-fixed-header1_sp));
    background-color: rgba(255, 255, 255, 0.9);
  }
  header .inner .main-navigation ul {
    display: block;
    width: 86%;
    margin: 0 auto;
    padding: 30px 0;
  }
  header .inner .main-navigation ul li {
    display: block;
    border-bottom: 1px solid var(--color-border1);
    width: 100% !important;
    height: 70px !important;
  }
  header .inner .main-navigation ul li:first-of-type {
    border-top: 1px solid var(--color-border1);
  }
  header .inner .main-navigation ul li.conversion {
    margin-top: 20px;
    background-color: var(--color-theme2);
    border-bottom: none;
  }
  header .inner .main-navigation ul li.conversion .text {
    color: var(--color-text2);
    font-size: var(--fontsize_24pt);
  }
  header .inner .main-navigation ul li a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-image: none !important;
    width: 100%;
    height: 100%;
  }
  header .inner .main-navigation ul li a .text {
    display: inline !important;
    font-weight: 500;
    font-size: var(--fontsize_18pt);
  }
  main .inner {
    padding: 40px 0;
  }
  main .inner section {
    width: var(--width-basic_sp);
  }
  footer {
    height: var(--height-fixed-footer1_sp);
  }
  footer .inner .logo img {
    width: auto;
    height: 32px;
  }
  footer .inner .copyright {
    margin-top: 0;
    font-size: var(--fontsize_10pt);
  }
  #menu-trigger {
    display: block;
    position: fixed;
    z-index: 21;
    right: 20px;
    top: 28px;
    width: 40px;
    height: 22px;
    background-color: transparent;
    text-align: center;
  }
  #menu-trigger button {
    position: relative;
    transition: all 0.4s;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    outline: none;
  }
  #menu-trigger button.active span:nth-of-type(1) {
    transform-origin: center;
    transform: translateY(10px) rotate(45deg);
  }
  #menu-trigger button.active span:nth-of-type(2) {
    opacity: 0;
  }
  #menu-trigger button.active span:nth-of-type(3) {
    transform-origin: center;
    transform: translateY(-10px) rotate(-45deg);
  }
  #menu-trigger button.active img {
    opacity: 0;
  }
  #menu-trigger button span {
    display: inline-block;
    transition: all 0.2s;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-text1);
  }
  #menu-trigger button span:nth-of-type(1) {
    top: calc(0% + 0px);
  }
  #menu-trigger button span:nth-of-type(2) {
    top: calc(0% + 10px);
  }
  #menu-trigger button span:nth-of-type(3) {
    top: calc(0% + 20px);
  }
  #uptop {
    right: 10px;
    bottom: 10px;
  }
  #uptop.show {
    bottom: 10px;
  }
}
@media screen and (max-width: 544px) and (max-height: 668px) {
  /* common */
  header .inner .main-navigation ul li {
    height: 45px !important;
  }
  header .inner .main-navigation ul li.conversion .text {
    font-size: var(--fontsize_20pt);
  }
}
/*** Media Query ***/
/* home */
.home header .inner .logo a {
  background-image: url(../img/common/logo1_neg.svg);
}
.home #main-visual {
  position: sticky;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100vh;
  background-image: url(../img/home/mainvisual1_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.home #main-visual .text {
  margin-top: 90px;
}
.home #main-visual .logo {
  margin-top: 35px;
}
.home main .inner section {
  padding: 130px 0;
}
.home main .inner section:first-of-type {
  padding-top: 0;
}
.home main .inner section:last-of-type {
  padding-bottom: 0;
}
.home main .inner section#About {
  text-align: center;
}
.home main .inner section#Reason h3 {
  text-align: center;
}
.home main .inner section#Reason h4 {
  border-top: 2px solid var(--color-border1);
  border-bottom: 2px solid var(--color-border1);
  margin-top: 70px;
  padding: 20px 0;
  font-size: var(--fontsize_30pt);
  font-weight: 600;
  text-align: center;
}
.home main .inner section#Reason .reason-panels {
  margin-top: 50px;
}
.home main .inner section#Reason .reason-panels .panel {
  position: relative;
  margin-top: 70px;
}
.home main .inner section#Reason .reason-panels .panel:first-of-type {
  margin-top: 0;
}
.home main .inner section#Reason .reason-panels .panel.left .image {
  margin-left: auto;
  margin-right: 0;
}
.home main .inner section#Reason .reason-panels .panel.left .text {
  left: 0;
}
.home main .inner section#Reason .reason-panels .panel.right .image {
  margin-left: 0;
  margin-right: auto;
}
.home main .inner section#Reason .reason-panels .panel.right .text {
  right: 0;
}
.home main .inner section#Reason .reason-panels .panel .image {
  max-width: 680px;
}
.home main .inner section#Reason .reason-panels .panel .image img {
  width: 100%;
  height: auto;
}
.home main .inner section#Reason .reason-panels .panel .text {
  position: absolute;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  max-width: 480px;
  height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 50px;
}
.home main .inner section#Reason .reason-panels .panel .text h5 {
  font-size: var(--fontsize_28pt);
  line-height: 1.6em;
  font-weight: 600;
}
.home main .inner section#Reason .reason-panels .panel .text p {
  margin-top: 30px;
  font-size: var(--fontsize_16pt);
  line-height: 1.8em;
  font-weight: 500;
}
.home main .inner section#BodyMake {
  width: 100%;
  background-color: var(--color-theme1);
}
.home main .inner section#BodyMake .container {
  max-width: var(--width-basic_pc);
  margin: 0 auto;
}
.home main .inner section#BodyMake .container h4 {
  border-top: 2px solid var(--color-border2);
  border-bottom: 2px solid var(--color-border2);
  width: 100%;
  padding: 20px 0;
  color: var(--color-text2);
  font-size: var(--fontsize_28pt);
  font-weight: 400;
  text-align: center;
}
.home main .inner section#BodyMake .container .flow-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 70px;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels {
  width: 700px;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel:first-of-type .point {
  padding-top: 0;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel.last .point {
  padding-bottom: 60px;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel.last .text {
  padding-bottom: 30px;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel .point {
  margin-right: 50px;
  padding: 30px 0;
  background-image: url(../img/home/bodymake1.svg);
  background-repeat: repeat-y;
  background-position: center top;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel .point span {
  width: 142px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 3px solid var(--color-border2);
  border-radius: 50%;
  background-color: var(--color-theme1);
  color: var(--color-text2);
  text-align: center;
  font-size: var(--fontsize_18pt);
  line-height: 1.6em;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel .text {
  width: calc(100% - 142px - 50px);
  color: var(--color-text2);
  font-size: var(--fontsize_18pt);
  line-height: 1.8em;
}
.home main .inner section#BodyMake .container .flow-body .flow-panels .panel-bottom span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 270px;
  padding: 10px;
  border: 3px solid var(--color-border2);
  color: var(--color-text2);
  font-size: var(--fontsize_18pt);
}
.home main .inner section#BodyMake .container .flow-body .flow-image {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 120px;
}
.home main .inner section#BodyMake .container .flow-body .flow-image .text {
  position: absolute;
  top: 258px;
  display: block;
  width: 100%;
  text-align: center;
  color: var(--color-theme1);
  font-size: var(--fontsize_18pt);
  font-weight: 600;
  line-height: 1.4em;
}
.home main .inner section#BodyMake .container .flow-bottom-sp {
  display: none;
}
.home main .inner section#BodyMake .container .flow-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}
.home main .inner section#BodyMake .container .flow-bottom span {
  height: 90px;
}
.home main .inner section#BodyMake .container .flow-bottom span.left, .home main .inner section#BodyMake .container .flow-bottom span.right {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 3px solid var(--color-border2);
  font-size: var(--fontsize_40pt);
  font-weight: 600;
}
.home main .inner section#BodyMake .container .flow-bottom span.left {
  width: 304px;
  color: var(--color-text2);
}
.home main .inner section#BodyMake .container .flow-bottom span.right {
  width: 568px;
  background-color: var(--color-base1);
  color: var(--color-theme1);
}
.home main .inner section#BodyMake .container .flow-bottom span.plus {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
}
.home main .inner section#BodyMake .container .flow-bottom span.plus img {
  width: auto;
  height: auto;
}
.home main .inner section#BodyMake .container .eye-catch {
  margin-top: 150px;
  text-align: center;
}
.home main .inner section#Support h3 {
  text-align: center;
}
.home main .inner section#Support .support-panels {
  margin-top: 70px;
}
.home main .inner section#Support .support-panels .panel {
  position: relative;
  margin-top: 70px;
}
.home main .inner section#Support .support-panels .panel:first-of-type {
  margin-top: 0;
}
.home main .inner section#Support .support-panels .panel.left .image {
  margin-left: auto;
  margin-right: 0;
}
.home main .inner section#Support .support-panels .panel.left .text {
  left: 0;
}
.home main .inner section#Support .support-panels .panel.right .image {
  margin-left: 0;
  margin-right: auto;
}
.home main .inner section#Support .support-panels .panel.right .text {
  right: 0;
}
.home main .inner section#Support .support-panels .panel .image {
  max-width: 680px;
}
.home main .inner section#Support .support-panels .panel .image img {
  width: 100%;
  height: auto;
}
.home main .inner section#Support .support-panels .panel .text {
  position: absolute;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  max-width: 480px;
  height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 50px;
}
.home main .inner section#Support .support-panels .panel .text h5 {
  font-size: var(--fontsize_28pt);
  line-height: 1.6em;
  font-weight: 600;
}
.home main .inner section#Support .support-panels .panel .text p {
  margin-top: 30px;
  font-size: var(--fontsize_17pt);
  line-height: 1.8em;
  font-weight: 500;
  text-align: justify;
}
.home main .inner section#Course {
  width: 100%;
  background-color: var(--color-theme1);
}
.home main .inner section#Course .container {
  max-width: var(--width-basic_pc);
  margin: 0 auto;
}
.home main .inner section#Course .container h3 {
  text-align: center;
}
.home main .inner section#Course .container .policy {
  margin-top: 80px;
}
.home main .inner section#Course .container .policy p {
  margin-top: 50px;
  color: var(--color-text2);
  font-size: var(--fontsize_21pt);
  text-align: center;
  line-height: 2em;
}
.home main .inner section#Course .container .policy p:first-of-type {
  margin-top: 0;
}
.home main .inner section#Course .container .course-summary {
  width: 800px;
  margin: 0 auto;
}
.home main .inner section#Course .container .course-summary h4 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100px;
  border: 2px solid var(--color-border2);
  border-radius: 16px;
  margin-top: 70px;
  color: var(--color-text2);
  font-size: var(--fontsize_33pt);
  font-weight: 600;
}
.home main .inner section#Course .container .course-summary .fee {
  margin-top: 60px;
  text-align: center;
}
.home main .inner section#Course .container .course-summary .notice {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 708px;
  margin: 40px auto 0 auto;
  color: var(--color-text2);
}
.home main .inner section#Course .container .course-summary .notice .left {
  padding: 10px 0 14px 0;
  border-top: 1px solid var(--color-border2);
  border-bottom: 1px solid var(--color-border2);
  font-size: var(--fontsize_26pt);
  font-weight: 600;
}
.home main .inner section#Course .container .course-summary .notice .right {
  font-size: var(--fontsize_18pt);
  line-height: 1.4em;
  letter-spacing: 0.15em;
}
.home main .inner section#Course .container .course-summary > .text {
  width: 708px;
  margin: 40px auto 0 auto;
  color: var(--color-text2);
  font-size: var(--fontsize_22pt);
  line-height: 2.4em;
  letter-spacing: 0.1em;
}
.home main .inner section#Course .container .course-summary .trainers-profiles {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 708px;
  margin: 60px auto 0 auto;
}
.home main .inner section#Course .container .course-summary .trainers-profiles .image {
  width: 336px;
  margin-right: 30px;
}
.home main .inner section#Course .container .course-summary .trainers-profiles .image img {
  width: 100%;
  height: auto;
}
.home main .inner section#Course .container .course-summary .trainers-profiles .profile {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: calc(100% - 336px - 30px);
  color: var(--color-text2);
}
.home main .inner section#Course .container .course-summary .trainers-profiles .profile .title {
  font-size: var(--fontsize_20pt);
}
.home main .inner section#Course .container .course-summary .trainers-profiles .profile .name {
  margin-top: 40px;
  font-size: var(--fontsize_36pt);
  font-weight: 600;
}
.home main .inner section#Course .container .course-summary .trainers-profiles .profile .name.en {
  margin-top: 20px;
  font-size: var(--fontsize_20pt);
  font-weight: 400;
}
.home main .inner section#Course .container .course-summary .trainers-profiles .profile .history {
  margin-top: 40px;
  font-size: var(--fontsize_18pt);
  line-height: 1.8em;
  text-align: justify;
}
.home main .inner section#Course .container .course-summary .facilities {
  width: 708px;
  margin: 60px auto 0 auto;
}
.home main .inner section#Course .container .course-summary .facilities .image {
  width: 100%;
}
.home main .inner section#Course .container .course-summary .facilities .image img {
  width: 100%;
  height: auto;
}
.home main .inner section#Course .container .course-summary .facilities .text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}
.home main .inner section#Course .container .course-summary .facilities .text .left {
  width: 336px;
  margin-right: 30px;
}
.home main .inner section#Course .container .course-summary .facilities .text .left img {
  width: 100%;
  height: auto;
}
.home main .inner section#Course .container .course-summary .facilities .text .right {
  width: calc(100% - 336px - 30px);
  color: var(--color-text2);
  font-size: var(--fontsize_21pt);
  line-height: 1.9em;
}
.home main .inner section#Course .container .course-summary .convertion a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 76px;
  margin-top: 60px;
  background-color: var(--color-theme2);
  color: var(--color-text2);
  font-size: var(--fontsize_36pt);
  font-weight: 500;
}
.home main .inner section#Flow h3 {
  text-align: center;
}
.home main .inner section#Flow .flow-panels {
  width: 100%;
  margin-top: 60px;
}
.home main .inner section#Flow .flow-panels .panel {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.home main .inner section#Flow .flow-panels .panel:first-of-type .point {
  padding-top: 0;
}
.home main .inner section#Flow .flow-panels .panel:first-of-type .text {
  padding-bottom: 30px;
}
.home main .inner section#Flow .flow-panels .panel.last .point {
  padding-bottom: 0;
}
.home main .inner section#Flow .flow-panels .panel.last .point .point-wrapper span {
  background-color: var(--color-theme1);
}
.home main .inner section#Flow .flow-panels .panel.last .text {
  padding-top: 30px;
}
.home main .inner section#Flow .flow-panels .panel .point {
  margin-right: 50px;
  padding: 30px 0;
  background-image: url(../img/home/flow2.svg);
  background-repeat: repeat-y;
  background-position: center top;
}
.home main .inner section#Flow .flow-panels .panel .point .point-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.home main .inner section#Flow .flow-panels .panel .point .point-wrapper span {
  width: 142px;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--color-base2);
  color: var(--color-text2);
  text-align: center;
  font-size: var(--fontsize_17pt);
  line-height: 1.6em;
}
.home main .inner section#Flow .flow-panels .panel .text {
  display: flex;
  align-items: center;
  width: calc(100% - 142px - 50px);
  font-size: var(--fontsize_18pt);
  line-height: 1.8em;
}
.home main .inner section#Voice {
  width: 100%;
  background-color: var(--color-base3);
}
.home main .inner section#Voice .container {
  max-width: var(--width-basic_pc);
  margin: 0 auto;
}
.home main .inner section#Voice .container h3 {
  text-align: center;
}
.home main .inner section#Voice .container .voice-cards {
  margin-top: 60px;
}
.home main .inner section#Voice .container .voice-cards .card {
  margin-top: 60px;
  padding: 90px 90px 70px 90px;
  background-color: var(--color-base1);
}
.home main .inner section#Voice .container .voice-cards .card:first-of-type {
  margin-top: 0;
}
.home main .inner section#Voice .container .voice-cards .card .image {
  width: 100%;
}
.home main .inner section#Voice .container .voice-cards .card .image img {
  width: 100%;
  height: auto;
}
.home main .inner section#Voice .container .voice-cards .card .text {
  margin-top: 30px;
  font-size: var(--fontsize_18pt);
  line-height: 1.8em;
  text-align: justify;
}
.home main .inner section#Comparision {
  padding-bottom: 0;
}
.home main .inner section#Comparision h3 {
  text-align: center;
}
.home main .inner section#Comparision .fee-conparision {
  margin-top: 70px;
  text-align: center;
}
.home main .inner section#FAQ {
  padding-bottom: 0;
}
.home main .inner section#FAQ h3 {
  text-align: center;
}
.home main .inner section#FAQ .faq-cards {
  margin-top: 30px;
}
.home main .inner section#FAQ .faq-cards .card {
  margin-top: 20px;
  padding: 50px;
  background-color: var(--color-base4);
}
.home main .inner section#FAQ .faq-cards .card:first-of-type {
  margin-top: 0;
}
.home main .inner section#FAQ .faq-cards .card .question {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.home main .inner section#FAQ .faq-cards .card .question .icon {
  width: 51px;
  margin-right: 20px;
}
.home main .inner section#FAQ .faq-cards .card .question .icon img {
  width: 100%;
  height: auto;
}
.home main .inner section#FAQ .faq-cards .card .question .title {
  width: calc(100% - 51px - 20px);
  font-size: var(--fontsize_20pt);
  font-weight: 500;
}
.home main .inner section#FAQ .faq-cards .card .answer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-top: 20px;
}
.home main .inner section#FAQ .faq-cards .card .answer .icon {
  width: 51px;
  margin-right: 20px;
}
.home main .inner section#FAQ .faq-cards .card .answer .icon img {
  width: 100%;
  height: auto;
}
.home main .inner section#FAQ .faq-cards .card .answer .title {
  width: calc(100% - 51px - 20px);
  font-size: var(--fontsize_20pt);
  font-weight: 500;
}
.home main .inner section#FAQ .faq-cards .card .answer .detail {
  width: 100%;
  margin-top: 5px;
  padding-left: 71px;
  font-size: var(--fontsize_18pt);
}
.home main .inner section#Apply h3 {
  text-align: center;
}
.home main .inner section#Apply .convertion {
  width: 800px;
  margin: 30px auto 0 auto;
}
.home main .inner section#Apply .convertion a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 76px;
  margin-top: 60px;
  background-color: var(--color-theme2);
  color: var(--color-text2);
  font-size: var(--fontsize_36pt);
  font-weight: 500;
}
.home main .inner section#Apply .notice {
  margin-top: 30px;
  font-size: var(--fontsize_20pt);
  text-align: center;
}

.reservation header .inner .logo a {
  background-image: url(../img/common/logo1_neg_alt.svg);
}
.reservation main .inner section {
  padding: 130px 0;
}
.reservation main .inner section:last-of-type {
  padding-bottom: 0;
}
.reservation main .inner section#Apply h1 {
  text-align: center;
}
.reservation main .inner section#Apply .qr {
  margin-top: 80px;
  text-align: center;
}
.reservation main .inner section#Apply .qr a img {
  width: 320px;
  height: auto;
}
.reservation main .inner section#Apply .tel {
  margin-top: 110px;
  text-align: center;
}
.reservation main .inner section#Apply .information {
  margin-top: 30px;
  text-align: center;
  font-size: var(--fontsize_26pt);
}
.reservation main .inner section#Apply .notice {
  margin-top: 20px;
  text-align: center;
  font-size: var(--fontsize_20pt);
  line-height: 1.6em;
}

@media screen and (max-width: 820px) and (min-width: 545px) {
  /* home */
  /*.home{
  }*/
}
@media screen and (max-width: 544px) {
  /* home */
  .home header .inner .logo a {
    background-image: url(../img/common/logo1_pos.svg);
  }
  .home #main-visual {
    top: var(--height-fixed-header1_sp);
    height: auto;
    aspect-ratio: 544/840;
    background-image: url(../img/home/mainvisual1_sp.webp);
    background-size: 100% auto;
  }
  .home #main-visual .text {
    margin-top: -50px;
  }
  .home #main-visual .logo img {
    width: 228px;
    height: auto;
  }
  .home main .inner section {
    padding: 0;
  }
  .home main .inner section:first-of-type {
    padding-top: 0;
  }
  .home main .inner section:last-of-type {
    padding-bottom: 0;
  }
  .home main .inner section#About {
    padding: 0 20px;
  }
  .home main .inner section#About img {
    width: 90%;
    height: auto;
  }
  .home main .inner section#Reason {
    margin-top: 0;
    padding: 70px 20px 40px 20px;
  }
  .home main .inner section#Reason h3 img {
    width: 80%;
  }
  .home main .inner section#Reason h4 {
    margin-top: 70px;
    font-size: var(--fontsize_26pt);
  }
  .home main .inner section#Reason .reason-panels {
    margin-top: 20px;
  }
  .home main .inner section#Reason .reason-panels .panel {
    margin-top: 30px;
  }
  .home main .inner section#Reason .reason-panels .panel .image {
    max-width: 100%;
  }
  .home main .inner section#Reason .reason-panels .panel .text {
    position: static;
    max-width: 100%;
    height: auto;
    display: block;
    margin-top: 15px;
    padding: 0;
  }
  .home main .inner section#Reason .reason-panels .panel .text h5 {
    font-size: var(--fontsize_24pt);
    text-align: center;
  }
  .home main .inner section#Reason .reason-panels .panel .text p {
    margin-top: 10px;
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#BodyMake {
    padding: 60px 20px;
  }
  .home main .inner section#BodyMake .container {
    max-width: var(--width-basic_sp);
  }
  .home main .inner section#BodyMake .container h4 {
    padding: 20px 0;
    font-size: var(--fontsize_20pt);
  }
  .home main .inner section#BodyMake .container .flow-body {
    margin-top: 30px;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels {
    width: 100%;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel:first-of-type .point {
    padding-top: 0;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel:first-of-type .text {
    padding-bottom: 30px;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel.last .point {
    padding-bottom: 60px;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel.last .text {
    padding-bottom: 30px;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel .point {
    margin-right: 20px;
    padding: 30px 0;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel .point span {
    width: 142px;
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel .text {
    width: calc(100% - 142px - 20px);
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel-bottom span {
    width: 100%;
    padding: 10px;
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#BodyMake .container .flow-body .flow-image {
    display: none;
  }
  .home main .inner section#BodyMake .container .flow-bottom-sp {
    display: block;
    margin-top: 100px;
    text-align: center;
  }
  .home main .inner section#BodyMake .container .flow-bottom-sp img {
    width: 90%;
    height: auto;
  }
  .home main .inner section#BodyMake .container .flow-bottom {
    flex-direction: column;
    margin-top: 100px;
  }
  .home main .inner section#BodyMake .container .flow-bottom span {
    height: 60px;
  }
  .home main .inner section#BodyMake .container .flow-bottom span.left, .home main .inner section#BodyMake .container .flow-bottom span.right {
    font-size: var(--fontsize_30pt);
  }
  .home main .inner section#BodyMake .container .flow-bottom span.left {
    width: 100%;
  }
  .home main .inner section#BodyMake .container .flow-bottom span.right {
    width: 100%;
  }
  .home main .inner section#BodyMake .container .eye-catch {
    margin-top: 50px;
  }
  .home main .inner section#BodyMake .container .eye-catch img {
    width: 90%;
    height: auto;
  }
  .home main .inner section#Support {
    padding: 40px 20px;
  }
  .home main .inner section#Support .support-panels {
    margin-top: 20px;
  }
  .home main .inner section#Support .support-panels .panel {
    margin-top: 30px;
  }
  .home main .inner section#Support .support-panels .panel .image {
    max-width: 100%;
  }
  .home main .inner section#Support .support-panels .panel .text {
    position: static;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.9);
    max-width: 100%;
    height: auto;
    display: block;
    margin-top: 15px;
    padding: 0;
  }
  .home main .inner section#Support .support-panels .panel .text h5 {
    font-size: var(--fontsize_24pt);
    text-align: center;
  }
  .home main .inner section#Support .support-panels .panel .text p {
    margin-top: 10px;
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#Course {
    padding: 40px 0;
  }
  .home main .inner section#Course .container {
    padding: 0 20px;
    max-width: var(--width-basic_sp);
  }
  .home main .inner section#Course .container .policy {
    margin-top: 40px;
  }
  .home main .inner section#Course .container .policy p {
    margin-top: 20px;
    font-size: var(--fontsize_16pt);
  }
  .home main .inner section#Course .container .course-summary {
    width: 100%;
  }
  .home main .inner section#Course .container .course-summary h4 {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    margin-top: 40px;
    font-size: var(--fontsize_24pt);
  }
  .home main .inner section#Course .container .course-summary .fee {
    margin-top: 20px;
  }
  .home main .inner section#Course .container .course-summary .fee img {
    width: 100%;
    height: auto;
  }
  .home main .inner section#Course .container .course-summary .notice {
    width: 100%;
    margin: 20px auto 0 auto;
  }
  .home main .inner section#Course .container .course-summary .notice .left {
    font-size: var(--fontsize_15pt);
  }
  .home main .inner section#Course .container .course-summary .notice .right {
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#Course .container .course-summary > .text {
    width: 100%;
    margin: 20px auto 0 auto;
    font-size: var(--fontsize_17pt);
    line-height: 1.8em;
    text-align: justify;
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles {
    width: 100%;
    margin: 30px auto 0 auto;
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .image {
    width: 48%;
    margin-right: 20px;
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: calc(52% - 20px);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .title {
    font-size: var(--fontsize_16pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .name {
    margin-top: 10px;
    font-size: var(--fontsize_24pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .name.en {
    margin-top: 10px;
    font-size: var(--fontsize_16pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .history {
    margin-top: 30px;
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#Course .container .course-summary .facilities {
    width: 100%;
    margin: 30px auto 0 auto;
  }
  .home main .inner section#Course .container .course-summary .facilities .image {
    width: 100%;
  }
  .home main .inner section#Course .container .course-summary .facilities .text {
    margin-top: 40px;
  }
  .home main .inner section#Course .container .course-summary .facilities .text .left {
    width: 48%;
    margin-right: 20px;
  }
  .home main .inner section#Course .container .course-summary .facilities .text .right {
    width: calc(52% - 20px);
    font-size: var(--fontsize_14pt);
  }
  .home main .inner section#Course .container .course-summary .convertion a {
    height: 50px;
    margin-top: 30px;
    font-size: var(--fontsize_24pt);
  }
  .home main .inner section#Flow {
    padding: 40px 20px 0 20px;
  }
  .home main .inner section#Flow h3 {
    text-align: center;
  }
  .home main .inner section#Flow .flow-panels {
    margin-top: 30px;
  }
  .home main .inner section#Flow .flow-panels .panel {
    display: block;
    width: 100%;
    margin-top: 30px;
  }
  .home main .inner section#Flow .flow-panels .panel:first-of-type {
    margin-top: 0;
  }
  .home main .inner section#Flow .flow-panels .panel:first-of-type .point {
    padding-top: 0;
  }
  .home main .inner section#Flow .flow-panels .panel:first-of-type .text {
    padding-bottom: 0;
  }
  .home main .inner section#Flow .flow-panels .panel.last .point {
    padding-bottom: 0;
  }
  .home main .inner section#Flow .flow-panels .panel.last .text {
    padding-top: 0;
  }
  .home main .inner section#Flow .flow-panels .panel .point {
    background-image: none;
    margin-right: 0;
    padding: 0;
    width: 100%;
  }
  .home main .inner section#Flow .flow-panels .panel .point .point-wrapper span {
    width: 100%;
    height: 40px;
    border-radius: 10px;
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#Flow .flow-panels .panel .text {
    display: block;
    width: 100%;
    margin-top: 10px;
    font-size: var(--fontsize_18pt);
    text-align: justify;
  }
  .home main .inner section#Voice {
    padding: 40px 20px 0 20px;
    width: 100%;
    background-color: var(--color-base1);
  }
  .home main .inner section#Voice .container {
    max-width: var(--width-basic_sp);
    margin: 0 auto;
  }
  .home main .inner section#Voice .container .voice-cards {
    margin-top: 30px;
  }
  .home main .inner section#Voice .container .voice-cards .card {
    margin-top: 30px;
    padding: 0;
  }
  .home main .inner section#Voice .container .voice-cards .card .image {
    width: 100%;
  }
  .home main .inner section#Voice .container .voice-cards .card .text {
    margin-top: 10px;
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#Comparision {
    padding: 40px 20px 0 20px;
  }
  .home main .inner section#Comparision .fee-conparision {
    margin-top: 30px;
  }
  .home main .inner section#Comparision .fee-conparision img {
    width: 100%;
    height: auto;
  }
  .home main .inner section#FAQ {
    padding: 40px 20px 0 20px;
  }
  .home main .inner section#FAQ .faq-cards {
    margin-top: 30px;
  }
  .home main .inner section#FAQ .faq-cards .card {
    margin-top: 10px;
    padding: 20px;
  }
  .home main .inner section#FAQ .faq-cards .card:first-of-type {
    margin-top: 0;
  }
  .home main .inner section#FAQ .faq-cards .card .question .icon {
    width: 25px;
    margin-right: 10px;
  }
  .home main .inner section#FAQ .faq-cards .card .question .title {
    width: calc(100% - 25px - 10px);
    font-size: var(--fontsize_14pt);
  }
  .home main .inner section#FAQ .faq-cards .card .answer {
    margin-top: 20px;
  }
  .home main .inner section#FAQ .faq-cards .card .answer .icon {
    width: 25px;
    margin-right: 10px;
  }
  .home main .inner section#FAQ .faq-cards .card .answer .title {
    width: calc(100% - 25px - 10px);
    font-size: var(--fontsize_14pt);
  }
  .home main .inner section#FAQ .faq-cards .card .answer .detail {
    padding-left: 35px;
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#Apply {
    padding: 40px 20px 0 20px;
  }
  .home main .inner section#Apply .convertion {
    width: 100%;
    margin: 15px auto 0 auto;
  }
  .home main .inner section#Apply .convertion a {
    width: 100%;
    height: 50px;
    margin-top: 30px;
    font-size: var(--fontsize_24pt);
  }
  .home main .inner section#Apply .notice {
    margin-top: 15px;
    font-size: var(--fontsize_16pt);
  }
  .reservation header .inner .logo a {
    background-image: url(../img/common/logo1_neg_alt.svg);
  }
  .reservation main .inner section {
    padding: 0;
  }
  .reservation main .inner section:first-of-type {
    padding-top: 0;
  }
  .reservation main .inner section:last-of-type {
    padding-bottom: 0;
  }
  .reservation main .inner section#Apply h1 img {
    width: 300px;
  }
  .reservation main .inner section#Apply .qr {
    margin-top: 50px;
  }
  .reservation main .inner section#Apply .qr a img {
    width: 160px;
  }
  .reservation main .inner section#Apply .tel {
    margin-top: 50px;
  }
  .reservation main .inner section#Apply .tel img {
    width: 300px;
  }
  .reservation main .inner section#Apply .information {
    margin-top: 30px;
    font-size: var(--fontsize_18pt);
  }
  .reservation main .inner section#Apply .notice {
    margin-top: 20px;
    font-size: var(--fontsize_14pt);
  }
}
@media screen and (max-width: 544px) and (max-height: 668px) {
  /* home */
  .home main .inner section#Reason h4 {
    font-size: var(--fontsize_24pt);
  }
  .home main .inner section#Reason .reason-panels .panel .text h5 {
    font-size: var(--fontsize_20pt);
  }
  .home main .inner section#Reason .reason-panels .panel .text p {
    font-size: var(--fontsize_16pt);
  }
  .home main .inner section#BodyMake .container h4 {
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels {
    width: 100%;
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel .point span {
    width: 130px;
    font-size: var(--fontsize_15pt);
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel .text {
    width: calc(100% - 130px - 20px);
    font-size: var(--fontsize_15pt);
  }
  .home main .inner section#BodyMake .container .flow-body .flow-panels .panel-bottom span {
    font-size: var(--fontsize_15pt);
  }
  .home main .inner section#Course .container .policy p {
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#Course .container .course-summary h4 {
    font-size: var(--fontsize_18pt);
  }
  .home main .inner section#Course .container .course-summary .notice .left {
    font-size: var(--fontsize_14pt);
  }
  .home main .inner section#Course .container .course-summary .notice .right {
    font-size: var(--fontsize_10pt);
  }
  .home main .inner section#Course .container .course-summary > .text {
    font-size: var(--fontsize_15pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .title {
    font-size: var(--fontsize_14pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .name {
    margin-top: 5px;
    font-size: var(--fontsize_20pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .name.en {
    margin-top: 5px;
    font-size: var(--fontsize_14pt);
  }
  .home main .inner section#Course .container .course-summary .trainers-profiles .profile .history {
    margin-top: 20px;
    font-size: var(--fontsize_10pt);
  }
  .home main .inner section#Course .container .course-summary .facilities .text .right {
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#Course .container .course-summary .convertion a {
    font-size: var(--fontsize_20pt);
  }
  .home main .inner section#FAQ .faq-cards .card .question .title {
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#FAQ .faq-cards .card .answer .title {
    font-size: var(--fontsize_12pt);
  }
  .home main .inner section#FAQ .faq-cards .card .answer .detail {
    font-size: var(--fontsize_10pt);
  }
  .home main .inner section#Apply .convertion a {
    font-size: var(--fontsize_20pt);
  }
}/*# sourceMappingURL=style.css.map */