@charset "UTF-8";
/*==========================================
  Common
==========================================*/
html {
    font-size: calc(100vw / 150);
}

/*================================
	img
=================================*/
img {
  width: 100%;
}

/* base
==================================*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
ul,
li,
ol,
dl,
dd,
tr {
  font-size: 1.6rem;
}

/*　Retina対応時のCSS↓　*/
/*================================
  header
=================================*/
/*================================
  footer
=================================*/
footer {
  padding-top: 3.5rem;
  padding-bottom: 5.5rem;
}
footer .container {
  max-width: 120rem !important;
}
footer .row .sns_area ul {
  max-width: 12.5rem;
  gap: 1rem;
}
footer .row .copy_area .copy {
  font-size: 1.3rem;
}

/*================================
  pageTop
=================================*/
#pageTop {
  right: 3rem;
  bottom: 3rem;
}
#pageTop a {
  width: 5rem;
}
#pageTop a:hover #icon_top_page #top_x5F_arrow {
  -webkit-transform: translateY(-.5rem);
          transform: translateY(-.5rem);
}

/* Animation
==================================*/
.c-anim-up {
  -webkit-transform: translate(0, 3rem);
          transform: translate(0, 3rem);
}

.move {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/*==================================
  Component
==================================*/

.container {
  max-width: 140rem !important;
  padding-left: 5rem;
  padding-right: 5rem;
}

/*==========================================
  Layout
==========================================*/
/*==================================
  Top
==================================*/

#Top main section .anker {
  top: -3rem;
}
#Top main .banner_sec {
  padding-top: 12rem;
}
#Top main .banner_sec .container {
  max-width: 120rem !important;
}
#Top main .banner_sec .ban_3years {
  padding-bottom: 1rem;
}
#Top main .banner_sec .ban_3years a:hover {
  position: relative;
  -webkit-transform: translateY(-1rem);
          transform: translateY(-1rem);
}
#Top main .banner_sec .line_link {
  height: 22rem;
}
#Top main .banner_sec .line_link .btn {
  top: 13.5rem;
  height: 6.3rem;
}
#Top main .banner_sec .line_link .btn a {
  text-indent: -999.9rem;
  border-radius: .5rem;
}
#Top main .banner_sec .line_link .btn a:hover {
  background-position: .3rem .3rem;
}



#Top .index_sec {
  padding-bottom: 19.7rem;
}

#Top .index_sec h2 {
  width: 67.9rem;
  margin-bottom: .8rem;
}

#Top .index_sec h2 img {
  width: 67.9rem;
}

#Top .index_sec h2 .txt01 img {
  width: 6.0rem;
}
#Top .index_sec h2 .txt02 img {
  width: 4.4rem;
}
#Top .index_sec h2 .icon01 img {
  width: 4.9rem;
}
#Top .index_sec h2 .icon02 img {
  width: 2.4rem;
}

#Top .index_sec p {
  font-size: 1.8rem;
  margin-bottom: 1.7rem;
}

#Top .index_sec .index_sec_notes {
  margin-bottom: 4.5rem;
}

#Top .index_sec .index_sec_notes li {
  font-size: 1.4rem;
}

#Top .index_sec .anchor_links {
  gap: 1.4rem;
}

#Top .index_sec .anchor_links li a {
  width: 20.5rem;
  height: 8rem;
  border-radius: 4rem;
  border: .6rem solid #957250;
  font-size: 1.8rem;
}

#Top .heading {
  width: 44.4rem;
  height: 14.5rem;
  margin-bottom: 3.4rem;
  font-size: 4rem;
  padding-top: 5.3rem;
}


#Top .fee_sec {
  padding: 0 0 17.2rem;
}

#Top .fee_sec:before {
  height: calc(100% + 19rem);
  background-size: 200rem auto;
}

#Top .fee_sec .fee_sec_wrap {
  width: 68.4rem;
}

#Top .fee_sec .fee_sec_wrap table {
  border-spacing: .7rem;
}

#Top .fee_sec .fee_sec_wrap table th {
  font-size: 1.8rem;
  height: 8.2rem;
}

#Top .fee_sec .fee_sec_wrap table thead tr th:nth-child(1) {
  width: 15.8rem;
}

#Top .fee_sec .fee_sec_wrap table thead tr th:nth-child(2) {
  width: 21rem;
}

#Top .fee_sec .fee_sec_wrap table th small {
  font-size: 1.4rem;
}

#Top .fee_sec .fee_sec_wrap table td {
  height: 8.2rem;
  font-size: 1.8rem;
}

