@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url(http://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(http://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(http://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url(http://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format("woff2"), url(http://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format("woff"), url(http://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format("opentype");
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt" 1;
  width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
}

a {
  transition: all 0.25s linear;
}

h1, h2, h3, p, li, a {
  letter-spacing: 0.1em;
}

h2 img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

ul {
  padding-left: 0;
}

.smhide {
  display: block;
}

.tabshow {
  display: none;
}

.sp1 {
  display: none;
}

@media (max-width: 768px) {
  p, li, address {
    font-size: 14px;
  }
  .tabhide {
    display: none;
  }
  .tabshow {
    display: block;
  }
}
@media (max-width: 740px) {
  * {
    max-width: 100%;
  }
  .sp1 {
    display: block;
  }
  .smhide {
    display: none;
  }
}
.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 10px;
}

.swiper-pagination-bullet {
  background-color: #fff;
  width: 20px;
  height: 20px;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #58b786;
}

main {
  background-color: #CEF1FF;
}

.contact_bn {
  text-align: center;
}

.contact_bn h2 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 30px;
}

.contact_bnInner {
  padding-top: 70px;
  padding-bottom: 50px;
  background-image: url(../img/bg-dots.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.contact_bnInner a {
  display: block;
  max-width: 468px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.contact_bnInner a + a {
  margin-top: 20px;
}

.contact_bnInner a:nth-last-of-type(1) {
  margin-bottom: 10px;
}

.contact_bnInner a img {
  width: 468px;
}

@media (max-width: 768px) {
  .contact_bn h2 {
    font-size: 20px;
  }
  .contact_bnInner {
    padding-top: 50px;
    padding-bottom: 20px;
    background-size: cover;
  }
}
@media (max-width: 740px) {
  .contact_bn h2 {
    font-size: 18px;
  }
  .contact_bnInner {
    padding-top: 30px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
#main_box2 {
  padding-top: 70px;
}

.content:after {
  content: "";
  display: block;
  clear: both;
}

.content .contentLeft {
  text-align: center;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 30px;
}

.content .contentLeft h3 {
  font-size: 30px;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}

.cotent .contentLeft p {
  margin-bottom: 10px;
}

.content .contentLeft a {
  display: block;
  _width: 317px;
}

.content .contentRight {
  width: 40%;
  float: right;
}

@media (max-width: 740px) {
  .main_sec1 {
    margin-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .main_sec1 > p {
    margin-bottom: 25px;
  }
  .content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .content .contentLeft {
    float: none;
    width: 100%;
    order: 2;
    padding-left: 0;
    padding-right: 0;
    padding-top: 20px;
  }
  .content .contentLeft a {
    text-align: center;
  }
  .content .contentLeft a img {
    max-width: 371px !important;
    width: 100%;
  }
  .content .contentLeft h3 {
    font-size: 18px;
  }
  .content .contentLeft a {
    width: 100%;
  }
  .content .contentRight {
    float: none;
    width: 70%;
    order: 1;
  }
}
.main_sec2 {
  text-align: center;
  width: 100%;
  margin-bottom: 180px;
  overflow: hidden;
}

.main_sec2 h2 img {
  width: 100%;
  max-width: 1200px;
}

.main_sec2 > p {
  margin-bottom: 50px;
}

.main_sec2 > p span {
  color: #58b786;
  font-weight: bold;
}

@media (max-width: 740px) {
  .main_sec2 > p {
    margin-bottom: 20px;
  }
}
.main_sec2 section {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.rank1 {
  max-width: none !important;
  position: relative;
  margin-bottom: 160px;
}

.rank1 .main_sec2BoxLeft {
  float: left;
  width: 33%;
}

.rank1 h3 {
  clear: both;
  padding-top: 40px;
  font-size: 30px;
}

.rank1 h3 span {
  display: block;
  font-size: 16px;
}

.rank1 .main_sec2BoxRight {
  width: 100%;
}

.main_sec2Bottom {
  max-width: 1240px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
}

.main_sec2Bottom::after {
  content: "";
  display: block;
  clear: both;
}

.main_sec2Bottom section {
  float: left;
  width: 50%;
  padding-left: 5%;
  padding-right: 5%;
}

.main_sec2Bottom .cal-imgbox1 {
  margin-bottom: 25px;
}

.main_sec2Bottom .cal-imgbox1 img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.main_sec2Bottom section > img {
  margin-bottom: 30px;
}

.main_sec2Bottom section h3 {
  font-size: 30px;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}

.main_sec2Bottom section p {
  margin-bottom: 25px;
}

@media (max-width: 768px) {
  .main_sec2 {
    margin-bottom: 100px;
  }
  .main_sec2 h2 img {
    width: 80%;
  }
  .rank1 {
    margin-bottom: 100px;
  }
  .rank1 h3 {
    font-size: 24px;
  }
  .main_sec2Bottom section {
    padding-left: 20px;
    padding-right: 20px;
  }
  .main_sec2Bottom section h3 {
    font-size: 20px;
  }
}
@media (max-width: 740px) {
  .rank1 {
    margin-bottom: 50px;
  }
  .main_sec2 h2, .main_sec2 > p, .rank1 h3, .rank1 p {
    padding-left: 20px;
    padding-right: 20px;
  }
  .rank1 p + a {
    width: calc(100% - 40px);
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .main_sec2 h2 img {
    width: 100%;
  }
  .rank1 h3 {
    font-size: 20px;
  }
  .main_sec2Bottom section {
    float: none;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  .main_sec2Bottom section + section {
    margin-top: 60px;
  }
  .main_sec2Bottom .cal-imgbox1 img {
    width: 80%;
  }
}
.gotop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  display: none;
}

@media (max-width: 740px) {
  .gotop {
    width: 40px;
  }
}
/*----------------------------------
2021-12-22 改修
----------------------------------*/
body .gotop {
  z-index: 100000;
}
body .blue {
  color: #2091a4;
}
body .red {
  color: #ed0000;
}
body .border.fff {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 75%);
}
body .border.orange {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffe7b9 75%);
}
body .slick-slider * {
  max-width: unset;
}
@media screen and (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
}
body.TOP * {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.TOP a {
  text-decoration: unset;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  body.TOP a {
    transition: 0.3s;
  }
  body.TOP a:hover {
    opacity: 0.8;
  }
}
body.TOP p {
  font-size: 16px;
  line-height: 1.875;
  letter-spacing: 0;
  font-feature-settings: normal;
}
@media screen and (max-width: 768px) {
  body.TOP p {
    font-size: 12px;
    line-height: 1.6666666667;
  }
}
body.TOP p span.click {
  display: block;
  font-weight: bold;
  margin: 20px auto;
}
@media screen and (max-width: 768px) {
  body.TOP p span.click {
    margin: 20px auto 0;
  }
}
body.TOP ul {
  list-style: none;
}
body.TOP .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
@media screen and (max-width: 768px) {
  body.TOP .flex {
    flex-direction: column;
  }
}
body.TOP .reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  body.TOP .sp {
    display: block !important;
  }
}
@media screen and (min-width: 769px) {
  body.TOP .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  body.TOP .pc {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  body.TOP .pc {
    display: block !important;
  }
}
body.TOP img {
  margin: 0 auto;
  display: block;
}
body.TOP .inner {
  max-width: 1200px;
  margin: 0 auto;
}
body.TOP header#top {
  padding: 0;
  position: relative;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  body.TOP header#top {
    position: fixed;
    top: 0;
    z-index: 999;
  }
}
@media screen and (max-width: 768px) {
  body.TOP header#top .main_logo_Area {
    display: none;
  }
}
body.TOP header#top .main_logo_Area .flex {
  max-width: 1200px;
  margin: 0 auto;
  justify-content: flex-start;
  height: 50px;
}
body.TOP header#top .main_logo_Area .flex img {
  margin: 0 27px 0 0;
}
body.TOP header#top .main_logo_Area .flex p {
  font-size: 14px;
  line-height: 1;
}
body.TOP header#top #fixed_nav {
  background: transparent;
  width: 100%;
  z-index: 999;
  position: static;
  top: 0;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav {
    position: fixed;
    top: 0;
    transition: unset;
  }
}
body.TOP header#top #fixed_nav.fixed {
  position: fixed;
  top: 0;
}
body.TOP header#top #fixed_nav.fixed::after {
  height: 100%;
  transition: height 0.3s ease;
}
body.TOP header#top #fixed_nav::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: -1;
}
body.TOP header#top #fixed_nav ul {
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul {
    height: 60px;
    justify-content: space-between;
    max-width: 100vw;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul li.sub_logo {
    width: 35.6vw;
    margin-left: 2.67vw;
  }
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul li.menu {
    margin-right: 4vw;
  }
  body.TOP header#top #fixed_nav ul li.menu span {
    display: block;
    width: 30px;
    height: 2.5px;
    border-radius: 1.25px;
    background: #fff;
    transition: all 0.5s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul li.menu span:nth-child(1) {
    margin-bottom: 7.5px;
  }
  body.TOP header#top #fixed_nav ul li.menu span:nth-child(3) {
    margin-top: 7.5px;
  }
  body.TOP header#top #fixed_nav ul li.menu.opened span:nth-child(1) {
    margin-bottom: -2px;
    transform: rotate(45deg);
  }
  body.TOP header#top #fixed_nav ul li.menu.opened span:nth-child(2) {
    opacity: 0;
  }
  body.TOP header#top #fixed_nav ul li.menu.opened span:nth-child(3) {
    margin-top: -2px;
    transform: rotate(-45deg);
  }
}
body.TOP header#top #fixed_nav ul .menu_list {
  margin-right: 0;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul .menu_list {
    padding-top: 12vw;
  }
}
body.TOP header#top #fixed_nav ul .menu_list li:not(:last-child) {
  margin-right: 35px;
}
@media screen and (max-width: 1200px) {
  body.TOP header#top #fixed_nav ul .menu_list li:not(:last-child) {
    margin-right: 1.82vw;
  }
}
body.TOP header#top #fixed_nav ul .menu_list li a {
  display: block;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  transition: 0.7s;
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul .menu_list li a {
    font-size: 4.53vw;
  }
}
body.TOP header#top #fixed_nav ul .menu_list li a:hover {
  text-decoration: underline;
  color: #000;
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul .menu_list {
    position: absolute;
    height: 100vh;
    transition: 1s;
    opacity: 0;
    pointer-events: none;
    display: block;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100vw;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.5s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul .menu_list li {
    margin-bottom: 8vw;
    opacity: 0;
  }
  body.TOP header#top #fixed_nav ul .menu_list li a {
    color: #000;
    font-size: 4.53vw;
    text-align: center;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 0; /* グラデーションよりも上に配置 */
    background: transparent; /* 背景を透明にする */
    overflow: hidden; /* はみ出した部分を非表示(角丸を付ける場合は必須) */
    border-radius: 7.33vw;
    height: 14.67vw;
    max-width: 80vw;
    margin: 0 auto;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button:before, body.TOP header#top #fixed_nav ul .menu_list li.button:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button:hover {
    opacity: 1;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button:hover:before {
    opacity: 0;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button:not(:last-child) {
    margin-right: auto;
    margin-bottom: 6.67vw;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a {
    display: flex;
    align-items: center;
    margin: 0 auto;
    justify-content: center;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #fff;
    position: relative;
    z-index: 0; /* グラデーションよりも上に配置 */
    background: transparent; /* 背景を透明にする */
    overflow: hidden; /* はみ出した部分を非表示(角丸を付ける場合は必須) */
    height: 13.33vw;
    width: calc(100% - 1.6vw);
    border-radius: 6.67vw;
    font-size: 16px;
    border: 1px solid #fff;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a:before, body.TOP header#top #fixed_nav ul .menu_list li.button a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a:hover {
    opacity: 1;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a:hover:before {
    opacity: 0;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a span.icon {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    width: 7.3vw;
    height: 6.7vw;
    left: 5.33vw;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a span.small {
    font-size: 13px;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a span.flex {
    align-items: baseline;
    margin: 0;
    flex-direction: unset;
    justify-content: center;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button a span.arrow {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    background: url(../img/icon_40.png) no-repeat;
    background-size: contain;
    width: 6.67vw;
    height: 6.67vw;
    right: 5.33vw;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact .icon {
    background: url(../img/icon_10.svg) no-repeat;
    background-size: contain;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact span.arrow {
    background: url(../img/icon_50.png) no-repeat;
    background-size: contain;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact:before {
    transition: all 0.6s;
    z-index: -1;
    background: linear-gradient(135deg, #cbbacc 0%, #108fa5 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact:after {
    z-index: -2;
    background: linear-gradient(135deg, #108fa5 0%, #cbbacc 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact a:before {
    transition: all 0.6s;
    z-index: -1;
    background: linear-gradient(135deg, #cbbacc 0%, #108fa5 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact a:after {
    z-index: -2;
    background: linear-gradient(135deg, #108fa5 0%, #cbbacc 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.catalog .icon {
    background: url(../img/icon_20.svg) no-repeat;
    background-size: contain;
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.catalog:before {
    transition: all 0.6s;
    z-index: -1;
    background: linear-gradient(135deg, #da9000 0%, #ff544f 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.catalog:after {
    z-index: -2;
    background: linear-gradient(135deg, #ff544f 0%, #da9000 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.catalog a:before {
    transition: all 0.6s;
    z-index: -1;
    background: linear-gradient(135deg, #da9000 0%, #ff544f 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list li.button.catalog a:after {
    z-index: -2;
    background: linear-gradient(135deg, #ff544f 0%, #da9000 100%);
  }
  body.TOP header#top #fixed_nav ul .menu_list.open {
    opacity: 1;
    pointer-events: auto;
  }
  body.TOP header#top #fixed_nav ul .menu_list.open li:nth-child(1) {
    -webkit-animation: fadeUp forwards 0.8s 0.2s cubic-bezier(0.36, 0.1, 0.16, 1);
            animation: fadeUp forwards 0.8s 0.2s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul .menu_list.open li:nth-child(2) {
    -webkit-animation: fadeUp forwards 0.8s 0.4s cubic-bezier(0.36, 0.1, 0.16, 1);
            animation: fadeUp forwards 0.8s 0.4s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul .menu_list.open li:nth-child(3) {
    -webkit-animation: fadeUp forwards 0.8s 0.6s cubic-bezier(0.36, 0.1, 0.16, 1);
            animation: fadeUp forwards 0.8s 0.6s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul .menu_list.open li:nth-child(4) {
    -webkit-animation: fadeUp forwards 0.8s 0.8s cubic-bezier(0.36, 0.1, 0.16, 1);
            animation: fadeUp forwards 0.8s 0.8s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul .menu_list.open li:nth-child(5) {
    -webkit-animation: fadeUp forwards 0.8s 1s cubic-bezier(0.36, 0.1, 0.16, 1);
            animation: fadeUp forwards 0.8s 1s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  body.TOP header#top #fixed_nav ul .menu_list.open li:nth-child(6) {
    -webkit-animation: fadeUp forwards 0.8s 1.2s cubic-bezier(0.36, 0.1, 0.16, 1);
            animation: fadeUp forwards 0.8s 1.2s cubic-bezier(0.36, 0.1, 0.16, 1);
  }
  @-webkit-keyframes fadeUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes fadeUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
body.TOP main section {
  box-sizing: border-box;
}
body.TOP main section .sub_ttl {
  font-size: 48px;
  color: #2091a4;
  font-family: "Oleo Script", cursive, sans-serif;
  margin-bottom: 30px;
  line-height: 1;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768px) {
  body.TOP main section .sub_ttl {
    font-size: 30px;
    margin-bottom: 10px;
    text-align: center;
  }
}
body.TOP main section .head_h2 {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.444;
  text-align: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section .head_h2 {
    font-size: 23px;
    font-feature-settings: normal;
  }
}
body.TOP main section.MV_Area {
  height: 41.1vw;
  background: url(../img/MV_10.jpg) no-repeat;
  background-size: cover;
  position: relative;
  padding-top: 90px;
  margin-top: -90px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.MV_Area {
    height: 136vw;
    background: url(../img/MV_10_SP.jpg) no-repeat;
    background-size: cover;
    padding-top: 0;
    margin-top: 0;
    z-index: 50;
  }
}
body.TOP main section.MV_Area .mv_area-h2wrapper {
  max-width: 1390px;
  margin: 0 auto;
  height: 100%;
  position: relative;
}
body.TOP main section.MV_Area .mv_area-h2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  font-size: 42px;
  line-height: 1.2380952381;
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #492512;
}
@media (max-width: 768px) {
  body.TOP main section.MV_Area .mv_area-h2 {
    top: 37%;
    left: 25px;
    font-size: 6.6666666667vw;
  }
}
body.TOP main section.MV_Area .mv_area-h2 span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.1em;
  background-color: rgba(255, 255, 255, 0.8);
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  body.TOP main section.MV_Area .mv_area-h2 span {
    margin-bottom: 2.5vw;
  }
}
body.TOP main section.MV_Area img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 27.03vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.MV_Area img {
    width: 69.2vw;
  }
}
body.TOP main section.sec_10 {
  background: url(../img/sec_10_bg.jpg) top;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_10 {
    background: url(../img/sec_10_bg_SP.jpg) top;
    background-size: cover;
  }
}
body.TOP main section.sec_10 .inner {
  padding: 120px 0 80px;
  max-width: 1350px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_10 .inner {
    padding: 13.33vw 25px;
  }
  body.TOP main section.sec_10 .inner img {
    width: 78.67vw;
    margin: 20px auto;
  }
}
body.TOP main section.sec_10 .inner .txt {
  max-width: 680px;
}
body.TOP main section.sec_10 .inner .txt .head_h1 {
  font-size: 36px;
  letter-spacing: 0.1em;
  line-height: 1.444;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_10 .inner .txt .head_h1 {
    font-size: 23px;
    margin-bottom: 10px;
    text-align: center;
  }
}
body.TOP main section.cta_Area {
  background: url(../img/cta_Area_bg.jpg) no-repeat;
  background-size: cover;
  padding: 70px 0 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area {
    padding: 13.33vw 0;
  }
}
body.TOP main section.cta_Area .inner * {
  color: #fff;
  text-align: center;
}
body.TOP main section.cta_Area .inner .sub_ttl {
  font-size: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .sub_ttl {
    font-size: 20px;
  }
}
body.TOP main section.cta_Area .inner .head_h2 .pc {
  display: inline-block !important;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .head_h2 .pc {
    display: none !important;
  }
}
body.TOP main section.cta_Area .inner .flex {
  margin: 40px 0 30px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex {
    margin: 8vw 0;
  }
}
body.TOP main section.cta_Area .inner .flex li {
  border-radius: 55px;
  height: 110px;
  max-width: 420px;
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 0; /* グラデーションよりも上に配置 */
  background: transparent; /* 背景を透明にする */
  overflow: hidden; /* はみ出した部分を非表示(角丸を付ける場合は必須) */
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li {
    border-radius: 7.33vw;
    height: 14.67vw;
    max-width: 80vw;
  }
}
body.TOP main section.cta_Area .inner .flex li:before, body.TOP main section.cta_Area .inner .flex li:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
body.TOP main section.cta_Area .inner .flex li:hover {
  opacity: 1;
}
body.TOP main section.cta_Area .inner .flex li:hover:before {
  opacity: 0;
}
body.TOP main section.cta_Area .inner .flex li:not(:last-child) {
  margin-right: 80px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 6.67vw;
  }
}
body.TOP main section.cta_Area .inner .flex li a {
  height: 100px;
  display: flex;
  align-items: center;
  width: calc(100% - 10px);
  margin: 0 auto;
  border: 2px solid #fff;
  border-radius: 50px;
  justify-content: center;
  font-size: 22px;
  letter-spacing: 0.05em;
  font-weight: bold;
  position: relative;
  z-index: 0; /* グラデーションよりも上に配置 */
  background: transparent; /* 背景を透明にする */
  overflow: hidden; /* はみ出した部分を非表示(角丸を付ける場合は必須) */
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li a {
    height: 13.33vw;
    width: calc(100% - 1.6vw);
    border-radius: 6.67vw;
    font-size: 16px;
    border: 1px solid #fff;
  }
}
body.TOP main section.cta_Area .inner .flex li a:before, body.TOP main section.cta_Area .inner .flex li a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
body.TOP main section.cta_Area .inner .flex li a:hover {
  opacity: 1;
}
body.TOP main section.cta_Area .inner .flex li a:hover:before {
  opacity: 0;
}
body.TOP main section.cta_Area .inner .flex li a span.icon {
  position: absolute;
  content: "";
  width: 51px;
  height: 39px;
  top: 50%;
  transform: translateY(-50%);
  left: 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li a span.icon {
    width: 7.3vw;
    height: 6.7vw;
    left: 5.33vw;
  }
}
body.TOP main section.cta_Area .inner .flex li a span.small {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li a span.small {
    font-size: 13px;
  }
}
body.TOP main section.cta_Area .inner .flex li a span.flex {
  align-items: baseline;
  margin: 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li a span.flex {
    flex-direction: unset;
  }
}
body.TOP main section.cta_Area .inner .flex li a span.arrow {
  position: absolute;
  content: "";
  width: 30px;
  height: 30px;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  background: url(../img/icon_40.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li a span.arrow {
    width: 6.67vw;
    height: 6.67vw;
    right: 5.33vw;
  }
}
body.TOP main section.cta_Area .inner .flex li.contact .icon {
  background: url(../img/icon_10.svg) no-repeat;
  background-size: contain;
}
body.TOP main section.cta_Area .inner .flex li.contact span.arrow {
  background: url(../img/icon_50.png) no-repeat;
  background-size: contain;
}
body.TOP main section.cta_Area .inner .flex li.contact:before {
  transition: all 0.6s;
  z-index: -1;
  background: linear-gradient(135deg, #cbbacc 0%, #108fa5 100%);
}
body.TOP main section.cta_Area .inner .flex li.contact:after {
  z-index: -2;
  background: linear-gradient(135deg, #108fa5 0%, #cbbacc 100%);
}
body.TOP main section.cta_Area .inner .flex li.contact a:before {
  transition: all 0.6s;
  z-index: -1;
  background: linear-gradient(135deg, #cbbacc 0%, #108fa5 100%);
}
body.TOP main section.cta_Area .inner .flex li.contact a:after {
  z-index: -2;
  background: linear-gradient(135deg, #108fa5 0%, #cbbacc 100%);
}
body.TOP main section.cta_Area .inner .flex li.catalog .icon {
  background: url(../img/icon_20.svg) no-repeat;
  background-size: contain;
}
body.TOP main section.cta_Area .inner .flex li.catalog:before {
  transition: all 0.6s;
  z-index: -1;
  background: linear-gradient(135deg, #da9000 0%, #ff544f 100%);
}
body.TOP main section.cta_Area .inner .flex li.catalog:after {
  z-index: -2;
  background: linear-gradient(135deg, #ff544f 0%, #da9000 100%);
}
body.TOP main section.cta_Area .inner .flex li.catalog a:before {
  transition: all 0.6s;
  z-index: -1;
  background: linear-gradient(135deg, #da9000 0%, #ff544f 100%);
}
body.TOP main section.cta_Area .inner .flex li.catalog a:after {
  z-index: -2;
  background: linear-gradient(135deg, #ff544f 0%, #da9000 100%);
}
body.TOP main section.cta_Area .inner p:not(.sub_ttl) {
  font-size: 14px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner p:not(.sub_ttl) {
    font-size: 11px;
  }
}
body.TOP main section.sec_20 {
  background: #f4f2e9;
  position: relative;
}
body.TOP main section.sec_20 .inner {
  padding: 165px 0 450px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner {
    padding: 13.33vw 0;
  }
}
body.TOP main section.sec_20 .inner .head_h2 {
  background: url(../img/sec_20_10.png) no-repeat center;
  background-size: 380px;
  height: 184px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .head_h2 {
    display: block;
    letter-spacing: 0.05em;
    background-size: 60vw;
    height: 28.67vw;
  }
}
body.TOP main section.sec_20 .inner .head_h2:before, body.TOP main section.sec_20 .inner .head_h2:after {
  position: absolute;
  content: "";
  transform: translateY(-50%);
  background-size: contain;
}
body.TOP main section.sec_20 .inner .head_h2:before {
  width: 207px;
  height: 85px;
  background: url(../img/sec_20_20.png) no-repeat;
  top: 40%;
  left: 50px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .head_h2:before {
    width: 17.33vw;
    height: 7.2vw;
    background: url(../img/sec_20_20.png) no-repeat;
    background-size: cover;
    top: unset;
    bottom: 0;
    left: 5.33vw;
  }
}
body.TOP main section.sec_20 .inner .head_h2:after {
  width: 200px;
  height: 156px;
  background: url(../img/sec_20_30.png) no-repeat;
  background-size: contain;
  top: 20%;
  right: 100px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .head_h2:after {
    width: 15.73vw;
    height: 12.27vw;
    background: url(../img/sec_20_30.png) no-repeat;
    top: unset;
    bottom: 4vw;
    right: 5.33vw;
    background-size: cover;
    transform: unset;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .head_h2 span.br {
    display: block;
    margin-top: 5px;
  }
}
body.TOP main section.sec_20 .inner .head_h2 span.circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #000;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .head_h2 span.circle {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
}
body.TOP main section.sec_20 .inner .head_h2 span.circle + .circle {
  margin-left: -8px;
  margin-right: 8px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .head_h2 span.circle + .circle {
    margin-left: -4px;
  }
}
body.TOP main section.sec_20 .inner .head_h2 span.circle:first-child {
  margin-left: 5px;
}
body.TOP main section.sec_20 .inner .content {
  background: #fff;
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content {
    border-radius: 0;
  }
}
body.TOP main section.sec_20 .inner .content .inner {
  padding: 60px 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content .inner {
    padding: 8vw 5.33vw;
  }
}
body.TOP main section.sec_20 .inner .content + .content {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content + .content {
    margin: 5.33vw auto 0;
    width: 89.33vw;
    border-radius: 4vw;
  }
  body.TOP main section.sec_20 .inner .content + .content .inner {
    padding: 5.33vw;
  }
  body.TOP main section.sec_20 .inner .content + .content .inner .flex {
    flex-direction: column-reverse;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 {
  margin-top: -25px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 {
    margin-top: -6.67vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner {
  padding: 50px 40px 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner {
    padding: 13.33vw 5.33vw 5.33vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price {
  margin-top: 30px;
  border-radius: 10px;
  border: 2px solid #000;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price {
    border-radius: 1.33vw;
    border: 0.27vw solid #000;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex {
  height: 130px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex {
    height: 26.67vw;
    justify-content: center;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex * {
  font-weight: bold;
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left {
  border-radius: 5px 0 0 5px;
  height: inherit;
  width: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  font-size: 36px;
  position: relative;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left {
    border-radius: 0.7vw 0 0 0.7vw;
    width: 45%;
    font-size: 3.2vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left:before {
  position: absolute;
  content: "";
  width: 28px;
  height: 14px;
  background: url(../img/icon_60.png) no-repeat;
  top: 45%;
  transform: translateY(-50%) rotate(225deg);
  right: -8px;
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left .large {
  font-size: 50px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left .large {
    font-size: 6.13vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left .small {
  font-size: 32px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .left .small {
    font-size: 3.2vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right {
  font-size: 24px;
  width: 100%;
  max-width: 736px;
  padding-left: 60px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right {
    font-size: 3.2vw;
    padding-left: 4vw;
    max-width: 51vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right .large {
  font-size: 34px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right .large {
    font-size: 4.53vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right .large span {
  color: #8cc1c9;
}
body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right .small {
  font-size: 18px;
  display: block;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_10 .inner .price .flex .right .small {
    font-size: 2.93vw;
    line-height: 1.6363636364;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 *, body.TOP main section.sec_20 .inner .content.content_30 * {
  font-weight: bold;
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex {
  align-items: flex-start;
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt {
  max-width: 510px;
  width: 100%;
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .head_h3, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .head_h3 {
  font-size: 36px;
  line-height: 0.833;
  padding-bottom: 15px;
  background: url(../img/sec_20_50.png) no-repeat bottom;
  background-size: 100%;
  margin-bottom: 5px;
  position: relative;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .head_h3, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .head_h3 {
    font-size: 18px;
    padding-bottom: 7px;
    margin: 5.33vw 0 5px;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .head_h3 .num, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .head_h3 .num {
  background: #eeece2;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  margin-left: 20px;
  padding: 0;
  letter-spacing: 0;
  width: 120px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .head_h3 .num, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .head_h3 .num {
    height: 25px;
    border-radius: 2.5px;
    margin-left: 10px;
    width: 60px;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .head_h3 .label, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .head_h3 .label {
  position: absolute;
  background: #ffe7b9;
  top: -30px;
  left: -10px;
  transform: rotate(-6.76deg);
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0;
  height: 24px;
  width: 140px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .head_h3 .label, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .head_h3 .label {
    font-size: 10px;
    height: 15px;
    width: 75px;
    line-height: 15px;
    top: -5vw;
    left: -2vw;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices {
  display: flex;
  align-items: center;
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .name, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .name {
  font-size: 18px;
  line-height: 1.6666666667;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  width: 90px;
  border: #000 2px solid;
  border-radius: 5px;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .name, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .name {
    font-size: 10px;
    height: 25px;
    width: 45px;
    border: #000 1px solid;
    border-radius: 2.5px;
    margin-right: 10px;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .red, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .red {
  font-size: 32px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .red, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .red {
    font-size: 16px;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .red .large, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .red .large {
  font-size: 50px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .red .large, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .red .large {
    font-size: 25px;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .red .small, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .red .small {
  color: #000;
  font-size: 18px;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices .red .small, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices .red .small {
    font-size: 10px;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_20 .inner .flex .txt .prices + p, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex .txt .prices + p {
    font-size: 10px;
    line-height: 1.8;
  }
}
body.TOP main section.sec_20 .inner .content.content_20 .inner .flex img, body.TOP main section.sec_20 .inner .content.content_30 .inner .flex img {
  margin-right: 0;
}
body.TOP main section.sec_20 .inner .content.content_30 {
  position: absolute;
  z-index: 100;
  width: 100%;
  max-width: 1200px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_30 {
    width: 89.33vw;
    position: unset;
  }
}
body.TOP main section.sec_20 .inner .content.content_30 .txt {
  margin-top: 26px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_20 .inner .content.content_30 .txt {
    margin-top: 4.4vw;
  }
}
body.TOP main section.sec_30 {
  background-color: #fff;
  background-size: cover;
  padding: 100px 0 100px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 {
    padding: 13.33vw 0 14.67vw;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner {
    padding: 0 5.33vw;
  }
}
body.TOP main section.sec_30 .inner .head_h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #ed0000;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .head_h2 {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .head_h2 .head {
    width: 100%;
  }
}
body.TOP main section.sec_30 .inner .head_h2 .circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #000;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .head_h2 .circle {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
}
body.TOP main section.sec_30 .inner .head_h2 .circle + .circle {
  margin-left: -8px;
  margin-right: 8px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .head_h2 .circle + .circle {
    margin-left: -4px;
  }
}
body.TOP main section.sec_30 .inner .head_h2 .circle:first-child {
  margin-left: 5px;
}
body.TOP main section.sec_30 .inner .flex {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .flex {
    margin-top: 30px;
  }
}
body.TOP main section.sec_30 .inner .flex .box {
  margin: 0;
  width: 48%;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .flex .box {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_30 .inner .flex .box:not(:first-child) {
    margin-top: 5.33vw;
  }
}
body.TOP main section.sec_30 .inner .flex .box img {
  margin-bottom: 20px;
}
body.TOP main section.sec_30 .inner .flex .box figcaption {
  font-size: 20px;
  color: #ed0000;
}
body.TOP main section.sec_30 .inner .flex .box figcaption span.price {
  font-size: 28px;
  font-weight: bold;
  margin-left: 10px;
}
body.TOP main section.sec_30 .inner .flex .box figcaption span.tax {
  font-size: 22px;
  font-weight: bold;
}
body.TOP main section.sec_40 {
  background: #f4f2e9;
}
body.TOP main section.sec_40 .head {
  background: url(../img/sec_40_bg.jpg) no-repeat;
  background-size: cover;
  height: 560px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 90px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .head {
    background: url(../img/sec_40_bg_SP.jpg) no-repeat;
    background-size: cover;
    height: 70.93vw;
    padding-top: 13.33vw;
  }
}
body.TOP main section.sec_40 .head * {
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .head .txt img {
    width: 43.2vw;
  }
}
body.TOP main section.sec_40 .head .txt .sub_ttl {
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .head .txt .sub_ttl {
    font-size: 21px;
    margin-bottom: 20px;
  }
}
body.TOP main section.sec_40 .head .txt .head_h2 {
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  width: 580px;
  background: #2091a4;
  border-radius: 5px;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .head .txt .head_h2 {
    font-size: 18px;
    height: 30px;
    width: 89.33vw;
    border-radius: 2.5px;
    margin-bottom: 20px;
    line-height: 1;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .head .txt p {
    font-size: 10px;
  }
}
body.TOP main section.sec_40 .inner {
  margin-top: -100px;
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner {
    margin: 13.33vw 5.33vw 0;
    margin-right: 7.33vw;
    padding-bottom: 6.33vw;
  }
}
body.TOP main section.sec_40 .inner .flex {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex {
    display: flex;
    flex-direction: unset;
  }
}
body.TOP main section.sec_40 .inner .flex .item {
  margin-bottom: 40px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item {
    margin-bottom: 7.2vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .img_Area {
  border-radius: 10px;
  width: 250px;
  height: 250px;
  position: relative;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .img_Area {
    border-radius: 1.33vw;
    width: 40vw;
    height: 40vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .img_Area a:hover {
  opacity: 1;
}
body.TOP main section.sec_40 .inner .flex .item .img_Area:before {
  position: absolute;
  z-index: 5;
  content: "";
  border-radius: 10px;
  width: 250px;
  height: 250px;
  background: url(../img/sec_40_20.jpg) no-repeat;
  background-size: cover;
  top: 10px;
  left: 10px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .img_Area:before {
    border-radius: 1.33vw;
    width: 40vw;
    height: 40vw;
    top: 2vw;
    left: 2vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .img_Area:after {
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  position: absolute;
  z-index: 30;
  border-radius: 5px;
  top: 5px;
  left: 5px;
  content: "プランを見る";
  color: #fff;
  width: 240px;
  height: 240px;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .img_Area:after {
    display: none;
  }
}
body.TOP main section.sec_40 .inner .flex .item .img_Area img {
  border-radius: 10px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: #fff solid 5px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .img_Area img {
    border-radius: 1.33vw;
    border: #fff solid 0.67vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .txt {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .txt {
    margin-top: 6vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .txt * {
  font-weight: bold;
}
body.TOP main section.sec_40 .inner .flex .item .txt p {
  font-size: 16px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .txt p {
    font-size: 2.67vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .txt p .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #000;
  border-radius: 5px;
  height: 30px;
  color: #fff;
  padding: 0 17px 0 16px;
  margin-right: 10px;
  font-size: 14px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .txt p .num {
    width: 14vw;
    font-size: 2.67vw;
    margin-right: 1.5vw;
    height: 5.07vw;
    border-radius: 0.67vw;
    padding: 1.6vw 0 1vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item .txt p .price {
  display: inline-flex;
  align-items: baseline;
}
body.TOP main section.sec_40 .inner .flex .item .txt p .price .red {
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_40 .inner .flex .item .txt p .price .red {
    font-size: 4.8vw;
  }
}
body.TOP main section.sec_40 .inner .flex .item:hover .img_Area:after {
  opacity: 1;
}
body.TOP main section.sec_50 {
  background: #fff;
  padding: 135px 0 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 {
    padding: 13.33vw 0 0;
  }
}
body.TOP main section.sec_50 .contents {
  width: 81.25vw;
  background: #dbf4f8;
  border-radius: 5.21vw 0 0 5.21vw;
  margin: 0 0 0 auto;
  padding: 4.69vw 0 2.08vw 4.17vw;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents {
    width: 94.67vw;
    border-radius: 6.67vw 0 0 6.67vw;
    padding: 10vw 5.33vw 1.33vw;
  }
}
body.TOP main section.sec_50 .contents .accents {
  pointer-events: none;
  position: absolute;
}
body.TOP main section.sec_50 .contents .contents_10_accent {
  width: 16.2vw;
  left: -7.81vw;
  top: -1.72vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .contents_10_accent {
    width: 18.67vw;
    left: -4vw;
    top: -6vw;
  }
}
body.TOP main section.sec_50 .contents .contents_20_accent {
  width: 15vw;
  top: 2.19vw;
  right: -13.65vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .contents_20_accent {
    top: -10vw;
    width: 21.33vw;
    right: -2vw;
  }
}
body.TOP main section.sec_50 .contents .head_h2 {
  max-width: 1120px;
  width: 58.33vw;
  font-size: 1.56vw;
  margin: 0 auto 2.6vw;
  margin-left: 0;
  text-align: left;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .head_h2 {
    font-size: 4.8vw;
    margin: 0;
    width: 100%;
    justify-content: flex-start;
  }
}
body.TOP main section.sec_50 .contents .sub_ttl {
  position: absolute;
  left: 16.77vw;
  top: -2.54vw;
  max-width: 878px;
  width: 45.73vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .sub_ttl {
    left: 18.93vw;
    top: -4.93vw;
    max-width: 70.4vw;
    width: 100%;
  }
}
body.TOP main section.sec_50 .contents .flex {
  max-width: 1120px;
  width: 58.33vw;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .flex {
    width: 100%;
    margin: 7.33vw 0 0;
  }
}
body.TOP main section.sec_50 .contents .flex .item {
  max-width: 27.6vw;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.08vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .flex .item {
    min-width: 100%;
    margin-bottom: 6.67vw;
  }
}
body.TOP main section.sec_50 .contents .flex .item img {
  border-radius: 0.52vw;
  margin-right: 1.56vw;
  width: 11.46vw;
  height: 11.46vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .flex .item img {
    border-radius: 1.52vw;
    margin-right: 4vw;
    width: 29.33vw;
    height: 29.33vw;
  }
}
body.TOP main section.sec_50 .contents .flex .item .txt .head_h3 {
  font-size: 1.15vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .flex .item .txt .head_h3 {
    font-size: 4.27vw;
    letter-spacing: 0;
  }
}
body.TOP main section.sec_50 .contents .flex .item .txt p {
  font-size: 0.83vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents .flex .item .txt p {
    font-size: 3.2vw;
  }
}
body.TOP main section.sec_50 .contents + .contents {
  margin-top: 24.22vw;
}
body.TOP main section.sec_50 .contents.reverse {
  background: #dbe8f8;
  border-radius: 0 5.21vw 5.21vw 0;
  margin: 0 auto 0 0;
  padding: 5.73vw 0 4.17vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse {
    padding: 16vw 0 6.67vw;
  }
}
body.TOP main section.sec_50 .contents.reverse .sub_ttl {
  width: 100%;
  left: 18.75vw;
  top: -2.44vw;
  max-width: 61.72vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse .sub_ttl {
    left: 5.43vw;
    top: -4.54vw;
    max-width: 62.8vw;
  }
}
body.TOP main section.sec_50 .contents.reverse .flex {
  max-width: 58.33vw;
  margin: 0 auto;
  margin-right: 4.17vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse .flex {
    max-width: 84vw;
    margin: 0 auto;
    margin-right: auto;
  }
}
body.TOP main section.sec_50 .contents.reverse .flex .item {
  flex-direction: column;
  margin-bottom: 2.6vw;
  display: block;
  max-width: 27.08vw;
  margin: 0 0 1.3vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse .flex .item {
    margin: 0 0 6.67vw;
  }
}
body.TOP main section.sec_50 .contents.reverse .flex .item img {
  border-radius: 1.04vw;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse .flex .item img {
    border-radius: 2.67vw;
  }
}
body.TOP main section.sec_50 .contents.reverse .flex .slick-slider {
  margin-bottom: 0.5vw;
}
body.TOP main section.sec_50 .contents.reverse .flex .slick-prev,
body.TOP main section.sec_50 .contents.reverse .flex .slick-prev:before {
  display: none;
}
body.TOP main section.sec_50 .contents.reverse .flex .slick-next {
  right: 0;
  height: 18.7vw;
  top: 9.4vw;
  width: 3.13vw;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), #000 120%);
  border-radius: 0 1.04vw 1.04vw 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse .flex .slick-next {
    height: 58vw;
    top: 29.1vw;
    width: 8vw;
    border-radius: 0 2.67vw 2.67vw 0;
  }
}
body.TOP main section.sec_50 .contents.reverse .flex .slick-next:before {
  position: absolute;
  margin-top: -0.1vw;
  top: 50%;
  right: 1.2vw;
  display: block;
  width: 0.52vw;
  height: 0.52vw;
  content: "";
  transform: rotate(-45deg) translateY(-50%);
  border-right: 0.1vw solid #fff;
  border-bottom: 0.1vw solid #fff;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .contents.reverse .flex .slick-next:before {
    right: 3vw;
    width: 3.5vw;
    height: 3.5vw;
    border-right: 0.7vw solid #fff;
    border-bottom: 0.7vw solid #fff;
  }
}
body.TOP main section.sec_50 .bg_10 {
  transform: translate(0, -10.42vw);
  margin: 0 auto;
  margin-left: 0 !important;
  position: relative;
  z-index: 5;
  width: 50vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_50 .bg_10 {
    transform: translate(0, -12.42vw);
    width: 100%;
  }
}
body.TOP main section.sec_50 .bg_20 {
  transform: translate(0, -10.42vw);
  margin: 0 auto;
  margin-left: 0 !important;
  position: relative;
  z-index: 5;
  width: 50vw;
}
body.TOP main section.sec_60 {
  margin-top: -5.21vw;
  background: #fff;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 {
    margin-top: -13vw;
  }
}
body.TOP main section.sec_60 .inner {
  padding: 100px 0 60px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner {
    padding: 13.33vw 4.93vw;
  }
}
body.TOP main section.sec_60 .inner .sub_ttl {
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .sub_ttl {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .head_h2 {
    letter-spacing: 0.04em;
  }
}
body.TOP main section.sec_60 .inner .head_h2 + p {
  margin-top: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .head_h2 + p {
    text-align: left;
  }
}
body.TOP main section.sec_60 .inner .contents {
  margin: 12vw auto 0;
  position: relative;
}
body.TOP main section.sec_60 .inner .contents .accents {
  position: absolute;
}
body.TOP main section.sec_60 .inner .contents .accents.accent_10 {
  width: 447px;
  top: -436px;
  left: -84px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .accents.accent_10 {
    width: 34.67vw;
    top: -99.5vw;
    left: -3.5vw;
  }
}
body.TOP main section.sec_60 .inner .contents .accents.accent_20 {
  width: 285px;
  top: 111px;
  right: -178px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .accents.accent_20 {
    display: none;
  }
}
body.TOP main section.sec_60 .inner .contents .flex {
  justify-content: flex-start;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .flex {
    margin-bottom: 6.67vw;
  }
}
body.TOP main section.sec_60 .inner .contents .flex img {
  max-width: 520px;
  margin: 0 40px 0 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .flex img {
    max-width: 100%;
    margin: 0 0 15px;
  }
}
body.TOP main section.sec_60 .inner .contents .flex .txt {
  max-width: 640px;
}
body.TOP main section.sec_60 .inner .contents .flex .txt .concept {
  font-size: 16px;
  line-height: 1.875;
  margin-bottom: 30px;
  border-radius: 5px;
  display: inline-block;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .flex .txt .concept {
    font-size: 10px;
    line-height: 1.6666666667;
    margin-bottom: 15px;
    padding: 5px 10px;
  }
}
body.TOP main section.sec_60 .inner .contents .flex .txt .head_h3 {
  font-size: 36px;
  line-height: 0.833;
  background-size: 100%;
  margin-bottom: 50px;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .flex .txt .head_h3 {
    font-size: 23px;
    margin-bottom: 3vw;
    line-height: 1.5217391304;
  }
}
body.TOP main section.sec_60 .inner .contents .flex .txt .head_h3:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  background: url(../img/sec_20_50.png) no-repeat;
  background-size: cover;
  bottom: -17px;
  left: 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .flex .txt .head_h3:before {
    height: 0.53vw;
    bottom: -0.53vw;
  }
}
body.TOP main section.sec_60 .inner .contents .flex .txt .head_h3 span {
  font-size: 18px;
  line-height: 1;
  display: block;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_60 .inner .contents .flex .txt .head_h3 span {
    font-size: 12px;
    margin-bottom: 10px;
  }
}
body.TOP main section.sec_60 .inner .contents .flex.num1 .concept {
  background: #e1f6fa;
}
body.TOP main section.sec_60 .inner .contents .flex.num2 .concept {
  background: #d8e4f1;
}
body.TOP main section.sec_60 .inner .contents .flex.num3 .concept {
  background: #f4f2e9;
}
body.TOP main section.sec_60 .inner .contents .flex.num4 .concept {
  background: #f9e3cf;
}
body.TOP main section.sec_70 {
  background: #fff;
  padding: 1.04vw 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_70 {
    padding: 2.08vw 0;
  }
}
body.TOP main section.sec_70 .sliders .slick-slide div {
  height: 18.75vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_70 .sliders .slick-slide div {
    height: 46.67vw;
  }
}
body.TOP main section.sec_70 .sliders .slick-slide div li {
  width: 27.08vw;
  padding: 0 0.52vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_70 .sliders .slick-slide div li {
    width: 66vw;
    padding: 0 1.04vw;
  }
}
body.TOP main section.sec_70 .sliders .slick-slide div li img {
  width: 100%;
  height: 18.75vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_70 .sliders .slick-slide div li img {
    height: 46.67vw;
  }
}
body.TOP main section.sec_70 .sliders:not(:last-child) {
  margin-bottom: 1.04vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_70 .sliders:not(:last-child) {
    margin-bottom: 2.08vw;
  }
}
body.TOP main section.sec_80 {
  background: #f4f2e9;
  padding: 80px 0 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 {
    overflow-x: hidden;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 {
    padding: 13.33vw 0 0;
  }
}
body.TOP main section.sec_80 .inner {
  position: relative;
}
body.TOP main section.sec_80 .inner .accents {
  position: absolute;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .inner .accents {
    display: none;
  }
}
body.TOP main section.sec_80 .inner .accents.accent_10 {
  top: 40px;
  left: 40px;
}
body.TOP main section.sec_80 .inner .accents.accent_20 {
  top: 20px;
  right: 0;
}
body.TOP main section.sec_80 .inner .sub_ttl {
  text-align: center;
}
body.TOP main section.sec_80 .inner .head_h2 + p {
  text-align: center;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .inner .head_h2 + p {
    margin: 4vw auto 0;
    padding: 0 20px;
    text-align: left;
  }
}
body.TOP main section.sec_80 .inner .contents {
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .inner .contents {
    margin: 12.33vw auto;
  }
}
body.TOP main section.sec_80 .inner .contents .flex {
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .inner .contents .flex {
    display: block;
  }
  body.TOP main section.sec_80 .inner .contents .flex .slick-dots li {
    width: 3px;
  }
  body.TOP main section.sec_80 .inner .contents .flex .slick-dots li.slick-active button:before {
    color: #2091a4;
  }
  body.TOP main section.sec_80 .inner .contents .flex .slick-dots li button:before {
    transform: scale(0.8);
  }
}
body.TOP main section.sec_80 .inner .contents .flex .item {
  width: 25%;
}
body.TOP main section.sec_80 .inner .contents .flex .item .txt {
  padding: 20px 20px 0;
}
body.TOP main section.sec_80 .inner .contents .flex .item .txt .head_h3 {
  font-size: 16px;
  margin-bottom: 10px;
}
body.TOP main section.sec_80 .inner .contents .flex .item .txt p {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .inner .contents .flex .item {
    width: 100%;
    padding: 0 2.33vw;
  }
  body.TOP main section.sec_80 .inner .contents .flex .item img {
    width: 100%;
  }
  body.TOP main section.sec_80 .inner .contents .flex .item .txt {
    padding: 10px 0 0;
  }
  body.TOP main section.sec_80 .inner .contents .flex .item .txt .head_h3 {
    margin-bottom: 0;
  }
  body.TOP main section.sec_80 .inner .contents .flex .item .txt p {
    font-size: 12px;
  }
}
body.TOP main section.sec_80 .inner .contents .flex + .flex {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .inner .contents .flex + .flex {
    margin-top: 14.67vw;
  }
}
body.TOP main section.sec_80 .slick_to_left {
  background: #fff;
  padding: 1.04vw 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .slick_to_left {
    padding: 2.08vw 0;
  }
}
body.TOP main section.sec_80 .slick_to_left .slick-slide div {
  height: 18.75vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .slick_to_left .slick-slide div {
    height: 46.67vw;
  }
}
body.TOP main section.sec_80 .slick_to_left .slick-slide div li {
  width: 27.08vw;
  padding: 0 0.52vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .slick_to_left .slick-slide div li {
    width: 66vw;
    padding: 0 1.04vw;
  }
}
body.TOP main section.sec_80 .slick_to_left .slick-slide div li img {
  width: 100%;
  height: 18.75vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .slick_to_left .slick-slide div li img {
    height: 46.67vw;
  }
}
body.TOP main section.sec_80 .slick_to_left:not(:last-child) {
  margin-bottom: 1.04vw;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_80 .slick_to_left:not(:last-child) {
    margin-bottom: 2.08vw;
  }
}
body.TOP main section.sec_90 {
  background: #dbf4f8;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 {
    padding: 13.33vw 20px;
  }
}
body.TOP main section.sec_90 .inner {
  position: relative;
}
body.TOP main section.sec_90 .inner .accents {
  position: absolute;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .accents {
    display: none;
  }
}
body.TOP main section.sec_90 .inner .accents.accent_10 {
  top: 40px;
  left: 40px;
}
body.TOP main section.sec_90 .inner .accents.accent_20 {
  top: 0;
  right: 40px;
}
body.TOP main section.sec_90 .inner .sub_ttl {
  text-align: center;
}
body.TOP main section.sec_90 .inner .head_h2 {
  margin-bottom: 20px;
}
body.TOP main section.sec_90 .inner .head_h2 + p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .head_h2 + p {
    text-align: left;
  }
}
body.TOP main section.sec_90 .inner .contents {
  margin: 50px auto 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents {
    margin: 8vw auto 0;
  }
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents .flex {
    flex-direction: column-reverse;
  }
}
body.TOP main section.sec_90 .inner .contents .flex .txt {
  max-width: 563px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents .flex .txt {
    max-width: 100%;
  }
}
body.TOP main section.sec_90 .inner .contents .flex .txt .head_h3 {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents .flex .txt .head_h3 {
    font-size: 23px;
    letter-spacing: 0;
    margin-top: 15px;
  }
}
body.TOP main section.sec_90 .inner .contents .flex .txt p {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents .flex .txt p {
    font-size: 12px;
    margin-top: 10px;
  }
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li {
  font-size: 16px;
  font-weight: bold;
  list-style: none;
  padding-top: 10px;
  padding-left: 50px;
  position: relative;
  letter-spacing: 0;
  line-height: 1.875;
  font-feature-settings: normal;
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:not(:last-child) {
  margin-bottom: 15px;
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:before {
  position: absolute;
  width: 41px;
  height: 41px;
  top: 0;
  left: -10px;
  color: #fff;
  text-align: center;
  padding-top: 10px;
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:nth-child(1):before {
  background: url(../img/icon_30_10.svg) no-repeat;
  background-size: cover;
  content: "1";
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:nth-child(2):before {
  background: url(../img/icon_30_20.svg) no-repeat;
  background-size: cover;
  content: "2";
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:nth-child(3):before {
  background: url(../img/icon_30_30.svg) no-repeat;
  background-size: cover;
  content: "3";
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:nth-child(4):before {
  background: url(../img/icon_30_40.svg) no-repeat;
  background-size: cover;
  content: "4";
}
body.TOP main section.sec_90 .inner .contents .flex .txt ol li:nth-child(5):before {
  background: url(../img/icon_30_50.svg) no-repeat;
  background-size: cover;
  content: "5";
}
body.TOP main section.sec_90 .inner .contents .flex img {
  max-width: 560px;
  border-radius: 10px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents .flex img {
    max-width: 100%;
  }
}
body.TOP main section.sec_90 .inner .contents .flex + .flex {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_90 .inner .contents .flex + .flex {
    margin-top: 8vw;
    flex-direction: column;
  }
  body.TOP main section.sec_90 .inner .contents .flex + .flex .txt {
    margin-top: 20px;
  }
  body.TOP main section.sec_90 .inner .contents .flex + .flex .txt ol li {
    font-size: 13px;
    padding-left: 12.87vw;
  }
  body.TOP main section.sec_90 .inner .contents .flex + .flex .txt ol li:before {
    width: 35px;
    height: 35px;
    left: 0;
    padding-top: 8px;
  }
  body.TOP main section.sec_90 .inner .contents .flex + .flex .txt ol li:nth-child(2), body.TOP main section.sec_90 .inner .contents .flex + .flex .txt ol li:nth-child(5) {
    padding-top: 0;
  }
}
body.TOP main section.sec_100 {
  background: url(../img/sec_100_bg.jpg);
  background-size: cover;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 {
    background: url(../img/sec_100_bg_SP.jpg) no-repeat #084654;
    background-size: contain;
  }
}
body.TOP main section.sec_100 .inner {
  padding: 100px 0 70px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner {
    padding: 13.33vw 20px;
  }
}
body.TOP main section.sec_100 .inner .sub_ttl {
  margin-bottom: 20px;
}
body.TOP main section.sec_100 .inner .sub_ttl,
body.TOP main section.sec_100 .inner .head_h2 {
  color: #fff;
  text-align: center;
}
body.TOP main section.sec_100 .inner .sub_ttl + p,
body.TOP main section.sec_100 .inner .head_h2 + p {
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .sub_ttl + p,
body.TOP main section.sec_100 .inner .head_h2 + p {
    text-align: left;
    margin-top: 3.67vw;
  }
}
body.TOP main section.sec_100 .inner .flex {
  margin: 40px auto 0;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .flex {
    margin: 8vw auto 0;
  }
}
body.TOP main section.sec_100 .inner .flex * {
  box-sizing: border-box;
}
body.TOP main section.sec_100 .inner .flex .item {
  background: #fff;
  border-radius: 5px;
  padding: 3px;
  width: 30.83%;
  min-height: 180px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .flex .item {
    width: 100%;
    min-height: unset;
    margin-bottom: 20px;
  }
}
body.TOP main section.sec_100 .inner .flex .item .wrap {
  min-height: 180px;
  border: 2px solid #dbf4f8;
  border-radius: 5px;
  padding: 25px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .flex .item .wrap {
    min-height: unset;
    padding: 15px;
  }
}
body.TOP main section.sec_100 .inner .flex .item .wrap .head_h3 {
  color: #2091a4;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .flex .item .wrap .head_h3 {
    font-size: 16px;
  }
}
body.TOP main section.sec_100 .inner .flex .item .wrap .head_h3 span {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .flex .item .wrap .head_h3 span {
    font-size: 12px;
  }
}
body.TOP main section.sec_100 .inner .flex .item .wrap p, body.TOP main section.sec_100 .inner .flex .item .wrap a {
  letter-spacing: 0;
  line-height: 1.7142857143;
  color: #000;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.sec_100 .inner .flex .item .wrap p, body.TOP main section.sec_100 .inner .flex .item .wrap a {
    line-height: 1.6666666667;
    font-size: 12px;
  }
}
body.TOP footer {
  background: #0a252d;
  height: 590px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  body.TOP footer {
    height: 164vw;
  }
}
@media screen and (max-width: 768px) {
  body.TOP footer .logo {
    width: 56.4vw;
  }
}
body.TOP footer * {
  color: #fff;
  text-align: center;
}
body.TOP footer p {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 2.166;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  body.TOP footer p {
    font-size: 16px;
    line-height: 1.5625;
    margin-top: 12.67vw;
  }
}
body.TOP footer a {
  display: block;
  margin: 10px 0 120px;
}
body.TOP footer a * {
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  body.TOP footer a {
    max-width: 89.33vw;
    margin: 4.67vw auto 23.33vw;
  }
}
body.TOP footer small {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  body.TOP footer small {
    font-size: 10px;
  }
}
body .lb-outerContainer {
  background: unset;
  border-radius: unset;
}
body .lb-outerContainer .lb-container {
  padding: 0;
}
@media screen and (max-width: 768px) {
  body .lb-outerContainer {
    width: 92vw;
    height: 65.6vw;
  }
  body .lb-outerContainer .lb-container img {
    width: 92vw;
    height: 65.6vw;
  }
}

html.fixed, body.fixed {
  overflow: hidden;
}

/*----------------------------------
2024-06-07 改修
----------------------------------*/
@media screen and (min-width: 769px) {
  .menu_list {
    min-width: 790px;
  }
  .menu_list li:not(:last-child) {
    margin-right: 25px !important;
  }
  .menu_list li:hover a {
    color: #fff !important;
    text-decoration: none !important;
  }
  .menu_list li.button {
    max-width: 150px;
    height: 60px;
    display: flex;
    align-items: center;
    width: calc(100% - 10px);
    margin: 0 auto;
    border: 2px solid #fff;
    border-radius: 50px;
    justify-content: center;
    font-size: 22px;
    letter-spacing: 0.05em;
    font-weight: bold;
    position: relative;
    z-index: 0; /* グラデーションよりも上に配置 */
    background: transparent; /* 背景を透明にする */
    overflow: hidden; /* はみ出した部分を非表示(角丸を付ける場合は必須) */
  }
  .menu_list li.button:before, .menu_list li.button:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .menu_list li.button:hover {
    opacity: 1;
  }
  .menu_list li.button:hover:before {
    opacity: 0;
  }
  .menu_list li.contact {
    margin: 0 10px 0 0 !important;
  }
  .menu_list li.contact:before {
    transition: all 0.6s;
    z-index: -1;
    background: linear-gradient(135deg, #cbbacc 0%, #108fa5 100%);
  }
  .menu_list li.contact:after {
    z-index: -2;
    background: linear-gradient(135deg, #108fa5 0%, #cbbacc 100%);
  }
  .menu_list li.catalog {
    margin: 0 !important;
  }
  .menu_list li.catalog:before {
    transition: all 0.6s;
    z-index: -1;
    background: linear-gradient(135deg, #da9000 0%, #ff544f 100%);
  }
  .menu_list li.catalog:after {
    z-index: -2;
    background: linear-gradient(135deg, #ff544f 0%, #da9000 100%);
  }
}
body.TOP main section.cta_Area .inner .flex li a span.icon {
  width: 58px;
  height: 48px;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li a span.icon {
    width: 8.933vw;
    height: 6.667vw;
  }
}
body.TOP main section.cta_Area .inner .flex li.contact .icon {
  top: 46%;
  background: url(../img/icon_house.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  body.TOP main section.cta_Area .inner .flex li.contact .icon {
    width: 8.267vw;
  }
}
@media screen and (max-width: 768px) {
  body.TOP header#top #fixed_nav ul .menu_list li.button.contact .icon {
    background: url(../img/icon_house.svg) no-repeat;
    background-size: contain;
  }
}
body.TOP footer a {
  margin: 10px 0 40px;
}
body.TOP footer a.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  max-width: 300px;
  width: 100%;
  height: 54px;
  border-radius: 52px;
  background-color: #284047;
  margin: 0 auto 60px;
}
@media screen and (max-width: 768px) {
  body.TOP footer a.btn {
    font-size: 16px;
  }
}/*# sourceMappingURL=style.css.map */