/* **************************************************************
 margin　設定
*************************************************************** */
.margin-top80 {
  margin-top: 80px !important;
}

.margin-bottom30 {
  margin-bottom: 30px !important;
}

/* **************************************************************
 about
*************************************************************** */
.about__values .text-content {
  font-size: 2.2rem;
}

/*activities*/
.about__activities .column-content {
  width: 50%;
}

.about__activities .list-2col {
  gap: 10px;
}

.season-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-top: 50px;
}

.season-list .item .title-col {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px 20px;
}

.season-list .item .season {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  font-size: 3rem;
}

.season-list .item:nth-of-type(1) .season {
  background-color: #f8e7f5;
  color: #c4474a;
}

.season-list .item:nth-of-type(2) .season {
  background-color: #e7f8f1;
  color: #189e67;
}

.season-list .item:nth-of-type(3) .season {
  background-color: #f9ead5;
  color: #d7753f;
}

.season-list .item:nth-of-type(4) .season {
  background-color: #eaf7fa;
  color: #187d9e;
}

/*local*/

.about__local .container-inner {
  padding-top: 60px;
  margin-top: 60px;
  border-top: var(--border-primary);
}

.about__local .list-2col {
  gap: 10px;
}

.about__local .difi-table {
  margin: 50px auto;
}

.club-program {
  gap: 0;
  margin: 30px 0;
}

.club-program li::marker {
  color: var(--color-primary);
}

/*corporation*/
.about__corporation .column-content {
  width: 50%;
}

.about__philosophy .text-philosophy {
  font-size: 4rem;
  font-family: "Zen Old Mincho", serif;
}

.ayumi-list {
  display: grid;
  grid-template-columns: 165px 1fr;
  gap: 15px;
}

.album-btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.album-btns .btn-mid {
  width: 100%;
  text-align: left;
}


/*officer*/
.officer-list {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 15px 30px;
  margin: 7px 0;
}

.officer-list:first-of-type {
  margin-top: 0;
}

.officer-list:last-of-type {
  margin-bottom: 0;
}

.officer-list dt {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 105px;
  background-color: #eeeeee;
  border-radius: 5px;
  font-weight: 700;
}

.officer-list dd ul {
  display: flex;
  flex-wrap: wrap;
}

.officer-list dd ul li {
  min-width: 45%;
}

.office-files {
  width: 100%;
  justify-content: space-between;
  grid-template-columns: auto auto !important;
}

.office-files dt {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
}

.office-files dt p {
  min-width: 100px;
}

.office-files .date {
  font-size: 90%;
  text-align: right;
}



/* **************************************************************
 service
*************************************************************** */

/* ------------------------------------
 common
------------------------------------ */
/*heaidng*/
.service__heading {
  position: relative;
  padding: 100px 0;
}

.service__heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 595px;
  background: var(--tex-primary-light);
}

.service__heading-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 50px;
}

.service__heading-title {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.service__heading-title .title-sub {
  line-height: 1;
  color: var(--color-primary);
  font-size: 3rem;
  font-weight: 700;
}

.service__heading-title .title-main {
  line-height: 1;
  font-size: clamp(5rem, 3.125vw, 6rem);
}

.service__heading-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.service__heading-info p {
  position: relative;
  display: block;
  padding-left: 30px;
  line-height: 1.2;
}

.service__heading-info p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 21px;
  height: 21px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.service__heading-info a {
  line-height: 1;
  color: var(--color-primary);
  font-weight: 700;
  vertical-align: top;
}

.service__heading-info .address::before {
  background-image: url(../images/icon_service_address.png);
}

.service__heading-info .tel {
  font-size: 2.2rem;
}

.service__heading-info .tel::before {
  background-image: url(../images/icon_service_tel.png);
}

.service__heading-info .instagram {
  font-size: 2.2rem;
}

.service__heading-info .instagram::before {
  background-image: url(../images/icon_instagram.png);
}

.service__heading-img {
  position: relative;
  border-radius: var(--radius-max);
  overflow: clip;
}

.service__heading-img .icon {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 140px;
  height: 140px;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: var(--radius-mid);

}

/* ------------------------------------
 facility
------------------------------------ */
.facility__slider .swiper-slide {
  border-radius: var(--radius-mid);
  overflow: hidden;
}

.facility__slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.facility__slider .facility__name {
  position: absolute;
  left: 20px;
  bottom: 20px;
  color: #fff;
  font-weight: 700;
  font-size: 2.2rem;
  text-shadow: 0 0 5px #000,
    0 0 15px #000;
}

.facility__map {
  padding: 30px;
  margin: 50px auto;
  background: var(--tex-gray);
  border-radius: var(--radius-max);
  text-align: center;
}


/* ------------------------------------
 price
------------------------------------ */
.price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}

.price-table__header {
  background-color: var(--color-primary-light);
  font-weight: bold;
  text-align: center;
}


.price-table__header {
  width: 16.66%;
  padding: 20px 10px;
  line-height: 1;
}

.price-table__header:not(:first-of-type) {
  border-left: var(--border-primary);
}

.price-table__header .min {
  font-size: 1.6rem;
}

.price-table__row {
  border-spacing: 0;
}

.price-table__cell {
  min-width: 150px;
  padding: 15px;
  border-bottom: var(--border-primary);
  border-left: var(--border-primary);
  line-height: 1.5;
  text-align: right;
}

th.price-table__cell {
  border-left: none;
  text-align: left;
}

th.price-table__cell:first-of-type[scope="rowgroup"] {
  background-color: var(--color-primary-light);
}

/*option*/
.option-table {
  width: 100%;
}

.option-table__header {
  padding: 20px 10px;
  background-color: var(--color-primary-light);
  line-height: 1;
  font-weight: bold;
  text-align: center;
}

.option-table__header:not(:first-of-type) {
  border-left: var(--border-primary);
}

.option-table__header .min,
.option-table__cell .min {
  line-height: 1.5;
  font-size: 1.6rem;
}

.option-table__row {
  border-bottom: 1px solid #b09789;
}

.option-table__cell {
  width: 33.33%;
  padding: 15px;
  border-right: 1px solid #b09789;
  line-height: 1.5;
  text-align: right;
  font-weight: 400;
}

