@charset "UTF-8";
@font-face {
  font-family: "Angelface"; /* フォントの名前 */
  src: url("Angelface.otf") format("opentype"); /* フォントファイルのURL */
}
.pc_LL_display {
  display: none;
}
@media screen and (max-width: 1600px) {
  .pc_LL_display {
    display: block;
  }
}

.pc_L_display {
  display: none;
}
@media screen and (max-width: 1400px) {
  .pc_L_display {
    display: block;
  }
}

.pc_M_display {
  display: none;
}
@media screen and (max-width: 1200px) {
  .pc_M_display {
    display: block;
  }
}

.pc_S_display {
  display: none;
}
@media screen and (max-width: 1000px) {
  .pc_S_display {
    display: block;
  }
}

.tab_display {
  display: none;
}
@media screen and (max-width: 800px) {
  .tab_display {
    display: block;
  }
}

.sp_LL_display {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp_LL_display {
    display: block;
  }
}

.sp_L_display {
  display: none;
}
@media screen and (max-width: 460px) {
  .sp_L_display {
    display: block;
  }
}

.sp_ML_display {
  display: none;
}
@media screen and (max-width: 400px) {
  .sp_ML_display {
    display: block;
  }
}

.sp_M_display {
  display: none;
}
@media screen and (max-width: 375px) {
  .sp_M_display {
    display: block;
  }
}

.sp_S_display {
  display: none;
}
@media screen and (max-width: 350px) {
  .sp_S_display {
    display: block;
  }
}

body {
  width: 100%;
  font-family: "Zen Old Mincho", serif;
  overflow-x: hidden;
  color: #3E3E3E;
  background-color: #FFFAF5;
}

main {
  width: 100%;
  overflow-x: hidden;
}

img {
  display: block;
  width: 100%;
}

a {
  text-decoration: none;
}

.wrap {
  width: 83vw;
  margin-left: auto;
}
@media screen and (max-width: 1000px) {
  .wrap {
    margin: 0 auto;
  }
}
@media screen and (max-width: 800px) {
  .wrap {
    width: 100%;
  }
}

.oafu {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .oafu {
    border-bottom: 1px solid #aaa;
    padding-top: 24px;
    width: 100%;
  }
}

.leaf6 {
  position: absolute;
  width: 22.2vw;
  top: -13.5vw;
  right: -11.1vw;
}

.leaf7 {
  position: absolute;
  width: 16.3vw;
  top: 78vw;
  left: 10vw;
}
@media screen and (max-width: 600px) {
  .leaf7 {
    top: auto;
    bottom: -80px;
  }
}
@media screen and (max-width: 600px) {
  .leaf7.leaf-pc {
    display: none;
  }
}
.leaf7.leaf-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .leaf7.leaf-sp {
    display: block;
  }
}

.leaf8 {
  position: absolute;
  width: 7.3vw;
  bottom: 70vw;
  left: 18vw;
}
@media screen and (max-width: 600px) {
  .leaf8 {
    left: auto;
    right: 20px;
    bottom: -60px;
    width: 42px;
  }
}
@media screen and (max-width: 600px) {
  .leaf8.leaf-pc {
    display: none;
  }
}
.leaf8.leaf-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .leaf8.leaf-sp {
    display: block;
  }
}

.mahana {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .mahana {
    border-bottom: 1px solid #aaa;
    padding-top: 24px;
    width: 100%;
  }
}