#Top .fee_sec .fee_sec_wrap table td .number {
  font-size: 4rem;
}

#Top .fee_sec .fee_sec_wrap .fee_item:after {
  width: 3rem;
  height: 3.5rem;
  right: -2.7rem;
  top: .3rem;
}

#Top .fee_sec .fee_sec_notes {
  margin-top: .3rem;
}

#Top .fee_sec .fee_sec_notes li {
  font-size: 1.4rem;
}

#Top .fee_sec .fee_sec_box {
  margin-top: 2.8rem;
}

#Top .fee_sec .fee_sec_box p {
  font-size: 1.8rem;
}

#Top .fee_sec .fee_sec_box .fee_sec_button {
  margin-top: 1.5rem;
}

#Top .btn_links {
  height: 5.5rem;
  border-radius: 2.8rem;
  font-size: 2rem;
  padding: 0 5rem;
  min-width: 28rem;
}

#Top .btn_links::before {
  /* border-radius: 2.8rem; */
}

#Top .btn_links:after {
  width: .7rem;
  right: 2.4rem;
}

#Top .fee_sec .fee_sec_image img {
  width: 45.2rem;
  top: 8.9rem;
  transform: translateX(29.8rem);
}


#Top .point_sec:before {
  height: calc(100% + 19rem);
  background-size: 200rem auto;
}


#Top .point_sec .heading {
  margin-bottom: 2.4rem;
}

#Top .point_sec .point_sec_button .btn_links {
  /* border-radius: 2.8rem; */
}

#Top .point_sec .point_sec_button .btn_links:before {
    left: 2.6rem;
    top: -.3rem;
    width: 2.7rem;
    height: 2.7rem;
}
#Top .point_sec .point_sec_button .btn_links span {
  /* border-radius: 2.8rem; */
}

#Top .point_sec_inner {
  padding-bottom: 23rem;
}


#Top .point_sec_item01 {
  margin-bottom: 4.8rem;
}

#Top .point_sec_item01:before {
  width: 50.9rem;
  height: 48.2rem;
  transform: translateX(-85rem);
  top: 7rem;
}

#Top .point_sec_item01 .point_sec_image {
  padding-top: 7.8rem;
}

#Top .point_sec_item01 .point_sec_image picture {
  max-width: 45rem;
}

#Top .point_sec_item01 .point_sec_box {
  padding-bottom: 4.5rem;
}

#Top .point_sec_item01 .point_sec_box h3 {
  margin-bottom: 4.7rem;
}

#Top .point_sec_item01 .point_sec_box p {
  font-size: 1.8rem;
}

#Top .point_sec_item01 .point_sec_list {
  margin-bottom: 1.7rem;
}

#Top .point_sec_item01 .point_sec_list li {
  padding-left: 1.5rem;
  font-size: 1.8rem;
}

#Top .point_sec_item01 .point_sec_list li:before {
  width: .8rem;
  height: .8rem;
  top: 1.2rem;
}
#Top .point_sec_item01 .point_sec_notes {
  margin-top: 2.3rem;
}

#Top .point_sec_item01 .point_sec_notes li {
  font-size: 1.4rem;
}

#Top .point_sec_item02 {
  margin-bottom: 6.5rem;
}

#Top .point_sec_item02:before {
  width: 66.8rem;
  height: 39.2rem;
  transform: translateX(8.3rem);
  top: -1.8rem;
}

#Top .point_sec_item02 .point_sec_image {
  padding-top: 7.2rem;
}

#Top .point_sec_item02 .point_sec_image picture {
  max-width: 61.5rem;
}


#Top .point_sec_item02 .point_sec_box h3 {
  margin-bottom: 4.4rem;
}

#Top .point_sec_item02 .point_sec_box p {
  font-size: 1.8rem;
}


#Top .point_sec_item03 {
  margin-bottom: 4.8rem;
}

#Top .point_sec_item03:before {
  width: 51.9rem;
  height: 38.4rem;
  transform: translateX(-107.8rem);
  top: 7rem;
}

#Top .point_sec_item03 .point_sec_image {
  padding-top: 2.3rem;
}

#Top .point_sec_item03 .point_sec_image picture {
  max-width: 48.4rem;
}

#Top .point_sec_item03 .point_sec_box h3 {
  margin-bottom: 4.7rem;
}

#Top .point_sec_item03 .point_sec_box p {
  font-size: 1.8rem;
}

#Top .point_sec_item04 .point_sec_image {
  padding-top: 5.3rem;
}


