@charset "UTF-8";
/* Sass Document */
.content_heading {
  max-width: 1366px;
  margin: 0 auto;
  padding-bottom: 80px;
}
@media screen and (max-width: 767.98px) {
  .content_heading {
    padding-bottom: 40px;
    padding-left: 6.6666666667%;
    padding-right: 6.6666666667%;
  }
}
.content_heading .section_ttl + .txt {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .content_heading .section_ttl + .txt {
    margin-top: 15px;
  }
}
.content_heading .section_ttl + .txt + .btn_wrapepr {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .content_heading .section_ttl + .txt + .btn_wrapepr {
    margin-top: 10px;
  }
}

.content_heading.size_narrow {
  max-width: 1100px;
}

.content_heading_inner {
  display: flex;
  margin: 0 auto;
  justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .content_heading_inner {
    display: block;
  }
}

.heading_txt_wrapepr {
  width: 550px;
  flex-shrink: 0;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .heading_txt_wrapepr {
    width: auto;
    margin-left: 0;
  }
}
.heading_txt_wrapepr .txt + .txt {
  margin-top: 1em;
}
.heading_txt_wrapepr.txt_large {
  width: 717px;
}
@media screen and (max-width: 767.98px) {
  .heading_txt_wrapepr.txt_large {
    width: auto;
  }
}
.heading_txt_wrapepr.txt_large .txt {
  width: 634px;
}
@media screen and (max-width: 767.98px) {
  .heading_txt_wrapepr.txt_large .txt {
    width: auto;
  }
}
.heading_txt_wrapepr .txt.bgcolor_gray {
  margin-top: 30px;
  padding: 30px 25px 30px 30px;
}
@media screen and (max-width: 767.98px) {
  .heading_txt_wrapepr .txt.bgcolor_gray {
    margin-top: 15px;
    padding: 15px;
  }
}

