@charset "UTF-8";
/* CSS Document */
*{
font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
img{
max-width: 100%;
box-sizing: border-box;
}
header{
width: 100%;
background-color: #1D3275;
}
.top-header{
display: flex;
justify-content: space-between;
padding: 10px 40px;
color: #fff;
}
img.logo{
width: 300px;
}
img.logo-t{
width: 200px;
}
.top-header-r{
text-align: center;
font-size: 14px;
}
.top-header-r p{
margin: 0;
}
p.tel{
font-size: 21px;
font-weight: 600;
vertical-align: middle;
letter-spacing: 2px;
}
p.tel::before{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e0b0';
font-size: 21px;
}
.bxslider{
position: relative;
}
.bx-t{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
color: #fff;
font-size: 34px;
text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
text-align: center;
}

.bg-gra{
background: linear-gradient(to right, #e8ece9 0%, #e8ece9 30%, #fff 30%, #fff 100%);
}
.bg-lgy{
background-color:#FAFAFA;
}
.bg-greeting{
background-color:#1B7275;
}
.bg-greeting h1{
color: #fff;
}
section{
max-width: 1400px;
margin: 0 auto 0;
padding: 40px;
}
section.pad-0{
max-width: 1400px;
margin: 0 auto 0;
padding: 40px 40px 0;
}
.btn{
margin: 40px auto;
}
.btn a{
  background-color: #1D3275;
  color: #fff;
  padding: 10px 30px;
  text-decoration: none;
  font-size: 1em;
  outline: 1px solid;
  outline-color: #1D3275;
  outline-offset: 0px;
  display: inline-block;
  transition: .3s;
}
.btn :hover {
  color: #fff;
  animation: light .8s infinite;
}
@keyframes light {
  100% { 
    outline-color: transparent;
    outline-offset: 10px;
  }
}
.t-line {
  font-weight: bold;
  padding-bottom: 0.5em;
  text-align: center;
  position: relative;
}
.t-line::before, .t-line::after {
  content: '';
  position: absolute;
  margin:auto;
  left: 0;
  bottom: 0;
  width: 2em;
  background-color: #e3e3e3;
  height: 5px;
  right: 2em; 
}
.t-line::before { 
  background-color:#4c9ac0;
  left:2em;
  width:4em;
}
footer{
background-color: #1D3275;
color: #fff;
padding: 40px 40px 20px;
}
.footer-box{
display: flex;
max-width: 1400px;
margin: 0 auto 40px;
justify-content: space-around;
flex-wrap: wrap;
}
address{
font-size: 14px;
}
address img{
width: 240px;
display: block;
}
ul.f-nav{
list-style: none;
margin: 0 0 20px;
padding: 0;
display: flex;
align-items: stretch;
}
.f-nav li{
margin: 0;
padding: 0 10px;
text-align: center;
border-left: 1px solid #fff;
}
.f-nav li:last-child{
border-right: 1px solid #fff;
}
.f-nav li a{
color: #fff;
text-decoration: none;
}
.f-nav li :hover{
color:#85A1C6;
}
.copy{
text-align: center;
font-size: 14px;
}
ul.f-li{
list-style: none;
margin: 0 0 20px;
padding: 0;
display: flex;
}
.f-li li{
margin: 0;
padding: 0 10px;
text-align: center;
}
.f-li li a{
color: #fff;
text-decoration: none;
vertical-align: middle;
}
.f-li li a::before{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e5df';
font-size: 21px;
}
.f-li  li :hover{
color:#85A1C6;
}
.pc{
display: block;
}
.sp{
display: none;
}

/*トップリクルート*/
.recruit-box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background-color:#91C6D3;
}
.recruit-t{
background-color:#91C6D3;
padding: 40px;
width: 50%;
display: flex;
flex-direction: column;
align-items: center;
align-content: center;
height: 100%
}
.recruit-t h2{
text-align: center;
margin: 40px 0 20px;
font-size: 32px;
font-weight: 400;
letter-spacing: 5px;
}
.recruit-t h2 {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.recruit-t h2:before, .recruit-t h2:after {
  border-top: 1px solid;
  content: "";
  width: 3em; /* 線の長さ */
}
.recruit-t h2:before {
  margin-right: 1em; /* 文字の右隣 */
}
.recruit-t h2:after {
  margin-left: 1em; /* 文字の左隣 */
}
.recruit-t p{
font-size: 21px;
}
.recruit-box img{
width: 50%;
}

  .p-textImgBox {
	margin-top: 62px;
	position: relative;
  }

  .p-textImgBox__inner {
    display: flex;
  }

  .p-textImgBox__textBox {
    padding: 60px 20px 40px;
    margin-top: 50px;
	min-height: 400px;
	text-align: center;
  }

  .p-textImgBox__textBox::before {
    width: 150px;
    height: 100%;
    top: 0;
    left: -150px;
  }
  .p-textImgBox__textBox h2{
  text-align: center;
margin: 20px 0;
font-size: 28px;
font-weight: 400;
letter-spacing: 5px;
  }
  .p-textImgBox__textBox p{
  display: inline-block;
text-align: left;
letter-spacing: 1px;
font-size: 18px;
  }
/*  .p-textImgBox__title {
    text-align: left;
  }*/
  .p-textImgBox__img {
    max-width: 50%;
  }
  .number::before {
    right: 50px;
    top: -50px;
  }
  .p-textImgBox:nth-child(even) .p-textImgBox__inner {
    flex-direction: row-reverse;
  }
  .p-textImgBox:nth-child(even) .p-textImgBox__textBox::before {
 /*   left: initial;*/
    right: -150px;
  }
  .p-textImgBox:nth-child(even) .number::before {
    right: initial;
    left: 50px;
  }
  .p-textImgBox {
  margin-top: 60px;
  counter-increment: number 1;
}
.p-textImgBox__inner {
    display: flex;
  }
.contents{
padding-bottom: 60px;
}
.center{
text-align: center;
}
.center p{
display: inline-block;
text-align: left;
margin: 20px 0;
}
.contents h1{
margin: 40px auto 60px;
letter-spacing: 10px;
text-align: center;
}
.contents h2{
color: #1D3275;
text-align: center;
border-top: 1px solid #1D3275;
padding-top: 10px;
border-bottom: 1px solid #1D3275;
padding-bottom: 10px;
margin: 40px auto;
letter-spacing: 10px;
}
.contents h2 span{
font-size: 14px;
letter-spacing: 1px;
display: inline-block;
}
.contents h3{
color: #fff;
background-color: #4c9ac0;
text-align: center;
padding: 10px;
margin: 20px 0 40px;
letter-spacing: 10px;
}
.contents h4{
text-align: center;
border-top: 1px solid #ccc;
padding-top: 10px;
border-bottom: 1px solid #ccc;
padding-bottom: 10px;
}
.page{
padding-bottom: 60px;
}
.page h1{
margin: 40px auto 60px;
letter-spacing: 10px;
text-align: center;
}
.page h2{
color: #1D3275;
padding-top: 10px;
border-bottom: 1px solid #1D3275;
padding-bottom: 10px;
margin: 40px auto;
letter-spacing: 10px;
}
.page h3{
color: #4c9ac0;
padding: 10px;
margin: 20px 0 40px;
letter-spacing: 10px;
}
.page h4{
display: inline-block;
background-color: #4c9ac0;
color: #fff;
padding: 10px 40px;
letter-spacing: 10px;
}
.flex-box{
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.margin60{
margin: 60px 0;
}
.box50{
width: 50%;
padding: 20px;
}
.box70{
width: 70%;
padding: 20px;
}
.box60{
width: 60%;
padding: 20px;
}
.box40{
width: 40%;
padding:20px;
}
.president{
width: 40%;
padding: 0 20px;
}
.box30{
width: 30%;
padding: 20px;
}
ul.service-li{
display: flex;
flex-wrap: wrap;
margin: 40px 0;
padding: 0;
list-style: none;
gap:2%;
}
ul.service-li li{
width: calc((98%) / 2);
box-sizing: border-box;
position: relative;
margin-bottom: 20px;
}
ul.service-li div{
text-align: center;
background: #2d355e;
background: linear-gradient(152deg,rgba(45, 53, 94, 1) 0%, rgba(82, 146, 199, 1) 100%);
position: absolute;
width: 45%;
height: 100%;
top: 0;
right: 0;
display: flex;
flex-wrap:wrap;
align-content: center;
justify-content: center;
color: #fff;
}
.service-li span{
display: block;
text-align: center;
font-size: 70px;
font-weight: 400;
width: 100%;
}
.service-li p{
font-size: 24px;
letter-spacing: 5px;
text-align: center;
margin: 20px 0 20px;
padding: 0;
}
.table-1 {
  border-collapse: collapse;
  width: 100%;
  margin: 60px 0;
}
.table-1 th, .table-1 td {
  border-bottom: 1px solid #c1c7c6;
  padding: 1em;
  text-align: right;
}
.table-1 th {
  border-bottom: 1px solid #4d9bc1;;
  font-weight: bold;
  text-align: left;
  width: 40%;
  min-width: 4em;
}
.table-1 td ul{
width: 100%;
text-align: left;
}
.table-2 {
  border-collapse: collapse;
  width: 100%;
  margin: 60px 0;
  letter-spacing: 5px;
}
.table-2 th, .table-2 td {
  border-bottom: 1px solid #c1c7c6;
  padding: 1em 2em;
}
.table-2 th {
  border-bottom: 1px solid #4d9bc1;;
  font-weight: bold;
  width: 30%;
  min-width: 4em;
  text-align: left;
}
.table-3 {
  border-collapse: collapse;
  width: 100%;
  margin: 60px 0;
}
.table-3 th, .table-3 td {
  border-bottom: 1px solid #c1c7c6;
  padding: 1em;
  text-align: right;
}
.table-3 th {
  border-bottom: 1px solid #4d9bc1;;
  font-weight: bold;
  text-align: left;
  width: 20%;
  min-width: 4em;
}
.table-3 td :last-child {
text-align: left;
}
.big-t{
text-align: center;
font-size: 36px;
letter-spacing: 10px;
color: #2B7E97;
margin: 40px 0;
padding-left: 20px;
}
 dl.dl-1{
width: 100%;
}
.dl-1 dt{
font-size: 21px;
font-weight: 600;
margin-bottom: 10px;
vertical-align: middle;
color: #2B7E97;
}
.dl-1 dt::before{
margin-right: 5px;
font-family: "Material Symbols Outlined";
content: '\e834';
font-size: 28px;

}
.dl-1 dd{
margin-bottom: 40px;
background-color: #F8F8F8;
padding: 20px;
}
.step-box {
  padding: 40px 0;
  margin-inline: auto;
  /* カウンターをリセット */
  counter-reset: step-index;
}
.step {
  position: relative;
  padding-bottom: 20px;
  /* カウンターを増やす */
  counter-increment: step-index;
}
.step h3{
text-align: left;
  background-color:transparent;
  color: #4c566a;
  margin: 0;
}
/* 縦線の描画 */
.step::before {
  position: absolute;
  top: 0;
  left: 36px;
  width: 3px;
  height: 100%;
  content: "";
  background-color: #e5e9f0;
}
.step-title {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 40px;
  align-items: center;
  font-size: 21px;
  font-weight: bold;
  color: #3b4252;
}
.step-title::before {
  z-index: 1;
display: grid;
  place-content: center;
  width: 60px;
  height: 60px;
  font-size: 26px;
  padding-left: 8px;
  color: #fff;
  content: counter(step-index);
  background-color: #81a1c1;
  font-weight: 400;
}

.step-text {
  padding-left: 100px;
  font-size: 16px;
  line-height: 1.5;
}
.support{
margin-left: 100px;
}
.support ul{
margin: 20px 0;
background-color: #C6D0E8;
padding: 20px 40px;
width: auto;
display: inline-block;
}
.greeting h2{
border: none;
margin: 0;
color: #fff;
}
.big-t2{
text-align: center;
font-size: 26px;
letter-spacing: 10px;
color: #2B7E97;
margin: 40px 0;
}
.big-t3{
text-align: center;
font-size: 26px;
letter-spacing: 10px;
color:#ffffff;
margin: 40px 0;
}
.greeting p{
margin: 40px 0;
line-height: 180%;
color: #fff;
}
.t-right{
text-align: right;
margin: 40px 20px 20px auto;
text-align: right;
}
.t-right-2{
padding: 10px;
width: auto;
display: flex;
flex-wrap: wrap;
flex-direction: column;
text-align: right;
}
.t-right-2 h2{
width: auto;
color:#1D3275 ;
font-weight: 700;
font-size: 18px;
padding: 10px;
margin: 10px auto;
padding-left: 15px;
}
.t-right-2 p{
display: inline-block;
margin: 0;
line-height: 100%;
}
.map{
 filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  transition: 0.7s;
}
.map iframe:hover{
  filter: none;
  -webkit-filter: none;
}
ul.li-3 {
margin: 40px 0;
padding: 0;
list-style: none;
display: inline-block;
}
ul.li-3 li{
width: calc(100% / 3);
}
.iso{
text-align: center;
}
.iso P{
text-align: left;
display: inline-block;
}
.iso img{
margin: 40px auto;
}
.iso ul{
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
width: 100%;
justify-content: center;
gap:10px;
}
.iso ul li{
background-color:#FF9718;
color: #fff;
padding: 10px 20px;
border-radius: 10px;
margin: 10px 0;
width: calc((100% - 20px;) /3);
}
.address{
padding: 0 40px;
border: 1px solid #ccc;
display: inline-block;
line-height: 180%;
}
.address p strong{
font-size: 21px;
color: #1D3275;
}
.kakunin-li{
max-width: 1200px;
margin: 40px auto 60px;
padding: 40px;
background-color: #EBF3FA;
}
.kakunin-li li{
margin-bottom: 10px;
list-style: square;
}
a{
color:#1D3275 ;
}
ul.gallery{
margin: 40px 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
gap:20px;
box-sizing: border-box;
}
ul.gallery li{
margin: 0;
width: calc((100% - 60px) / 4);
}
dl.qa{
margin: 0;
counter-reset: number 0;
}
dl.qa dt{
padding: 10px;
padding-bottom: 5px;
border-bottom: solid 1px #3B4CA2;
font-size: 18px;
color: #3B4CA2;
font-weight: 600;
}
dl.qa dd{
margin-bottom: 20px;
padding-left:40px;
text-indent:-40px;

}
dl.qa dt::before{
counter-increment: number 1;
content: 'Q' counter(number) '.' ;
font-size: 40px;
color: #3B4CA2;
margin-right: 10px;
letter-spacing: 5px;
}
dl.qa dd::before{
content: 'A';
font-size: 40px;
color:#2A7E92;
margin-right: 10px;
}
.message{
margin: 40px 0;
padding: 40px;
border: 1px solid #ccc;
}
ul.project-li{
margin: 50px 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
justify-content:flex-start;
gap:2%;
}
ul.project-li li{
width: 32%;
border: 1px solid #efefef;
padding: 20px;
margin-bottom: 30px;
}
ul.project-li li h2{
font-size: 18px;
margin: 10px 0;
padding: 5px;
letter-spacing: normal;
}
ul.project-li li p{
margin: 0;
text-align: right;
}
p.kikan{
font-size: 14px;
margin: 0;
padding-bottom: 10px;
}
ul.li-office{
margin: 50px 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
ul.li-office li{
width: calc(100% / 3);
}
.saiyou{
margin: 40px auto;
box-sizing: border-box;
}
.saiyou a{
margin: 50px auto;
display: inline-block;
border: 1px solid #1D3275;
border-radius: 20px;
padding: 20px 30px;
text-decoration: none;
font-size: 24px;
letter-spacing: 10px;
font-weight: 600;
padding-top: 10px;
}
.saiyou :hover{
color: #fff;
background-color:#1D3275;
}
.saiyou span{
font-size: 16px;
}
@media screen and (max-width:1080px){
.top-header{
display: block;
justify-content: center;
align-items: center;
padding: 10px;
color: #fff;
}
.top-header-r{
display: none;
}
img.logo{
width: 300px;
}
img.logo-t{
width: 200px;
}
.bx-t{
position: absolute;
top: 20%;
left: 70%;
transform: translate(-70%, -20%);
/*-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);*/
color: #fff;
font-size: 16px;
text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
text-align: left;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
section{
width: 100%;
margin: 0;
padding: 20px;
}
footer{
background-color: #1D3275;
color: #fff;
padding: 40px 20px 20px;
}
.footer-box{
display: flex;
max-width: 1400px;
margin: 0 auto 0;
justify-content:center;
flex-direction: row;
}
ul.f-nav{
display: none;
}
ul.f-li{
list-style: none;
margin: 20px 0 20px;
padding: 0;
display: block;
}
.f-li li{
margin: 0;
padding: 0 10px;
text-align: left;
}
.pc{
display: none;
}
.sp{
display: block;
}
.page{
padding-bottom: 40px;
}
.page h1{
margin: 20px auto 30px;
letter-spacing: 5px;
text-align: center;
}
.page h2{
color: #1D3275;
padding-top: 10px;
border-bottom: 1px solid #1D3275;
padding-bottom: 5px;
margin: 20px auto;
letter-spacing: 0px;
font-size: 21px;
}
.page h3{
color: #4c9ac0;
padding: 10px 0;
margin: 20px 0 20px;
letter-spacing: 0px;
}
.page h4{
display: inline-block;
background-color: #4c9ac0;
color: #fff;
padding: 10px 40px;
letter-spacing: 0px;
}
/*トップリクルート*/
.recruit-box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column-reverse;
align-items: stretch;
margin-top: 20px;
}
.recruit-t{
background-color:#91C6D3;
padding:20px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
align-content: center;
}
.recruit-box img{
width: 100%;
}
.recruit-t h2{
text-align: center;
margin: 20px 0 20px;
font-size: 26px;
font-weight: 400;
letter-spacing: 5px;
}
.recruit-t h2:before, .recruit-t h2:after {
  border-top: 1px solid;
  content: "";
  width: 2em; /* 線の長さ */
}
.recruit-t h2:before {
  margin-right: 1em; /* 文字の右隣 */
}
.recruit-t h2:after {
  margin-left: 1em; /* 文字の左隣 */
}
.recruit-t p{
font-size: 18px;
}
.p-textImgBox__inner {
  display: block;
}
.box50{
width: 100%;
padding: 0 10px 20px 10px;
}
.box70{
width: 100%;
padding: 0 10px 20px 10px;
}
.box60{
width: 100%;
padding: 0 10px 20px 10px;
}
.box40{
width: 100%;
padding: 0 10px 20px 10px;
}
.president{
width: 100%;
padding: 0 20px;
}
.box30{
width: 100%;
padding: 20px;
}
section.pad-0{
max-width: 1400px;
margin: 0 auto 0;
padding: 40px 20px 0;
}
ul.service-li li{
width: calc((100%) / 1);
box-sizing: border-box;
position: relative;
margin-bottom: 20px;
}
.service-li span{
display: block;
text-align: center;
font-size: 40px;
font-weight: 400;
width: 100%;
}
.service-li p{
font-size: 16px;
letter-spacing: 2px;
text-align: center;
margin: 20px 0 20px;
padding: 0;
}
.table-1 tbody,tr,td,th {
    width: 100%;    /* 幅を100%にする */
    display: block; /* ブロック要素にする */
	letter-spacing: 0px;
  }
.table-1 th {
  border-bottom: 1px solid #4d9bc1;;
  font-weight: bold;
  text-align: left;
  width: 100%;
  min-width: 4em;
  background-color:#E7F0F5;
}
 .table-2 tbody,tr,td,th {
    width: 100%;    /* 幅を100%にする */
    display: block; /* ブロック要素にする */
	letter-spacing: 0px;
  }
.table-2 th {
  border-bottom: 1px solid #4d9bc1;;
  font-weight: bold;
  text-align: left;
  width: 100%;
  min-width: 4em;
  background-color:#E7F0F5;
}
 .table-3 tbody,tr,td,th {
    width: 100%;    /* 幅を100%にする */
    display: block; /* ブロック要素にする */
	letter-spacing: 0px;
  }
.table-3 th {
  border-bottom: 1px solid #4d9bc1;;
  font-weight: bold;
  text-align: left;
  width: 100%;
  min-width: 4em;
  background-color:#E7F0F5;
}
ul.gallery li{
margin: 0;
width: calc((100% - 20px) / 2);
}
dl.qa dt{
padding: 10px;
padding-bottom: 5px;
border-bottom: solid 1px #3B4CA2;
font-size: 16px;
color: #3B4CA2;
padding-left:75px;
text-indent:-75px;
}
dl.qa dd{
margin-bottom: 20px;
padding-left:30px;
text-indent:-30px;
margin-left: 15px;
}
dl.qa dt::before{
counter-increment: number 1;
content: 'Q' counter(number) '.' ;
font-size: 30px;
color: #3B4CA2;
margin-right: 10px;
letter-spacing: 5px;
}
dl.qa dd::before{
content: 'A';
font-size: 30px;
color:#2A7E92;
margin-right: 10px;
}
.message{
margin: 40px 0;
padding: 20px;
border: 1px solid #ccc;
}
ul.project-li{
margin: 20px 0;
padding: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
justify-content:flex-start;
gap:0%;
}
ul.project-li li{
width: 100%;
border: 1px solid #efefef;
padding: 20px;
margin-bottom: 20px;
}
ul.li-office li{
width: calc(100% / 2);
}

.step-text {
  padding-left: 80px;
  font-size: 16px;
  line-height: 1.5;
}
.support{
margin-left: 80px;
}
.big-t{
text-align: center;
font-size: 32px;
letter-spacing: 10px;
color: #2B7E97;
margin: 20px 0;
padding-left: 20px;
}
.big-t2{
text-align: center;
font-size: 24px;
letter-spacing: 0px;
color: #2B7E97;
margin: 20px 0;
}
.big-t3{
text-align: center;
font-size: 24px;
letter-spacing: 5px;
color:#ffffff;
margin: 20px 0;
}
.contents h1{
margin: 20px auto 30px;
letter-spacing: 10px;
text-align: center;
}
.contents h2 span{
font-size: 14px;
letter-spacing: 1px;
display: block;
}
.contents h3{
color: #fff;
background-color: #4c9ac0;
text-align: center;
padding: 10px;
margin: 20px 0 20px;
letter-spacing: 5px;
}
.contents h4{
text-align: center;
border-top: 1px solid #ccc;
padding-top: 10px;
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
}
.step h3{
text-align: left;
  background-color:transparent;
  color: #4c566a;
  margin: 0;
}
h3.step-title {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 30px;
  align-items: center;
  font-size: 21px;
  font-weight: bold;
  color: #3b4252;
}
.kakunin-li{
max-width: 1200px;
margin: 20px auto 30px;
padding: 20px;
background-color: #EBF3FA;
}
.saiyou a{
margin: 30px auto;
display: inline-block;
border: 1px solid #1D3275;
border-radius: 20px;
padding: 10px 20px;
text-decoration: none;
font-size: 21px;
letter-spacing: 2px;
font-weight: 600;
}
.saiyou :hover{
color: #fff;
background-color:#1D3275;
}
.saiyou span{
font-size: 14px;
}
}
/*ここまで　max-width:1080px　*/




.p-textImgBox__textBox {
  position: relative;
background-color: #fbfaf5;
  padding: 60px 20px 42px;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 760px) {
  .p-textImgBox__textBox {
    padding: 60px 20px 48px;
    margin-top: 50px;
  }
}
.p-textImgBox__textBox::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 53px;
background-color: #fbfaf5;
  top: -53px;
  left: 0;
  z-index: -1;
}

@media screen and (min-width: 760px) {
  .p-textImgBox__textBox::before {
    width: 150px;
    height: 100%;
    top: 0;
    left: -150px;
  }
}
.p-textImgBox__title {
  font-size: 22px;
  line-height: calc(26.4/22);
  font-weight: 600;
  text-align: center;
}
@media screen and (min-width: 760px) {
  .p-textImgBox__title {
    text-align: left;
  }
}
.p-textImgBox__text {
  font-size: 16px;
  font-weight: 400;
}
.p-textImgBox__img {
  width: 100%;
  max-width: 500px;
  display: block;
  position: relative;
  z-index: 5;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 760px) {
  .p-textImgBox__img {
    max-width: 600px;
  }
}
.p-textImgBox__img img {
  aspect-ratio: 600 / 400;
  height: auto;
  object-fit: cover;
}
.p-textImgBox__button {
  margin-top: 40px;
}
.number::before {
  position: absolute;
  font-size: 50px;
  letter-spacing: 0.1em;
  line-height: calc(84/70);
  color: var(--base-color);
  right: 25px;
  font-weight: 100;
  content: "0"counter(number) " ";
  top: 0;
}
@media screen and (min-width: 760px) {
  .number::before {
    right: 50px;
    top: -50px;
	font-size: 70px;
  }
  .p-textImgBox:nth-child(even) .p-textImgBox__inner {
    flex-direction: row-reverse;
  }
  .p-textImgBox:nth-child(even) .p-textImgBox__textBox::before {
    left: initial;
    right: -150px;
  }
  .p-textImgBox:nth-child(even) .number::before {
    right: initial;
    left: 50px;
  }
}
@media (min-width: 751px) {
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
}