.option-table__cell:last-child {
  border-right: none;
}

.option-table__cell.text-left {
  text-align: left;
}

th.option-table__cell {
  width: max-content;
  border-left: none;
  text-align: left;
}

/* ------------------------------------
 shokibo
------------------------------------ */
.shokibo-info {
  display: flex;
  gap: 50px;
  margin: 80px 0;
}

.shokibo-info .panel {
  flex-direction: column;
  gap: 0;
  margin: 0;
  width: 50%;
}

.shokibo-info .panel__title::after {
  left: 50%;
  top: inherit;
  bottom: 0;
  translate: -50%;
  width: calc(100% - 100px);
  height: 2px;
  border-right: none;
  border-bottom: var(--border-primary);
}

.shokibo-info .shokibo-entry {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
}

.shokibo-info .shokibo-book {
  display: flex;
  flex-direction: row;
  gap: 30px;
  padding: 30px;
}

.shokibo-info .shokibo-book-thumb {
  flex-shrink: 0;
  text-align: center;
}


/* **************************************************************
 hoiku
*************************************************************** */
.banner-instagram {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 100px;
  padding: 50px;
  background: url(../images/service_hoiku/bg_instagram.jpg) repeat-y center / 100%;
  border-radius: var(--radius-max);
}

.banner-instagram .content {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px 30px;
  padding-left: 110px;
}

.banner-instagram .content::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 80px;
  height: 80px;
  background: url(../images/service_hoiku/icon_instagram.png) no-repeat center / contain;
}

.banner-instagram .title-max {
  margin-bottom: 0;
}

.banner-instagram .title-max .min {
  display: block;
  font-size: 2.2rem;
}

.banner-instagram .text-id a {
  color: #db004f;
  font-size: 2.2rem;
  font-weight: 700;
}

.banner-instagram .btns {
  position: relative;
}

.banner-instagram .tag {
  content: "";
  position: absolute;
  right: -90px;
  top: -100px;
}

/*flow*/
.flow-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px 100px;
  background: var(--tex-primary-light);
  border-radius: var(--radius-max);
}

.flow-timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.flow-timeline::before {
  content: "";
  position: absolute;
  left: 28px;
  width: 4px;
  height: 100%;
  background: url(../images/service_hoiku/bg_line_dot.png) repeat-y center / contain;
}

.flow-timeline .item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 2.2rem;
}

.flow-timeline .item p {
  line-height: 1.3;
  font-weight: 700;
}

.flow-timeline .item img {
  flex-shrink: 0;
}

.flow-timeline .item .time {
  min-width: 90px;
  margin-right: 25px;
  line-height: 1;
  font-size: 4rem;
  text-align: right;
}

/*info*/
.hoiku-info {
  align-items: flex-start;
}

.hoiku-info .column-content {
  width: 50%;
}

.hoiku-info .difi {
  margin: 0;
}


/*admission*/
.admission-panel .panel__title {
  flex-direction: column;
  align-items: flex-start;
  padding-left: 50px;
  padding-right: 50px;
  font-size: 3rem;
}

.admission-panel .panel__title .sub {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-primary);
}

.admission-panel .panel__content {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 15px 50px;
}

.admission-list {
  display: flex;
  align-items: center;
  gap: 20px;
}

.admission-list .tag {
  min-width: 130px;
  padding: 10px;
  background-color: var(--color-primary);
  border-radius: 15px;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  font-size: 2.2rem;
  text-align: center;
}

.admission-list .number-0 {
  background-color: #c4474a;
}

.admission-list .number-1 {
  background-color: #189e67;
}

.admission-list .number-2 {
  background-color: #f0874e;
}

/*salon*/
.salon-detail {
  margin-top: -80px;
  font-size: 2.2rem;
}



/* **************************************************************
 Group
*************************************************************** */
.group__list-box {
  border: var(--border-primary);
  border-radius: var(--radius-mid);
}

.group__list-box a {
  display: block;
  height: 100%;
  color: var(--text-primary);
}

.group__list-box a:hover {
  background-color: var(--color-primary-light2);
  border-radius: var(--radius-mid);
}

.group__list-box .img {
  margin-left: -2px;
  margin-right: -2px;
  margin-top: -2px;
  border-radius: var(--radius-mid);
  overflow: clip;
}

.group__list-box .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all var(--transition-primary);
}

.group__list-box .content {
  padding: 20px;
}

.group__list-box .content .title-min {
  margin-bottom: 15px;
}

.group__list-box .content .title-min .min {
  font-size: initial;
  letter-spacing: 0;
}

.group__list-box .content p {
  font-size: 1.6rem;
}

.group__list-box a:hover {
  opacity: 1;
}

.group__list-box a:hover .img img {
  scale: 1.2;
}



/* **************************************************************
 NewsLetter
*************************************************************** */
.newsletter__wrap:not(:last-of-type) {
  margin-bottom: 130px;
}

.newsletter__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 50px 100px;
}

.newsletter__thumb {
  flex-shrink: 0;
  max-width: 50%;
  border: 1px solid var(--color-primary-dark);
}

.newsletter__list {
  width: 100%;
}

.newsletter__list .item {
  border-top: var(--border-primary);
}

.newsletter__list .item:last-child {
  border-bottom: var(--border-primary);
}

.newsletter__list a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 30px 0;
}

.newsletter__list a .name {
  font-size: 2.2rem;
}

.newsletter__list a .date {
  margin-left: auto;
  font-size: 1.6rem;
}

.newsletter__list a .icon-arrow {
  margin-left: 0;
}


/* **************************************************************
 recruit
*************************************************************** */
.title-recruit {
  position: relative;
  display: table;
  padding-left: 65px;
  margin-bottom: 80px;
  line-height: 1.3;
  font-size: 5rem;
}

.title-recruit::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 40px;
  height: 40px;
  background: url(../images/icon_title_sub.svg) no-repeat center / contain;
}

.title-recruit strong {
  color: var(--color-primary);
}

