@charset "utf-8";


body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo,sans-serif;
}
.free-btn {
  padding: 24px 0;
  border-radius: 40px;
  background-color: #ed028c;
}
.free-btn-txt {
  font-size: 24px;
  color: var(--base-inverted-color);
}

@media screen and (max-width: 767px) {
  .free-btn {
    padding: 16px 0;
  }
  .free-btn-txt {
    font-size: 16px;
  }
}

/**************************************************************
* HEADER
**************************************************************/
.header-logo {
  width: 20rem;
  min-width: 20rem;
  height: auto;
}

@media screen and (min-width: 1024px) {
  .g-nav-list {
      margin-left: 2rem;
  }
}

@media screen and (max-width: 1023px) {
  .g-header {
    height: 7.5rem;
  }
  .header-logo {
      width: 15rem;
      min-width: 15rem;
      height: auto;
  }
}



/**************************************************************
* MV
**************************************************************/
/* .mv > figure {
  padding-top: calc(1166 / 1920* 100%);
}

@media screen and (max-width: 767px) {
  .mv > figure {
      padding-top: calc(228 / 365* 100%);
  }
}
@media screen and (max-width: 1023px) {
  .container {
      margin-top: 7rem;
  }
} */


/**************************************************************
* CONCEPT
**************************************************************/
.c-txt.--lv0 {
  font-size: 3rem;  
  color: #ed028c;
}
.c-txt.--lv2 {
  font-size: 1.2rem;
}
.c-txt.--lv0 span.--lv-1 {
  font-size: 4.8rem;
}
.c-txt.--lv0 span.--lv1 {
  font-size: 1.6rem;
}
.concept {
  padding-top: 5rem;
}
.concept .c-txt-wrap > p.--lv2 {
  letter-spacing: 0.1em;
}
.specialities-list > li:nth-child(4) .speciality-item::after {
  background-image: url(../img/concept/kodawari_4_bg.jpg);
}
.specialities-list > li:nth-child(5) .speciality-item::after {
  background-image: url(../img/concept/kodawari_5_bg.jpg);
}
.c-lead.--lv1.--campaign {
  font-size: 3.2rem;
}
.c-lead.--campaign > span{
  border-bottom: 6px dotted var(--secondary-color);
  font-size: 4.5rem;
  color: var(--primary-color);
}
.campaign-items-area {
  display: grid;
  justify-content: center;
  gap: 5rem;
  counter-reset: concept-counter-item;
  grid-template-columns: repeat(3, 1fr);
  width: 80%;
  margin-inline: auto;
  font-weight: 900;
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.campaign-item{
  position: relative;
  margin-inline: auto;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.campaign-item.--item1{
  background-color: #E95098;
}
.campaign-item.--item2{
  background-color: #3EB135;

}
.campaign-item.--item3{
  background-color: #00B0EC;
}
.campaign-item.--item4{
  background-color: #E60013;
}
.campaign-item-title{
  color: #fff;
  font-size: 3.0rem;
  margin-bottom: 1rem;
}
.campaign-item-title.--item1{
  text-shadow: 2px 2px 0 #E95098, -2px 2px 0 #E95098, -2px -2px 0 #E95098, 2px -2px 0 #E95098;
}
.campaign-item-title.--item2{
  text-shadow: 2px 2px 0 #3EB135, -2px 2px 0 #3EB135, -2px -2px 0 #3EB135, 2px -2px 0 #3EB135;
}
.campaign-item-title.--item3{
  text-shadow: 2px 2px 0 #00B0EC, -2px 2px 0 #00B0EC, -2px -2px 0 #00B0EC, 2px -2px 0 #00B0EC;
}
.campaign-item-title.--item4{
  text-shadow: 2px 2px 0 #E60013, -2px 2px 0 #E60013, -2px -2px 0 #E60013, 2px -2px 0 #E60013;
}
.campaign-item-txt {
  font-size: 12.0rem;
  line-height: .99;
  color: var(--secondary-color);
  position: relative;
}
.campaign-item-txt > span {
  font-size: 2.5rem;
}
.furthermore {
  transform: rotate(-12deg);
    color: #fff;
    position: absolute;
    top: 30%;
    left: 12%;
}
.campaign-item-txt > .exclamation {
  font-size: 6.0rem;
  transform:rotate(15deg); 
  display: inline-block;
  position: absolute;
  left: 64%;
  top: 10%;
}
.campaign-items-area>.campaign-item:not(:last-child)::after {
  content: "＋";
  position: absolute;
  right: -38%;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #808080;
  color: #fff;
}

@media screen and (max-width:1440px ){
  .concept .c-inner {
    padding-top: 0;
  }
  .campaign-item{
    position: relative;
    margin-inline: auto;
    border-radius: 50%;
    width: 180px;
    height: 180px;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .campaign-items-area {
    width: 100%;
  }
  .campaign-item-title{
    font-size: 2.0rem;
  }
  .campaign-item-txt {
    font-size: 9.0rem;
    line-height: .99;
  }
  .campaign-item-txt > span {
    font-size: 1.5rem;
  }
  .campaign-item-txt > .exclamation {
    font-size: 5.0rem;
  }
  .campaign-items-area>.campaign-item:not(:last-child)::after {
    right: -26%;
    width: 20px;
    height: 20px;
}
}

@media (min-width:768px) and (max-width:868px ){
  .concept {
    padding-top: 16rem;
  }
  .campaign-items-area {
    gap: 1rem;
  }
  /* .campaign-items-area>.campaign-item:not(:last-child)::after {
    content: "＋";
    position: absolute;
    right: -18%;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #808080;
    color: #fff;
  } */
  .campaign-items-area>.campaign-item:not(:last-child)::after {
    display: none;
}
}

@media (min-width: 768px) {
  .concept {
      background-position: 0 0, 100% 75%;
  }
}

@media screen and (max-width:767px ){
  .c-lead.--lv1.--campaign {
    font-size: 1.9rem;
    letter-spacing: 0.3em;
  }
  .c-lead.--campaign > span{
    font-size: 2.5rem;
  }
  .campaign-items-area {
    display: grid;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
    width: 80%;
    margin-inline: auto;
    font-weight: 900;
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
  .campaign-items-area>.campaign-item:not(:last-child)::after {
    display: none;
    /* content: "＋";
    position: absolute;
    right: 44%;
    bottom: -35px;
    width: 20px;
    height: 20px; */
  }
}

@media screen and (max-width:425px ){
  .concept {
    background-position: 0 0, 100% 95%;
  }
  .campaign-item {
    width: 150px;
    height: 150px;
  }
  .campaign-item-txt {
    font-size: 8.5rem;
    line-height: .99;
  }
  .campaign-item-txt > .exclamation {
    left: 68%;
    top: 10%;
  }
}




/**************************************************************
* FLOW
**************************************************************/
.news {
  padding-top: 40rem;
  /* padding-bottom: 15rem; */
}
.news-list {
  display: grid;
  width: 48%;
  margin: 0 auto;
  grid-template-columns: 100px 1fr;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0;
}
.news-list > dt {
  align-content: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin-bottom: 1rem;
  padding-top: 0;
  border-radius: 50%;
  background-color: #ed028c;
  color: var(--base-inverted-color);
}
.news-list > dd {
  height: 80px;
  align-content: center;
  padding: 0;
  border: none;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .news-list {
    width: 90%;
    margin: 0 auto;
    grid-template-columns: 100px 1fr;
    padding-bottom: 0;
  }
  .news {
      padding-top: 20rem;
      padding-bottom: 0;
  }
}




/**************************************************************
* NO1
**************************************************************/
.news.no1 {
  padding-top: 38rem;
  padding-bottom: 30rem;
}
.news.no1 .c-head-wrap {
  margin-bottom: 5rem;
}
.no1_img {
  margin: 0 auto;
  text-align: center;
  max-width: 55rem;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .news.no1 {
    padding-top: 22rem;
    padding-bottom: 15rem;
  }
}



/**************************************************************
* QA
**************************************************************/
.freespace {
  padding-top: 45.5rem;
  padding-bottom: 5.5rem;
}
.freeSpace-list .list__item {
  margin-top: 60px;
}
.qa_note {
  margin-top: 60px;
  text-indent: -1rem;
  padding-left: 1rem;
  font-size: 14px;
}


/**************************************************************
* PLAN
**************************************************************/
.menu {
  padding-top: 0rem;
  padding-bottom: 25rem;
}
.menu .c-head.--lv1 .--lv2 {
  display: inline-block;
  font-size: 1.8rem;
  margin-left: 2rem;
}
.menu-note__area {
  display: flex;
  flex-direction: column;
}
.menu_note {
  margin: 0 auto;
  text-indent: -1.5rem;
  padding-left: 1.5rem;
  font-size: 14px;
}
.free-btn__body {
  display: grid;
  grid-template-columns: auto;
  column-gap: 30px;
  align-items: center;
  justify-content: center;
  height: 3rem;
}

@media screen and (max-width: 767px) {
  .menu {
    padding-top: 2rem;
  }
  .menu .c-head.--lv1 .--lv2 {
    font-size: 1.4rem;
    margin-left: 0;
  }
}



/**************************************************************
* schedule
**************************************************************/
.concept.schedule {
  background-image: none;
  margin-top: 10rem;
}
.schedule .c-inner {
  padding-bottom: 12rem;
}
.specialities {
  width: calc(80% + var(--scrollbar-width));
}
.schedule_dl_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.schedule_dl_wrap li {
  width: 90%;
  margin-bottom: 5rem;
}
.schedule h3 {
  margin-bottom: 1rem;
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--base-inverted-color);
}
.schedule_dl {
  display: grid;
  grid-template-columns: 10em 1fr;
  justify-content: center;
  margin-bottom: 1rem;
  padding: 2rem;
  background: #fff;
  border-radius: 5px;
}
.schedule_dl dt {
  grid-row: 1 / 5;
  grid-column: 1 / 2;
  font-weight: bold;
}
.schedule_dl dt span {
  display: inline-block;
  margin-right: 1rem;
  background-color: #ed028c;
  padding: 0 1rem;
  border-radius: 5px;
  color: var(--base-inverted-color);
  font-size: 1.8rem;
  text-align: center;
}
.schedule_dl .schedule_date {
  font-size: 1.8rem;
  font-weight: bold;
}
.concept.schedule .free-btn {
  background-color: var(--secondary-color);
}
.concept.schedule .free-btn-txt {
  color: #ed028c;
}
.schedule_note {
  margin: 0 auto;
  text-align: center;
  color: var(--base-inverted-color);
  font-weight: bold;
}
@media screen and (max-width: 1023px) {  
  .concept.schedule {
    margin-top: 5rem;
  }
  .concept.schedule .c-inner {
    padding-top: 0;
    padding-bottom: 7rem;
  }
  .c-divider-shape.--type1::before {
    top: -13.888rem;
  }
  .c-divider-shape.--type1::after {
    top: -18.777rem;
  }
  .schedule_dl_wrap {
    grid-template-columns: 1fr;
    margin-left: auto;
    margin-right: auto;
  }
  .schedule_dl_wrap li {
    width: 100%;
  }
  .schedule_dl_wrap li:last-child {
    margin-bottom: 0;
  }
  .schedule_dl {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
  }
  .schedule_dl dt {
    padding-bottom: 10px;
  }
  .concept.schedule .free-btn {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .c-divider-shape.--type1::before {
      top: -8.888rem;
  }
  .c-divider-shape.--type1::after {
    top: -10.777rem;
  }
}

/**************************************************************
* ACCESS
**************************************************************/
.access {
  /* padding-top: 36rem; */
  padding-bottom: 5rem;
}
.access-contents__info > h4 {
  margin-bottom: 2.5rem;
}
.access-info-block {
  padding-bottom: 1rem;
}
.access-info-note {
  margin-top: 2.5rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .access-contents {
    display: grid;
    column-gap: 10rem;
    row-gap: 5rem;
    justify-content: space-between;
    grid-template-columns: 1fr 1fr;
  }
  .access-contents__info {
    padding-right: 0;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .access {
    padding-top: 0;
    padding-bottom: 5rem;
  }
  .access-contents__info {
      margin-bottom: 5rem;
  }
  .access .c-head-wrap {
      margin-top: 12rem;
  }
}

/**************************************************************
* FORM
**************************************************************/
.contact .c-inner {
  max-width: 100rem;
}

.c-form-control__select{
	border: 1px solid var(--primary-color);
}
@media screen and ( max-width: 768px ) {
  .c-form-control__checkbox {
    display: grid; grid-template-columns: repeat(2, 1fr);
  }  
}
@media screen and ( min-width: 769px ) {
  .c-form-control__checkbox {
    display: grid; grid-template-columns: repeat(4, 1fr);
  }  
}
@media screen and ( min-width: 1630px ) {
  .c-form-control__checkbox {
    display: grid; grid-template-columns: repeat(6, 1fr);
  }  
}
/**************************************************************
* FOOTER
**************************************************************/
.footer-logo__link {
  width: 25rem;
  background-image: url(../img/common/logo.svg);
}

@media screen and (min-width:768px ){
  .footer-nav-list {
    gap: 5rem;
  }
}






.followArea {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
}

@media (min-width: 1024px) {
  .followArea {
    left: 2.5rem;
    bottom: 2.5rem;
    width: 350px;
  }
}

.followArea .followArea-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 0px;
  width: 100%;
}

@media (min-width: 1024px) {
  .followArea .followArea-list {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 20px;
  }
}

.followArea .followArea-item {
  width: 100%;
}

.followArea .followArea-btn {
  background-color: var(--secondary-color);
  display: inline-block;
  padding: 3vw 0;
  position: relative;
  transition: all 0.3s ease-out;
  width: 100%;
  border-radius: 40px;
  border: 3px solid #fff;
}

@media (min-width: 1024px) {
  .followArea .followArea-btn {
    padding: 17px 0 15px;
  }
}

.followArea .followArea-btn .followArea-btn__body {
  text-align: center;
  width: 100%;
}

.followArea .followArea-btn .followArea-btn__text {
  color: #ed028c;
  font-weight: bold;
  font-size: 3.8vw;
  letter-spacing: 0.15rem;
}

@media (min-width: 1024px) {
  .followArea .followArea-btn .followArea-btn__text {
    font-size: 24px;
  }
}

.followArea .followArea-btn:hover {
  transition: all 0.3s ease-out;
  transform: translateY(5%);
}

@media (min-width: 1024px) {
  .followArea .followArea-btn::after {
    top: 0;
    right: 40px;
    height: 10px;
    width: 10px;
  }
}

.followArea .followArea-iconBtn {
  display: inline-block;
  padding: 3vw 0;
  transition: all 0.3s ease-out;
  width: 100%;
}

@media (min-width: 1024px) {
  .followArea .followArea-iconBtn {
    padding: 17px 0 15px;
  }
}

.followArea .followArea-iconBtn .followArea-iconBtn__body {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}



@media (min-width: 1024px) {
  .followArea .followArea-iconBtn .followArea-iconBtn__text {
    font-size: 16px;
  }
}

.followArea .followArea-iconBtn:hover {
  transition: all 0.3s ease-out;
  transform: translateY(5%);
}

.followArea .lineBtn {
  background-color: #00b900;
}

.followArea .webBtn {
  background-color: var(--accent-color-1);
}

@media screen and (max-width: 767px) {
  .g-footer__bottom {
      padding-bottom: 10rem;
  }
}

.campaign-img{
  text-align: center;
  margin-top: 5rem;
}
.campaign-img img{
  border: 10px solid #fff;
}
@media screen and (max-width: 767px) {
.campaign-img img{
  border: 5px solid #fff;
}
}

@media screen and (max-width: 767px) {
  .concept-top .c-lead.--lv1 {
    font-size: 1.6rem;
  }
}

.concept-top .c-inner {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .concept-top .c-inner {
      padding-bottom: 8rem;
  }
}