.leaf9 {
  position: absolute;
  width: 4.2vw;
  top: 37.7vw;
  left: 26vw;
}
@media screen and (max-width: 1600px) {
  .leaf9 {
    left: 20vw;
  }
}
@media screen and (max-width: 1400px) {
  .leaf9 {
    left: 16vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf9 {
    top: -60px;
    left: 4vw;
    width: 40px;
  }
}

.leaf10 {
  position: absolute;
  width: 32.6vw;
  top: 44.8vw;
  right: -28vw;
}
@media screen and (max-width: 1400px) {
  .leaf10 {
    right: -24vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf10 {
    width: 150px;
    right: -80px;
    top: -70px;
  }
}

.leaf11 {
  position: absolute;
  width: 30.5vw;
  top: 51.7vw;
  left: -10vw;
}
@media screen and (max-width: 1400px) {
  .leaf11 {
    top: 68vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf11 {
    display: none;
  }
}

.leaf12 {
  position: absolute;
  width: 7.8vw;
  top: 81.8vw;
  left: 20vw;
}
@media screen and (max-width: 1600px) {
  .leaf12 {
    top: 100vw;
    left: 16vw;
  }
}
@media screen and (max-width: 1400px) {
  .leaf12 {
    top: 120vw;
    left: 12vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf12 {
    width: 60px;
    bottom: -90px;
    left: auto;
    right: 40px;
    top: auto;
  }
}
@media screen and (max-width: 600px) {
  .leaf12.leaf-pc {
    display: none;
  }
}
.leaf12.leaf-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .leaf12.leaf-sp {
    display: block;
  }
}

.moana {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .moana {
    border-bottom: 1px solid #aaa;
    padding-top: 24px;
    width: 100%;
  }
}

.leaf13 {
  position: absolute;
  width: 13.3vw;
  top: 30.4vw;
  left: 8.4vw;
}
@media screen and (max-width: 600px) {
  .leaf13 {
    width: 90px;
    top: -68px;
    left: auto;
    right: -40px;
  }
}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1.4s;
}

.scrollin {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fadein {
  0% {
    opacity: 0;
    transform: translateY(20px) rotate(-10deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.section_wrap {
  display: grid;
  grid-template-columns: 14vw 55.2vw;
  gap: 5.4vw;
  width: 83vw;
  margin-left: auto;
}
@media screen and (max-width: 1600px) {
  .section_wrap {
    gap: 3vw;
    grid-template-columns: 10vw 63.6vw;
  }
}
@media screen and (max-width: 1000px) {
  .section_wrap {
    grid-template-columns: 1fr;
    margin: 0 auto;
  }
}
@media screen and (max-width: 800px) {
  .section_wrap {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 600px) {
  .section_wrap {
    width: 94vw;
    gap: 0;
  }
}

.section_title {
  margin-left: 8vw;
}
@media screen and (max-width: 1600px) {
  .section_title {
    margin-left: 4vw;
  }
}
@media screen and (max-width: 1000px) {
  .section_title {
    margin-left: 0;
    display: flex;
    align-items: center;
    gap: 12px;
  }
}
.section_title h2 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: max(1.6vw, 16px);
  letter-spacing: 0.46em;
  margin-bottom: 1vw;
  margin-left: 2.4vw;
}
@media screen and (max-width: 1000px) {
  .section_title h2 {
    margin-left: 0;
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    font-size: 20px;
  }
}
@media screen and (max-width: 600px) {
  .section_title h2 {
    font-size: 24px;
    letter-spacing: 0.36em;
  }
}
.section_title span {
  font-family: "Angelface", serif;
  font-size: 5vw;
  color: #B6DEDF;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media screen and (max-width: 1000px) {
  .section_title span {
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    font-size: 56px;
  }
}
@media screen and (max-width: 600px) {
  .section_title span {
    font-size: 48px;
  }
}

/*--------------- header ---------------*/
.header {
  position: fixed;
  left: 8.4vw;
  top: 5.6vw;
  z-index: 10;
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
}
@media screen and (max-width: 1600px) {
  .header {
    left: 4.2vw;
  }
}
@media screen and (max-width: 1000px) {
  .header {
    top: 10px;
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 600px) {
  .header {
    padding: 4px 5%;
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
  }
}

.header.bg {
  background-color: #FFFAF5;
}

.header_logo {
  color: #68D2D5;
  margin-bottom: 2.1vw;
}
.header_logo span {
  display: block;
  width: fit-content;
}
.header_logo span:nth-child(1) {
  font-size: max(1.2vw, 12px);
}
.header_logo span:nth-child(2) {
  font-size: max(3.2vw, 32px);
}

@media screen and (max-width: 1000px) {
  .header_nav {
    display: none;
  }
}

.header_nav li {
  font-size: 18px;
  margin-bottom: 1.5vw;
}

.header_nav li a {
  transition: all 0.4s;
}
.header_nav li a:hover {
  opacity: 0.5;
}

.header_hamburger_menu {
  display: none;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1000px) {
  .header_hamburger_menu {
    display: block;
  }
}

.mask {
  display: none;
  padding: 90px 0;
}
@media screen and (max-width: 1000px) {
  .mask {
    display: block;
    position: fixed;
    opacity: 0;
    top: 0;
    right: -1000px;
    min-height: 100vh;
    width: 320px;
    background: #68D2D5;
    z-index: -4;
    transition: all 0.5s;
    overflow-y: scroll;
    -ms-overflow-style: none;
  }
}

@media screen and (max-width: 1000px) {
  .mask::-webkit-scrollbar {
    display: none;
  }
}

.mask .header_link {
  margin: 0 auto 36px;
  width: fit-content;
}

.mask .header_link a {
  font-size: 16px;
  color: #FFF;
  display: block;
  margin-bottom: 28px;
  transform: all 0.3s;
  font-weight: 700;
}
.mask .header_link a:hover {
  opacity: 0.6;
}

.open.mask {
  opacity: 1;
  z-index: 5;
  right: 0;
}

.toggle_btn {
  width: 36px;
  height: 36px;
  cursor: pointer;
  position: relative;
  transition: all 0.3s;
}
.toggle_btn:hover {
  opacity: 0.7;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  height: 4px;
  background-color: #68D2D5;
  border-radius: 1000px;
  transition: all 0.5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
  width: 100%;
}
.toggle_btn span:nth-child(2) {
  top: 16px;
  width: 100%;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
  width: 100%;
}

.open .toggle_btn span {
  background-color: #FFF;
  transition: all 0.5s;
}
.open .toggle_btn span:nth-child(1) {
  top: 18px;
  transform: rotate(45deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  bottom: 14px;
  transform: rotate(-45deg);
}

@media screen and (max-width: 1000px) {
  .mask .header_link a.header_nav_sns {
    font-size: 14px;
  }
}

/*--------------- fv ---------------*/
.fv {
  position: relative;
  padding-bottom: 10vw;
}
@media screen and (max-width: 600px) {
  .fv {
    padding-bottom: 80px;
    width: 100%;
  }
}

.leaf1 {
  position: absolute;
  width: 18.1vw;
  top: -9vw;
  left: 7vw;
}
@media screen and (max-width: 600px) {
  .leaf1 {
    display: none;
  }
}

.leaf2 {
  position: absolute;
  width: 13.3vw;
  top: -4.7vw;
  right: -1.6vw;
}
@media screen and (max-width: 600px) {
  .leaf2 {
    display: none;
  }
}

.leaf3 {
  position: absolute;
  width: 20.2vw;
  bottom: 0;
  left: -2.6vw;
}
@media screen and (max-width: 600px) {
  .leaf3 {
    width: 100px;
    bottom: 20px;
  }
}

.leaf4 {
  position: absolute;
  width: 30.5vw;
  bottom: -7vw;
  right: -12.4vw;
}
@media screen and (max-width: 600px) {
  .leaf4 {
    width: 130px;
    bottom: 10px;
  }
}

.leaf {
  position: absolute;
  will-change: transform;
  transition: transform 0.2s linear;
}

.leaf.scrollin {
  animation: fadein 0.6s 1.4s forwards;
}

.fv_wrap {
  width: 83vw;
  margin-left: auto;
}
@media screen and (max-width: 1000px) {
  .fv_wrap {
    margin: 0 auto;
  }
}
@media screen and (max-width: 800px) {
  .fv_wrap {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .fv_img_pc {
    display: none;
  }
}

.fv_img_sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .fv_img_sp {
    display: block;
    width: 100%;
  }
}

.fv_txt {
  position: absolute;
  left: 26.6vw;
  top: 6.4vw;
  width: max(9.6vw, 96px);
}
@media screen and (max-width: 600px) {
  .fv_txt {
    width: 32vw;
    top: 11vw;
    left: 44vw;
  }
}

/*--------------- about ---------------*/
.about {
  padding-bottom: max(10vw, 40px);
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 600px) {
  .about {
    border-bottom: 1px solid #aaa;
    width: 100%;
  }
}

.leaf5 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34vw;
  left: -16.2vw;
}
@media screen and (max-width: 600px) {
  .leaf5 {
    display: none;
  }
}

.about_txt {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 4vw;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .about_txt {
    margin-bottom: 24px;
    font-size: 17px;
  }
}

@media screen and (max-width: 600px) {
  .about_txt br {
    display: none;
  }
}

.about_inner {
  display: grid;
  grid-template-columns: 1fr 580px;
  height: 280px;
  margin-bottom: 28px;
}
@media screen and (max-width: 1400px) {
  .about_inner {
    grid-template-columns: 1fr 480px;
  }
}
@media screen and (max-width: 800px) {
  .about_inner {
    grid-template-columns: 1fr;
    height: auto;
    margin-bottom: 16px;
  }
}

.about_item {
  margin-bottom: 4vw;
}
@media screen and (max-width: 600px) {
  .about_item {
    margin-bottom: 36px;
  }
}
.about_item:last-child {
  margin-bottom: 0;
}

.about_item:nth-child(1) .about_item_img {
  background-image: url(../img/about_img1.webp);
}

.about_item:nth-child(2) .about_item_img {
  background-image: url(../img/about_img2.webp);
}

.about_item:nth-child(3) .about_item_img {
  background-image: url(../img/about_img3.webp);
}

.about_item_img {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 800px) {
  .about_item_img {
    height: 180px;
  }
}

.about_item_top {
  display: grid;
  grid-template-columns: 6.3vw 1fr;
  gap: 1.5vw;
  align-items: center;
  margin-bottom: max(1vw, 16px);
}
@media screen and (max-width: 1000px) {
  .about_item_top {
    grid-template-columns: 48px 1fr;
  }
}

.about_item_top > span {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 500;
}
.about_item_top > span span {
  color: #AF5305;
}

.about_item_txt {
  height: 100%;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 800px) {
  .about_item_txt {
    height: auto;
    padding: 20px;
  }
}
@media screen and (max-width: 600px) {
  .about_item_txt {
    padding: 20px 12px;
  }
}
.about_item_txt p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

.about_item_txt_inner {
  width: 90%;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 800px) {
  .about_item_txt_inner {
    position: static;
    transform: none;
    width: 100%;
  }
}

.about_btn {
  width: 234px;
  height: 46px;
  background-color: #68D2D5;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  transition: all 0.4s;
}
@media screen and (max-width: 600px) {
  .about_btn {
    width: 210px;
    height: 42px;
  }
}
.about_btn:hover {
  background-color: #26ABAF;
}
.about_btn span {
  color: #fff;
  font-size: 19px;
}
@media screen and (max-width: 600px) {
  .about_btn span {
    font-size: 18px;
  }
}

/*--------------- info ---------------*/
.info {
  width: 100%;
}

.info_content {
  width: 100%;
}

.info_top_img {
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .info_top_img {
    margin-bottom: 16px;
  }
}

.info_top_txt {
  font-size: 19px;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 3vw;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 600px) {
  .info_top_txt {
    font-size: 17px;
    margin-bottom: 24px;
  }
}

.info_state {
  margin-bottom: 3.2vw;
}
@media screen and (max-width: 600px) {
  .info_state {
    margin-bottom: 24px;
  }
}

.info_state_inner {
  display: grid;
  grid-template-columns: 358px 1fr;
  align-items: center;
  margin-bottom: 8px;
}
@media screen and (max-width: 1600px) {
  .info_state_inner {
    grid-template-columns: 314px 1fr;
  }
}
@media screen and (max-width: 1400px) {
  .info_state_inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media screen and (max-width: 600px) {
  .info_state_inner p br {
    display: none;
  }
}

.info_state_left span:nth-child(1) {
  display: block;
  width: fit-content;
  font-size: 24px;
  padding: 10px 18px;
  background-color: #E2F1F2;
  font-weight: 500;
}
@media screen and (max-width: 1600px) {
  .info_state_left span:nth-child(1) {
    font-size: 20px;
  }
}

.info_state p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

.info_state_bottom {
  display: block;
  width: fit-content;
  font-size: 11px;
  font-weight: 500;
  font-family: "Z";
}

@media screen and (max-width: 1400px) {
  .info_state_bottom_l {
    display: none;
  }
}

.info_state_bottom_s {
  display: none;
}
@media screen and (max-width: 1400px) {
  .info_state_bottom_s {
    display: block;
  }
}

.info_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3vw;
  margin-bottom: max(5.7vw, 40px);
}
@media screen and (max-width: 600px) {
  .info_list {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 96px;
    position: relative;
  }
}

.info_item {
  display: flex;
  flex-direction: column;
}

.info_item_txt {
  flex: 1;
}
.info_item_txt span {
  display: block;
  font-size: 24px;
  font-weight: 500;
  padding-left: 24px;
  position: relative;
  margin-bottom: 14px;
}
@media screen and (max-width: 600px) {
  .info_item_txt span {
    font-size: 21px;
  }
}
.info_item_txt span::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background-color: #FFDBA8;
  border-radius: 100%;
  width: 19px;
  height: 19px;
}
.info_item_txt p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 20px;
}

.mahana .info_item_txt span::after {
  background-color: #B6DEDF;
}
.mahana .info_state_left span:nth-child(1) {
  background-color: #F2F2F2;
}

/*--------------- price ---------------*/
.price {
  margin-bottom: max(4vw, 60px);
}
@media screen and (max-width: 1000px) {
  .price {
    width: 83vw;
  }
}
@media screen and (max-width: 600px) {
  .price {
    width: 94vw;
  }
}

.price_heading {
  position: relative;
  margin-bottom: 46px;
  max-width: 100%;
}

.price_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 7px;
}
@media screen and (max-width: 600px) {
  .price_heading_txt {
    font-size: 24px;
  }
}

.price_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.price_content {
  max-width: 100%;
}

.price_wrap {
  margin-bottom: 30px;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .price_wrap {
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
  }
}
.price_wrap:last-child {
  margin-bottom: 0;
}

.price_table {
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .price_table {
    width: 1000px;
  }
}
@media screen and (max-width: 600px) {
  .price_table {
    width: 800px;
  }
}

.price_table_heading {
  background-color: #FFC169;
  color: #fff;
  padding: 16px 10px;
}

.price_table_heading_inner {
  display: flex;
  align-items: center;
  gap: 8px;
}

.price_table_heading_inner div {
  display: flex;
  align-items: center;
  gap: 4px;
}

.price_table_heading_tag {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  border: 1.6px solid #fff;
  font-family: "Roboto", sans-serif;
}

.price_table_heading_txt {
  font-size: 19px;
  font-weight: 700;
}
.price_table_heading_txt span {
  text-decoration: underline;
  text-decoration-color: #fff;
}

table {
  width: 100%;
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
}
table tr {
  height: 56px;
}
table tr:nth-child(odd) {
  background-color: #FFF3E2;
}
table tr:nth-child(even) {
  background-color: #fff;
}
table th {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
table td {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1.6px solid #FFC169;
}

.price_wrap:nth-child(1) table tr,
.price_wrap:nth-child(3) table tr {
  width: 100%;
  display: grid;
  grid-template-columns: 230px 1fr 1fr 1fr 1fr 1fr;
}

.price_wrap:nth-child(2) table tr {
  width: 100%;
  display: grid;
  grid-template-columns: 230px 1fr 1fr 3fr;
}
.price_wrap:nth-child(2) table tr:last-child {
  background-color: #FFDBA8;
}

.price_wrap:nth-child(4) table tr {
  width: 100%;
  display: grid;
  grid-template-columns: 230px 1fr 4fr;
}

.robot_txt {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 19px;
}
@media screen and (max-width: 1400px) {
  .robot_txt {
    font-size: 18px;
  }
}

.mahana .price_table_heading {
  background-color: #68D2D5;
}
.mahana table tr:nth-child(odd) {
  background-color: #EFF9FA;
}
.mahana table tr:nth-child(even) {
  background-color: #fff;
}
.mahana table td {
  border-left: 1.6px solid #68D2D5;
}
.mahana .price_wrap:nth-child(2) table tr:last-child,
.mahana .price_wrap:nth-child(3) table tr:last-child {
  background-color: #B6DEDF;
}
.mahana .price_wrap:nth-child(5) table tr {
  width: 100%;
  display: grid;
  grid-template-columns: 230px 3.2fr 1.8fr;
  height: auto;
}
.mahana .price_wrap:nth-child(5) th {
  grid-row: span 3;
  grid-column: 1;
  background-color: #fff;
}
.mahana .price_wrap:nth-child(5) td {
  height: 56px;
}
.mahana .price_wrap:nth-child(5) .white_bg {
  background-color: #fff;
}
.mahana th > span {
  text-align: center;
}
.mahana .small_txt {
  font-size: 11px;
  display: block;
  width: fit-content;
  margin: 4px auto 0;
}

.price_table_bottom {
  font-size: 11px;
  font-weight: 500;
  display: block;
  width: fit-content;
  margin-top: 10px;
}

.price .about_btn {
  width: 284px;
  height: 54px;
  background-color: #68D2D5;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  transition: all 0.4s;
}
@media screen and (max-width: 600px) {
  .price .about_btn {
    width: 240px;
    height: 46px;
  }
}

/*--------------- pr ---------------*/
.pr {
  margin-bottom: max(5.8vw, 60px);
}
@media screen and (max-width: 600px) {
  .pr {
    margin-bottom: 40px;
  }
}

.pr_heading {
  position: relative;
  margin-bottom: 24px;
}

.pr_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 2px;
}
@media screen and (max-width: 600px) {
  .pr_heading_txt {
    font-size: 24px;
  }
}

.pr_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.pr_content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1vw;
  margin-bottom: 50px;
}
@media screen and (max-width: 600px) {
  .pr_content {
    grid-template-columns: 1fr 1fr;
  }
}

.pr_bottom {
  display: none; /* 初期状態で非表示 */
  transform: translateY(-100%); /* 最初は上に隠れた状態 */
  transition: transform 0.3s ease-out; /* スムーズにアニメーション */
  overflow: hidden; /* 内容が外に溢れないように隠す */
}

.pr_top {
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
}

.pr_bottom.open {
  display: block; /* 開いたときに表示 */
  transform: translateY(0); /* 元の位置にスライド */
}

.pr_item {
  display: block;
}
.pr_item img {
  margin-bottom: 16px;
}

.pr_item_txt {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  line-height: 1.6;
  font-size: 15px;
}

.pr_btn {
  width: 234px;
  height: 46px;
  background-color: #3E3E3E;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  transition: all 0.4s;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .pr_btn {
    width: 210px;
    height: 42px;
  }
}
.pr_btn:hover {
  background-color: #777;
}
.pr_btn span {
  color: #fff;
  font-size: 19px;
}
@media screen and (max-width: 600px) {
  .pr_btn span {
    font-size: 18px;
  }
}

/*--------------- plan ---------------*/
.plan {
  color: #26ABAF;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: max(8vw, 80px);
}

.plan h3 {
  font-size: 18px;
  font-weight: 700;
  width: fit-content;
  margin: 0 auto 8px;
}

.plan_list {
  width: fit-content;
  margin: 0 auto;
  padding-top: 30px;
  border-top: 2px solid #26ABAF;
}
@media screen and (max-width: 600px) {
  .plan_list {
    border-top: 1px solid #26ABAF;
  }
}

.plan_list li {
  padding-left: 18px;
  position: relative;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 18px;
}
.plan_list li:last-child {
  margin-bottom: 0;
}
.plan_list li::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: #26ABAF;
}

/*--------------- flow ---------------*/
.flow {
  padding-bottom: max(8vw, 80px);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .flow {
    border-bottom: 1px solid #aaa;
    padding-top: 24px;
    width: 100%;
  }
}

.leaf14 {
  position: absolute;
  width: 35.4vw;
  right: -20.2vw;
  top: -13.7vw;
}
@media screen and (max-width: 1400px) {
  .leaf14 {
    top: -22vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf14 {
    top: -100px;
    right: -80px;
    z-index: 3;
    width: 150px;
  }
}

.leaf15 {
  position: absolute;
  width: 13.6vw;
  bottom: 18.1vw;
  left: 20vw;
}
@media screen and (max-width: 1600px) {
  .leaf15 {
    left: 16vw;
  }
}
@media screen and (max-width: 1400px) {
  .leaf15 {
    left: 12vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf15 {
    display: none;
  }
}

.flow_list {
  margin-bottom: max(4.6vw, 56px);
}

.flow_item {
  display: grid;
  grid-template-columns: 170px 1fr;
  margin-bottom: 40px;
}
@media screen and (max-width: 600px) {
  .flow_item {
    grid-template-columns: 1fr;
    margin-bottom: 16px;
  }
}
.flow_item:last-child {
  margin-bottom: 0;
}
.flow_item:last-child .flow_item_title::after {
  width: 8px;
  height: 8px;
  border-radius: 100%;
  left: 85px;
  z-index: 3;
  top: -2px;
}
@media screen and (max-width: 600px) {
  .flow_item:last-child .flow_item_title::after {
    display: none;
  }
}

.flow_item_title {
  color: #26ABAF;
  font-weight: 500;
  background-color: #FFFAF5;
  width: 100%;
  position: relative;
  z-index: 2;
}
.flow_item_title::after {
  content: "";
  position: absolute;
  background-color: #FFC169;
  height: 100%;
  width: 2px;
  top: 40px;
  left: 88px;
  z-index: -1;
}
@media screen and (max-width: 600px) {
  .flow_item_title::after {
    display: none;
  }
}

.flow_item_inner {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  padding: 8px 0;
}
@media screen and (max-width: 600px) {
  .flow_item_inner {
    padding: 0;
  }
}

.flow_item_step {
  font-size: 14px;
}

.flow_item_title h3 {
  font-size: 24px;
}
@media screen and (max-width: 600px) {
  .flow_item_title h3 {
    font-size: 20px;
  }
}

.flow_item_txt {
  font-size: 16px;
  line-height: 2;
  font-weight: 500;
  padding-top: 8px;
}

/*--------------- rule ---------------*/
.rule_target {
  margin-bottom: 45px;
}

.rule_target_heading {
  position: relative;
  margin-bottom: 46px;
  max-width: 100%;
}

.rule_target_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 7px;
}
@media screen and (max-width: 600px) {
  .rule_target_heading_txt {
    font-size: 24px;
  }
}

.rule_target_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.rule_target_list {
  display: grid;
  gap: 2.5vw;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 600px) {
  .rule_target_list {
    grid-template-columns: 1fr;
  }
}

.rule_target_item {
  background-color: #E2F1F2;
  padding: 2vw 1.6vw 1.6vw;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 600px) {
  .rule_target_item {
    padding: 12px 12px;
    flex-direction: row;
    gap: 18px;
    align-items: center;
  }
}

.rule_target_item_img {
  width: max(5.8vw, 58px);
  margin: 0 auto 0.9vw;
}

.rule_target_item_txt {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rule_target_item_txt p {
  font-size: 16px;
  line-height: 2;
  width: fit-content;
  margin: 0 auto;
  font-weight: 500;
}

.rule_ban {
  color: #26ABAF;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: max(8vw, 80px);
}

.rule_ban_heading h3 {
  font-size: 18px;
  font-weight: 700;
  width: fit-content;
  margin: 0 auto 8px;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .rule_ban_heading h3 {
    line-height: 1.4;
  }
}

.rule_ban_list {
  width: fit-content;
  margin: 0 auto;
  padding-top: 30px;
  border-top: 2px solid #26ABAF;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 18px;
  max-width: 640px;
}
@media screen and (max-width: 600px) {
  .rule_ban_list {
    border-top: 1px solid #26ABAF;
  }
}

.rule_ban_item {
  padding-left: 18px;
  position: relative;
  font-size: 16px;
  font-weight: 500;
}
.rule_ban_item:last-child {
  margin-bottom: 0;
}
.rule_ban_item::after {
  content: "";
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background-color: #26ABAF;
}

.rule_eviction_heading {
  position: relative;
  margin-bottom: 46px;
  max-width: 100%;
}
@media screen and (max-width: 600px) {
  .rule_eviction_heading {
    margin-bottom: 32px;
  }
}

.rule_eviction_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 7px;
}
@media screen and (max-width: 600px) {
  .rule_eviction_heading_txt {
    font-size: 20px;
  }
}

.rule_eviction_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.rule_eviction_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 2vw;
  row-gap: 20px;
}

.rule_eviction_item_txt {
  display: block;
  position: relative;
  padding-left: 32px;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .rule_eviction_item_txt {
    padding-left: 28px;
    line-height: 1.4;
  }
}
.rule_eviction_item_txt::after {
  content: "✕";
  position: absolute;
  font-size: 28px;
  font-weight: 900;
  color: #26ABAF;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 600px) {
  .rule_eviction_item_txt::after {
    font-size: 24px;
  }
}

/*---------------company ---------------*/
@media screen and (max-width: 600px) {
  .company {
    border-bottom: 1px solid #aaa;
    padding-top: 24px;
  }
}

@media screen and (max-width: 375px) {
  .company .section_title span {
    font-size: 40px;
  }
}

.company_top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2vw;
  line-height: 2;
  margin-bottom: 60px;
}
@media screen and (max-width: 1400px) {
  .company_top {
    grid-template-columns: 0.7fr 1fr;
  }
}
@media screen and (max-width: 800px) {
  .company_top {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.company_item {
  display: grid;
  grid-template-columns: 104px 1fr;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 1.6px solid #E6E6E6;
  margin-bottom: 32px;
}
.company_item:last-child {
  margin-bottom: 0;
}

.company_left {
  display: grid;
  grid-template-columns: 104px 1fr;
}

.map {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2vw;
  margin-bottom: 65px;
}
@media screen and (max-width: 1000px) {
  .map {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 600px) {
  .map {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.map iframe {
  width: 100% !important;
  height: 226px !important;
}

.map_item_title {
  font-weight: 700;
  color: #AF5305;
  font-size: 19px;
  display: block;
  width: fit-content;
  margin-bottom: 10px;
}

.map_item_txt {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 2;
}

.corp {
  margin-bottom: max(15.6vw, 156px);
}
@media screen and (max-width: 600px) {
  .corp {
    margin-bottom: 90px;
  }
}

.corp_heading {
  position: relative;
  margin-bottom: 46px;
  max-width: 100%;
}

.corp_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 7px;
}
@media screen and (max-width: 600px) {
  .corp_heading_txt {
    font-size: 24px;
  }
}

.corp_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.corp_item {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 24px;
  align-items: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 600px) {
  .corp_item {
    grid-template-columns: 60px 1fr;
    gap: 12px;
  }
}
.corp_item:last-child {
  margin-bottom: 0;
}

.corp_item_txt h3 {
  color: #26ABAF;
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 14px;
}
@media screen and (max-width: 600px) {
  .corp_item_txt h3 {
    font-size: 17px;
    margin-bottom: 4px;
  }
}
.corp_item_txt p {
  line-height: 2;
}

/*--------------- recruit ---------------*/
.recruit {
  padding-bottom: max(20vw, 200px);
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .recruit {
    padding-bottom: 90px;
    border-bottom: 1px solid #aaa;
    padding-top: 24px;
  }
}

.leaf16 {
  position: absolute;
  width: 18vw;
  right: -3.8vw;
  top: -20vw;
}
@media screen and (max-width: 1400px) {
  .leaf16 {
    right: -5vw;
    top: -15vw;
  }
}
@media screen and (max-width: 600px) {
  .leaf16 {
    display: none;
  }
}

.recruit_heading {
  position: relative;
  margin-bottom: 46px;
  max-width: 100%;
}

.recruit_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 7px;
}
@media screen and (max-width: 600px) {
  .recruit_heading_txt {
    font-size: 24px;
  }
}

.recruit_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.recruit_list {
  margin-bottom: 60px;
}

.recruit_item {
  display: grid;
  grid-template-columns: 204px 1fr;
  padding-bottom: 30px;
  border-bottom: 1.6px solid #26ABAF;
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .recruit_item {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #26ABAF;
  }
}
.recruit_item:last-child {
  margin-bottom: 0;
}

.recruit_item_title {
  font-size: 19px;
  font-weight: 700;
  color: #26ABAF;
  line-height: 1.6;
}

.recruit_item_txt {
  line-height: 2;
}

.recruit_item_txt p span {
  font-size: 18px;
}

.recruit_tag {
  border: 2px solid #26ABAF;
  padding: 22px 25px;
  width: fit-content;
  margin: 0 auto;
  padding: 14px 20px;
}
.recruit_tag span {
  color: #26ABAF;
  font-size: 19px;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .recruit_tag span {
    font-size: 17px;
  }
}

/*--------------- contact ---------------*/
.contact {
  padding-bottom: 92px;
}
@media screen and (max-width: 600px) {
  .contact {
    padding-top: 24px;
  }
}
@media screen and (max-width: 600px) {
  .contact .section_title {
    margin-bottom: 40px;
  }
}

.contact_top {
  padding-bottom: 94px;
}
@media screen and (max-width: 600px) {
  .contact_top {
    padding-bottom: 48px;
  }
}

.contact_top_inner span {
  display: block;
  width: fit-content;
  margin: 0 auto;
  color: #707070;
}
.contact_top_inner span:nth-child(1) {
  font-weight: 900;
  font-size: 30px;
  margin-bottom: 8px;
}
@media screen and (max-width: 1600px) {
  .contact_top_inner span:nth-child(1) {
    font-size: 24px;
  }
}
@media screen and (max-width: 1400px) {
  .contact_top_inner span:nth-child(1) {
    font-size: 22px;
  }
}
@media screen and (max-width: 800px) {
  .contact_top_inner span:nth-child(1) {
    font-size: 16px;
  }
}
.contact_top_inner span:nth-child(2) {
  font-size: 40px;
  font-weight: 500;
  margin-bottom: 8px;
}
@media screen and (max-width: 1600px) {
  .contact_top_inner span:nth-child(2) {
    font-size: 36px;
  }
}
@media screen and (max-width: 1400px) {
  .contact_top_inner span:nth-child(2) {
    font-size: 32px;
  }
}
@media screen and (max-width: 800px) {
  .contact_top_inner span:nth-child(2) {
    font-size: 18px;
  }
}

.contact_bottom {
  margin-top: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 600px) {
  .contact_bottom {
    gap: 12px;
    margin-top: 24px;
  }
}
.contact_bottom .contact_top_inner {
  padding: 28px 0;
  border-top: 1.6px solid #26ABAF;
  border-bottom: 1.6px solid #26ABAF;
}

.contact_form_heading {
  position: relative;
  margin-bottom: 26px;
  max-width: 100%;
}

.contact_form_heading_txt {
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background-color: #FFFAF5;
  display: block;
  width: fit-content;
  padding-right: 7px;
}
@media screen and (max-width: 600px) {
  .contact_form_heading_txt {
    font-size: 24px;
  }
}

.contact_form_heading_line {
  position: absolute;
  display: block;
  width: 100%;
  border: 1.5px dashed #FFC169;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.contact_form_txt p {
  line-height: 2;
  margin-bottom: 40px;
}

.contact_form_item {
  margin-bottom: 32px;
}
.contact_form_item:last-child {
  margin-bottom: 60px;
}

.contact_form_title {
  margin-bottom: 8px;
  font-size: 19px;
  font-weight: 700;
}

.contact_form_input {
  width: 100%;
}

.contact_form_input input {
  width: 100%;
  border-bottom: 1.6px solid #26ABAF;
  font-size: 16px;
  line-height: 1.4;
  padding: 8px;
}

.contact_form_input textarea {
  width: 100%;
  border: 1.6px solid #26ABAF;
  font-size: 16px;
  line-height: 1.4;
  padding: 8px;
}

.contact_form_privacy {
  margin-bottom: 60px;
}

.contact_form_privacy > span {
  display: block;
  margin-bottom: 12px;
  font-size: 19px;
  font-weight: 700;
}

.contact_form_slide {
  padding: 32px;
  border: 1.6px solid #E6E6E6;
  height: 210px;
  overflow-y: scroll;
}
.contact_form_slide p {
  font-size: 11px;
  line-height: 2;
}

.contact_form_submit {
  width: 320px;
  height: 65px;
  background-color: #3E3E3E;
  border-radius: 100px;
  margin: 0 auto;
  transition: all 0.4s;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 600px) {
  .contact_form_submit {
    width: 250px;
    height: 54px;
  }
}
.contact_form_submit:hover {
  background-color: #777;
}
.contact_form_submit input {
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .contact_form_submit input {
    font-size: 18px;
  }
}

.contact_form_radio_group {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  align-items: center;
  padding: 20px 0;
}
@media (max-width: 768px) {
  .contact_form_radio_group {
    gap: 20px;
  }
}
@media (max-width: 480px) {
  .contact_form_radio_group {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
}

.contact_form_radio {
  display: flex;
  align-items: baseline;
  cursor: pointer;
  font-size: 16px;
  transition: opacity 0.3s ease;
}
.contact_form_radio:hover {
  opacity: 0.8;
}
.contact_form_radio input[type=radio] {
  margin-right: 8px;
  transform: scale(1.2);
  cursor: pointer;
  accent-color: #4a90e2;
}
@media (max-width: 768px) {
  .contact_form_radio input[type=radio] {
    transform: scale(1.1);
    margin-right: 6px;
  }
}
.contact_form_radio span {
  user-select: none;
  font-weight: 500;
  color: #333;
  display: inline-block;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .contact_form_radio span {
    font-size: 15px;
  }
}

.contact_form_radio input[type=radio]:checked + span {
  color: #4a90e2;
  font-weight: 600;
}

/*--------------- footer ---------------*/
.footer {
  padding: 20px 0;
}
@media screen and (max-width: 600px) {
  .footer {
    padding: 20px 0 60px;
  }
}

.footer small {
  font-size: 11px;
  display: block;
  width: fit-content;
  margin: 0 auto;
}

.thanks {
  padding: 160px 0;
}
@media screen and (max-width: 600px) {
  .thanks {
    padding: 80px 0;
  }
}
.thanks h2 {
  width: fit-content;
  margin: 0 auto 40px;
  font-size: 32px;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .thanks h2 {
    font-size: 21px;
  }
}
.thanks p {
  font-size: 16px;
  width: fit-content;
  margin: 0 auto 40px;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .thanks p {
    max-width: 94%;
  }
}/*# sourceMappingURL=index.css.map */