.title-balloon {
  position: relative;
  display: table;
  margin: 0 auto 40px;
  padding: 20px 60px;
  background-color: #fff7d5;
  border-radius: 50rem;
  font-size: 3rem;
  text-align: center;
}

.title-balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px;
  translate: -50%;
  width: 28px;
  height: 19px;
  background-color: #fff7d5;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.title-balloon .min {
  display: inline-block;
  font-size: initial;
}

.link-ict {
  line-height: 1.5;
  font-size: 2.2rem;
}

/*heading*/
.recruit__heading {
  position: relative;
  width: calc(100% - 200px);
  margin: 0 auto 80px;
}

.recruit__heading-title {
  position: absolute;
  left: 10%;
  top: 50%;
  translate: 0 -50%;
  z-index: 1;
}

.recruit__heading-title .title-main {
  font-size: 5rem;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
}

.recruit__heading-img {
  height: 740px;
  border-radius: 50px;
  overflow: clip;
}

.recruit__heading-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruit__heading-illust {
  position: absolute;
  right: 8%;
  bottom: -50px;
  z-index: 1;
}

/*banner*/
.banner-certification {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 10px 50px;
  padding: 30px 50px;
  margin-bottom: 80px;
  background: var(--tex-secondary-light);
  border-radius: var(--radius-max);
}

.banner-certification .content strong {
  color: #f05b91;
}


/*about*/
.recruit__about {
  position: relative;
  text-align: center;
}

.recruit__about::after {
  content: "";
  position: absolute;
  right: -180px;
  top: 50%;
  translate: 0 -50%;
  z-index: -0;
  width: 430px;
  height: 424px;
  background: url(../images/recruit/bg_about.png) no-repeat right center;
}

.recruit__about .icons {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  pointer-events: none;
}

.recruit__about .icons img:nth-of-type(1) {
  position: absolute;
  left: 0;
  top: -35px;
}

.recruit__about .icons img:nth-of-type(2) {
  position: absolute;
  right: 90px;
  top: 40px;
}

.recruit__about .title {
  position: relative;
  z-index: 1;
  padding-left: 0.5em;
  margin-bottom: 60px;
  line-height: 1.5;
  font-size: 4rem;
}

.recruit__about .text-content {
  position: relative;
  z-index: 1;
  display: block;
  margin: 60px 0 80px;
  font-size: 2.2rem;
  text-align: center;
}

.recruit__about-img {
  position: relative;
  z-index: 2;
}

/*charm*/
.recruit__charm {
  position: relative;
  z-index: 1;
}

.recruit__charm::after {
  content: "";
  position: absolute;
  left: -265px;
  top: -250px;
  z-index: -1;
  width: 566px;
  height: 454px;
  background: url(../images/recruit/bg_charm.png) no-repeat right center;
}

.recruit__charm .icons {
  position: relative;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 50px;
  pointer-events: none;
}

.recruit__charm .icons img:nth-of-type(1) {
  position: absolute;
  left: 0;
  bottom: -135px;
}

.recruit__charm-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 60px;
}

.recruit__charm-list .item {
  display: flex;
  width: calc(50% - 30px);
  gap: 30px;
}

.recruit__charm-list .item:nth-of-type(even) {
  margin-top: 100px;
}

.recruit__charm-list .item .point {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  padding-top: 5px;
  background: url(../images/recruit/bg_charm_number.png) no-repeat center / contain;
  line-height: 1;
  font-size: 1.6rem;
  color: var(--color-primary);
  font-weight: 700;
}

.recruit__charm-list .item .point .number {
  font-size: 3rem;
}

.recruit__charm-list .item .title-mid {
  margin-top: 0;
  margin-bottom: 15px;
  white-space: nowrap;
}


/*resources*/
.recruit__resources {
  position: relative;
  z-index: 0;
}

.recruit__resources::after {
  content: "";
  position: absolute;
  right: -265px;
  top: -240px;
  z-index: -1;
  width: 678px;
  height: 501px;
  background: url(../images/recruit/bg_resources.png) no-repeat right center / contain;
}

.recruit__resources .title-recruit {
  margin-left: auto;
}

.recruit__resources-message {
  padding: 10px;
  background-color: #fff;
  border-radius: 80px;
}

.recruit__resources-message .inner {
  padding: 80px 40px;
  border: 3px dotted var(--color-primary);
  border-radius: 75px;
  text-align: center;
}

.recruit__resources-message .text-content {
  text-align: center;
}

.recruit__resources-message .name {
  display: block;
  margin-top: 50px;
  line-height: 1;
  font-size: 2.2rem;
}

/*message*/
.recruit__message-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
}

.recruit__message-list .item {
  background-color: #fff;
  border: var(--border-primary);
  border-radius: var(--radius-max);
}

.recruit__message-list .item .link {
  display: block;
  padding: 30px;
}

.recruit__message-list .item .icon {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 210px;
}

.recruit__message-list .item p {
  line-height: 1.3;
}

.recruit__message-list .item .tag {
  display: inline-block;
  padding: 6px 10px;
  margin-bottom: 10px;
  border: 1px solid var(--color-primary);
  border-radius: 5px;
  line-height: 1;
  color: var(--color-primary);
  font-size: 1.6rem;
}

.recruit__message-list .item .title {
  display: block;
  margin-bottom: 20px;
  font-size: 2.2rem;
}

.recruit__message-list .item .title .min {
  font-size: 1.8rem;
}

.recruit__message-list .item .link-arrow {
  margin-left: auto;
  margin-top: 5px;
}

/*environment*/
.recruit__environment .panel__title {
  min-width: 280px;
}

.recruit__column-number {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
}

.recruit__column-number .col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 280px;
  padding: 30px 0;
  background: var(--tex-primary-light);
  border-radius: var(--radius-mid);
}

.recruit__column-number .col .title {
  font-size: 2.2rem;
}

.recruit__column-number .col .main {
  margin-top: auto;
  margin-bottom: auto;
  line-height: 1;
  color: var(--color-primary);
  font-size: 8rem;
  font-weight: 700;
  text-align: center;
}

.recruit__column-number .col .main .sub {
  margin-left: 5px;
  color: initial;
  font-size: 2.2rem;
}