.heading_img_wrapper {
  margin-left: 73px;
}
@media screen and (max-width: 767.98px) {
  .heading_img_wrapper {
    margin-left: 0;
    margin-top: 20px;
  }
}
.heading_img_wrapper .img_wrapper {
  margin: 0;
  width: 100%;
}
.heading_img_wrapper .img_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.heading_img_wrapper .img_wrapper + .img_wrapper {
  margin-top: 22px;
}
@media screen and (max-width: 767.98px) {
  .heading_img_wrapper .img_wrapper + .img_wrapper {
    margin-top: 15px;
  }
}
.heading_img_wrapper.img_large {
  width: 608px;
}
@media screen and (max-width: 767.98px) {
  .heading_img_wrapper.img_large {
    width: 100%;
  }
}
.heading_img_wrapper.img_xl {
  width: 652px;
  margin-right: -133px;
  margin-left: 34px;
}
@media screen and (max-width: 767.98px) {
  .heading_img_wrapper.img_xl {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
.heading_img_wrapper.img_licence {
  width: 448px;
  flex-grow: 1;
  margin-left: 0;
  margin-right: -64px;
}
@media screen and (max-width: 767.98px) {
  .heading_img_wrapper.img_licence {
    width: auto;
    margin-right: 0;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	サービス
* --------------------------------------------------------------------------------------------------*/
.service .content_heading {
  padding-bottom: 0;
}
.service .heading_txt_wrapepr .section_ttl + .txt {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .service .heading_txt_wrapepr .section_ttl + .txt {
    margin-top: 15px;
  }
}
.service .heading_txt_wrapepr .txt + .btn_wrapepr {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .service .heading_txt_wrapepr .txt + .btn_wrapepr {
    margin-top: 20px;
  }
}
.service .course {
  padding: 25px 35px 27px;
  background-color: #f4f5f7;
  margin-top: 40px;
}
@media screen and (max-width: 767.98px) {
  .service .course {
    margin-top: 20px;
    padding: 25px 6.6666666667%;
  }
}
.service .course .ttl {
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .service .course .ttl {
    font-size: 1.6rem;
  }
}
.service .course_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 19px 0;
  margin-top: 24px;
}
@media screen and (max-width: 767.98px) {
  .service .course_list {
    margin-top: 15px;
    display: block;
  }
}
.service .course_item {
  width: 233px;
}
@media screen and (max-width: 767.98px) {
  .service .course_item {
    width: 100%;
  }
  .service .course_item + .course_item {
    margin-top: 15px;
  }
}
.service .course_item .btn {
  width: 100%;
  min-height: 54px;
}
.service .plan {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .service .plan {
    padding: 40px 0;
  }
}
.service .plan .plan_ttl {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767.98px) {
  .service .plan .plan_ttl {
    font-size: 1.6rem;
  }
}
.service .plan_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 60px 0;
}
@media screen and (max-width: 767.98px) {
  .service .plan_list {
    display: block;
  }
}
.service .plan_item {
  width: 530px;
}
@media screen and (max-width: 767.98px) {
  .service .plan_item {
    width: 100%;
  }
  .service .plan_item + .plan_item {
    margin-top: 30px;
  }
}
.service .plan_item .img_wrapper {
  margin: 20px 0;
}
@media screen and (max-width: 767.98px) {
  .service .plan_item .img_wrapper {
    margin: 10px 0;
  }
}
.service .plan_item .img_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service .plan_item .btn_wrapepr {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .service .plan_item .btn_wrapepr {
    margin-top: 10px;
  }
}
.service .others {
  overflow: hidden;
}
.service .other_content {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .service .other_content {
    padding: 40px 0;
  }
}
.service .other_content:last-of-type {
  padding-bottom: 0;
}
.service .other_content_block {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .service .other_content_block {
    display: block;
    padding: 0 6.6666666667%;
  }
}
.service .other_content_block .txt_wrapper {
  width: 550px;
  margin-left: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .service .other_content_block .txt_wrapper {
    width: auto;
    margin-left: 0;
  }
}
.service .other_content_block .img_wrapper {
  width: 652px;
  margin: 0 0 0 31px;
}
@media screen and (max-width: 767.98px) {
  .service .other_content_block .img_wrapper {
    width: auto;
    margin-left: 0;
    margin-top: 20px;
  }
}
.service .other_content_block .img_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service .other_content_block .ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .service .other_content_block .ttl {
    font-size: 2rem;
  }
}
.service .other_content_block .ttl + .txt {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .service .other_content_block .ttl + .txt {
    margin-top: 10px;
  }
}
.service .other_content_block .btn_wrapepr {
  margin-top: 54px;
}
@media screen and (max-width: 767.98px) {
  .service .other_content_block .btn_wrapepr {
    margin-top: 15px;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	ライセンス
* --------------------------------------------------------------------------------------------------*/
.licence .page_body {
  padding-bottom: 0;
}
.licence .heading_txt_wrapepr .section_ttl + .txt {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .licence .heading_txt_wrapepr .section_ttl + .txt {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767.98px) {
  .licence .content_heading {
    padding-bottom: 30px;
  }
}

.about_5star {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767.98px) {
  .about_5star {
    padding-bottom: 6rem;
  }
}
.about_5star .content_inner {
  border: solid 2px #07A5B7;
  padding: 30px 50px 40px;
}
@media screen and (max-width: 767.98px) {
  .about_5star .content_inner {
    margin-left: 6.6666666667%;
    margin-right: 6.6666666667%;
    padding: 10px;
  }
}
.about_5star .ttl {
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .about_5star .ttl {
    font-size: 2.1rem;
    line-height: calc(30/21);
  }
}
.about_5star .lead {
  text-align: center;
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .about_5star .lead {
    text-align: left;
  }
}
.about_5star .about_box {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .about_5star .about_box {
    flex-direction: column;
  }
}
.about_5star .about_box .txt_box {
  width: 637px;
  background-color: #F4F5F7;
  padding: 30px;
}
@media screen and (max-width: 767.98px) {
  .about_5star .about_box .txt_box {
    width: 100%;
    padding: 10px;
  }
}
.about_5star .about_box .txt_box .excerpt {
  font-size: 1.4rem;
}
@media screen and (max-width: 767.98px) {
  .about_5star .about_box .txt_box .excerpt {
    font-size: 1.2rem;
  }
}
.about_5star .about_box .txt_box .excerpt a {
  color: inherit;
  text-decoration: none;
}
.about_5star .about_box .txt_box .txt_about {
  font-weight: 700;
  margin-top: 20px;
}
.about_5star .about_box .txt_box .list_about {
  margin-top: 20px;
  counter-reset: listnum;
}
.about_5star .about_box .txt_box .list_about li {
  display: flex;
  gap: 0 8px;
  font-size: 1.6rem;
  line-height: calc(24/16);
}
@media screen and (max-width: 767.98px) {
  .about_5star .about_box .txt_box .list_about li {
    font-size: 1.3rem;
  }
}
.about_5star .about_box .txt_box .list_about li::before {
  content: counter(listnum) ".";
  counter-increment: listnum;
  flex: none;
}
.about_5star .about_box .txt_box .list_about li + li {
  margin-top: 10px;
}
.about_5star .about_box .txt_box .gold_card {
  margin-top: 15px;
}
.about_5star .about_box .img_box {
  width: 335px;
}
@media screen and (max-width: 767.98px) {
  .about_5star .about_box .img_box {
    width: 100%;
  }
}

.course_guide {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .course_guide {
    padding: 40px 0;
  }
}
.course_guide .ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .course_guide .ttl {
    font-size: 1.8rem;
  }
}

.course_guide_content {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .course_guide_content {
    display: block;
  }
}
.course_guide_content .ttl + .txt {
  margin-top: 30px;
}
.course_guide_content .img_wrapper {
  margin: 0 0 0 30px;
  width: 519px;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .course_guide_content .img_wrapper {
    margin: 20px 0 0 0;
    width: 100%;
  }
  .course_guide_content .img_wrapper img {
    width: 100%;
    height: auto;
  }
}
.course_guide_content + .course_guide_list {
  margin-top: 60px;
}
@media screen and (max-width: 767.98px) {
  .course_guide_content + .course_guide_list {
    margin-top: 30px;
  }
}

.course_guide_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 50px;
}
@media screen and (max-width: 767.98px) {
  .course_guide_list {
    margin-top: 15px;
    display: block;
  }
}

.course_guide_item {
  width: 340px;
  display: flex;
  flex-direction: column;
}
.course_guide_item .txt_wrapper {
  flex-grow: 1;
  margin-bottom: 26px;
}
@media screen and (max-width: 767.98px) {
  .course_guide_item .txt_wrapper {
    margin-bottom: 16px;
  }
}
.course_guide_item .txt + .txt {
  margin-top: 1em;
}
.course_guide_item figure {
  margin: 0 auto;
  text-align: center;
  width: 91.1764705882%;
}
@media screen and (max-width: 767.98px) {
  .course_guide_item {
    width: auto;
  }
  .course_guide_item + .course_guide_item {
    margin-top: 25px;
  }
}
.course_guide_item .course_ttl {
  font-size: 2.8rem;
  font-weight: 700;
  border-bottom: 2px solid #07a5b0;
  padding: 10px 0;
  min-height: 4em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767.98px) {
  .course_guide_item .course_ttl {
    font-size: 1.6rem;
    min-height: inherit;
    display: block;
  }
}
.course_guide_item .course_ttl span {
  font-size: 2rem;
  display: block;
  margin-top: 7px;
}
@media screen and (max-width: 767.98px) {
  .course_guide_item .course_ttl span {
    font-size: 1.4rem;
  }
}
.course_guide_item .course_ttl + .txt {
  margin-top: 20px;
  flex-grow: 1;
}
@media screen and (max-width: 767.98px) {
  .course_guide_item .course_ttl + .txt {
    margin-top: 10px;
  }
}
.course_guide_item .course_ttl .btn_wrapepr {
  margin-top: auto;
}

.course_info {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .course_info {
    padding: 40px 6.6666666667%;
  }
}
.course_info.pd0 {
  padding: 0;
}
@media screen and (max-width: 767.98px) {
  .course_info.pd0 {
    padding: 40px 6.6666666667%;
  }
}
.course_info.bgcolor_aqua * {
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .course_info .content_inner {
    padding: 0;
  }
}

.course_info_content {
  display: flex;
  max-width: 1366px;
  margin: 0 auto;
  align-items: center;
}
@media screen and (max-width: 767.98px) {
  .course_info_content {
    display: block;
  }
}
.course_info_content .txt_wrapper {
  margin-left: auto;
  width: 550px;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .course_info_content .txt_wrapper {
    width: auto;
  }
}
.course_info_content .txt_wrapper .ttl {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767.98px) {
  .course_info_content .txt_wrapper .ttl {
    font-size: 2rem;
  }
}
.course_info_content .txt_wrapper .ttl + .txt {
  margin-top: 20px;
}
.course_info_content .txt_wrapper .btn_wrapepr {
  margin-top: 20px;
}
.course_info_content .img_wrapper {
  width: 652px;
  margin: 0 0 0 31px;
}
.course_info_content .img_wrapper img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767.98px) {
  .course_info_content .img_wrapper {
    width: auto;
  }
}
@media screen and (max-width: 767.98px) and (max-width: 767.98px) {
  .course_info_content .img_wrapper {
    margin: 20px 0 0;
  }
}

.course_info_content.second .img_wrapper {
  width: 605px;
}
@media screen and (max-width: 767.98px) {
  .course_info_content.second .img_wrapper {
    width: auto;
  }
}

.course_info_content.second .txt_wrapper .second_inner {
  margin-left: -47px;
}
@media screen and (max-width: 767.98px) {
  .course_info_content.second .txt_wrapper .second_inner {
    margin-left: 0;
  }
}
.course_info_content.second .txt_wrapper .list_box {
  padding: 20px 30px;
  margin: 20px 0;
  background-color: #fff;
  width: 568px;
}
@media screen and (max-width: 767.98px) {
  .course_info_content.second .txt_wrapper .list_box {
    width: auto;
    padding: 10px 15px;
    margin: 10px 0;
  }
}
.course_info_content.second .txt_wrapper .list_box .list li {
  font-size: 1.6rem;
  line-height: calc(24/16);
}
@media screen and (max-width: 767.98px) {
  .course_info_content.second .txt_wrapper .list_box .list li {
    font-size: 1.2rem;
  }
}
.about_apply {
  margin-top: 80px;
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .about_apply {
    margin-top: 40px;
    padding: 40px 0;
  }
}

.about_apply_ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .about_apply_ttl {
    font-size: 2rem;
  }
}
.about_apply_ttl + .flow_list {
  margin-top: 60px;
}
@media screen and (max-width: 767.98px) {
  .about_apply_ttl + .flow_list {
    margin-top: 20px;
  }
}