#Top .point_sec_item04 .point_sec_image .image {
  max-width: 44.8rem;
}

#Top .point_sec_item04 .point_sec_image .icon {
  top: -1.5rem;
}

#Top .point_sec_item04 .point_sec_box h3 {
  margin-bottom: 4.4rem;
}

#Top .point_sec_item04 .point_sec_box p {
  font-size: 1.8rem;
}


#Top .course_sec:before {
  height: calc(100% + 19rem);
  background-size: 200rem auto;
}

#Top .course_sec .course_sec_inner {
  padding-bottom: 24rem;
}

#Top .course_sec .course_sec_inner:before {
  width: 29.75rem;
  height: 38rem;
  transform: translateX(-65rem);
  top: -20rem;
}
#Top .course_sec .course_sec_inner.move:before {
  /* transform: translateX(-61rem); */
}

#Top .course_sec .course_sec_inner:after {
  width: 26.4rem;
  height: 34.9rem;
  transform: translateX(-65.5rem);
  bottom: -3.3rem;
}

#Top .course_sec_heading {
  font-size: 2.7rem;
  margin: -1.4rem 0 3.6rem;
}

#Top .course_sec_list .course_sec_list_item:before {
  width: .2rem;
}

#Top .course_item {
  gap: 13rem;
  padding: 4.5rem 0;
}

#Top .course_sec_list .course_sec_list_item .course_item:nth-child(1):before {
  width: 8rem;
  padding-top: 8rem;
  font-size: 1.8rem;
}

#Top .course_sec_list .course_sec_list_item:nth-child(1) .course_item:nth-child(1):after {
  width: 8rem;
}

#Top .course_sec_list .course_sec_list_item:nth-child(4) .course_item:nth-child(1):after {
  width: 8rem;
}

#Top .course_item .course_item_box,
#Top .course_item .course_item_image {
  width: calc((100% - 13rem) / 2);
}

#Top .course_item .course_item_box p {
  font-size: 1.8rem;
}

#Top .course_item .course_item_box p.title {
  font-size: 2.7rem;
  margin-bottom: 1rem;
}

#Top .course_item .course_item_image .course_image img {
  border-radius: 1.5rem;
}

#Top .course_item .course_item_image .course_image.image01_01,
#Top .course_item .course_item_image .course_image.image02,
#Top .course_item .course_item_image .course_image.image05 {
  max-width: 32.8rem;
}

#Top .course_item .course_item_image .course_image.image01_02,
#Top .course_item .course_item_image .course_image.image03,
#Top .course_item .course_item_image .course_image.image04 {
  max-width: 41rem;
}

#Top .course_item .course_item_image .course_image.image01_01 {
  margin: -8.5rem 0 2rem;
}

#Top .course_sec_button a {
  max-width: 76.9rem;
}

#Top .course_sec_button_title {
  margin-bottom: 2.4rem;
  gap: .7rem;
  font-size: 1.8rem;
}

#Top .course_sec_button_title:before,
#Top .course_sec_button_title:after {
  width: .2rem;
  height: 5rem;
}

#Top .course_sec_button .btn_links:before {
  left: 2.6rem;
  top: -.3rem;
  width: 2.8rem;
  height: 2.8rem;
}

#Top .course_sec_links {
  margin-top: 1.7rem;
}

#Top .course_sec_links a {
  padding-right: 2rem;
  background-size: .7rem auto;
  font-size: 1.8rem;
}

#Top .course_sec_links a span {
  background: linear-gradient(to right, #000 .8rem, transparent .8rem) left bottom repeat-x;
  background-size: 1.2rem .2rem;
}


#Top .flow_sec {
  padding-bottom: 16rem;
}

#Top .flow_sec:before {
  height: calc(100% + 19rem);
  background-size: 200rem auto;
}

#Top .flow_sec .flow_sec_list {
  max-width: 110rem;
  gap: 8.4rem;
}

#Top .flow_sec .flow_sec_list .flow_sec_list_item + .flow_sec_list_item:before {
  width: 8.4rem;
  height: 16.8rem;
  left: -8.4rem;
  background-size: 3.2rem auto;
}

#Top .flow_sec .flow_box {
  border: .2rem solid #fff;
  padding: .8rem;
}

#Top .flow_sec .flow_box .flow_box_inner {
  height: 14.8rem;
}

#Top .flow_sec .flow_box .flow_box_inner:before {
  width: 1.1rem;
  border: .2rem solid #ffffff;
  border-right: 0;
}