.recruit__column-number .col .list {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: auto;
  margin-bottom: auto;
}

.recruit__column-number .col .list .cap {
  white-space: nowrap;
}

.recruit__column-number .col .list .cap::before {
  content: "【";
  color: var(--color-primary);
}

.recruit__column-number .col .list .cap::after {
  content: "】";
  color: var(--color-primary);
}

.recruit__column-number .col .list .main {
  font-size: 7rem;
}

.recruit__column-number .col .list-year {
  display: grid;
  gap: 10px;
  width: 100%;
  padding: 0 30px;
  margin-top: 20px;
}

.recruit__column-number .col .list-year li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.recruit__column-number .col .list-year .year {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 15px;
  white-space: nowrap;
}

.recruit__column-number .col .list-year .year::after {
  content: "";
  position: relative;
  display: block;
  width: 100%;
  height: 3px;
  border-bottom: 2px dotted #b09789;
}

.recruit__column-number .col .list-year .main {
  margin-left: 8px;
  font-size: 4rem;
  flex-shrink: 0;
}

.recruit__column-number .col-member {
  grid-column: 3 / 5;
}

.recruit__list-bene {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25%, 1fr));
  gap: 30px 25px;
}

.recruit__list-bene .item {
  position: relative;
  padding-left: 35px;
  line-height: 1;
  font-size: 2.2rem;
  letter-spacing: 0;
}

.recruit__list-bene .item-2col:nth-of-type(odd) {
  grid-column: 1 / 3;
}

.recruit__list-bene .item-2col:nth-of-type(even) {
  grid-column: 3 / 5;
}

.recruit__list-bene .item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  height: 26px;
  background: url(../images/recruit/icon_check.png) no-repeat center / contain;
}

.recruit__list-bene .item .min {
  display: inline-block;
  line-height: 1.3;
  font-size: initial;
}

.recruit__inportant-box {
  display: flex;
  border-top: 2px dotted #999999;
}

.recruit__inportant-box:nth-of-type(odd) {
  background-color: #f5f5f5;
}

.recruit__inportant-box:last-of-type {
  border-bottom: 2px dotted #999999;
}

.recruit__inportant-box dt {
  flex-shrink: 0;
  width: 33.33%;
  padding: 20px;
}

.recruit__inportant-box dd {
  padding: 20px;
}

/*event*/
.recruit__event-box {
  position: relative;
  z-index: 1;
  margin: 50px 0;
  background-color: #fff;
  border-radius: var(--radius-max);
  overflow: clip;
}

.recruit__event-box:first-of-type {
  margin-top: 0;
}

.recruit__event-box:last-of-type {
  margin-bottom: 0;
}

.recruit__event-box .trigger-expand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 50px;
  transition: all var(--transition-primary);
}

.recruit__event-box .trigger-expand:hover {
  color: var(--color-primary);
}

.recruit__event-box .trigger-expand:hover .btn-mid {
  color: var(--color-primary);
}

.recruit__event-box .trigger-expand:hover .btn-mid .icon-plus {
  scale: 1.2;
}

.recruit__event-box .title-recruit {
  margin-bottom: 0;
  font-size: 4rem;
}

.recruit__event-box .expand-content {
  padding: 0 50px 50px;
}

.recruit__event-box .text-content+.difi-table {
  margin-top: 30px;
}

/*flow*/
.recruit__flow-list .item {
  position: relative;
  padding-top: 40px;
}

.recruit__flow-list .item::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50%;
  z-index: -1;
  width: 59px;
  height: 46px;
  background-repeat: no-repeat;
  background-size: contain;
}

.recruit__flow-list .item:nth-of-type(1):before {
  background-image: url(../images/recruit/number_flow_01.png);
}

.recruit__flow-list .item:nth-of-type(2):before {
  background-image: url(../images/recruit/number_flow_02.png);
}

.recruit__flow-list .item:nth-of-type(3):before {
  background-image: url(../images/recruit/number_flow_03.png);
}

.recruit__flow-list .item:nth-of-type(4):before {
  background-image: url(../images/recruit/number_flow_04.png);
}

.recruit__flow-list .item .title-col {
  margin-top: 0;
}

.recruit__flow-list .item p {
  margin-top: 10px;
}

.recruit__flow-list .item p a {
  color: var(--color-primary);
  text-decoration: underline;
}


/*detail*/
.recruit__detail-wrap {
  counter-reset: number 0;
}

.recruit__detail {
  margin: -3px 0 0;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-width: 3px;
  counter-increment: number 1;
}

.recruit__detail[data-status="stop"] {
  background-color: #f5f5f5;
  filter: grayscale(1);
  opacity: 0.5;
  pointer-events: none;
}

.recruit__detail .trigger-acc {
  transition: all 0.2s ease-in-out;
}

.recruit__detail .trigger-acc:hover {
  background-color: var(--color-primary-light2);
}

.recruit__detail-head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 30px;
}

.recruit__detail-head::before {
  content: counter(number) " ";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background: url(../images/recruit/bg_detail_number.png) no-repeat center / contain;
  color: var(--color-primary);
  font-size: 2.6rem;
  font-weight: 700;
}

.recruit__detail-head .title-mid {
  margin: 0;
}

.recruit__detail-head .tag-post {
  padding: 5px 10px;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 5px;
  line-height: 1;
  font-size: 1.8rem;
  font-weight: 700;
}

.recruit__detail-head .tag-post.post-regular {
  border-color: #189e67;
  color: #189e67;
}

.recruit__detail-head .tag-post.post-part {
  border-color: #187d9e;
  color: #187d9e;
}

.recruit__detail-head .tag-post.post-contract {
  border-color: #f0874e;
  color: #f0874e;
}

.recruit__detail-content .container-btns {
  justify-content: flex-start;
  gap: 10px;
  margin: 15px 0;
}

.recruit__detail-content .container-btns+.container-inner,
.recruit__detail-content .container-inner:first-of-type {
  margin-top: 30px;
}


/*contact*/
.recruit__contact {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 60px 70px;
  gap: 20px;
  background: var(--tex-primary);
  border-radius: var(--radius-max);
  color: #fff;
}

