@charset "utf-8";
/*	ヘッダー
---------------------------------*/
/* :root{
	--header: 60px;
	scroll-padding: var(--header);
}
@media screen and (min-width: 768px){
    :root{
        --header: 90px;
    }
}
@media screen and (min-width: 1023px){
    :root{
        --header: 100px;
    }
} */

.dn {
  display: none;
}
.gjs-dashed .dn {
  display: block;
}

.hd-h1 {
  display: none;
}
.click_event {
  pointer-events: none;
}
.header__wrap {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.header__wrap .subhd {
  display: none;
  margin-bottom: 0 !important;
}
.gjs-dashed .header {
}
.header {
  width: 100%;
  background-color: #fbfbfb;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transition: all 0.3s;
}
.hd-inr {
  height: 60px;
  padding: 5px 10px;
  position: relative;
}
.hd-logo {
  width: 140px;
  position: relative;
  z-index: 1000;
}
.hd-logo.hd-os-logo {
  width: 103px;
}
.hd-logo a {
  display: block;
  position: relative;
}
.hd-right {
  display: none;
}
.hd-nav {
  height: 100vh;
}
@media screen and (min-width: 768px) {
  .hd-inr {
    height: 90px;
    padding: 15px;
  }
  .hd-logo {
    display: block;
    width: 170px;
  }
  .hd-logo.hd-os-logo {
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  .header__wrap .subhd {
  }
  .header {
  }
  .hd-inr {
    height: auto;
    padding: 15px 10px;
  }
  .hd-logo {
    max-width: 220px;
    width: 15vw;
  }
  .hd-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-items: center;
    align-items: center;
  }
  .hd-nav {
    height: auto;
  }
  .hd-nav .li {
    padding-left: 30px;
  }
  .hd-nav .li:first-of-type {
    padding-left: 0;
  }
  .hd-nav .li a {
    display: block;
    text-align: center;
    cursor: pointer;
  }
  .hd-nav .li a p {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}
@media screen and (min-width: 1230px) {
  .hd-inr {
    padding: 15px min(calc((100vw - 1200px) / 2), 160px) 15px 40px;
  }
  .hd-nav .li {
    padding-left: 30px;
  }
  .hd-nav .li a p {
    font-size: 1.8rem;
  }
}

/*ハンバーガーボタン*/
.navToggle {
  display: block;
  position: absolute;
  right: 0px;
  top: 0px;
  margin: auto;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 9999;
}
.navToggle div {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 25px;
  height: 16px;
}
.navToggle span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #ffffff;
  left: 0;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
.navToggle span:nth-child(1) {
  top: 0;
}
.navToggle span:nth-child(2) {
  top: 7px;
}
.navToggle span:nth-child(3) {
  top: 14px;
}
/* ハンバーガーボタン 切り替えアニメーション */
.open .navToggle {
  position: fixed;
  z-index: 10002;
}
.open .navToggle span {
  background: #333333;
}
.open .navToggle span:nth-child(1) {
  top: 7px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open .navToggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open .navToggle span:nth-child(3) {
  top: 7px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}

/*---------- ハンバーガーメニュー ----------*/
.bg-hum-blue {
  background-color: #f99103;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
}
.gjs-dashed .navbar {
  background-color: #fff;
  overflow: scroll;
  height: 100vh;
}
.hd-sp-menu {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
}
.gjs-dashed .hd-sp-menu {
  width: 100%;
}
.hd-sp-menu.open {
  overflow: scroll;
  max-width: 500px;
  width: 100%;
  height: 100vh;
  background-color: #fff;
}
.navbar {
  background: transparent;
  max-width: 500px;
  width: 100%;
  padding: 22.5px 10px;
  margin-left: auto;
}
.navbar.open {
  background: #fff;
}
.navbar-dark .navbar-toggler {
  color: rgba(0, 0, 0, 0.5);
  border: none;
  padding: 0px;
  width: 20px;
  height: 15px;
  margin: auto;
  margin-right: 5px;
  box-sizing: border-box;
  position: relative;
}

.navbar-dark .navbar-toggler-icon {
  background-image: none;
  background-color: #000;
  width: 20px;
  height: 2px;
  display: block;
  position: absolute;
  transition: ease 0.5s;
}

.navbar-toggler-icon:nth-of-type(1) {
  top: 0px;
}

.navbar-toggler-icon:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}

.navbar-toggler-icon:nth-of-type(3) {
  bottom: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background-color: #000;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
  top: 8px;
  transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
  top: 8px;
  transform: rotate(-45deg);
}
button:focus {
  outline: none;
}
.navbar-collapse {
  padding-top: 30px;
}
.navbar-collapse.show {
}
.navbar-nav {
  margin-bottom: 30px;
}
.nav-item {
  padding: 0 15px;
  border-bottom: solid 1px #f5b2b2;
}
.nav-item:first-of-type {
  border-top: solid 1px #f5b2b2;
}
.nav-item p {
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 60px;
}
.hd-btn-sp {
  background-color: #cae8e6;
  border-radius: 33px;
  max-width: 280px;
  width: 100%;
  margin: 0 auto 20px;
  text-align: center;
  position: relative;
}
.hd-btn-sp:last-of-type {
  margin-bottom: 0;
}
.hd-btn-sp.contact a {
  display: block;
}
.hd-btn-sp p {
  display: inline;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 60px;
  padding-left: 50px;
  position: relative;
}
.hd-btn-sp p:before {
  content: "";
  background: no-repeat center center / contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.hd-info {
  max-width: 320px;
  width: 100%;
  border: solid 1px #f5b2b2;
  border-radius: 0 64px 0 64px;
  text-align: center;
  padding: 30px 15px;
  margin: 0 auto;
}
.hd-info__ttl {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.hd-info__num {
  font-size: 3rem;
  font-weight: 900;
  color: #f5b2b2;
  line-height: 1;
  margin-bottom: 5px;
}
.hd-info__time {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .navbar {
    padding: 30px 15px;
  }
  .navbar-dark .navbar-toggler {
    width: 40px;
    height: 30px;
    margin-right: 10px;
  }
  .navbar-dark .navbar-toggler-icon {
    width: 100%;
    height: 3px;
  }
  .navbar-collapse.show {
  }
  .bg-hum-blue {
    width: 90px;
    height: 90px;
  }
  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
    top: 13px;
  }
  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
    top: 13px;
  }
}
@media screen and (min-width: 1024px) {
  .navbar {
    padding: 59.5px 15px;
  }
}
@media screen and (min-width: 1080px) {
  .bg-hum-blue {
    display: none;
  }
}

/*	フッター共通コンテンツ
---------------------------------*/

/*	フッター
---------------------------------*/
.ft-box {
  padding: 60px 0;
  position: relative;
}
.ft-box__inr__logo {
  width: 220px;
  text-align: center;
  margin: 0 auto 40px;
}
.ft-box__inr__cont {
  border-top: solid 1px #d8d8cd;
  padding-top: 40px;
}
.ft-box__inr__cont.flex-btw {
  display: block;
}
.ft-box__inr__cont__item {
  margin-bottom: 40px;
}
.ft-box__inr__cont__item:last-of-type {
  margin-bottom: 0;
}
.ft-box__inr__cont__item__ttl {
  font-family: "Zen Maru Gothic", serif;
  font-size: 2rem;
  font-weight: 700;
  color: #ff7697;
  margin-bottom: 20px;
}
.ft-box__inr__cont__item__info.flex-btw {
  display: block;
}
.ft-box__inr__cont__item__info__txt {
  margin-bottom: 30px;
}
.ft-box__inr__cont__item__info__txt__p strong {
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #ff7697;
}
.ft-box__inr__cont__item__info__map {
  height: 250px;
}
.ft-box__inr__cont__item__info__map iframe {
  width: 100%;
  height: 100%;
}
.ft-box__inr__cont__item.ft-box__inr__cont__item--type02 .ft-box__inr__cont__item__ttl {
  color: #f5b2b2;
}
.ft-box__inr__cont__item.ft-box__inr__cont__item--type02
  .ft-box__inr__cont__item__info__txt__p
  strong {
  color: #f5b2b2;
}
.ft-nav {
  display: none;
}
.ft-box__copy {
  background-color: #f5b2b2;
  padding: 15px;
}
.ft-box__icon01 {
  max-width: max-content;
  width: 40%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.ft-box__icon02 {
  max-width: max-content;
  width: 40%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .ft-box {
    padding: 100px 0;
  }
  .ft-box__inr__logo {
    width: auto;
    text-align: center;
    margin: 0 0 60px;
  }
  .ft-box__inr__cont {
    padding-top: 60px;
  }
  .ft-box__inr__cont.flex-btw {
    display: flex;
    gap: 0 15px;
  }
  .ft-box__inr__cont__item {
    width: calc((100% - 30px) / 3);
    margin: 0;
  }
  .ft-box__inr__cont__item__ttl {
    font-size: min(2.8vw, 2.4rem);
    margin-bottom: 30px;
  }
  .ft-box__inr__cont__item__info__txt__p {
    font-size: min(2vw, 1.8rem);
  }
  .ft-box__icon01 {
    width: 25%;
  }
  .ft-box__icon02 {
    width: 25%;
  }
}
@media screen and (min-width: 1024px) {
  .ft-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .ft-nav .li {
    padding: 0 50px 0 0;
    margin-bottom: 15px;
    position: relative;
  }
  .ft-nav .li:last-of-type {
    padding-right: 0;
  }
  .ft-nav .li p {
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
  }
  .ft-box__inr__cont.flex-btw {
    gap: 0 40px;
  }
  .ft-box__inr__cont__item {
    width: calc((100% - 80px) / 3);
  }
  .ft-box__inr__cont__item__info__txt__p {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1230px) {
  .ft-box__inr__cont__item__info.flex-btw {
    display: flex;
    gap: 20px;
  }
  .ft-box__inr__cont__item__info__txt {
  }
  .ft-box__inr__cont__item__info__map {
  }
  .ft-box__icon01 {
    top: 40px;
    right: 60px;
  }
  .ft-box__icon02 {
    bottom: 90px;
    left: 40px;
  }
}

/*	フッター  OS
---------------------------------*/
.ft-box__os {
  padding: 50px 0 40px;
}
.ft-box__os__cont__item.flex-btw {
  display: block;
}
.ft-box__os__cont__item {
  border-bottom: solid 1px #d8d8cd;
  padding-bottom: 40px;
}
.ft-box__os__cont__item__info {
  margin-bottom: 30px;
}
.ft-box__os__cont__item__info__logo {
  width: 150px;
  margin: 0 auto 30px;
}
.ft-box__os__cont__item__info__txt strong {
  font-weight: 900;
  color: #f5b2b2;
}
.ft-box__os__cont__item__map iframe {
  width: 100%;
  height: 250px;
}
@media screen and (min-width: 768px) {
  .ft-box__os {
    padding: 70px 0 40px;
  }
  .ft-box__os__cont__item.flex-btw {
    display: flex;
    gap: 0 50px;
  }
  .ft-box__os__cont__item {
    padding-bottom: 60px;
  }
  .ft-box__os__cont__item__info {
    max-width: 350px;
    width: 40%;
    margin-bottom: 0;
  }
  .ft-box__os__cont__item__info__logo {
    width: auto;
    margin: 0 0 30px;
  }
  .ft-box__os__cont__item__map {
    flex: 1;
    max-width: 720px;
    height: 440px;
  }
  .ft-box__os__cont__item__map iframe {
    height: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .ft-box__os__cont__item {
    margin-bottom: 40px;
  }
}

/*	マップ
---------------------------------*/
.access-map {
  width: 100%;
  height: 250px;
}
.access-map iframe {
  width: 100%;
  height: 250px;
}
@media screen and (min-width: 768px) {
  .access-map {
    height: 400px;
  }
  .access-map iframe {
    height: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .access-map {
    height: 550px;
  }
  .access-map iframe {
    height: 550px;
  }
}

/*	ページトップへ戻るボタン
---------------------------------*/
.btn-pagetop {
  width: 50px;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .btn-pagetop {
  }
}
.pagetop-sp {
  display: block;
}
.pagetop-sp a {
  display: block;
  height: 67.5px;
  background-color: #000;
  text-align: center;
  position: relative;
}
.pagetop-sp a div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
}
.pagetop-sp a div:before {
  content: "";
  border-top: solid 1px #fff;
  border-left: solid 1px #fff;
  width: 25px;
  height: 25px;
  transform: rotate(45deg);
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (min-width: 1024px) {
  .pagetop-sp {
    display: none;
  }
}

/*コピーライト（ｐタグ）*/
.copyright {
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-align: center;
}

.copyright a {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .copyright {
    font-size: 1.2rem;
  }
  .copyright a {
    font-size: 1.2rem;
  }
}

/*	メイン画像
---------------------------------*/
.top-mv {
  /* max-width: 900px; */
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  position: relative;
}
.top-mv__cont {
  display: block;
  height: 50vh;
  position: relative;
}
.top-mv__cont__img {
  max-width: 800px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.top-mv__cont__img.ojf:before {
  padding-top: 50vh;
}
.top-mv__cont__img img {
  height: 100%;
}
.top-mv__cont__btn {
  max-width: 440px;
  width: 85%;
  background-color: #fff;
  border-radius: 0 64px 0 0;
  text-align: center;
  position: absolute;
  bottom: 30px;
  left: 0;
}
.top-mv__cont.b-type .top-mv__cont__btn {
  top: 50%;
  bottom: auto;
}
.top-mv__cont__btn__txt {
  display: inline;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 6;
  text-align: center;
  padding-right: 60px;
  position: relative;
}
.top-mv__cont__btn__txt::before {
  content: "";
  background: no-repeat center center / contain;
  background-image: url("../images/icon_arrow.png");
  width: 29px;
  height: 28px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.top-mv__cont.side-work .top-mv__cont__btn {
  border-radius: 0 0 0 64px;
  left: auto;
  right: 0;
}
.top-mv__icon {
  max-width: max-content;
  width: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .top-mv__cont__btn__txt {
    font-size: 2rem;
  }
  .top-mv__cont__btn {
    width: 70%;
    bottom: 90px;
  }
}
@media screen and (min-width: 1080px) {
  .top-mv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;

    max-width: none;
    margin: 0;
  }
  .top-mv__cont {
    width: 50%;
    height: 100%;
  }
  .top-mv__cont__img {
    max-width: none;
  }
  .top-mv__cont__img.ojf:before {
    padding-top: 115%;
  }
  .top-mv__cont.b-type .top-mv__cont__img {
    margin: 0 0 0 auto;
  }
  .top-mv__cont.side-work .top-mv__cont__img {
    margin: 0 auto 0 0;
  }
  .top-mv__cont.b-type .top-mv__cont__btn {
    top: auto;
    bottom: 90px;
  }
}

/*	トップページ
---------------------------------*/
.por {
  position: relative;
}
.top-overflow {
  overflow: hidden;
}
.top-ttl {
  text-align: center;
  margin-bottom: 80px;
  position: relative;
  z-index: 1;
}
.top-ttl.left {
  text-align: left;
}
.top-ttl .ttl-cmn01 {
  line-height: 1;
  margin-bottom: 15px;
}
.top-ttl .ttl-cmn01,
.top-ttl .ttl-cmn02 {
  position: relative;
  z-index: 1;
}
.top-ttl.vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  text-align: left;
}
.top-ttl.vertical .ttl-cmn01,
.top-ttl.vertical .ttl-cmn02 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.top-ttl.vertical .ttl-cmn01 {
  margin-bottom: 0;
}
.top-ttl.white .ttl-cmn01 {
  color: transparent;
  -webkit-text-stroke: 1px #ff7697;
  text-stroke: 1px #ff7697;
}
.top-ttl.mb0 {
  margin-bottom: 0;
}
.top-ttl.small-ttl .ttl-cmn01 {
  font-size: min(16vw, 7rem);
}
.top-ttl--icon {
  padding-bottom: 25px;
}
.top-ttl--icon__img {
  max-width: max-content;
  width: 30%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .top-ttl {
    margin-bottom: 120px;
  }
  .top-ttl .ttl-cmn01 {
  }
  .top-ttl--icon {
    padding-bottom: 40px;
  }
  .top-ttl.small-ttl .ttl-cmn01 {
    font-size: 9.6rem;
  }
}
@media screen and (min-width: 1024px) {
}

/*	下層ヘッダー
---------------------------------*/
.subhd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 60px;
  position: relative;
}
.subhd__img {
  max-height: min(90vh, 480px);
  width: 70%;
  height: 80vw;
  margin-left: auto;
}
.subhd__img.ojf:before {
  content: none;
}
.subhd__img img {
  border-radius: 0 0 0 64px;
}
.subhd-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.subttl__jp {
  width: min(4vw, 2rem);
  font-family: "Zen Maru Gothic", serif;
  font-size: min(4vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.subttl__en {
  width: min(19vw, 13rem);
  font-family: "Zen Maru Gothic", serif;
  font-size: min(19vw, 13rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #ff7697;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.subhd.sidework .subttl__en {
  color: #f5b2b2;
}
@media screen and (min-width: 768px) {
  .subhd {
    margin-top: 90px;
  }
  .subhd__img {
    max-height: min(90vh, 950px);
    width: 81.25%;
    height: 60vw;
  }
  .subhd-ttl {
  }
  .subttl__jp {
    width: min(2.5vw, 2.4rem);
    font-size: min(2.5vw, 2.4rem);
  }
  .subttl__en {
    width: min(13vw, 20rem);
    font-size: min(13vw, 20rem);
  }
}
@media screen and (min-width: 1024px) {
  .subhd {
    margin: 0;
  }
  .subhd__img {
  }
  .subhd-ttl {
  }
  .subhd__bg {
  }
}
@media screen and (min-width: 1080px) {
}

/*	就労継続支援B型について
---------------------------------*/
.btype-about {
  padding: 100px 0;
}
.btype-about__cont__wrap {
  margin-bottom: 60px;
}
.btype-about__cont.flex-btw {
  display: block;
}
.btype-about__cont {
  margin-bottom: 30px;
}
.btype-about__cont__img {
  text-align: center;
  margin-bottom: 40px;
}
.btype-about__cont__img__inr img {
  border-radius: 0 64px 0 64px;
}
.btype-about__cont__info {
  position: relative;
}
.btype-about__cont__info__ttl {
  margin-bottom: 30px;
}
.btype-about__cont__info__ttl.ttl-cmn03 {
  font-size: min(5.5vw, 2.6rem);
}
.btype-about__cont__info__txt {
  font-size: 1.8rem;
  line-height: 2;
  position: relative;
  z-index: 1;
}
.btype-about__cont__info__icon {
  max-width: max-content;
  width: 30%;
  position: absolute;
  bottom: 0;
  right: -15px;
}
.btype-about__icon01 {
  max-width: max-content;
  width: 70%;
  margin-left: auto;
}
.btype-about__job {
  position: relative;
}
.btype-about__job__ttl {
  text-align: center;
  margin-bottom: 30px;
  position: relative;
}
.btype-about__job__ttl__str {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.btype-about__job__ttl__icon {
  width: 245px;
  margin: 0 auto;
}
.btype-about__job__txt {
  margin-bottom: 30px;
}
.btype-about__job__list {
  gap: 0 10px;
}
.btype-about__job__list__item {
  max-width: 360px;
  width: calc((100% - 20px) / 3);
}
.btype-about__job__list__item img {
  border-radius: 0 30px 0 30px;
}
.btype-about__job__icon {
  max-width: max-content;
  width: 40%;
  position: absolute;
  top: 60px;
  left: -15px;
  z-index: -1;
}
.btype-staff {
  background: no-repeat center center / cover;
  background-image: url("../images/bg_btype_staff01.jpg");
  padding: 100px 0;
}
.btype-staff__slider__item {
  max-width: 400px;
  margin: 0 15px;
}
.btype-staff__slider__item__img {
  box-shadow: 0 3px 6px rgba(245, 178, 178, 0.35);
  margin-bottom: 30px;
  border-radius: 64px 0 64px 0;
}
.btype-staff__slider__item__img img {
  border-radius: 64px 0 64px 0;
}
.btype-office {
  padding: 100px 0;
  position: relative;
}
.btype-office__cont.flex-btw {
  display: block;
}
.btype-office__cont__left {
  margin-bottom: 50px;
}
.btype-office__cont__left__ttl.top-ttl.vertical {
  display: block;
}
.btype-office__cont__left__ttl.top-ttl.vertical .ttl-cmn01,
.btype-office__cont__left__ttl.top-ttl.vertical .ttl-cmn02 {
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
}
.btype-office__cont__left__btn__item {
  cursor: pointer;
}
.btype-office__cont__left__btn__item__txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #f5b2b2;
  padding-left: 45px;
  position: relative;
}
.btype-office__cont__left__btn__item.is-active .btype-office__cont__left__btn__item__txt:before {
  content: "";
  background: no-repeat center center / contain;
  background-image: url("../images/icon_petal.png");
  width: 36px;
  height: 32px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  animation: tab-show 0.3s ease-in-out;
}
.btype-office__cont__right {
  margin-left: 15px;
}
.btype-office__cont__right__inr {
  display: none;
}
.gjs-dashed .btype-office__cont__right__inr {
  display: block;
}
.btype-office__cont__right__inr.is-active {
  display: block;
  animation: tab-show 0.3s ease-in-out;
}
@keyframes tab-show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.btype-office__cont__right__img {
}
.btype-office__cont__right__table {
  padding-top: 80px;
  margin-bottom: 50px;
}
.btype-office__cont__right__table__tr {
  margin-bottom: 10px;
}
.btype-office__cont__right__table__tr:last-of-type {
  margin-bottom: 0;
}
.btype-office__cont__right__table__th__p {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #f5b2b2;
}
.btype-office__cont__right__table__th__p {
  font-size: 2rem;
  letter-spacing: 0.05em;
}
.btype-office__bg {
  background-color: #f5efea;
  width: calc(100% - 15px);
  height: 85%;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
.btype-faq {
  padding: 100px 0;
}
.btype-faq__cont {
  margin-bottom: 80px;
}
.btype-faq__cont__item {
  background-color: #f7f7f7;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 52px;
  padding: 30px 15px;
  margin-bottom: 30px;
  cursor: pointer;
}
.btype-faq__cont__item:last-of-type {
  margin-bottom: 0;
}
.btype-faq__cont__item__box__inr {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  gap: 0 20px;
}
.btype-faq__cont__item__box__inr__img {
  width: 30px;
}
.btype-faq__cont__item__box__inr__txt {
  flex: 1;
  padding-right: 30px;
  position: relative;
}
.btype-faq__cont__item__box--q .btype-faq__cont__item__box__inr__txt:before {
  content: "";
  width: 20px;
  height: 3px;
  background-color: #ff7697;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.btype-faq__cont__item__box--q .btype-faq__cont__item__box__inr__txt:after {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #ff7697;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(50%, -50%);
  transition: all 0.3s;
}
.btype-faq__cont__item__box__inr__txt__p {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.btype-faq__cont__item__box--a {
  padding: 0;
  transition: all 0.3s;
}
.btype-faq__cont__item.is-active .btype-faq__cont__item__box--a {
  padding: 20px 0 0 0;
  animation: tab-show 0.3s ease-in-out;
}
.btype-faq__cont__item__box--a .btype-faq__cont__item__box__inr {
  display: none;
}
.btype-faq__cont__item.is-active .btype-faq__cont__item__box--a .btype-faq__cont__item__box__inr {
  display: flex;
}
.btype-faq__cont__item.is-active
  .btype-faq__cont__item__box--q
  .btype-faq__cont__item__box__inr__txt:after {
  transform: translate(50%, -50%) rotate(-90deg);
}
.gjs-dashed .btype-faq__cont__item .btype-faq__cont__item__box--a {
  opacity: 1;
  visibility: visible;
  height: auto;
  padding: 20px 0 0 0;
}
.gjs-dashed .btype-faq__cont__item .btype-faq__cont__item__box--a .btype-faq__cont__item__box__inr {
  display: flex;
}
.btype-contact {
  background-color: #f7f7f7;
  padding: 100px 0 120px;
}
.contact__txt {
  text-align: center;
  margin-bottom: 60px;
}
.btype-contact__privacy {
  padding-top: 60px;
}
.btype-contact__privacy__ttl {
  text-align: center;
  margin-bottom: 30px;
}
.btype-contact__privacy__ttl.ttl-cmn03 {
  font-size: min(5.5vw, 2.6rem);
  color: #333;
}
.btype-blog {
  padding-top: 100px;
}
.btype-blog__cont.flex-btw {
  display: block;
}
.btype-blog__cont__right__inr {
  display: none;
}
.gjs-dashed .btype-blog__cont__right__inr {
  display: block;
}
.btype-blog__cont__right__inr.is-active {
  display: block;
  animation: tab-show 0.3s ease-in-out;
}
.btype-blog__cont__right__inr .webgene-blog {
  max-width: 910px;
  width: 100%;
  margin: 0 auto;
}
.btype-blog__cont__right__inr .webgene-item {
  border-bottom: solid 1px #d8d8cd;
}
.btype-blog__cont__right__inr .webgene-item a {
  display: block;
  padding: 10px 0;
}
.btype-blog__cont__right__inr .webgene-item:first-of-type a {
  padding: 0 0 10px 0;
}
.btype-blog__cont__right__inr .blog-item .blogdate {
  font-size: 18px;
  font-weight: 700;
  color: #f5b2b2;
}
.btype-blog__cont__right__inr .blog-item .blogcate {
  min-width: 100px;
  background-color: #27a837;
  border-radius: 50px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 2.5;
  text-align: center;
}
.btype-blog__cont__right__inr .blog-item .blogttl {
  font-size: 1.8rem;
  width: 100%;
}
.btype-blog__cont__right__btn {
  text-align: right;
  margin-top: 60px;
}
.btype-blog__cont__right__btn__item {
  display: inline-block;
}
.btype-blog__cont__right__btn__item__a {
  display: block;
}
.btype-blog__cont__right__btn__item__a__p {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding-right: 110px;
  position: relative;
}
.btype-blog__cont__right__btn__item__a__p:before {
  content: "";
  background: no-repeat center center / contain;
  background-image: url("../images/icon_arrow02.png");
  width: 68px;
  height: 45px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.btype-blog__icon {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .btype-about {
    padding: 160px 0;
  }
  .btype-about__cont__wrap {
    margin-bottom: 100px;
  }
  .btype-about__cont {
    margin-bottom: 50px;
  }
  .btype-about__cont__info__ttl {
    margin-bottom: 50px;
  }
  .btype-about__cont__info__txt {
    font-size: 2rem;
  }
  .btype-about__job__ttl {
    margin-bottom: 50px;
  }
  .btype-about__job__ttl__icon {
    width: auto;
    margin: 0;
  }
  .btype-about__job__txt {
    text-align: center;
    margin-bottom: 50px;
  }
  .btype-about__job__list {
    gap: 0 20px;
  }
  .btype-about__job__list__item {
    width: calc((100% - 40px) / 3);
  }
  .btype-about__job__list__item img {
    border-radius: 0 64px 0 64px;
  }
  .btype-staff {
    padding: 160px 0;
  }
  .btype-staff__slider__item {
    margin: 0 20px;
  }
  .btype-office {
    padding: 160px 0;
  }
  .btype-office__cont__left__ttl.top-ttl.vertical {
    display: flex;
  }
  .btype-office__cont__left__ttl.top-ttl.vertical .ttl-cmn01,
  .btype-office__cont__left__ttl.top-ttl.vertical .ttl-cmn02 {
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
  }
  .btype-office__cont__left__ttl.top-ttl.vertical .ttl-cmn01 {
    width: 96px;
  }
  .btype-office__cont__left__ttl.top-ttl.vertical .ttl-cmn02 {
    width: 30px;
  }
  .btype-office__cont__left__btn__item__txt {
    font-size: 2.4rem;
  }
  .btype-office__cont__right__img {
  }
  .btype-office__cont__right__table {
    padding-top: 120px;
    margin-bottom: 80px;
  }
  .btype-office__cont__right__table__tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
  }
  .btype-office__cont__right__table__th {
    width: 150px;
  }
  .btype-office__cont__right__table__td {
    flex: 1;
  }
  .btype-office__cont__right__table__th__p {
    font-size: 2.4rem;
  }
  .btype-office__cont__right__table__td__p {
    font-size: 2.4rem;
  }
  .btype-faq {
    padding: 160px 0;
  }
  .btype-faq__cont {
    margin-bottom: 120px;
  }
  .btype-faq__cont__item__box__inr {
    gap: 0 60px;
  }
  .btype-faq__cont__item__box__inr__img {
    width: auto;
  }
  .btype-faq__cont__item__box__inr__txt {
    padding-top: 10px;
    padding-right: 40px;
  }
  .btype-faq__cont__item__box--q .btype-faq__cont__item__box__inr__txt:before {
    width: 30px;
  }
  .btype-faq__cont__item__box--q .btype-faq__cont__item__box__inr__txt:after {
    height: 30px;
    right: 15px;
  }
  .btype-contact {
    padding: 160px 0 200px;
  }
  .contact__txt {
    margin-bottom: 80px;
  }
  .btype-contact__privacy {
    padding-top: 100px;
  }
  .btype-contact__privacy__ttl {
    margin-bottom: 40px;
  }
  .btype-contact__privacy__ttl.ttl-cmn03 {
    font-size: 3.2rem;
  }
  .btype-blog {
    padding-top: 160px;
  }
  .btype-blog__cont__right__inr .webgene-item a {
    padding: 15px 0;
  }
  .btype-blog__cont__right__inr .blog-item .blogdate {
    font-size: 2rem;
  }
  .btype-blog__cont__right__inr .blog-item .blogcate {
    min-width: 120px;
  }
  .btype-blog__cont__right__inr .blog-item .blogttl {
    font-size: 2rem;
  }
  .btype-blog__cont__right__btn {
    margin-top: 80px;
  }
  .btype-blog__cont__right__btn__item__a__p {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .btype-about__cont.flex-btw {
    display: flex;
    gap: 0 30px;
  }
  .btype-about__cont__img {
    max-width: 600px;
    width: 50%;
  }
  .btype-about__cont__img {
    margin-bottom: 0;
  }
  .btype-about__cont__img__inr {
    margin-left: -15px;
  }
  .btype-about__cont__info {
    max-width: 570px;
    flex: 1;
  }
  .btype-about__cont__info__ttl.ttl-cmn03 {
    font-size: min(2.8vw, 3.2rem);
  }
  .btype-about__cont__info__icon {
    width: 50%;
  }
  .btype-about__job__list {
    gap: 0 40px;
  }
  .btype-about__job__list__item {
    width: calc((100% - 80px) / 3);
  }
  .btype-office__cont.flex-btw {
    display: flex;
    gap: 0 50px;
  }
  .btype-office__cont__left {
    margin-bottom: 0;
  }
  .btype-office__cont__right {
    flex: 1;
    padding-top: 60px;
    margin: 0;
  }
  .btype-blog__cont.flex-btw {
    display: flex;
    gap: 0 50px;
  }
  .btype-blog__cont__left .top-ttl {
    text-align: left;
    margin: 0;
  }
  .btype-blog__cont__left .top-ttl .ttl-cmn02 {
    text-align: right;
  }
  .btype-blog__cont__right {
    flex: 1;
    max-width: 800px;
    padding-top: 20px;
  }
  .btype-blog__cont__right__inr .webgene-item a {
  }
  .btype-blog__cont__right__inr .blog-item .blogdate {
  }
  .btype-blog__cont__right__inr .blog-item .blogttl {
    margin: 0;
  }
}
@media screen and (min-width: 1080px) {
}
@media screen and (min-width: 1230px) {
  .btype-about__cont__img__inr {
    margin-left: max(calc((1200px - 100vw) / 2), -80px);
  }
  .btype-about__cont__info__icon {
    right: max(calc((1200px - 100vw) / 2), -215px);
  }
  .btype-about__job__icon {
    left: max(calc((1200px - 100vw) / 2), -60px);
  }
  .btype-office__bg {
    width: calc(100vw - ((100vw - 1200px) / 2));
  }
}

/*	内職事業について
---------------------------------*/
.sidework-about {
  padding: 100px 0;
  position: relative;
}
.sidework-about__cont.flex-btw {
  display: block;
}
.sidework-about__cont {
  margin-bottom: 30px;
}
.sidework-about__cont__img {
  text-align: center;
  margin-bottom: 40px;
}
.sidework-about__cont__img__inr img {
  border-radius: 0 64px 0 64px;
}
.sidework-about__cont__info {
  position: relative;
}
.sidework-about__cont__info__ttl {
  margin-bottom: 30px;
}
.sidework-about__cont__info__ttl.ttl-cmn03 {
  font-size: min(5.5vw, 2.6rem);
}
.sidework-about__cont__info__txt {
  font-size: 1.8rem;
  line-height: 2;
  position: relative;
  z-index: 1;
}
.sidework-about__icon01 {
  max-width: max-content;
  width: 70%;
  margin-left: auto;
}
.sidework-feature {
  background-color: #f5efea;
  padding: 100px 0;
  position: relative;
}
.sidework-feature__list {
  display: flex;
  overflow-x: auto;
  gap: 0 50px;
  padding: 0 15px;
  margin-bottom: 60px;
}
.sidework-feature__list.mb0 {
  margin-bottom: 0;
}
.sidework-feature__item {
  max-width: 360px;
  width: 100%;
  flex: 0 0 80%;
}
.sidework-feature__item:last-of-type {
  margin-bottom: 0;
}
.sidework-feature__item__img {
  margin-bottom: 30px;
}
.sidework-feature__item__img img {
  border-radius: 0 64px 0 64px;
}
.sidework-feature__item__info__ttl {
  margin-bottom: 20px;
}
.sidework-feature__item__info__txt {
  font-weight: 500;
}
.sidework-feature__btn {
  text-align: center;
}
.sidework-recruit {
  padding-top: 100px;
  position: relative;
}
.sidework-recruit__cont.flex-btw {
  display: block;
}
.sidework-recruit__cont {
}
.sidework-recruit__cont__img {
  text-align: center;
  margin-bottom: 40px;
}
.sidework-recruit__cont__img__inr img {
  border-radius: 0 64px 0 64px;
}
.sidework-recruit__cont__info {
  position: relative;
}
.sidework-recruit__cont__info__ttl {
  margin-bottom: 30px;
}
.sidework-recruit__cont__info__ttl.ttl-cmn03 {
  font-size: min(5.5vw, 2.6rem);
}
.sidework-recruit__cont__info__txt {
  font-size: 1.8rem;
  line-height: 2;
  position: relative;
  z-index: 1;
}
.sidework-recruit__cont__info__btn {
  margin-top: 30px;
}
.sidework-blog {
  padding-top: 100px;
  position: relative;
}
.sidework-blog__cont.flex-btw {
  display: block;
}
.sidework-blog__cont__right__inr .webgene-blog {
  max-width: 910px;
  width: 100%;
  margin: 0 auto;
}
.sidework-blog__cont__right__inr .webgene-item {
  border-bottom: solid 1px #d8d8cd;
}
.sidework-blog__cont__right__inr .webgene-item a {
  display: block;
  padding: 10px 0;
}
.sidework-blog__cont__right__inr .webgene-item:first-of-type a {
  padding: 0 0 10px 0;
}
.sidework-blog__cont__right__inr .blog-item .blogdate {
  font-size: 18px;
  font-weight: 700;
  color: #f5b2b2;
}
.sidework-blog__cont__right__inr .blog-item .blogcate {
  min-width: 100px;
  background-color: #27a837;
  border-radius: 50px;
  font-size: 1.4rem;
  color: #fff;
  line-height: 2.5;
  text-align: center;
}
.sidework-blog__cont__right__inr .blog-item .blogttl {
  font-size: 1.8rem;
  width: 100%;
}
.sidework-blog__cont__right__btn {
  text-align: right;
  margin-top: 60px;
}
.sidework-blog__icon {
  margin-top: 50px;
}
.sidework__petal__icon {
  max-width: max-content;
  width: 10%;
  position: absolute;
}
.sidework__petal__icon01 {
  top: 80px;
  right: 15px;
}
.sidework__petal__icon02 {
  bottom: 15%;
  left: 15px;
}
.sidework__petal__icon03 {
  top: 60px;
  right: 15px;
}
.sidework__petal__icon04 {
  top: 60px;
  left: 15px;
}
.sidework__petal__icon05 {
  top: 60px;
  right: 15px;
}
.sidework__petal__icon06 {
  top: 60px;
  left: 15px;
}
@media screen and (min-width: 768px) {
  .sidework-about {
    padding: 160px 0;
  }
  .sidework-about__cont {
    margin-bottom: 50px;
  }
  .sidework-about__cont__info__ttl {
    margin-bottom: 50px;
  }
  .sidework-about__cont__info__txt {
    font-size: 2rem;
  }
  .sidework-feature {
    padding: 160px 0;
  }
  .sidework-feature__list {
    margin-bottom: 80px;
  }
  .sidework-feature__item__img {
    margin-bottom: 50px;
  }
  .sidework-feature__item__info__ttl {
    margin-bottom: 30px;
  }
  .sidework-recruit {
    padding-top: 160px;
  }
  .sidework-recruit__cont {
  }
  .sidework-recruit__cont__info__ttl {
    margin-bottom: 50px;
  }
  .sidework-recruit__cont__info__txt {
    font-size: 2rem;
  }
  .sidework-recruit__cont__info__btn {
    margin-top: 40px;
  }
  .sidework-blog {
    padding-top: 160px;
  }
  .sidework-blog__cont__right__inr .webgene-item a {
    padding: 15px 0;
  }
  .sidework-blog__cont__right__inr .blog-item .blogdate {
    font-size: 2rem;
  }
  .sidework-blog__cont__right__inr .blog-item .blogcate {
    min-width: 120px;
  }
  .sidework-blog__cont__right__inr .blog-item .blogttl {
    font-size: 2rem;
  }
  .sidework-blog__cont__right__btn {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1024px) {
  .sidework-about__cont.flex-btw {
    display: flex;
    gap: 0 30px;
  }
  .sidework-about__cont__img {
    max-width: 600px;
    width: 50%;
  }
  .sidework-about__cont__img {
    margin-bottom: 0;
  }
  .sidework-about__cont__img__inr {
    margin-left: -15px;
  }
  .sidework-about__cont__info {
    max-width: 570px;
    flex: 1;
  }
  .sidework-about__cont__info__ttl.ttl-cmn03 {
    font-size: min(2.8vw, 3.2rem);
  }
  .sidework-feature__list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 1230px;
    width: 100%;
    padding: 0 15px;
    margin: 0 auto 80px;
  }
  .sidework-feature__item {
    width: calc((100% - 100px) / 3);
    margin: 0;
    flex: 1;
  }
  .sidework-recruit__cont.flex-btw {
    display: flex;
    gap: 0 30px;
  }
  .sidework-recruit__cont__img {
    max-width: 600px;
    width: 50%;
  }
  .sidework-recruit__cont__img {
    margin-bottom: 0;
  }
  .sidework-recruit__cont__img__inr {
  }
  .sidework-recruit__cont__info {
    max-width: 570px;
    flex: 1;
  }
  .sidework-recruit__cont__info__ttl.ttl-cmn03 {
    font-size: min(2.8vw, 3.2rem);
  }
  .sidework-blog__cont.flex-btw {
    display: flex;
    gap: 0 50px;
  }
  .sidework-blog__cont__left .top-ttl {
    text-align: left;
    margin: 0;
  }
  .sidework-blog__cont__left .top-ttl .ttl-cmn02 {
    text-align: right;
  }
  .sidework-blog__cont__right {
    flex: 1;
    max-width: 800px;
    padding-top: 20px;
  }
  .sidework-blog__cont__right__inr .webgene-item a {
  }
  .sidework-blog__cont__right__inr .blog-item .blogdate {
  }
  .sidework-blog__cont__right__inr .blog-item .blogttl {
    margin: 0;
  }
}
@media screen and (min-width: 1230px) {
  .sidework-about__cont__img__inr {
    margin-left: max(calc((1200px - 100vw) / 2), -80px);
  }
  .sidework__petal__icon01 {
    right: calc((100vw - 1230px) / 2);
  }
  .sidework__petal__icon02 {
    left: min(8%, 150px);
  }
  .sidework__petal__icon03 {
    right: calc((100vw - 1230px) / 2);
  }
  .sidework__petal__icon04 {
    left: calc((100vw - 1230px) / 2);
  }
  .sidework__petal__icon05 {
    right: calc((100vw - 1230px) / 2);
  }
  .sidework__petal__icon06 {
    left: calc((100vw - 1230px) / 2);
  }
}

/*	下層ヘッダーos
---------------------------------*/
.subhd-os {
  padding-top: 60px;
  position: relative;
}
.subhd-os__img {
  max-height: min(90vh, 480px);
  width: 70%;
  height: 80vw;
  margin-left: auto;
}
.subhd-os__img.ojf:before {
  content: none;
}
.subhd-os__img img {
  border-radius: 0 0 0 64px;
}
.subhd-os-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  position: absolute;
  bottom: 0;
  left: 15px;
}
.subttl-os__jp {
  width: 1.6rem;
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.subttl-os__en {
  width: min(15vw, 7rem);
  font-family: "Zen Maru Gothic", serif;
  font-size: min(15vw, 7rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #f5b2b2;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px) {
  .subhd-os {
    padding-top: 90px;
  }
  .subhd-os__img {
    max-height: min(90vh, 560px);
    width: min(81.25%, calc(((100vw - 1200px) / 2) + 1000px));
    height: 60vw;
  }
  .subhd-os-ttl {
  }
  .subttl-os__jp {
    width: 1.8rem;
    font-size: 1.8rem;
  }
  .subttl-os__en {
    width: min(13vw, 9.6rem);
    font-size: min(13vw, 9.6rem);
  }
}
@media screen and (min-width: 1024px) {
  .subhd-os {
    padding-top: 96px;
  }
}
@media screen and (min-width: 1230px) {
  .subhd-os-ttl {
    left: calc((100vw - 1230px) / 2);
  }
}

/*	私たちについて
---------------------------------*/
.bg-pink01 {
  background-color: #f5efea;
}
.cmn-subpage-catch {
  padding: 100px 0;
  position: relative;
}
.cmn-subpage-catch__cont.flex-btw {
  display: block;
}
.cmn-subpage-catch__cont__img {
  text-align: center;
  margin-bottom: 40px;
}
.cmn-subpage-catch__cont__img__inr img {
  border-radius: 0 64px 0 64px;
}
.cmn-subpage-catch__cont__info {
  position: relative;
}
.cmn-subpage-catch__cont__info__ttl {
  margin-bottom: 30px;
}
.cmn-subpage-catch__cont__info__ttl.ttl-cmn03 {
  font-size: min(5.5vw, 2.6rem);
}
.cmn-subpage-catch__cont__info__txt {
  font-size: 1.8rem;
  line-height: 2;
  position: relative;
  z-index: 1;
}
.cmn-subpage-feature {
  padding-top: 100px;
  position: relative;
}
.cmn-subpage-feature.cmn-subpage-feature--type02 {
  padding: 100px 0;
}
.cmn-subpage-feature__cont.flex-btw {
  display: block;
}
.cmn-subpage-feature__cont {
  margin-bottom: 80px;
  position: relative;
}
.cmn-subpage-feature__cont:last-of-type {
  margin-bottom: 0;
}
.cmn-subpage-feature__cont__img {
  text-align: center;
  margin-bottom: 40px;
}
.cmn-subpage-feature__cont__img__inr img {
  border-radius: 0 64px 0 64px;
}
.cmn-subpage-feature__cont__info {
  position: relative;
  z-index: 2;
}
.cmn-subpage-feature__cont__info__ttl {
  margin-bottom: 30px;
}
.cmn-subpage-feature__cont__info__ttl.ttl-cmn03 {
  font-size: min(5.5vw, 2.6rem);
}
.cmn-subpage-feature__cont__info__txt {
  font-size: 1.8rem;
  line-height: 2;
  position: relative;
  z-index: 1;
}
.cmn-subpage-feature__cont__info__btn {
  margin-top: 40px;
}
.about-slider {
  padding: 100px 0;
  position: relative;
}
.about-slider__img {
  margin: 0 10px;
}
.about-slider__img img {
  border-radius: 0 64px 0 64px;
}
.cmn-subpage-petal {
  max-width: max-content;
  width: 10%;
  position: absolute;
}
.cmn-subpage-petal01 {
  right: 0;
  bottom: 0;
  transform: translateY(50%);
  z-index: 1;
}
.cmn-subpage-petal02 {
  left: 0;
  bottom: -20px;
  transform: translateY(100%);
}
.cmn-subpage-petal03 {
  top: 0;
  right: 0;
}
.cmn-subpage-petal04 {
  bottom: 0;
  left: 0;
  transform: translateY(50%);
}
.cmn-subpage-petal01.works {
  bottom: -60px;
}
.cmn-subpage-contact-petal01 {
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .cmn-subpage-catch {
    padding: 160px 0;
  }
  .cmn-subpage-catch__cont__info__ttl {
    margin-bottom: 50px;
  }
  .cmn-subpage-catch__cont__info__txt {
    font-size: 2rem;
  }
  .cmn-subpage-feature {
    padding-top: 160px;
  }
  .cmn-subpage-feature.cmn-subpage-feature--type02 {
    padding: 160px 0;
  }
  .cmn-subpage-feature__cont {
    margin-bottom: 120px;
  }
  .cmn-subpage-feature__cont__info__ttl {
    margin-bottom: 50px;
  }
  .cmn-subpage-feature__cont__info__txt {
    font-size: 2rem;
  }
  .cmn-subpage-feature__cont__info__btn {
    margin-top: 60px;
  }
  .about-slider {
    padding: 160px 0;
  }
  .about-slider__img {
    margin: 0 20px;
  }
  .cmn-subpage-petal01.works {
    bottom: -90px;
  }
}
@media screen and (min-width: 1024px) {
  .cmn-subpage-catch__cont.flex-btw {
    display: flex;
    gap: 0 30px;
  }
  .cmn-subpage-catch__cont__img {
    max-width: 600px;
    width: 50%;
  }
  .cmn-subpage-catch__cont__img {
    margin-bottom: 0;
  }
  .cmn-subpage-catch__cont__img__inr {
    margin-left: -15px;
  }
  .cmn-subpage-catch__cont__info {
    max-width: 570px;
    flex: 1;
  }
  .cmn-subpage-catch__cont__info__ttl.ttl-cmn03 {
    font-size: min(2.8vw, 3.2rem);
  }
  .cmn-subpage-feature__cont.flex-btw {
    display: flex;
    gap: 0 30px;
  }
  .cmn-subpage-feature__cont__img {
    max-width: 600px;
    width: 50%;
  }
  .cmn-subpage-feature__cont__img {
    margin-bottom: 0;
  }
  .cmn-subpage-feature__cont__img__inr {
    margin-left: -15px;
  }
  .cmn-subpage-feature__cont__info {
    max-width: 570px;
    flex: 1;
  }
  .cmn-subpage-feature__cont__info__ttl.ttl-cmn03 {
    font-size: min(2.8vw, 3.2rem);
  }
  .cmn-subpage-feature__cont:nth-of-type(2n).flex-btw {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .cmn-subpage-feature__cont:nth-of-type(2n) .cmn-subpage-feature__cont__img__inr {
    margin-left: 0;
    margin-right: -15px;
  }
}
@media screen and (min-width: 1080px) {
}
@media screen and (min-width: 1230px) {
  .cmn-subpage-catch__cont__img__inr {
    margin-left: max(calc((1200px - 100vw) / 2), -80px);
  }
  .cmn-subpage-feature__cont__img__inr {
    margin-left: max(calc((1200px - 100vw) / 2), -80px);
  }
  .cmn-subpage-feature__cont:nth-of-type(2n) .cmn-subpage-feature__cont__img__inr {
    margin-right: max(calc((1200px - 100vw) / 2), -80px);
  }
  .cmn-subpage-petal01 {
    right: calc((100vw - 1200px) / 2);
  }
  .cmn-subpage-petal02 {
    left: max(calc((1200px - 100vw) / 2), -200px);
    transform: translateY(50%);
  }
  .cmn-subpage-petal03 {
    right: max(calc((1200px - 100vw) / 2), -200px);
  }
  .cmn-subpage-petal04 {
    left: calc((100vw - 1200px) / 2);
  }
}

/*	お仕事のご依頼
---------------------------------*/
.request-promise {
  padding: 100px 0;
  position: relative;
}
.request-works {
  padding-top: 100px;
  position: relative;
}
.request-works__list {
  gap: 10px;
}
.request-works__list__item {
  max-width: 360px;
  width: calc((100% - 20px) / 3);
}
.request-works__list__item img {
  border-radius: 0 30px 0 30px;
}
.cmn-subpage-flow {
  padding: 100px 0;
  position: relative;
}
.cmn-subpage-flow__list {
  max-width: 900px;
  width: 100%;
  margin: 0 auto 80px;
}
.cmn-subpage-flow__list__item.flex-btw {
  display: block;
}
.cmn-subpage-flow__list__item {
  margin-bottom: 40px;
}
.cmn-subpage-flow__list__item:last-of-type {
  margin-bottom: 0;
}
.cmn-subpage-flow__list__item__left {
  width: 110px;
  height: 110px;
  background-color: #f5b2b2;
  border-radius: 50%;
  text-align: center;
  margin: 0 auto 20px;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.cmn-subpage-flow__list__item__right__ttl {
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #f5b2b2;
  margin-bottom: 10px;
}
.cmn-subpage-flow__list__item__right__txt {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.cmn-subpage-contact {
  position: relative;
}
.cmn-subpage-contact__ttl {
  text-align: center;
  margin-bottom: 60px;
}
.cmn-subpage-contact__ttl.ttl-cmn03 {
  color: #f5b2b2;
}
.cmn-subpage-contact__cont.flex-cnt {
  display: block;
}
.cmn-subpage-contact__cont__item {
  max-width: 320px;
  width: 100%;
  border: solid 1px #f5b2b2;
  border-radius: 0 64px 0 64px;
  text-align: center;
  padding: 35px 15px;
  margin: 0 auto 30px;
}
.cmn-subpage-contact__cont__item:last-of-type {
  margin-bottom: 0;
}
.cmn-subpage-contact__cont__item__ttl {
  margin-bottom: 20px;
}
.cmn-subpage-contact__cont__item__ttl.ttl-cmn05 {
  color: #333;
}
.cmn-subpage-contact__cont__item__num {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #f5b2b2;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .request-promise {
    padding: 160px 0;
  }
  .request-works {
    padding-top: 160px;
  }
  .request-works__list {
    gap: 20px;
  }
  .request-works__list__item {
    width: calc((100% - 40px) / 3);
  }
  .request-works__list__item img {
    border-radius: 0 64px 0 64px;
  }
  .cmn-subpage-flow {
    padding: 160px 0;
  }
  .cmn-subpage-flow__list {
    margin-bottom: 120px;
  }
  .cmn-subpage-flow__list__item.flex-btw {
    display: flex;
    gap: 40px;
  }
  .cmn-subpage-flow__list__item {
    margin-bottom: 60px;
  }
  .cmn-subpage-flow__list__item__left {
    margin: 0;
  }
  .cmn-subpage-flow__list__item__right {
    flex: 1;
  }
  .cmn-subpage-flow__list__item__right__ttl {
    margin-bottom: 20px;
  }
  .cmn-subpage-contact__ttl {
    margin-bottom: 80px;
  }
  .cmn-subpage-contact__cont.flex-cnt {
    display: flex;
    gap: 0 40px;
  }
  .cmn-subpage-contact__cont__item {
    max-width: 400px;
    width: calc((100% - 40px) / 2);
    padding: 40px 15px;
    margin: 0;
  }
  .cmn-subpage-contact__cont__item__ttl {
    margin-bottom: 30px;
  }
  .cmn-subpage-contact__cont__item__num {
    font-size: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  .request-works__list {
    gap: 40px;
  }
  .request-works__list__item {
    width: calc((100% - 80px) / 3);
  }
  .cmn-subpage-contact__cont.flex-cnt {
    gap: 0 80px;
  }
  .cmn-subpage-contact__cont__item {
    width: calc((100% - 80px) / 2);
  }
}
@media screen and (min-width: 1080px) {
}

/*	会社概要
---------------------------------*/
.company-catch {
  padding: 100px 0;
}
.company-catch__ttl {
  text-align: center;
  margin-bottom: 30px;
}
.company-catch__ttl.ttl-cmn03 {
  font-size: min(5vw, 2.6rem);
  color: #f5b2b2;
}
.company-catch__img {
  margin-bottom: 60px;
}
.company-catch__txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
.company-message {
  padding-top: 100px;
}
.company-staff {
  padding: 100px 0;
}
.company-info {
  padding-top: 100px;
}
.company-info__table {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto 80px;
}
.company-office {
  padding: 100px 0;
}
.company-office__list__item.flex-btw {
  display: block;
}
.company-office__list__item {
  margin-bottom: 80px;
}
.company-office__list__item:last-of-type {
  margin-bottom: 0;
}
.company-office__list__item__info {
  margin-bottom: 40px;
}
.company-office__list__item__info__ttl {
  margin-bottom: 30px;
}
.company-office__list__item__info__table__tr {
  margin-bottom: 10px;
}
.company-office__list__item__info__table__tr:last-of-type {
  margin-bottom: 0;
}
.company-office__list__item__info__table__th__p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.05em;
  color: #f5b2b2;
}
.company-office__list__item__info__table__td__p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.05em;
}
.company-office__list__item__map__cont {
  width: 100%;
  height: 250px;
}
.company-office__list__item__map__cont iframe {
  width: 100%;
  height: 100%;
  border-radius: 0 64px 0 64px;
}
@media screen and (min-width: 768px) {
  .company-catch {
    padding: 160px 0;
  }
  .company-catch__ttl {
    margin-bottom: 50px;
  }
  .company-catch__ttl.ttl-cmn03 {
    font-size: 3.2rem;
  }
  .company-catch__img {
    margin-bottom: 80px;
  }
  .company-catch__txt {
    text-align: center;
  }
  .company-message {
    padding-top: 160px;
  }
  .company-staff {
    padding: 160px 0;
  }
  .company-info {
    padding-top: 160px;
  }
  .company-info__table {
    margin-bottom: 120px;
  }
  .company-office {
    padding: 160px 0;
  }
  .company-office__list__item {
    margin-bottom: 120px;
  }
  .company-office__list__item__info__ttl {
    margin-bottom: 50px;
  }
  .company-office__list__item__info__table__tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
  }
  .company-office__list__item__info__table__th {
    width: 180px;
  }
  .company-office__list__item__info__table__td {
    flex: 1;
  }
  .company-office__list__item__info__table__th__p {
    font-size: 2.4rem;
  }
  .company-office__list__item__info__table__td__p {
    font-size: 2.4rem;
  }
  .company-office__list__item__map__cont {
    height: 400px;
  }
}
@media screen and (min-width: 1024px) {
  .company-office__list__item.flex-btw {
    gap: 0 40px;
  }
  .company-office__list__item__map__cont {
    height: 550px;
  }
}
@media screen and (min-width: 1080px) {
}
@media screen and (min-width: 1230px) {
  .company-office__list__item.flex-btw {
    display: flex;
    gap: 0 20px;
  }
  .company-office__list__item__info {
    flex: 1;
    margin-bottom: 0;
  }
  .company-office__list__item__map {
    width: 50%;
    margin-right: max(calc((1200px - 100vw) / 2), -80px);
  }
}
/* Keep the recruitment embed within the mobile content width. */
.recruit--banner-area,
.recruit--banner-area > div {
  max-width: 100%;
}
.recruit--banner-area iframe {
  max-width: 100%;
}