.flow_item {
  position: relative;
}
.flow_item:not(:last-of-type) {
  padding-bottom: 111px;
}
@media screen and (max-width: 767.98px) {
  .flow_item:not(:last-of-type) {
    padding-bottom: 58px;
  }
}
.flow_item:not(:last-of-type) .flow_txt::after {
  content: "";
  position: absolute;
  top: calc(100% + 20px);
  left: 0;
  background: url(../img/common/flow_arrow.svg) no-repeat top center/100% 100%;
  width: 13px;
  height: 69px;
}
@media screen and (max-width: 767.98px) {
  .flow_item:not(:last-of-type) .flow_txt::after {
    left: 50%;
    width: 15px;
    height: 40px;
    top: calc(100% + 10px);
  }
}

.flow_inner {
  display: flex;
  gap: 0 10px;
}
@media screen and (max-width: 767.98px) {
  .flow_inner {
    display: block;
  }
}

.flow_ttl {
  color: #07a5b0;
  font-size: 2.8rem;
  font-weight: 700;
  flex-shrink: 0;
  min-width: 158px;
}
@media screen and (max-width: 767.98px) {
  .flow_ttl {
    font-size: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
  }
}
.flow_ttl .sub {
  display: block;
  font-size: 1.8rem;
}
@media screen and (max-width: 767.98px) {
  .flow_ttl .sub {
    font-size: 1.4rem;
    margin-top: 0.1rem;
  }
}

.flow_txt {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .flow_txt {
    margin-top: 10px;
  }
}
.flow_txt .ttl {
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .flow_txt .ttl {
    font-size: 1.8rem;
  }
}
.flow_txt .ttl + .txt {
  margin-top: 15px;
}
.flow_txt .txt + .ttl {
  margin-top: 20px;
}
.flow_checkbox {
  background-color: #fff;
  padding: 20px 30px;
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .flow_checkbox {
    padding: 10px 15px;
    margin-top: 15px;
  }
}
.flow_checkbox li {
  font-size: 1.6rem;
  line-height: calc(30/16);
  padding-left: 27px;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .flow_checkbox li {
    font-size: 1.2rem;
    padding-left: 17px;
  }
  .flow_checkbox li + li {
    margin-top: 10px;
  }
}
.flow_checkbox li::before {
  content: '';
  width: 17px;
  height: 14px;
  background: url(../img/service/icon_check.svg) no-repeat center / contain;
  position: absolute;
  left: 0;
  top: 9px;
}
@media screen and (max-width: 767.98px) {
  .flow_checkbox li::before {
    width: 12px;
    height: 10px;
    top: 4px;
  }
}


/* ----------------------------------------------------------------------------------------------------
*	キャンセルポリシー
* --------------------------------------------------------------------------------------------------*/
.cancel_policy {
  padding: 79px 0 80px;
}
@media screen and (max-width: 767.98px) {
  .cancel_policy {
    padding: 40px 0;
  }
}

.cancel_policy_content {
  display: flex;
  gap: 0 40px;
}
@media screen and (max-width: 767.98px) {
  .cancel_policy_content {
    display: block;
  }
}
.cancel_policy_content .txt_wrapper {
  width: 550px;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .cancel_policy_content .txt_wrapper {
    width: auto;
  }
}
.cancel_policy_content .ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .cancel_policy_content .ttl {
    font-size: 2rem;
  }
}
.cancel_policy_content .ttl + .txt {
  margin-top: 35px;
}
@media screen and (max-width: 767.98px) {
  .cancel_policy_content .ttl + .txt {
    margin-top: 15px;
  }
}
.cancel_policy_content .ttl + .txt + .txt {
  margin-top: 1.5em;
}