.recruit__contact::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/recruit/bg_contact.png) no-repeat right center / auto 100%;
}

.recruit__contact .content {
  position: relative;
  z-index: 1;
}

.recruit__contact .content .title-mid {
  line-height: 1.5;
  font-size: 3rem;
}

.recruit__contact .img {
  min-width: 30%;
  text-align: center;
}


/* **************************************************************
 message
*************************************************************** */
.title-message {
  position: relative;
  display: table;
  padding-left: 65px;
  margin-bottom: 80px;
  line-height: 1.3;
  font-size: 3rem;
}

.title-message::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 40px;
  height: 40px;
  background: url(../images/icon_title_sub.svg) no-repeat center / contain;
}

/*heading*/
.message__heading {
  display: flex;
  justify-content: space-between;
  gap: 0 30px;
}

.message__heading .title-max {
  font-size: clamp(4.6rem, 3.125vw, 6rem);
}

.message__heading-info {
  margin-top: 70px;
}

.message__heading-info .tag {
  display: inline-block;
  padding: 6px 10px;
  margin-bottom: 10px;
  background-color: #fff;
  border: 1px solid var(--color-primary);
  border-radius: 5px;
  line-height: 1;
  color: var(--color-primary);
  font-size: 1.6rem;
}

.message__heading-info .title {
  display: block;
  margin: 10px 0;
  font-size: 2.2rem;
}

.message__heading-info .title .min {
  font-size: initial;
}

.message__heading-img {
  flex-shrink: 0;
  max-width: 35.89%;
}

.message__content .title-mid {
  line-height: 1.5;
  font-size: 4rem;
}

.message__btns .text {
  width: 100%;
  text-align: center;
}

/* **************************************************************
 access
*************************************************************** */
.access__map {
  border-radius: var(--radius-max);
  overflow: hidden;
  margin-bottom: 100px;
}

.access__map #apimap {
  width: 100%;
  height: 640px;
}

/*route*/
.access__route {
  padding: 0 30px;
  background: var(--tex-primary-light);
  border-radius: var(--radius-max);
}

.access__route-box {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px 30px;
  padding: 30px 0;
}

.access__route-box:not(:first-of-type) {
  border-top: var(--border-primary);
}

.access__route-box .title.max {
  min-width: 290px;
}

.access__route-box .btn-min {
  margin-left: auto;
  font-size: inherit;
}

.access__neighbor-list .col .text-center {
  display: block;
  margin-top: 15px;
}


/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


---  print 印刷用CSS


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media print {}





/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 1670px / Note PC


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 1670px) {


  /* 
----------------------------------------------------------------------------------------------- */

}




/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 1440px / Note PC


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 1440px) {

  /* ------------------------------------
   shokibo
  ------------------------------------ */
  .shokibo-book-content .btn-mid {
    min-width: 200px;
  }

  /* **************************************************************
   recruit
  *************************************************************** */
  .recruit__charm-list {
    flex-direction: column;
  }

  .recruit__charm-list .item {
    width: 100%;
    margin: 0;
  }

  .recruit__charm-list .item:nth-of-type(even) {
    margin-top: 0;
  }

  .recruit__message-list {
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }

  .recruit__column-number {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .recruit__column-number .col-member {
    grid-column: 1 / 4;
  }

  .recruit__list-bene {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .recruit__list-bene .item-2col {
    grid-column: 1 / 4 !important;
  }

  .recruit__event-box .title-recruit {
    padding-left: 50px;
    font-size: 3.4rem;
  }

  .recruit__event-box .title-recruit::before {
    width: 30px;
    height: 30px;
  }

}







/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


---  1199px


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 1199px) {

  /* **************************************************************
   about
  *************************************************************** */
  .about__activities .column-content {
    width: 100%;
  }

  .club-program {
    grid-template-columns: 1fr 1fr;
  }

  .about__corporation .column-content {
    width: 100%;
  }



  /* **************************************************************
 service
*************************************************************** */
  /* ------------------------------------
   shokibo
  ------------------------------------ */
  .shokibo-info {
    flex-direction: column;
    gap: 25px;
  }

  .shokibo-info .panel {
    justify-content: center;
    width: 100%;
  }

  /* ------------------------------------
   hoiku
  ------------------------------------ */
  .flow-box {
    padding: 40px;
  }

  .flow-timeline .item .time {
    min-width: 70px;
    margin-right: 0;
    font-size: 3rem;
  }

  .hoiku-info .column-content {
    width: 100%;
  }

  .salon-detail {
    margin-top: 0;
  }

  /* **************************************************************
   recruit
  *************************************************************** */
  .recruit__heading {
    width: calc(100% - 100px);
  }

  .recruit__about .icons img:nth-of-type(1) {
    width: 200px;
  }

  .recruit__about .icons img:nth-of-type(2) {
    right: 30px;
  }

  .recruit__about .title {
    margin-bottom: 40px;
  }

  .recruit__about .text-content {
    margin: 40px 0;
  }

  .recruit__about-img {
    margin-top: 50px;
  }


  /* **************************************************************
   message
  *************************************************************** */
  .message__heading {
    flex-direction: column-reverse;
    align-items: center;
  }

  .message__heading-img {
    max-width: 80%;
    margin-bottom: 30px;
    text-align: center;
  }

  .message__heading-info {
    margin-top: 30px;
  }

  .message__content .title-mid {
    font-size: 3rem;
  }

}



/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 1023px(Laptop、iPad横以下)


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 1023px) {}







