@charset "utf-8";

/*========================================================================*\

$root

\*========================================================================*/

:root {
  --font_h1: 2.8rem;
  --font_h2: 2.4rem;
  --font_h3: 2rem;
  --font_h4: 1.8rem;
  --font_h5: 1.6rem;
  --font_h6: 1.4rem;
}

:root {
  --font_xl: 1.8rem;
  --font_lg: 1.6rem;
  --font: 1.4rem;
  --font_sm: 1.2rem;
  --font_xs: 1.2rem;
}

/*========================================================================*\

$wrapper

\*========================================================================*/

#wrapper {
  overflow: hidden;
}

/*========================================================================*\

$header

\*========================================================================*/

#headerInner {
  display: block;
  padding: 0;
}

#headerInner h1 {
  text-align: center;
  margin: 2rem auto;
}

#headerInner #headContact {
  padding: 2rem 2rem 1.5rem 2rem;
  background: var(--primary-color);
}

#headerInner #headContact .itemBox {
  padding: 2rem;
  background: #ffffff;
}

#headerInner #headContact h3 {
  font-size: 1.4rem;
}

#headerInner #headContact p {
  text-align: center;
}

#headerInner #headContact p:before {
  width: 30px;
  height: 17px;
}

/*========================================================================*\

$main

\*========================================================================*/

#topmain {
  background: url(../images/main_sp.png) no-repeat center center;
  background-size: cover;
}

#topmain .mainInner h2 {
  width: 100%;
}

/*========================================================================*\

$Co

\*========================================================================*/

#Co .sectionInner h2 {
  font-size: var(--font_h2);
  margin-bottom: 3rem;
}

#Co .sectionInner h2 .pink {
  font-size: 2.8rem;
}

/*========================================================================*\

$nayamiSection

\*========================================================================*/

#Co #nayamiSection .sectionInner h2:before {
  width: 20px;
  height: 18px;
  right: -25px;
}

#Co #nayamiSection .sectionInner .box05::after {
  content: "";
  display: block;
  width: 31.5%;
}

#Co #nayamiSection .sectionInner .box05Inner {
  width: 31.5%;
}

#Co #nayamiSection .sectionInner p {
  margin-top: 0.5rem;
  font-size: var(--font);
  font-weight: 700;
}

#Co #nayamiSection .sectionInner .box05Inner:nth-child(n + 4) {
  margin-top: 1rem;
}

/*========================================================================*\

$priceSection

\*========================================================================*/

#Co #priceSection {
  clip-path: polygon(0 2%, 100% 0, 100% 98%, 0 100%);
}

#Co #priceSection .sectionInner {
  padding: 8rem 2rem 4rem 2rem;
}

#Co #priceSection .sectionInner h2 {
  margin-bottom: 3rem;
}

#Co #priceSection .sectionInner h2 .pink:before {
  width: 120px;
  height: 18px;
}

#Co #priceSection .sectionInner h3 {
  text-align: center;
  margin-bottom: 3rem;
}

#Co #priceSection .sectionInner .box02Inner {
  width: 100%;
}

#Co #priceSection .sectionInner .box02Inner:nth-child(n + 2) {
  margin-top: 2rem;
}

#Co #priceSection .sectionInner h4 {
  font-size: 1.8rem;
}

#Co #priceSection .sectionInner .itemBox .pointTxt {
  font-size: 1.6rem;
  font-weight: 700;
}

/*========================================================================*\

$priceSection

\*========================================================================*/

#Co #planSection .sectionInner .heading {
  font-size: 2rem;
}

#Co #planSection .sectionInner .pink {
  font-size: 2.5rem;
}

#Co #planSection .sectionInner .big {
  font-size: 4rem;
}

#Co #planSection .sectionInner .swiper-wrapper {
  max-width: 100%;
  width: 100%;
}

#Co #planSection .sectionInner .swiper-slide {
  margin-bottom: 3rem;
  padding: 5rem 2rem 2rem 2rem;
  width: 90% !important;
}

#Co #planSection .sectionInner .itemBox {
  display: block;
}

#Co #planSection .sectionInner .priceBox .sub {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}

#Co #planSection .sectionInner .priceBox {
  display: block;
}

#Co #planSection .sectionInner .priceBox h2 {
  font-size: 3rem;
  text-align: left;
  margin-bottom: 1rem;
}

#Co #planSection .sectionInner .priceBox .area {
  font-size: 1.2rem;
}

#Co #planSection .sectionInner .priceBox .price:before {
  width: 45px;
  height: 36px;
  font-size: 1.2rem;
  line-height: 36px;
  border-radius: 4px;
}

#Co #planSection .sectionInner .priceBox .price {
  font-size: 1.7rem;
}