.cancel_glaph {
  width: 582px;
  margin-right: -122px;
  flex-shrink: 0;
  border-collapse: separate;
  border-spacing: 0;
}
@media screen and (max-width: 767.98px) {
  .cancel_glaph {
    width: 100%;
    margin-top: 20px;
    margin-right: 0;
  }
}
.cancel_glaph tr:nth-of-type(odd) {
  background-color: #e2e2e2;
}
.cancel_glaph tr:nth-of-type(even) {
  background-color: #fff;
}
.cancel_glaph th,
.cancel_glaph td {
  font-size: 1.8rem;
  text-align: left;
  line-height: 1.4;
}
@media screen and (max-width: 767.98px) {
  .cancel_glaph th,
.cancel_glaph td {
    font-size: 1.4rem;
  }
}
.cancel_glaph th {
  font-weight: 700;
  padding: 24px 10px 24px 40px;
}
@media screen and (max-width: 767.98px) {
  .cancel_glaph th {
    padding: 10px 5px 10px 10px;
  }
}
.cancel_glaph td {
  padding: 24px 40px 24px 10px;
}
@media screen and (max-width: 767.98px) {
  .cancel_glaph td {
    padding: 10px 10px 10px 5px;
  }
}

.course_detail {
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
  gap: 40px;
}
@media screen and (max-width: 767.98px) {
  .course_detail {
    margin-top: 20px;
    gap: 15px 0;
    justify-content: space-between;
  }
}
.course_detail figure {
  margin: 0;
}