/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 991px


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 991px) {

  /* **************************************************************
   about
  *************************************************************** */
  .about__values .text-content {
    font-size: 1.8rem;
  }

  .officer-list dt {
    justify-content: flex-start;
    padding: 5px 10px;
  }

  .office-files-list li {
    margin-bottom: 15px;
  }

  .office-files:not(:last-of-type) {
    margin-bottom: 15px;
  }

  .office-files dt p {
    min-width: 100%;
  }

  .office-files .date {
    font-size: 80%;
  }




  /* **************************************************************
   service
  *************************************************************** */
  /* ------------------------------------
 common
------------------------------------ */
  /*heaidng*/
  .service__heading {
    padding: 80px 0;
  }

  .service__heading-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .service__heading-info {
    gap: 10px;
  }


  /*table*/
  .price-table__header {
    border-bottom: 2px solid #b09789;
  }

  th.price-table__cell:first-of-type[scope="rowgroup"] {
    z-index: 1;
  }

  .price-table-wrap {
    max-height: 70vh;
    overflow: auto;
  }

  .price-table {
    margin-top: -10px;
  }

  .option-table-wrap {
    max-height: 70vh;
    overflow: auto;
  }

  /* ------------------------------------
 facility
------------------------------------ */
  .facility__map {
    padding: 15px;
  }


  /* ------------------------------------
   hoiku
  ------------------------------------ */
  .banner-instagram {
    justify-content: center;
    padding: 30px;
    gap: 20px;
  }

  .banner-instagram .content {
    display: block;
    padding-left: 70px;
    gap: 10px;
  }

  .banner-instagram .content::before {
    width: 50px;
    height: 50px;
  }

  .banner-instagram .title-max {
    font-size: 3rem;
  }

  .banner-instagram .tag {
    right: -50px;
  }

  .banner-instagram .btn-mid {
    min-width: 250px;
  }

  .flow-box .img {
    position: absolute;
    right: -30px;
    bottom: -15px;
    max-width: 30%;
  }

  .admission-list .tag {
    font-size: 1.8rem;
  }



  /* **************************************************************
 NewsLetter
*************************************************************** */
  .newsletter__inner {
    gap: 30px 50px;
  }

  .newsletter__thumb {
    max-width: 30%;
  }


  /* **************************************************************
   recruit
  *************************************************************** */
  .title-recruit {
    font-size: 4rem;
  }

  .title-recruit::before {
    top: 10px;
    width: 35px;
    height: 35px;
  }

  .recruit__heading {
    width: 90%;
  }

  .recruit__heading-img {
    height: 640px;
  }

  .recruit__heading-title {
    left: 5%;
  }

  .banner-certification {
    grid-template-columns: auto 1fr;
  }

  .banner-certification .logo {
    grid-row: 1 / 3;
  }

  .banner-certification .links {
    grid-column: 1 / 3;
  }

  .banner-certification .links .link-arrow {
    margin-left: auto;
  }

  .recruit__about .icons {
    top: -50px;
  }

  .recruit__about .icons img:nth-of-type(1) {
    top: -100px;
    width: 180px;
  }

  .recruit__about .icons img:nth-of-type(2) {
    right: 0;
  }

  .recruit__resources-message .inner {
    padding: 60px 30px;
  }

  .recruit__resources-message .text-content {
    text-align: justify;
  }

  .recruit__message-list .item .title .min {
    font-size: 1.6rem;
  }

  .recruit__event-box .trigger-expand {
    padding: 30px;
  }

  .recruit__event-box .title-recruit {
    font-size: 3rem;
  }

  .recruit__event-box .trigger-expand .btn-mid {
    min-width: 230px;
  }

  .recruit__event-box .expand-content {
    padding: 0 30px 30px;
  }

  .recruit__flow-list .item p {
    width: 80%;
    margin: 10px auto;
  }

  .recruit__contact {
    padding: 50px;
  }

  .recruit__detail .trigger-acc {
    padding: 20px 60px 20px 20px;
  }


  /* **************************************************************
   access
  *************************************************************** */
  .access__route-box {
    grid-template-columns: auto 1fr;
  }

  .access__route-box .title {
    width: 100%;
    grid-column: 1 / 3;
  }


}