#Top .flow_sec .flow_box .flow_box_inner:after {
  width: 1.1rem;
  border: .2rem solid #ffffff;
  border-left: 0;
}

#Top .flow_sec .flow_box .flow_box_inner p {
  font-size: 2.2rem;
}

#Top .flow_sec .flow_box .flow_box_inner img {
  width: 9rem;
}

#Top .flow_sec .flow_sec_button {
  margin-top: 1.6rem;
}

#Top .flow_sec_notes {
  margin-top: 1rem;
}

#Top .flow_sec_notes p {
  font-size: 1.8rem;
}

#Top .flow_sec_notes ul {
  margin-top: .4rem;
}

#Top .flow_sec_notes ul li {
  font-size: 1.4rem;
}

#Top .conditions_sec {
  padding-bottom: 17.5rem;
}

#Top .conditions_sec:before {
  height: calc(100% + 19rem);
  background-size: 200rem auto;
}

#Top .conditions_sec_box {
  max-width: 90rem;
}

#Top .conditions_sec_list img {
  width: 14rem;
}

#Top .conditions_sec_list img.list01 {
  width: 21.3rem;
  margin:2.0rem 0 0 0;
}

#Top .conditions_sec_list p {
  font-size: 2.7rem;
  margin-top: .8rem;
}

#Top .conditions_sec_list ul {
  margin-top: .6rem;
}

#Top .conditions_sec_list ul li {
  font-size: 1.4rem;
}

#Top .conditions_sec_banner {
  margin-top: 2.5rem;
  padding: 1rem;
}

#Top .conditions_sec_banner .conditions_sec_banner_inner {
  border: .3rem solid #7C4E2D;
  padding: 3.5rem .5rem 3.5rem 5rem;
  gap: 4.5rem;
}

#Top .conditions_sec_banner .conditions_sec_banner_inner:before,
#Top .conditions_sec_banner .conditions_sec_banner_inner:after {
  width: .3rem;
  height: 5.2rem;
  border-radius: .2rem;
}

#Top .conditions_sec_banner .conditions_sec_banner_inner:before {
  right: 3.4rem;
  top: -.3rem;
}

#Top .conditions_sec_banner .conditions_sec_banner_inner:after {
  left: 3.4rem;
  bottom: -.3rem;
}

#Top .conditions_sec_banner .conditions_sec_banner_inner .image {
  width: 25.5rem;
}

#Top .conditions_sec_banner .conditions_sec_banner_inner .box {
  width: calc(100% - 30rem);
}

#Top .conditions_sec_banner .conditions_sec_banner_inner .box p {
  font-size: 1.8rem;
}

#Top .conditions_list {
  margin-bottom: 1rem;
}

#Top .conditions_list li {
  padding-left: 5.2rem;
  font-size: 2.7rem;
}

#Top .conditions_list li:before {
  width: 4rem;
  height: 4rem;
}

#Top .conditions_list li + li {
  margin-top: 1.1rem;
}

#Top .conditions_notes {
  margin-top: .8rem;
}

#Top .conditions_notes li {
  font-size: 1.4rem;
}


#Top .faq_sec:before {
  height: calc(100% + 19rem);
  background-size: 200rem auto;
}

#Top .faq_sec:after {
  background-size: 200rem auto;
}

#Top .faq_sec .faq_sec_inner {
  padding-bottom: 20rem;
}

#Top .faq_sec .faq_sec_inner:after {
  width: 26.9rem;
  height: 17.3rem;
}

#Top .faq_sec .heading {
  margin-bottom: 5.7rem;
}

#Top .faq_sec_list {
  max-width: 90rem;
}

#Top .faq_sec_list .faq_sec_list_item + .faq_sec_list_item {
  margin-top: 6.4rem;
}

#Top .faq_sec_list .faq_sec_list_item {
  padding-left: 7.4rem;
}

#Top .faq_sec_list .faq_sec_list_item:before {
  width: 5.6rem;
  height: 5.6rem;
}

#Top .faq_sec_list .faq_sec_list_item h3 {
  padding: .5rem 0 1rem;
  font-size: 2.7rem;
  margin-bottom: 1.2rem;
}

#Top .faq_sec_list .faq_sec_list_item p {
  font-size: 1.8rem;
}

#Top .faq_sec_list .faq_sec_list_item p span {
  background-size: 100% .2rem;
}

#Top .faq_sec_list .faq_sec_list_item ul {
  margin-top: .8rem;
}

#Top .faq_sec_list .faq_sec_list_item ul li {
  font-size: 1.4rem;
}



