@media screen and (max-width: 767.98px) {
  .course_detail_item {
    width: 48%;
  }
}
.course_detail_item .ttl {
  margin-top: 20px;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767.98px) {
  .course_detail_item .ttl {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	オープンウォーター
* --------------------------------------------------------------------------------------------------*/
.open_water .page_body {
  padding-bottom: 0;
}

.service_detail {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .service_detail {
    padding: 40px 0;
  }
}
.service_detail .flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .service_detail .flex {
    display: block;
  }
}
.service_detail .flex > div {
  width: 765px;
}
@media screen and (max-width: 767.98px) {
  .service_detail .flex > div {
    width: auto;
  }
}
.service_detail .flex figure {
  width: 255px;
}
@media screen and (max-width: 767.98px) {
  .service_detail .flex figure {
    margin-top: 30px;
    width: auto;
    text-align: center;
  }
}
.service_detail .txt_large {
  font-size: 2.8rem;
  margin-top: 40px;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .service_detail .txt_large {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}

.service_detail_block {
  padding: 40px 0;
  display: flex;
  border-bottom: 1px solid #706d6c;
}
@media screen and (max-width: 767.98px) {
  .service_detail_block {
    display: block;
    padding: 20px 0;
  }
}
.service_detail_block:first-of-type {
  padding-top: 0;
}

.service_detail_ttl {
  width: 176px;
  padding-right: 10px;
  flex-shrink: 0;
  color: #07a5b0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 767.98px) {
  .service_detail_ttl {
    width: auto;
    padding-right: 0;
    font-size: 1.6rem;
  }
}

.service_detail_body .fee_ttl {
  min-width: 6em;
  display: inline-block;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .fee_ttl {
    min-width: inherit;
  }
}
.service_detail_body .l_txt {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .l_txt {
    font-size: 1.4rem;
  }
}
.service_detail_body .l_txt + .l_txt {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .l_txt + .l_txt {
    margin-top: 10px;
  }
}
.service_detail_body .l_txt + .txt {
  margin-top: 14px;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .l_txt + .txt {
    margin-top: 5px;
  }
}
.service_detail_body .l_txt + .txt + .l_txt {
  margin-top: 24px;
}
.service_detail_body .note + .l_txt {
  margin-top: 1em;
}
.service_detail_body .list {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .list {
    margin-top: 5px;
    font-size: 1.2rem;
  }
}
.service_detail_body .list li {
  line-height: 1.45;
  font-weight: 700;
  padding-left: 1em;
  text-indent: -1em;
}
.service_detail_body .normal {
  font-weight: 500;
}
.service_detail_body .course_fee {
  display: inline-block;
  margin-left: 2.5em;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .course_fee {
    margin-left: 0;
  }
}
.service_detail_body .btn_wrapepr {
  margin-top: 24px;
}
.service_detail_body .note {
  font-size: 1.6rem;
  margin-top: 14px;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .note {
    margin-top: 0.5em;
    font-size: 1.2rem;
  }
}
.service_detail_body .note li {
  line-height: 1.5;
  text-indent: -1.1em;
  padding-left: 1em;
}
.service_detail_body .note li a {
  color: currentColor;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .service_detail_body .note li a:hover {
    text-decoration: none;
  }
}
.service_detail_body .r_note {
  margin-top: 22px;
}
@media screen and (max-width: 767.98px) {
  .service_detail_body .r_note {
    margin-top: 10px;
  }
}

.r_note {
  display: inline-block;
  background-color: #ff5562;
  color: #fff;
  font-size: 1.4rem;
  padding: 2px 15px;
  line-height: 1.4285714286;
  margin-top: 6px;
}
@media screen and (max-width: 767.98px) {
  .r_note {
    padding: 5px 10px;
    font-size: 1rem;
  }
}

.fee_detail {
  margin: 20px 0;
  background-color: #fff;
  padding: 20px 20px 20px 30px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767.98px) {
  .fee_detail {
    margin: 15px 0;
  }
}
.fee_detail .ttl {
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .fee_detail .ttl {
    font-size: 1.4rem;
  }
}
.fee_detail dl {
  margin-top: 14px;
}
@media screen and (max-width: 767.98px) {
  .fee_detail dl {
    margin-top: 8px;
  }
}
.fee_detail dl > div {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .fee_detail dl > div {
    display: block;
  }
}
.fee_detail dl > div + div {
  margin-top: 14px;
}
@media screen and (max-width: 767.98px) {
  .fee_detail dl > div + div {
    margin-top: 7px;
  }
}
@media screen and (max-width: 767.98px) {
  .fee_detail {
    padding: 15px;
    font-size: 1.2rem;
  }
}
.fee_detail dt {
  width: 156px;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .fee_detail dt {
    width: auto;
  }
}
.fee_detail * {
  line-height: 1.5;
}

.seasons {
  margin-top: 20px;
  background-color: #fff;
  padding: 20px 30px;
}
@media screen and (max-width: 767.98px) {
  .seasons {
    padding: 15px;
    margin-top: 15px;
  }
}
.seasons * {
  font-size: 2rem;
  line-height: 1.45;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .seasons * {
    font-size: 1.2rem;
  }
}
.seasons dl > div + div {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .seasons dl > div + div {
    margin-top: 10px;
  }
}
.seasons .summer dt {
  color: #e05b00;
}
.seasons .winter dt {
  color: #6289d8;
}

.course_flow {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .course_flow {
    padding: 40px 0;
  }
}
.course_flow .course_flow_ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .course_flow .course_flow_ttl {
    font-size: 2rem;
  }
}
.course_flow .flow_list {
  margin-top: 72px;
  padding-right: 100px;
}
@media screen and (max-width: 767.98px) {
  .course_flow .flow_list {
    margin-top: 20px;
    padding-right: 0;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	特典
* --------------------------------------------------------------------------------------------------*/
.special_content {
  margin-top: 60px;
  padding: 20px 30px;
}
@media screen and (max-width: 767.98px) {
  .special_content {
    margin-top: 20px;
    padding: 15px;
  }
}

.special_ttl {
  font-size: 2.8rem;
  font-weight: 700;
  color: #ff5562;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767.98px) {
  .special_ttl {
    font-size: 1.8rem;
  }
}

.special_list {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .special_list {
    margin-top: 10px;
  }
}
.special_list > div {
  display: flex;
}
.special_list > div + div {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .special_list > div + div {
    margin-top: 5px;
  }
}

.special_headline {
  font-size: 1.8rem;
  font-weight: 700;
  color: #ff5562;
  line-height: 1.4444444444;
  width: 5em;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .special_headline {
    font-size: 1.4rem;
    width: 4em;
  }
}

.special_item {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767.98px) {
  .special_item {
    font-size: 1.4rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	タイムスケジュール
* --------------------------------------------------------------------------------------------------*/
.time_schedule {
  padding: 80px 0 120px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule {
    padding: 40px 0 60px;
  }
}
.time_schedule .complete {
  border-top: 1px solid #b2b2b2;
  margin-top: 60px;
  padding-top: 50px;
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .time_schedule .complete {
    display: block;
    margin-top: 30px;
    padding-top: 20px;
  }
}
.time_schedule .complete .img_wrapper {
  margin: 0 0 0 50px;
  width: 215px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule .complete .img_wrapper {
    margin: 10px 0 0 0;
    width: 100%;
  }
  .time_schedule .complete .img_wrapper img {
    width: 100%;
  }
}
.time_schedule .complete .ttl {
  font-size: 2.8rem;
  color: #07a5b0;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767.98px) {
  .time_schedule .complete .ttl {
    font-size: 1.6rem;
  }
}
.time_schedule .complete .ttl + .txt {
  margin-top: 26px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767.98px) {
  .time_schedule .complete .ttl + .txt {
    font-size: 1.2rem;
    margin-top: 5px;
  }
}

.time_schedule_ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_ttl {
    font-size: 2rem;
  }
}

.time_schedule_block {
  margin-top: 40px;
  background-color: #fff;
  padding: 40px 50px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_block {
    margin-top: 20px;
    padding: 15px;
  }
}
.time_schedule_block .days {
  font-size: 2.8rem;
  background-color: #07a5b0;
  padding: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 50px;
  text-align: center;
  margin-left: -50px;
  color: #fff;
  margin-bottom: 43px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_block .days {
    margin-left: -15px;
    font-size: 1.6rem;
    padding: 5px 20px;
    margin-bottom: 10px;
  }
}

.time_schedule_item {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item {
    display: block;
  }
}
.time_schedule_item .hour {
  flex-shrink: 0;
  color: #07a5b0;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.2;
  width: 203px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .hour {
    width: auto;
    font-size: 1.6rem;
  }
}
.time_schedule_item .text_img_wrapper {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .text_img_wrapper {
    display: block;
  }
}
.time_schedule_item .txt_content {
  flex-grow: 1;
  max-width: 480px;
}
.time_schedule_item .txt_content .ttl {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .txt_content .ttl {
    font-size: 1.5rem;
  }
}
.time_schedule_item .txt_content .ttl + .txt {
  margin-top: 10px;
  padding-top: 20px;
  border-top: 1px solid #b2b2b2;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .txt_content .ttl + .txt {
    margin-top: 5px;
    padding-top: 10px;
  }
}
.time_schedule_item .txt_content .txt + .txt {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .txt_content .txt + .txt {
    margin-top: 10px;
  }
}
.time_schedule_item .txt_content .note {
  font-size: 1.4rem;
  margin-top: 10px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .txt_content .note {
    font-size: 1rem;
  }
}
.time_schedule_item + .time_schedule_item {
  margin-top: 40px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item + .time_schedule_item {
    margin-top: 20px;
  }
}
.time_schedule_item .img_wrapper {
  margin: 0 0 0 32px;
  flex-shrink: 0;
  width: 289px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item .img_wrapper {
    margin-top: 10px;
    margin-left: 0;
    width: 100%;
  }
  .time_schedule_item .img_wrapper img {
    width: 100%;
    height: auto;
  }
}
.time_schedule_item.lunch {
  margin-top: 24px;
  margin-bottom: 65px;
}
@media screen and (max-width: 767.98px) {
  .time_schedule_item.lunch {
    margin: 30px 0;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	アドバンス
* --------------------------------------------------------------------------------------------------*/
.advance .page_body {
  padding-bottom: 0;
}

/* ----------------------------------------------------------------------------------------------------
*	レスキュー
* --------------------------------------------------------------------------------------------------*/
.rescue .page_body {
  padding-bottom: 0;
}

/* ----------------------------------------------------------------------------------------------------
*	プロライセンス
* --------------------------------------------------------------------------------------------------*/
.pro_license .page_body {
  padding-bottom: 0;
}
.pro_license .content_heading {
  padding-bottom: 0;
}

/* ----------------------------------------------------------------------------------------------------
*	efr
* --------------------------------------------------------------------------------------------------*/
.efr .page_body {
  padding-bottom: 0;
}
.efr .course_guide_item figure {
  margin-bottom: 20px;
}
@media screen and (max-width: 767.98px) {
  .efr .course_guide_item figure {
    margin-bottom: 0;
  }
}
.efr .course_ttl {
  min-height: inherit;
  line-height: 1.4285714286;
}

/* ----------------------------------------------------------------------------------------------------
*	体験ダイビングのご案内
* --------------------------------------------------------------------------------------------------*/
.diving_schedule {
  padding-top: 80px;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule {
    padding-top: 40px;
  }
}
.diving_schedule .ttl {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule .ttl {
    font-size: 2rem;
  }
}
.diving_schedule .note_content {
  margin-top: 40px;
  padding: 30px 50px;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule .note_content {
    margin-top: 20px;
    padding: 15px;
  }
}

.diving_schedule_content {
  max-width: 1366px;
  margin: 0 auto;
  margin-top: 60px;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule_content {
    margin-top: 20px;
    padding: 0 6.6666666667%;
  }
}
.diving_schedule_content .img_wrapper {
  width: 627px;
  margin: 0;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule_content .img_wrapper {
    margin-top: 10px;
    width: auto;
  }
}
.diving_schedule_content .flex {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-right: 133px;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule_content .flex {
    display: block;
    padding-right: 0;
  }
}
.diving_schedule_content .note_txt {
  max-width: 1100px;
  margin: 20px auto 0;
}
@media screen and (max-width: 767.98px) {
  .diving_schedule_content .note_txt {
    margin-top: 10px;
  }
}

.divign_schedule_list {
  background-color: #f4f5f7;
  padding: 16px 50px 18px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
}
@media screen and (max-width: 767.98px) {
  .divign_schedule_list {
    font-size: 1.2rem;
    padding: 10px 20px;
  }
}
.divign_schedule_list * {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
}
@media screen and (max-width: 767.98px) {
  .divign_schedule_list * {
    font-size: 1.2rem;
  }
}
.divign_schedule_list > div {
  display: flex;
  align-items: center;
  min-height: 3.2em;
  padding: 10px 0;
}
.divign_schedule_list > div.flex_start {
  align-items: flex-start;
}
.divign_schedule_list dt {
  color: #07a5b0;
  font-size: 2.8rem;
  min-width: 6em;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .divign_schedule_list dt {
    font-size: 1.4rem;
  }
}
.divign_schedule_list dd .att {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767.98px) {
  .divign_schedule_list dd .att {
    font-size: 1.1rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	シニア向けプラン
* --------------------------------------------------------------------------------------------------*/
.seniors .time_schedule {
  padding-bottom: 80px;
}
@media screen and (max-width: 767.98px) {
  .seniors .time_schedule {
    padding-bottom: 40px;
  }
}
.seniors .page_body {
  padding-bottom: 0;
}

/* ----------------------------------------------------------------------------------------------------
*	ツアー
* --------------------------------------------------------------------------------------------------*/
.tour .page_body {
  padding-bottom: 0;
}

.plan_info {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .plan_info {
    padding: 40px 0;
  }
}
.plan_info .plan_ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .plan_info .plan_ttl {
    font-size: 2rem;
  }
}

.plan_content {
  margin-top: 60px;
  background-color: #fff;
  display: flex;
  padding: 46px 50px;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .plan_content {
    display: block;
    padding: 20px;
    margin-top: 20px;
  }
}
.plan_content .txt_wrapper {
  flex-grow: 1;
}
.plan_content .txt_wrapper .ttl {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4285714286;
  margin-bottom: 9px;
}
@media screen and (max-width: 767.98px) {
  .plan_content .txt_wrapper .ttl {
    font-size: 1.8rem;
  }
}
.plan_content .plan_detail {
  padding-top: 12px;
}
@media screen and (max-width: 767.98px) {
  .plan_content .plan_detail {
    padding-top: 3px;
  }
}
.plan_content dl {
  padding: 33px 0;
  border-bottom: 1px solid #032730;
}
@media screen and (max-width: 767.98px) {
  .plan_content dl {
    padding: 15px 0;
  }
}
.plan_content dt {
  font-size: 2rem;
  font-weight: 700;
  color: #07a5b0;
}
@media screen and (max-width: 767.98px) {
  .plan_content dt {
    font-size: 1.4rem;
  }
}
.plan_content dd {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 13px;
}
@media screen and (max-width: 767.98px) {
  .plan_content dd {
    margin-top: 7px;
  }
}
.plan_content p {
  font-weight: 700;
}
.plan_content ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 35px;
}
.plan_content ul li {
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .plan_content ul li {
    font-size: 1.2rem;
  }
}
.plan_content .img_wrapper {
  width: 450px;
  height: 254px;
  margin: 0 0 0 50px;
  flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .plan_content .img_wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 450/254;
    margin: 10px 0 0 0;
  }
}
.plan_content .img_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.plan_content + .plan_content {
  margin-top: 40px;
}
@media screen and (max-width: 767.98px) {
  .plan_content + .plan_content {
    margin-top: 20px;
  }
}

.plan_option {
  background-color: #fff;
}

.expedition_plan {
  padding: 80px 0;
  max-width: 1366px;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan {
    padding: 40px 6.6666666667%;
  }
}

.expedition_plan_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan_content {
    display: block;
  }
}
.expedition_plan_content .txt_wrapper {
  width: 550px;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan_content .txt_wrapper {
    width: auto;
    margin-left: 0;
  }
}
.expedition_plan_content .txt_wrapper .ttl {
  font-size: 3.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan_content .txt_wrapper .ttl {
    font-size: 2rem;
  }
}
.expedition_plan_content .txt_wrapper .ttl + .txt {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan_content .txt_wrapper .ttl + .txt {
    margin-top: 10px;
  }
}
.expedition_plan_content .txt_wrapper .ttl + .txt + .btn_wrapepr {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan_content .txt_wrapper .ttl + .txt + .btn_wrapepr {
    margin-top: 10px;
  }
}
.expedition_plan_content .img_wrapper {
  margin: 0 0 0 30px;
}
@media screen and (max-width: 767.98px) {
  .expedition_plan_content .img_wrapper {
    margin: 15px 0 0 0;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	レンタルサービス
* --------------------------------------------------------------------------------------------------*/
.rental_service .page_body {
  padding-bottom: 0;
}

.rental_service_conent {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .rental_service_conent {
    padding: 40px 0;
  }
}

.rental_service_list {
  display: flex;
  flex-wrap: wrap;
  gap: 38px 43px;
}
@media screen and (max-width: 767.98px) {
  .rental_service_list {
    display: block;
  }
}

.rental_service_item {
  background-color: #fff;
  padding: 31px 30px 30px;
  width: 338px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767.98px) {
  .rental_service_item {
    width: 100%;
    padding: 15px;
  }
  .rental_service_item + .rental_service_item {
    margin-top: 20px;
  }
}

.rental_item {
  flex-grow: 1;
}

.rental_ttl {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4285714286;
}
@media screen and (max-width: 767.98px) {
  .rental_ttl {
    font-size: 1.6rem;
  }
}
.rental_ttl + p,
.rental_ttl .txt {
  margin-top: 10px;
}
@media screen and (max-width: 767.98px) {
  .rental_ttl + p,
.rental_ttl .txt {
    margin-top: 5px;
  }
}

.rental_fee {
  display: flex;
  justify-content: space-between;
  border-top: 2px solid #07a5b0;
  padding-top: 14px;
  margin-top: 19px;
  gap: 0 1em;
}
@media screen and (max-width: 767.98px) {
  .rental_fee {
    padding-top: 7px;
    margin-top: 8px;
  }
}
.rental_fee .fee_ttl {
  font-size: 2rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1.45;
}
@media screen and (max-width: 767.98px) {
  .rental_fee .fee_ttl {
    font-size: 1.4rem;
  }
}
.rental_fee p {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.45;
}
@media screen and (max-width: 767.98px) {
  .rental_fee p {
    font-size: 1.4rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	スペシャリティ
* --------------------------------------------------------------------------------------------------*/
.specialty .page_body {
  padding-bottom: 0;
}
.specialty .catch {
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .specialty .catch {
    font-size: 1.8rem;
  }
}
.specialty p {
  line-break: strict;
}

.specialty_block {
  border-bottom: 1px solid #706d6c;
  padding: 60px 0;
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: auto 377px;
  grid-template-rows: auto auto;
  gap: 30px 30px;
  grid-template-areas: "txt img" "course img";
}
.specialty_block:first-of-type {
  padding-top: 0;
}
.specialty_block:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 767.98px) {
  .specialty_block {
    display: block;
    padding: 30px 0;
  }
}
.specialty_block .course_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (max-width: 767.98px) {
  .specialty_block .course_ttl {
    font-size: 2rem;
    margin-bottom: 15px;
  }
}
.specialty_block .txt_wrapper {
  grid-area: txt;
}
.specialty_block .img_wrapper {
  grid-area: img;
  margin: 0;
  aspect-ratio: 377/344;
  min-height: 344px;
}
@media screen and (max-width: 767.98px) {
  .specialty_block .img_wrapper {
    width: 80%;
    height: auto;
    margin: 20px auto 0;
    min-height: inherit;
  }
}
.specialty_block .img_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.specialty_block .cuourse {
  grid-area: course;
  padding: 20px 30px;
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .specialty_block .cuourse {
    margin-top: 20px;
    padding: 20px;
  }
}
.specialty_block .cuourse .ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media screen and (max-width: 767.98px) {
  .specialty_block .cuourse .ttl {
    font-size: 1.6rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
* 修理・メンテナンス
* --------------------------------------------------------------------------------------------------*/
.maintenance .page_body {
  padding-bottom: 0;
}
.maintenance .section_ttl + .sub_ttl {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 30px 0 20px;
}
@media screen and (max-width: 767.98px) {
  .maintenance .section_ttl + .sub_ttl {
    font-size: 1.5rem;
    margin: 15px 0 10px;
  }
}
.maintenance .maintenance_content {
  padding: 80px 0;
}
@media screen and (max-width: 767.98px) {
  .maintenance .maintenance_content {
    padding: 40px 0;
  }
}
.maintenance .maintenance_content .content_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance .maintenance_content .content_ttl {
    font-size: 2rem;
  }
}

/* ----- オーバーホールの目安 ----- */
.maintenance_overhaul .list_box {
  background-color: #fff;
  padding: 20px 30px;
}
.maintenance_overhaul .list_box .list_ttl {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .maintenance_overhaul .list_box .list_ttl {
    font-size: 1.5rem;
  }
}
.maintenance_overhaul .list_box .list {
  margin-top: 14px;
}
.maintenance_overhaul .list_box .list li {
  font-size: 1.6rem;
  line-height: calc(24/16);
}
@media screen and (max-width: 767.98px) {
  .maintenance_overhaul .list_box .list li {
    font-size: 1.2rem;
  }
}

/* ----- こんな症状はありませんか？ ----- */
.maintenance_symptoms .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_symptoms .list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.maintenance_symptoms .list li {
  background-color: #F4F5F7;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 0 11px;
  font-size: 2rem;
}
@media screen and (max-width: 767.98px) {
  .maintenance_symptoms .list li {
    font-size: 1.4rem;
  }
}
.maintenance_symptoms .list li::before {
  content: '';
  width: 19px;
  height: 19px;
  background: url(../img/service/icon_check_maintenance.svg) no-repeat center / contain;
}
@media screen and (max-width: 767.98px) {
  .maintenance_symptoms .list li::before {
    width: 13px;
    height: 13px;
  }
}
.maintenance_symptoms .list + .att {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_symptoms .list + .att {
    font-size: 1.4rem;
  }
}

/* ----- 対応器材 ----- */
.maintenance_equipment .list_clm {
  background-color: #fff;
  padding: 20px 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_equipment .list_clm {
    padding: 10px 15px;
  }
}
.maintenance_equipment .list_clm + .list_clm {
  margin-top: 20px;
}
.maintenance_equipment .list_clm .list_ttl {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .maintenance_equipment .list_clm .list_ttl {
    font-size: 1.5rem;
  }
}
.maintenance_equipment .list_clm .list_txt {
  margin-top: 15px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_equipment .list_clm .list_txt {
    margin-top: 10px;
  }
}

/* ----- オーバーホール料金　基本工賃 ----- */
.maintenance_price .inner {
  background-color: #F4F5F7;
  padding: 20px 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_price .inner {
    padding: 10px 15px;
  }
}
.maintenance_price .inner_ttl {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .maintenance_price .inner_ttl {
    font-size: 1.5rem;
  }
}
.maintenance_price .list {
  margin-top: 15px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_price .list {
    margin-top: 10px;
  }
}
.maintenance_price .list .small {
  font-size: 1.4rem;
}
.maintenance_price .list .price {
  font-weight: 700;
}
.maintenance_price .list li {
  font-size: 1.6rem;
  line-height: calc(24/16);
}
@media screen and (max-width: 767.98px) {
  .maintenance_price .list li {
    font-size: 1.2rem;
  }
  .maintenance_price .list li + li {
    margin-top: 10px;
  }
}
.maintenance_price .list li.list_01 .price {
  padding-left: 30px;
}
.maintenance_price .list li.list_02 .price {
  padding-left: 59px;
}
.maintenance_price .list li.list_03 .price {
  padding-left: 94px;
}
.maintenance_price .list li.list_04 .price {
  padding-left: 131px;
}
.maintenance_price .list li.list_05 .price {
  padding-left: 32px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_price .list li.list_01 .price,
  .maintenance_price .list li.list_02 .price,
  .maintenance_price .list li.list_03 .price,
  .maintenance_price .list li.list_04 .price,
  .maintenance_price .list li.list_05 .price {
    padding-left: 0;
  }
}
.maintenance_price .list + .list_att {
  margin-top: 20px;
}

/* ----- 受付の流れ ----- */
.maintenance_flow .flow_list li {
  background-color: #F4F5F7;
  padding: 20px 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_flow .flow_list li {
    padding: 10px 15px;
  }
}
.maintenance_flow .flow_list li + li {
  margin-top: 20px;
}
.maintenance_flow .flow_list .flow_ttl {
  display: flex;
  align-items: center;
  gap: 0 21px;
  font-size: 2rem;
  font-weight: 700;
  color: inherit;
}
@media screen and (max-width: 767.98px) {
  .maintenance_flow .flow_list .flow_ttl {
    font-size: 1.5rem;
    gap: 0 10px;
  }
}
.maintenance_flow .flow_list .flow_ttl .number {
  font-size: 2.8rem;
  font-weight: 700;
  color: #07A5B7;
}
@media screen and (max-width: 767.98px) {
  .maintenance_flow .flow_list .flow_ttl .number {
    font-size: 1.8rem;
  }
}
.maintenance_flow .flow_list .flow_txt {
  margin-top: 5px;
}
.maintenance_flow .flow_list li.no_bg {
  background-color: transparent;
  border: solid 1px #07A5B7;
}
.maintenance_flow .flow_list li .flow_ttl_note {
  font-size: 2rem;
  font-weight: 700;
  color: #07A5B7;
}
@media screen and (max-width: 767.98px) {
  .maintenance_flow .flow_list li .flow_ttl_note {
    font-size: 1.5rem;
  }
}

/* ----- 郵送受付について ----- */
.maintenance_mail .send_box {
  border: solid 1px #07A5B7;
  margin-top: 30px;
  padding: 20px 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_mail .send_box {
    padding: 10px 15px;
    margin-top: 15px;
  }
}
.maintenance_mail .send_box .send_ttl {
  font-size: 2rem;
  font-weight: 700;
  color: #07A5B7;
}
@media screen and (max-width: 767.98px) {
  .maintenance_mail .send_box .send_ttl {
    font-size: 1.5rem;
  }
}
.maintenance_mail .send_box .send_txt {
  margin-top: 10px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_mail .send_box .send_txt {
    margin-top: 5px;
  }
}
.maintenance_mail .send_box .send_txt a {
  color: inherit;
  text-decoration: none;
}

/* ----- その他ご案内・注意事項 ----- */
.maintenance_other_att .list li {
  font-size: 1.6rem;
  line-height: calc(30/16);
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767.98px) {
  .maintenance_other_att .list li {
    font-size: 1.2rem;
  }
  .maintenance_other_att .list li + li {
    margin-top: 10px;
  }
}

/* ----- その他メンテナンス・修理受付 ----- */
.maintenance_other .possible_box {
  padding: 20px 30px;
  background-color: #fff;
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_other .possible_box {
    padding: 10px 15px;
    margin-top: 15px;
  }
}
.maintenance_other .possible_box .possible_ttl {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .maintenance_other .possible_box .possible_ttl {
    font-size: 1.5rem;
  }
}
.maintenance_other .possible_box .possible_clm {
  margin-top: 15px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_other .possible_box .possible_clm {
    margin-top: 10px;
  }
}
.maintenance_other .possible_box .possible_clm + .possible_clm {
  margin-top: 30px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_other .possible_box .possible_clm + .possible_clm {
    margin-top: 15px;
  }
}
.maintenance_other .possible_box .possible_clm .clm_ttl {
  font-weight: 700;
}
.maintenance_other .possible_box .possible_clm .clm_ttl .blue {
  color: #07A5B7;
}
.maintenance_other .possible_box .possible_clm .possible_list li {
  font-size: 1.6rem;
  line-height: calc(24/16);
}
@media screen and (max-width: 767.98px) {
  .maintenance_other .possible_box .possible_clm .possible_list li {
    font-size: 1.2rem;
  }
}

/* ----- よくある質問 ----- */
.maintenance_faq .faq_clm {
  padding: 20px 30px;
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .faq_clm {
    padding: 10px 15px;
  }
}
.maintenance_faq .faq_clm + .faq_clm {
  margin-top: 20px;
}
.maintenance_faq .faq_clm .ttl {
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .faq_clm .ttl {
    font-size: 1.5rem;
  }
}
.maintenance_faq .faq_clm .ttl .q {
  font-size: 2.8rem;
  color: #07A5B7;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .faq_clm .ttl .q {
    font-size: 1.8rem;
  }
}
.maintenance_faq .faq_clm .txt {
  margin-top: 15px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .faq_clm .txt {
    margin-top: 5px;
  }
}
.maintenance_faq .contact_box {
  padding: 20px 30px;
  border: solid 1px #07A5B7;
  margin-top: 40px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .contact_box {
    padding: 10px 15px;
    margin-top: 20px;
  }
}
.maintenance_faq .contact_box .ttl {
  font-size: 2rem;
  font-weight: 700;
  color: #07A5B7;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .contact_box .ttl {
    font-size: 1.5rem;
  }
}
.maintenance_faq .contact_box .txt {
  margin-top: 15px;
}
@media screen and (max-width: 767.98px) {
  .maintenance_faq .contact_box .txt {
    margin-top: 5px;
  }
}
.maintenance_faq .contact_box .txt a {
  color: inherit;
  text-decoration: none;
}


/*# sourceMappingURL=service.css.map */