/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 767px(スマホ、iPad縦以下)


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 767px) {

  /* **************************************************************
   about
  *************************************************************** */
  .season-list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .season-list {
    margin-top: 25px;
  }

  .season-list .item .season {
    width: 50px;
    height: 50px;
    font-size: 1.8rem;
  }

  .season-list .item .title-col {
    margin: 10px 0;
  }

  .club-program {
    grid-template-columns: 1fr;
    margin: 15px 0;
    font-weight: 700;
  }

  .about__philosophy .text-philosophy {
    font-size: 3rem;
  }

  .officer-list dd ul {
    flex-direction: column;
  }


  /* **************************************************************
   service
  *************************************************************** */
  /* ------------------------------------
 common
------------------------------------ */
  /*heaidng*/
  .service__heading {
    padding: 50px 0 40px;
  }

  .service__heading-inner {
    gap: 30px;
  }

  .service__heading-title {
    gap: 20px;
  }

  .service__heading-title .title-sub {
    font-size: 2rem;
  }

  .service__heading-title .title-main {
    font-size: clamp(3.2rem, 2.5vw, 4rem);
  }

  .service__heading-img {
    height: 300px;
  }

  .service__heading-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .service__heading-img .icon {
    width: 100px;
    height: 100px;
    padding: 10px;
  }

  /*table*/
  .option-table-wrap {
    max-height: 80vh;
    overflow: auto;
  }

  .option-table__header {
    border-bottom: 2px solid #b09789;
  }

  .option-table__row {
    border-bottom: 1px solid #b09789;
  }

  th.option-table__cell {
    min-width: 200px;
  }

  .option-table__header .min,
  .option-table__cell .min {
    font-size: 1.4rem;
  }

  .limit-table .table__header {
    display: none;
  }

  .limit-table .common-table__row {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0;
    border: 1px solid #b09789;
  }

  .limit-table .common-table__cell {
    width: 100%;
    white-space: pre-wrap;
  }

  .limit-table th.common-table__cell {
    max-width: 100%;
    text-align: center;
  }

  .limit-table td.common-table__cell:not(:first-of-type) {
    background-color: var(--color-primary-light2);
    border-left: none;
  }


  /* ------------------------------------
 facility
------------------------------------ */

  .facility__slider .facility__name {
    font-size: 1.8rem;
  }

  /* ------------------------------------
   hoiku
  ------------------------------------ */
  .banner-instagram {
    flex-direction: column;
  }

  .banner-instagram .title-max {
    gap: 0;
  }

  .banner-instagram .btns {
    position: static;
  }

  .banner-instagram .tag {
    top: -50px;
    right: -20px;
    width: 120px;
    height: 120px;
  }

  .admission-panel {
    justify-content: center;
  }

  .admission-panel .panel__title {
    align-items: center;
  }

  .admission-panel .panel__content {
    justify-content: center;
  }

  .flow-timeline .item {
    font-size: 1.8rem;
  }

  .salon-detail {
    font-size: 1.6rem;
  }

  /* **************************************************************
 NewsLetter
*************************************************************** */
  .newsletter__inner {
    flex-direction: column-reverse;
    align-items: center;
  }

  .newsletter__thumb {
    max-width: 70%;
  }

  .newsletter__list a {
    padding: 20px 10px;
  }

  .newsletter__list a .name {
    font-size: 1.8rem;
  }

  .newsletter__list a .date {
    font-size: 1.4rem;
  }


  /* **************************************************************
   recruit
  *************************************************************** */
  .recruit__heading-title .title-main {
    font-size: 4rem;
  }

  .recruit__heading-img {
    height: 550px;
  }

  .recruit__heading-illust {
    right: 0;
    width: 130px;
  }

  .banner-certification {
    padding: 30px;
    gap: 0 20px;
  }

  .recruit__about .icons img:nth-of-type(1) {
    width: 150px;
  }

  .recruit__about .icons img:nth-of-type(2) {
    top: -50px;
    width: 80px;
  }

  .recruit__about .text-content {
    font-size: 1.8rem;
  }

  .recruit__message-list {
    grid-template-columns: 1fr;
  }

  .recruit__message-list .item {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .recruit__column-number {
    grid-template-columns: 1fr 1fr;
  }

  .recruit__column-number .col {
    min-height: inherit;
  }

  .recruit__column-number .col-member {
    grid-column: 1 / 3;
  }

  .recruit__column-number .col .title {
    margin-bottom: 15px;
    font-size: 1.8rem;
  }

  .recruit__column-number .col .main {
    font-size: 7rem;
  }

  .recruit__column-number .col .list .main {
    font-size: 6rem;
  }

  .recruit__column-number .col .list-year {
    margin-top: 0;
  }

  .recruit__list-bene {
    gap: 25px 10px;
  }

  .recruit__list-bene .item {
    font-size: 1.8rem;
  }

  .recruit__list-bene .item .min {
    font-size: 80%;
  }

  .recruit__inportant-box {
    flex-direction: column;
  }

  .recruit__inportant-box dt {
    width: 100%;
    font-weight: 700;
  }

  .recruit__inportant-box dt br {
    display: none;
  }

  .recruit__inportant-box dd {
    padding-top: 0;
  }

  .recruit__event-box {
    margin: 25px 0;
  }

  .recruit__event-box .trigger-expand {
    flex-direction: column;
    gap: 20px;
    padding: 30px 20px;
  }

  .recruit__event-box .title-recruit {
    display: flex;
  }

  .recruit__event-box .expand-content {
    padding: 0 20px 20px;
  }

  .recruit__contact {
    justify-content: center;
    flex-direction: column;
    padding: 30px;
  }

  .recruit__contact .content .title-mid {
    font-size: 2.4rem;
  }

  .recruit__contact .content .btn-mid {
    margin: 0 auto;
  }

  .recruit__contact .img {
    max-width: 80%;
  }


  /* **************************************************************
   message
  *************************************************************** */
  .title-message {
    margin-bottom: 30px;
    padding-left: 35px;
    font-size: 1.8rem;
  }

  .title-message::before {
    width: 25px;
    height: 25px;
  }

  .message__heading .title-max {
    font-size: clamp(3rem, 8vw, 5rem);
  }

  .message__btns .btn-max {
    width: 100%;
  }

  /* **************************************************************
   access
  *************************************************************** */
  .access__map #apimap {
    height: 440px;
  }

  .access__route-box {
    grid-template-columns: 1fr;
  }

  .access__route-box .title {
    grid-column: inherit;
  }

  .access__route-box .btn-min {
    margin-right: auto;
  }

}