#Co #planSection .sectionInner .priceBox .price .big {
  font-size: 4rem;
}

#Co #planSection .sectionInner .priceBox li {
  padding-left: 2.4rem;
  font-size: var(--font);
}

#Co #planSection .sectionInner .basic .priceBox .check li,
#Co #planSection .sectionInner .large .priceBox .check li {
  margin-bottom: 0;
}

#Co #planSection .sectionInner .priceBox li:before {
  width: 16px;
  height: 13px;
  margin-right: 5px;
}

#Co #planSection .sectionInner .tblBox table {
  margin: 3rem 0 0 0;
}

#Co #planSection .sectionInner .tblBox th,
#Co #planSection .sectionInner .tblBox td {
  font-size: 1.4rem;
  padding: 1rem;
  line-height: 1.4;
}

#Co #planSection .sectionInner .zireiBox {
  margin: 2rem 0 0 0;
}

#Co #planSection .sectionInner .zireiBox li {
  font-size: 1.2rem;
}

#Co #planSection .sectionInner .swiper-pagination-bullet {
  background-color: var(--primary-color);
  height: 10px;
  width: 10px;
}

#Co #planSection .sectionInner .packBox {
  padding: 3rem 2rem;
  background-image: none;
}

#Co #planSection .sectionInner .packBox .heading {
  margin-bottom: 2rem;
}

#Co #planSection .sectionInner .packBox .box02:before {
  width: 120px;
  height: 32px;
  bottom: -5rem;
}

#Co #planSection .sectionInner .packBox .box02Inner h4 {
  font-size: 1.6rem;
  padding: 1.5rem;
}

#Co #planSection .sectionInner .packBox .box02Inner .packBoxInner {
  padding: 2rem;
}

#Co #planSection .sectionInner .packBox .box02Inner .packBoxInner .pink {
  font-size: 1.4rem;
}

#Co #planSection .sectionInner .packBox .catch {
  font-size: 2.4rem;
  margin-top: 6rem;
}

#Co #planSection .sectionInner .packBox .catch .dot {
  font-size: 2.4rem;
}

/*========================================================================*\

$tokutyoSection

\*========================================================================*/

#Co #tokutyoSection {
  background: var(--primary-color);
  clip-path: polygon(0 0, 100% 2%, 100% 100%, 0 100%);
}

#Co #tokutyoSection #tokutyoArea {
  background-image: url(../images/blob_01.png), url(../images/blob_02.png),
    url(../images/blob_03.png), url(../images/blob_04.png);
  background-repeat: no-repeat;
  background-size: 20%, 22%, 30%, 20%;
  background-position: left 50px, right 20%, 3% 85%, 90% 85%;
}

#Co #tokutyoSection .sectionInner {
  padding: 8rem 2rem 4rem 2rem;
}

#Co #tokutyoSection .sectionInner h2 .pink {
  font-size: 2.4rem;
}

#Co #tokutyoSection .sectionInner h2 .pink:before {
  width: 60px;
  height: 5px;
  left: -0.5rem;
}

#Co #tokutyoSection .tokutyoBox {
  padding: 3rem;
}

#Co #tokutyoSection .tokutyoBox .box02 {
  align-items: center;
  margin-bottom: 0;
}

#Co #tokutyoSection .tokutyoBox:last-child {
  margin-bottom: 0;
}

#Co #tokutyoSection .tokutyoBox h3 {
  font-size: 2rem;
  margin: 3rem 0 2rem 0;
  padding-left: 6.5rem;
}

#Co #tokutyoSection .tokutyoBox h3::before {
  font-size: 2.4rem;
  height: 50px;
  line-height: 45px;
  top: calc(50% - 29px);
  width: 50px;
}

#Co #tokutyoSection .tokutyoBox figure {
  max-width: 100%;
}

/*========================================================================*\

$footer

\*========================================================================*/

footer {
  padding: 2rem 0;
  margin-bottom: 90px;
}

footer p {
  font-size: 1.2rem;
}

/*========================================================================*\

$fixfoot

\*========================================================================*/

#fixfoot {
  padding: 2rem 1rem;
}

#fixfoot ul {
  max-width: 100%;
  width: 100%;
}

#fixfoot li {
  font-size: 1.2rem;
  width: 49%;
}

#fixfoot li a {
  padding: 0;
  height: 50px;
}

#fixfoot li a:after {
  content: none;
}

#fixfoot li a .ss {
  display: none;
}

#fixfoot li a .title {
  position: relative;
}

#fixfoot li a .title:before {
  content: none;
}

#fixfoot li:last-child a .title:before {
  content: none;
}

#fixfoot li:last-child a {
  padding-left: 0;
}
