@charset "UTF-8";
@import url('https://fonts.cdnfonts.com/css/barlow');

                
.contents_inner {
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}
.center-left{text-align: center;}
.overimg:hover{opacity: 0.5;}
.spnone{display: block;}
.sponly{display: none;}
.f-left{float: left;}
.f-right{float: right;}
.img100{width: 100%;}
.normal{font-weight: normal;}
.justify{text-align: justify;}
.w48per{width: 48%;}
.w30per{width: 30%;}
.w48per img{width: 100%;}
.w66per{width: 66%;position: relative;}
.w80per{width: 80%;margin: 0 auto;}
.w90per{width: 90%;margin: 0 auto;}
.white{color:#ffffff;}
.shadow{filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.32));}
.sec_ttl_white{font-size: 5em;text-align: center;color:#ffffff;}
.sec_sub_ttl_white{font-size: 1.6em;text-align: center;font-weight: bold;color:#ffffff;}
.barlow{font-family: 'Barlow', sans-serif;}
.tbonly{display: none;}
.center{text-align: center;}


/* section_01 */
/* news */
.news {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	margin-top: -20px;
      background: #fff;
      padding: 50px 50px 80px;
    }
    .news__inner {
      margin: 0 auto;
    }
    .news__head , .title__head{
      margin-bottom: 48px;
    }
    .news__title , .main__title{
      margin: 0;
      font-size: 6em;
      line-height: 1.2;
      font-weight: 800;
      letter-spacing: -0.04em;
      color: #19758a;
      background: linear-gradient(180deg, #79beb4 0%, #0b6f86 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
	.main__title_white{
      margin: 0;
      font-size: 6em;
      line-height: 1.2;
      font-weight: 800;
      letter-spacing: -0.04em;
      color: #19758a;
      background: #ffffff;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .news__sub , .sub__title{
      display: flex;
      align-items: center;
      gap: 18px;
      margin-top: 18px;
      font-size: 1.6em;
      font-weight: 700;
      color: #333;
    }
	.sub__title_white{
      display: flex;
      align-items: center;
      gap: 18px;
      margin-top: 18px;
      font-size: 1.6em;
      font-weight: 700;
      color: #ffffff;
    }
    .news__sub::after , .sub__title::after{
      content: "";
      width: 132px;
      height: 2px;
      background: #63b3ad;
      display: block;
    }
	.sub__title_white::after{
      content: "";
      width: 132px;
      height: 2px;
      background: #ffffff;
      display: block;
    }
    .news__list {
      display: grid;
      gap: 22px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .news__item {
      display: grid;
      grid-template-columns: 120px 160px 1fr;
      align-items: center;
      column-gap: 22px;
    }
    .news__date {
      font-size: 1.4em;
      line-height: 1;
      font-weight: 700;
      color: #4f86a2;
      letter-spacing: 0.04em;
      white-space: nowrap;
    }
    .news__tag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 30px;
      padding: 4px 26px;
      border: 1px solid #5a5a5a;
      border-radius: 9999px;
      font-size: 1.0em;
      line-height: 1;
      color: #444;
      white-space: nowrap;
    }
    .news__text {
      min-width: 0;
      font-size: 1.4em;
      line-height: 1.5;
      color: #3d3d3d;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .news__footer {
      display: flex;
      justify-content: center;
      margin-top: 72px;
    }
    .news__button {
      position: relative;
      width:280px;
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 12px 70px 12px 70px;
      border: 1px solid #43aba5;
      border-radius: 9999px;
      color: #009088;
      font-size: 1.14em;
      font-weight: 700;
      transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
		background-color: #ffffff;
    }
    .news__button::after {
		position: absolute;
		content: "";
  display: block; /* ← 追加 */
        right: 25px;
        width: 35px;
        height: 35px;
        background: url('../img/arrow_01.svg') no-repeat center / contain;
      }
    .news__button:hover {
      background: #43aba5;
      color: #fff;
      transform: translateY(-2px);
    }
    @media (max-width: 640px) {
      .news {
		  width: 90%;
		  margin: 70px auto 0;
        padding: 38px 20px 64px;
      }
      .news__head , .title__head{
        margin-bottom: 32px;
      }
      .news__title , .main__title, .main__title_white{
        font-size: 3.6em;
      }
      .news__sub , .sub__title , .sub__title_white{
        gap: 12px;
        margin-top: 10px;
        font-size: 1.2em;
      }
      .news__sub::after , .sub__title::after , .sub__title_white::after{
        width: 80px;
      }
      .news__list {
        gap: 18px;
      }
      .news__item {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 5px;
        padding-bottom: 18px;
        border-bottom: 1px solid #e5e5e5;
      }
      .news__date {
        font-size: 1.14em;
      }
      .news__tag {
        height: 15px;
        width: fit-content;
        padding: 2px 30px;
        font-size: 0.84em;
      }
      .news__text {
        white-space: normal;
        font-size: 1.14em;
        line-height: 1.6;
      }
      .news__footer {
        margin-top: 40px;
      }
      .news__button {
        height: 25px;
        padding: 15px 20px 15px 20px;
        font-size: 1.0em;
      }
		.news__button::after {
        right: 15px;
        width: 25px;
        height: 25px;
      }      
    }

/* section_02 */
	.section_02{background-image: url("../img/sec02_bg_pc.webp");background-position: center bottom;background-repeat: no-repeat;background-size:cover;}
    .about::before,
    .about::after {
      content: "";
      position: absolute;
      inset: auto;
      pointer-events: none;
      opacity: 0.14;
      border-radius: 50%;
      border: 2px solid rgba(255, 255, 255, 0.22);
    }
    .about::before {
      width: 540px;
      height: 540px;
      top: -120px;
      right: -80px;
    }
    .about::after {
      width: 760px;
      height: 760px;
      right: -240px;
      bottom: -240px;
    }
    .about__inner {
      position: relative;
      z-index: 1;
      max-width: 1280px;
      margin: 0 auto;
      padding: 88px 24px 72px;
    }
    .about__content {
      max-width: 980px;
      margin: 0 auto;
    }
    .about__text {
      margin-top: 54px;
      font-size: 1.14em;
      line-height: 1.72;
      font-weight: 400;
      letter-spacing: 0.02em;
    }
    .about__button-wrap {
      display: flex;
      justify-content: center;
      margin-top: 58px;
    }
    .about__image {
      margin-top: -22px;
      border-top-left-radius: 0;
      border-top-right-radius: 28px;
      border-bottom-right-radius: 28px;
      border-bottom-left-radius: 0;
      overflow: hidden;
    }
    .about__image img {
      width: 100%;
      height: 600px;
      object-fit: cover;
      object-position: center;
    }
    @media (max-width: 640px) {
 /* section_02 */
	.section_02{background-image: url("../img/sec02_bg_sp.webp");background-position: center bottom;background-repeat: no-repeat;background-size:cover;}
      .about__inner {
        padding: 20px 0 20px;
      }
      .about__content {
        padding: 0 0px;
      }  
      .about__text {
        margin-top: 20px;
        font-size: 0.84em;
        line-height: 1.75;
		  color: #ffffff;
		  text-align: justify;
      }
      .about__button-wrap {
        margin-top: 30px;
        padding: 0 10px;
      }
      .about__image {
		   margin-left: calc(50% - 50vw);
        margin-top: -20px;
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
      }
      .about__image img {
        height: auto;
        aspect-ratio: 900 / 500;
      }
    }
    @media (min-width: 641px) {
      .about__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
        align-items: center;
        gap: 72px;
        padding-top: 50px;
        padding-bottom: 50px;
      }
      .about__content {
        max-width: none;
        order: 2;
      }
      .about__text {
        margin-top: 40px;
        font-size: 1.14em;
        line-height: 1.85;
		  color: #ffffff;
		  text-align: justify;
      }
      .about__button-wrap {
        justify-content: flex-start;
        margin-top: 48px;
      }
      .about__image {
        order: 1;
        margin-top: 0;
        margin-left: calc(50% - 50vw);
        width: calc(100% + (50vw - 50%));
        border-top-right-radius: 28px;
        border-bottom-right-radius: 28px;
      }
      .about__image img {
        height: 560px;
      }
    }

/* section_03 */
    .business {
      position: relative;
      overflow: hidden;
      color: #fff;
      background: linear-gradient(135deg, #0b7484 0%, #7cbdb3 100%);
    }
    .business__bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }
    .business__bg img {
      width: 100%;
      height: 770px;
      object-fit: cover;
    }
    .business__inner {
      position: relative;
      z-index: 1;
      width: 100%;
      padding: 80px 0;
    }
    .business__panel {
      width: 100%;
      background: rgba(139, 207, 197, 0.72);
      backdrop-filter: blur(2px);
    }
	.business__content {
		padding: 40px 0;
      }
    .business__text {
      margin-top: 20px;
      font-size: 1.14em;
      line-height: 1.7;
      letter-spacing: 0.02em;
		text-align: justify;
		margin-bottom: 3em;
    }
    .business__image img {
		height: 600px;
      object-fit: cover;
    }
    @media (min-width: 641px) {
      .business {
        height: 100%;
		  margin: 0;
		  padding: 0;
      }
      .business__panel {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
      }
    }

    @media (max-width: 640px) {
      .business__inner {
        padding: 30px 0 0px;
      }
      .business__panel {
        display: flex;
		 background: rgba(139, 207, 197, 0.9);
        flex-direction: column;
      }
      .business__content {
padding: 30px 0;
      }
      .business__text {
        margin-top: 28px;
        font-size: 0.84em;
        line-height: 1.85;
      }
      .business__image {
        margin-top: -50px;padding-bottom: 50px;
      }
      .business__image img {
        height: 260px;
        object-fit: cover;
		  width: 100vw;
	   margin: 0 calc(50% - 50vw);
		  }
		}

/* section_04 */
	.section_04{background-image: url("../img/sec04_bg_pc.webp");background-position: center bottom;background-repeat: no-repeat;background-size:cover;}
    .recruit::before,
    .recruit::after {
      content: "";
      position: absolute;
      inset: auto;
      pointer-events: none;
      opacity: 0.14;
      border-radius: 50%;
      border: 2px solid rgba(255, 255, 255, 0.22);
    }
    .recruit::before {
      width: 540px;
      height: 540px;
      top: -120px;
      right: -80px;
    }
    .recruit::after {
      width: 760px;
      height: 760px;
      right: -240px;
      bottom: -240px;
    }
    .recruit__inner {
      position: relative;
      z-index: 1;
      max-width: 1280px;
      margin: 0 auto;
      padding: 88px 24px 72px;
    }
    .recruit__content {
      max-width: 980px;
      margin: 0 auto;
    }
    .recruit__text {
      margin-top: 54px;
      font-size: 1.14em;
      line-height: 1.72;
      font-weight: 400;
      letter-spacing: 0.02em;
    }
    .recruit__image {
      margin-top: -22px;
      border-top-left-radius: 0;
      border-top-right-radius: 28px;
      border-bottom-right-radius: 28px;
      border-bottom-left-radius: 0;
      overflow: hidden;
    }
    .recruit__image img {
      width: 100%;
      height: 1000px;
      object-fit: cover;
      object-position: center;
    }
    @media (max-width: 640px) {
	.section_04{background-image: url("../img/sec04_bg_sp.webp");background-position: center bottom;background-repeat: no-repeat;background-size:cover;}
      .recruit__inner {
        padding: 20px 0 20px;
      }
      .recruit__content {
        padding: 0 0px;
      }
      .recruit__text {
        margin-top: 20px;
        font-size: 0.84em;
        line-height: 1.75;
		text-align: justify;
      }
      .recruit__image {
		   margin-left: calc(50% - 50vw);
        margin-top: 0px;
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px;
      }
      .recruit__image img {
        height: auto;
        aspect-ratio: 900 / 460;
      }
    }
    @media (min-width: 641px) {
      .recruit__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
        align-items: center;
        gap: 72px;
        padding-top: 50px;
        padding-bottom: 50px;
      }
      .recruit__content {
        max-width: none;
        order: 2;
      }
      .recruit__text {
        margin-top: 40px;
        font-size: 1.14em;
        line-height: 1.85;
		  text-align: justify; 
      }
      .recruit__image {
        order: 1;
        margin-top: 0;
        margin-left: calc(50% - 50vw);
        width: calc(100% + (50vw - 50%));
        border-top-right-radius: 28px;
        border-bottom-right-radius: 28px;
      }
      .recruit__image img {
        height: 780px;
      }
    }
    .recruit-menu {
      padding: 50px 0px;
    }
    .recruit-menu__inner {
      max-width: 560px;
      margin-left: auto;
    }
    .recruit-menu__list {
      margin: 0;
      padding: 0;
      list-style: none;
      border-bottom: 1px solid #9b9b9b;
    }
    .recruit-menu__item {
      border-top: 1px solid #9b9b9b;
    }
    .recruit-menu__link {
      display: grid;
      grid-template-columns: 68px 1fr 52px;
      align-items: center;
      gap: 18px;
      height: 90px;
      padding: 5px 12px;
    }
    .recruit-menu__icon {
      width: 65px;
      height: 65px;
      object-fit: contain;
      justify-self: center;
    }
    .recruit-menu__text {
      font-size: 1.4em;
      line-height: 1.4;
      letter-spacing: 0.04em;
	color:#3e3a39;
    }
    .recruit-menu__arrow {
      position: relative;
      width: 40px;
      height: 40px;
      border: 1px solid #7b6d67;
      border-radius: 50%;
    }
    .recruit-menu__arrow::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 14px;
      height: 14px;
      border-top: 1px solid #7b6d67;
      border-right: 1px solid #7b6d67;
      transform: translate(-62%, -50%) rotate(45deg);
    }
    @media (max-width: 640px) {
      .recruit-menu {
        padding: 30px 0px;
      }
      .recruit-menu__inner {
        max-width: none;
      }
      .recruit-menu__link {
        grid-template-columns: 52px 1fr 42px;
        gap: 14px;
        height: 70px;
        padding: 3px 4px;
      }
      .recruit-menu__icon {
        width: 60px;
        height: 60px;
      }
      .recruit-menu__text {
        font-size: 1.0em;
      }
      .recruit-menu__arrow {
        width: 30px;
        height: 30px;
      }
      .recruit-menu__arrow::before {
        width: 11px;
        height: 11px;
      }
    }
/* section_05 */
	.section_05{position: relative; background:url('../img/sec05_bg_pc.webp') no-repeat bottom right;background-size: 51% 30%;margin-bottom: 10%;z-index: 0;height: 620px;}
	.company {
      overflow: hidden;	
    }
    .company__inner {
      max-width: 1200px;
      margin: 0 auto;
    }
	.company__text {
      margin-top: 28px;
      font-size: 1.14em;
      line-height: 1.72;
		margin-bottom: 3em;
    }
    .company__visual {
      position: relative;
      margin-top: 52px;
    }
    .company__image {
      position: relative;
      z-index: 1;
    }
    .company__image img {
      aspect-ratio: 300 / 260;
      object-fit: cover;
    }
    @media (min-width: 641px) {
      .company {
        padding: 56px 24px 60px;
      }
      .company__text {
        max-width: 430px;
      }
      .company__visual {
        margin-top: 0;
        padding-top: 24px;
      }
    }
    @media (max-width: 640px) {
		.section_05{position: relative; background:url('../img/sec05_bg_pc.webp') no-repeat bottom center;background-size: 100% 30%;margin-bottom: 10%;z-index: 0;height: auto;}
      .company {
        padding: 0px;
      }
      .company__inner {
        max-width: none;
      }
      .company__content {
        padding: 0 0px;
      }
      .company__text {
        margin-top: 20px;
        font-size: 0.84em;
        line-height: 1.82;
      }
      .company__visual {
        margin-top: 36px;
      }
      .company__image {
        padding: 0 0px;
      }
      .company__image img {
        aspect-ratio: 744 / 580;
      }
    }

/* section_06 */
.section_06{background-color: #e5e9ed;}
.sec06_ttl{text-align: center;margin: 3em 0 1.4em;}
.sec06_ttl img{height: 70px;}
.insta_btn{display: flex;justify-content: center; margin: 2em auto;}
.fb_bnr{width: 70%;margin: 5em auto 2em;}
/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width:1000px) {
.spnone{display: block;}
.tbonly{display: block;}
.sponly{display: none;}




	}
/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width:640px) {
.spnone{display: none;}
.sponly{display: block;}
.tbonly{display: none;}

.center-left{text-align: left;text-align: justify;}
.f-left{float: none;}
.f-right{float: none;}
.w90per{width: 100%;margin:0 auto;}
.w80per{width: 80%;margin:0 auto;}
.w48per{width: 100%;margin-bottom: 3%;}
.w66per{width: 100%;position: relative;}	
.lh_l {line-height:1.8 !important;}

.sec_ttl_white{font-size: 2.6em;}
.sec_sub_ttl_white{font-size: 1.2em;}
}