/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 560px


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 560px) {

  /* **************************************************************
   about
  *************************************************************** */
  .about__values .text-content {
    font-size: 1.6rem;
  }

  .about__local .difi-table {
    margin: 25px auto;
  }

  .ayumi-list {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .ayumi-list dd {
    margin-bottom: 10px;
  }

  .office-files-list li {
    margin-bottom: 0;
  }

  .office-files {
    grid-template-columns: 1fr !important;
  }

  .office-files dt {
    gap: 0 15px;
  }



  /* **************************************************************
   service
  *************************************************************** */
  /* ------------------------------------
 common
------------------------------------ */
  .service__heading::before {
    height: 400px;
  }



  /*table*/
  .price-table-wrap {
    border: 2px solid #d8d8d8;
  }

  .price-table {
    border-spacing: 0;
    margin-top: 0;
  }

  .price-table__header {
    padding: 10px;
    font-size: 1.4rem;
  }

  .price-table__header .min {
    font-size: 1.2rem;
  }

  .price-table__cell {
    min-width: 110px;
    padding: 10px;
    font-size: 1.4rem;
  }

  .option-table-wrap {
    border: 2px solid #d8d8d8;
  }

  .option-table__header {
    padding: 10px;
    font-size: 1.4rem;
  }

  .option-table__cell {
    min-width: fit-content;
    padding: 10px;
    font-size: 1.4rem;
    white-space: nowrap;
  }

  .option-table__cell:last-child {
    text-align: right;
  }

  .life-table {
    width: 100%;
  }

  .life-table .common-table__row {
    display: flex;
    flex-wrap: wrap;
  }

  .life-table .common-table__cell {
    width: 100%;
  }


  /* ------------------------------------
   facility
  ------------------------------------ */
  .facility__slider .facility__name {
    left: 10px;
    bottom: 10px;
    font-size: 1.6rem;
  }

  /* ------------------------------------
   shokibo
  ------------------------------------ */
  .shokibo-info {
    margin: 40px 0;
  }

  .shokibo-panel__difi {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .shokibo-panel__difi .tag {
    padding: 10px;
    font-size: 1.8rem;
  }

  .shokibo-info .shokibo-book {
    flex-direction: column;
    gap: 15px;
  }

  .shokibo-book-content {
    text-align: center;
  }

  .shokibo-book-content .btn-mid {
    margin: 0 auto;
  }

  /* ------------------------------------
   hoiku
  ------------------------------------ */
  .banner-instagram .content {
    padding-left: 0;
    padding-top: 70px;
  }

  .banner-instagram .content::before {
    left: 50%;
    top: 0;
    translate: -50% 0;
  }

  .banner-instagram .title-max {
    text-align: center;
  }

  .banner-instagram .text-id {
    text-align: center;
  }

  .banner-instagram .tag {
    top: -20px;
  }

  .flow-box {
    padding: 30px 20px;
    margin-bottom: 100px;
  }

  .flow-box .img {
    right: 0;
    bottom: -80px;
    max-width: 40%;
  }

  .flow-timeline {
    gap: 20px;
  }

  .flow-timeline::before {
    left: 23px;
    height: 90%;
  }

  .flow-timeline .item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 0 10px;
  }

  .flow-timeline .item img {
    width: 50px;
  }

  .flow-timeline .item .time {
    margin-top: -10px;
    font-size: 2.2rem;
    text-align: left;
  }

  .flow-timeline .item p {
    margin-top: -10px;
    padding-left: 70px;
    grid-column: 1/3;
  }


  /* **************************************************************
   recruit
  *************************************************************** */
  .title-recruit {
    padding-left: 55px;
    margin-bottom: 35px;
    font-size: clamp(2rem, 8vw, 4rem);
  }

  .title-recruit::before {
    top: 50%;
    translate: 0 -50%;
  }

  .title-balloon {
    padding: 15px 25px;
    font-size: 2.2rem;
  }

  .link-ict {
    font-size: 1.8rem;
  }

  .recruit__heading {
    width: 100%;
  }

  .recruit__heading-img {
    height: 400px;
    border-radius: 0;
  }

  .recruit__heading-title .title-main {
    font-size: 3rem;
  }

  .banner-certification {
    padding: 30px 20px;
    grid-template-columns: 1fr;
  }

  .banner-certification .logo {
    margin-bottom: 10px;
    text-align: center;
  }

  .banner-certification .text-content {
    line-height: 1.5;
    font-size: 90%;
  }

  .banner-certification .links {
    grid-column: inherit;
  }

  .banner-certification .links .link-arrow {
    margin: 10px auto 0;
  }

  .recruit__about .title {
    font-size: clamp(2rem, 8vw, 4rem);
  }

  .recruit__about .text-content {
    font-size: 1.6rem;
  }

  .recruit__charm-list .item {
    gap: 20px;
  }

  .recruit__charm-list .item .point {
    width: 80px;
    height: 80px;
    font-size: 1.3rem;
  }

  .recruit__charm-list .item .title-mid {
    display: flex;
    align-items: center;
    min-height: 80px;
    white-space: normal;
  }

  .recruit__charm-list .item .text-content {
    margin-left: -90px;
  }

  .recruit__charm .icons img:nth-of-type(1) {
    bottom: -80px;
    width: 150px;
  }

  .recruit__event-box .trigger-expand {
    padding: 20px;
  }

  .recruit__event-box .trigger-expand .btn-mid {
    padding: 10px 10px 10px 15px;
  }


  .recruit__resources-message {
    padding: 5px;
    border-radius: 40px;
  }

  .recruit__resources-message .inner {
    padding: 20px 20px 40px;
    border-width: 2px;
    border-radius: 35px;
  }

  .recruit__resources-message .name {
    margin-top: 25px;
    font-size: 1.8rem;
  }

  .recruit__event-box .title-recruit {
    font-size: clamp(2.2rem, 5.35vw, 3rem);
  }

  .recruit__message-list .item .link {
    padding: 20px;
  }

  .recruit__message-list .item .title {
    font-size: 1.8rem;
  }

  .recruit__message-list .item .title .min {
    font-size: 1.4rem;
  }

  .recruit__column-number .col {
    padding: 15px 0;
  }

  .recruit__column-number .col .main {
    font-size: 5rem;
  }

  .recruit__column-number .col .main .sub {
    margin-left: 0;
  }

  .recruit__column-number .col .list .main {
    font-size: 4rem;
  }

  .recruit__column-number .col .list {
    gap: 0;
  }

  .recruit__column-number .col .list .cap {
    font-size: 1.4rem;
    letter-spacing: 0;
  }


  .recruit__column-number .col .list-year {
    padding: 0 15px;
  }

  .recruit__column-number .col .list-year .year {
    gap: 5px;
    font-size: 1.4rem;
  }

  .recruit__column-number .col .list-year .main {
    font-size: 2.2rem;
  }

  .recruit__column-number .col .main .sub {
    font-size: 1.6rem;
  }

  .recruit__list-bene {
    grid-template-columns: 1fr 1fr;
  }

  .recruit__list-bene .item-2col {
    grid-column: 1 / 3 !important;
  }

  .recruit__list-bene .item {
    font-size: 1.6rem;
  }

  .recruit__list-bene .item::before {
    top: -3px;
  }

  .recruit__flow-list .item {
    padding-top: 25px;
  }

  .recruit__flow-list .item .title-col {
    margin: 10px 0;
  }

  .recruit__flow-list .item p {
    width: 95%;
  }

  .recruit__detail {
    margin-left: -20px;
    margin-right: -20px;
  }

  .recruit__detail .trigger-acc {
    padding: 20px 10px;
  }

  .recruit__detail-head {
    gap: 0 15px;
  }

  .recruit__detail-head::before {
    width: 40px;
    height: 40px;
    font-size: 1.6rem;
  }

  .recruit__detail-head .tag-post {
    padding: 3px 5px;
    font-size: 1.4rem;
  }

  .recruit__contact::before {
    opacity: 0.5;
  }

  /* **************************************************************
   access
  *************************************************************** */
  .access__route {
    padding: 0 20px;
  }

  .access__route-box {
    padding: 20p 0;
  }


}





/* /////////////////////////////////////////////////////////////////////////////////////////////////////////


--- 374px（スマホ中）


///////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (max-width: 374px) {}