@charset "UTF-8";

/* top */

.mv-content {
  display: flex;
  width: 100%;
  min-width: 1200px;
  align-items: flex-start;
  justify-content: flex-end;
}
.mv-content .left {
  width: 26.6%;
  position: absolute;
  left: 0;
  z-index: 9;
}
.mv-content .left .txt {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  width: 85%;
  background: #fff;
}
.mv-content .left .txt .logo {
  background: #f6fbfd;
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mv-content .left .txt .logo:hover{
  opacity: 0.7;
}
.mv-content .left .txt .logo img {
  width: 100%;
  display: block;
}
.mv-content .left .txt .contact-info {
  width: 50%;
  background: #a9d4f4;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.mv-content .left .txt .contact-info p{
  font-size: 1.3vw;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.6rem;
  margin-bottom: 0.6rem;
  letter-spacing: 0.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mv-content .left .txt .contact-info p span{
  font-size: 0.95vw;
  letter-spacing: 0.1rem;
  font-weight: 500;
  margin-right: 0.1rem;
}
.mv-content .left .txt .contact-info .call {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mv-content .left .txt .contact-info .call img {
  width: 0.9vw;
  margin-right: 0.3rem;
}
.mv-content .left .txt .contact-info .call strong {
  font-size: 1.05vw;
  letter-spacing: 0.05rem;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
}
.mv-content .left .txt .contact-info small {
  padding-top: 0.3vw;
  font-size: 0.8vw;
  margin-top: 0.1rem;
  display: flex;
  align-items: center;
  letter-spacing: 0.06vw;
  justify-content: center;
}
.mv-content .left .txt .contact-info small span{
  border: 1px solid #fff;
  padding: 0.05vw 0.4vw 0.15vw;
  margin-right: 0.4rem;
  font-size: 0.6vw;
  border-radius: 50vw;
}
.mv-content .right {
  width: 94.5%;
}
.mv-content .right img.load-fade {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}
.mv-content .right img.load-fade.is-show {
  opacity: 1;
  visibility: visible;
}
.mv-content .mv-copy {
  position: absolute;
  left: 5%;
  top: 68%;
  width: 42.6%;
  padding: 4.5vw 0 7vw;
  background: white;
  text-align: left;
  text-align: center;
}
.mv-content .mv-copy h1 {
  font-size: 2.7vw;
  letter-spacing: 0.18vw;
}
.mv-content .mv-copy h1 span{
  font-weight: 500;
}
.mv-content .mv-copy h1 span.copy-latter{
  letter-spacing: -1.2rem;
}
.mv-content .mv-copy h1 span.dot {
  position: relative;
  color: #509dd2;
}
.mv-content .mv-copy h1 span.dot::before {
  content: "•";
  position: absolute;
  top: -1.8rem;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  font-size: 1.6rem;
}
.mv-content .mv-copy p {
  font-size: 1vw;
  letter-spacing: 0.22vw;
  margin-top: 1.2vw;
  margin-right: 2vw;
  font-weight: 500;
  color: #333333;
}
.mv-news-wrapper{
  min-width: 1200px;
}
.mv-news {
  margin-left: 47.6%;
  border-bottom: 1px solid #d9d9d9;
  display: flex;
}
.mv-news h3 {
  width: 8vw;
  margin: 1.4vw 0 1.4vw 1.6vw;
  padding: 0.7vw 1.3vw;
  font-size: 0.85vw;
  font-weight: 400;
  letter-spacing: 0.1vw;
  background: #a9d4f4;
  border-radius: 50vw;
  color: #fff;
}
.mv-news .mv-news-content {
  width: 40vw;
  display: flex;
  justify-content: flex-start;
}
.mv-news .mv-news-content a {
  display: flex;
  height: 100%;
  justify-content: flex-start;
  color: #020422;
  align-items: center;
  padding-left: 2vw;
  font-size: 1vw;
  height: 100%;
  justify-content: flex-start;
  position: relative;
}
.mv-news .mv-news-content a span {
  display: block;
  font-size: 1vw;
  font-weight: 700;
  margin-right: 1vw;
}
.mv-news .mv-news-content a p{
  font-size: 1.05vw;
  font-weight: 700;
}
.mv-news .mv-news-content a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.4rem;
  width: 10px;
  height: 10px;
  border-top: solid 1px #000000;
  border-right: solid 1px #000000;
  transform: rotate(45deg) translateY(-50%);
}
.mv-news .mv-news-content a:hover {
  opacity: 0.7;
}
/* --------------------------------------------------
    max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  #mv {
    min-width: 1000px;
  }
  .mv-content {
    min-width: 1000px;
  }
  .mv-content .left {
    min-width: 300px;
  }
  .mv-content .left .txt .logo {
    padding: 2rem 0.5rem;
    height: 8vw;
  }
  .mv-content .left .txt .logo img{
    width: 87%;
  }
  .mv-content .left .txt .contact-info {
    
  }
  .mv-content .left .txt .contact-info .call img {
    width: 0.6rem;
    margin-right: 0.2rem;
  }
  .mv-content .left .txt .contact-info .call strong {
    font-size: 0.99rem;
    letter-spacing: 0.05rem;
  }
  .mv-content .left .txt .contact-info small {
    font-size: 0.7rem;
    margin-top: 0.4rem;
    letter-spacing: 0.02rem;
  }
  .mv-content .left .txt .contact-info small span{
    font-size: 0.6vw;
  }
  .mv-content .left .txt .links {
    margin-top: 1.5rem;
  }
  .mv-content .left .txt .links li {
    margin-bottom: 0.5rem;
  }
  .mv-content .left .txt .links li a {
    width: 3rem;
    height: 3rem;
  }
  .mv-content .left .txt .links li a img {
    width: 47%;
  }
  .mv-content .mv-copy {
    padding: 3.55rem 0 4rem;
  }
  .mv-content .mv-copy h1 {
    font-size: 2.92vw;
    letter-spacing: 0.18rem;
  }
  .mv-content .mv-copy p {
  font-size: 0.63rem;
  letter-spacing: 0.22rem;
  margin-top: 1rem;
  margin-right: 1rem;
  }
  .mv-news-wrapper{
    min-width: 1000px;
  }
  .mv-news .mv-news-content h3 {
    margin: 0.8rem 0;
    font-size: 0.6rem;
    padding: 0.5rem 0.85rem;
    letter-spacing: 0.07rem;
  }
  .mv-news .mv-news-content a {
    padding-left: 1.5rem;
    font-size: 0.7rem;
  }
  .mv-news .mv-news-content a span {
    font-size: 0.7rem;
    margin-right: 1rem;
    letter-spacing: 0.005rem;
  }
}
/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  #mv {
    min-width: unset;
  }
  .mv-content {
    min-width: unset;
    flex-direction: column;
    padding-top: 5rem;
  }
  .mv-content .left {
    display: none;
  }
  .mv-content .right {
    width: 100%;
  }
  .mv-content .mv-copy {
    position: static;
    width: 100%;
    padding: 2rem 0 4rem;
  }
  .mv-content .mv-copy h1 {
    font-size: 4rem;
    letter-spacing: 0.15rem;
    line-height: 6.5rem;
    text-align: center;
  }
  .mv-content .mv-copy h1 span.copy-latter{
    letter-spacing: 0;
  }
  .mv-content .mv-copy h1 span.dot::before{
    top: -2.9rem;
    font-size: 2.2rem;
  }
  .mv-content .mv-copy p {
    font-size: 1.25rem;
    margin: 0.9rem auto 0;
    letter-spacing: 0.15rem;
    padding: 0;
    line-height: 2rem;
    width: 75%;
    text-align: left;
  }
  .mv-news-wrapper{
    min-width: unset;
  }
  .mv-news {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    border: 0;
  }
  .mv-news h3 {
    font-size: 1rem;
    width: unset;
    border: 0;
    padding: 0.3rem 1rem;
    margin: 0;
    position: relative;
    z-index: 2;
  }
  .mv-news .mv-news-content {
    flex-direction: column;
    margin: 0 auto;
    width: 88%;
    border: 1px solid #a9d4f4;
    margin-top: -1rem;
  }
  .mv-news .mv-news-content a {
    padding: 2rem 0.5rem 1.5rem;
    justify-content: flex-start;
    font-size: 0.9rem;
  }
  .mv-news .mv-news-content a span {
    font-size: 0.8rem;
    margin-right: 1rem;
    letter-spacing: 0.005rem;
    margin-left: 1rem;
  }
  .mv-news .mv-news-content a p{
    font-size: 2.8vw;
  }
}

/* トップページ */

#top1 {
  margin-top: 14rem;
  margin-bottom: 9rem;
}

.asymmetry-layout {
  position: relative;
}
.asymmetry-layout .box {
  margin-left: 34.5%;
  padding: 4.7rem 5rem 4.7rem 12.5rem;
  background: #f8fcfe;
  text-align: left;
}
.asymmetry-layout .box span{
  display: inline-block;
  color: #afd7f6;
  font-size: 1rem;
  letter-spacing: 0.1rem;
  font-weight: 700;
  padding-bottom: 0.3rem;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid #afd7f6;
}

.asymmetry-layout .box h2{
  display: block;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  margin-bottom: 2rem;
  color: #1a1a1a;
}

.asymmetry-layout .box p {
  text-align: left;
  font-size: 1rem;
  letter-spacing: 0.1rem;
  line-height: 2.1rem;
  font-weight: 400;
  color: #333333;
}
.asymmetry-layout .img {
  position: absolute;
  width: 34.5rem;
  top: -20.5%;
  left: 0;
}

.first-title{
  text-align: center;
}

.first-title .en-title{
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  border-bottom: 1px solid #a9d4f4;
  color: #a9d4f4;
  padding-bottom: 0.4rem;
  margin-bottom: 0.9rem;
  display: inline-block;
  font-family: 'Roboto', sans-serif;
}

.first-title h2{
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  color: #2f2e2d;
}

#top2 {
  margin-bottom: 13rem;
}

.top2-content ul{
  display: flex;
  justify-content: space-between;
  margin-top: 3.5rem;
}

.top2-content ul li{
  width: 32%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.top2-content ul li .top-service-info{
  margin-bottom: 2.5rem;
}

.top2-content ul li .top-service-info h3{
  margin: 1.5rem 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: #6595b5;
  letter-spacing: 0.15rem;
}

.top2-content ul li .top-service-info p{
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
  line-height: 2rem;
  text-align: left;
  font-weight: 300;
  width: 86%;
  margin: 0 auto;
  color: #333333;
}

.top2-content ul li .btn1{
  padding: 0.6rem 4.3rem;
}

.top2-content ul li .btn1 span{
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
}

#top3 {
  margin-bottom: 7rem;
}

.top3-content{
  width: 100%;
}

.top3-content .top3-bgtop{
  background: #e4f1fb;
  padding: 5.4rem 0 4rem;
  position: relative;
}

@media screen and (max-width: 1200px){
  .top3-content .top3-bgtop{
    background: none;
    padding: 0;
  }
  .top3-content .top3-bgtop .inner{
    background: #e6f1fb;
    padding: 5.4rem 0 4rem;
  }
}

.top3-content .top3-bgtop .first-title{
  position: relative;
}

.top3-content .top3-bgtop .first-title::before{
  position: absolute;
  content: "";
  width: 2.5rem;
  height: 0.25rem;
  bottom: -2.4rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: #fff;
}

.top3-content .top3-bgtop p{
  margin-top: 5rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  line-height: 2.8rem;
  color: #4d4d4d;
}

.top3-content .top3-bgbottom{
  background: #9ac3c5;
  padding: 5rem 0 3rem;
}

@media screen and (max-width: 1200px){
  .top3-content .top3-bgbottom{
    background: none;
    padding: 0;
  }
  .top3-content .top3-bgbottom .inner{
    background: #9ac3c5;
    padding: 5rem 0 3rem;
  }
}

.top3-content .top3-bgbottom ul{
  display: flex;
  justify-content: space-between;
  width: 86%;
  margin: 0 auto 3.5rem;
}

.top3-content .top3-bgbottom ul li{
  width: 21%;
}

.top3-content .top3-bgbottom ul li .img{
  margin-bottom: 1.3rem;
}

.top3-content .top3-bgbottom ul li strong{
  font-size: 1.3rem;
  font-weight: 300;
  letter-spacing: 0.1rem;
  line-height: 2.4rem;
  color: #fff;
}

.top3-content .top3-bgbottom .btn1{
  display: inline-block;
  background-color: #fff;
  color: #9ac3c5;
  padding: 0.7rem 3rem;
}

.top3-content .top3-bgbottom .btn1::after{
  border-top: solid 1px #9ac3c5;
  border-right: solid 1px #9ac3c5;
}

#top4 {
  margin-bottom: 11rem;
}

.asymmetry-reverse {
  position: relative;
}
.asymmetry-reverse .box {
  margin-right: 30%;
  margin-top: 9rem;
  padding: 4.7rem 20.5rem 4.7rem 5rem;
  background: #f8fcfe;
  text-align: left;
}

.asymmetry-reverse .box h3{
  display: block;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  margin-bottom: 2.5rem;
  color: #1a1a1a;
}

.asymmetry-reverse .box p {
  text-align: left;
  font-size: 1rem;
  letter-spacing: 0.1rem;
  line-height: 2.1rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 3.2rem;
}

.asymmetry-reverse .box .btn1{
  display: inline-block;
  padding: 0.5rem 3rem;
}

.asymmetry-reverse .img {
  position: absolute;
  width: 38.8rem;
  top: -8.5%;
  right: 0;
}

#top5 {
  margin-bottom: 10rem;
}

.top5-content .news-wrapper {
  display: flex;
  justify-content: flex-start;
  gap: 3.5%;
  width: 100%;
  margin-top: 4.6rem;
  margin-bottom: 4rem;
}
.top5-content .news-wrapper li {
  width: 31%;
  text-align: left;
}
.top5-content .news-wrapper li a {
  color: #020422;
}
.top5-content .news-wrapper li a .img {
  width: 100%;
  height: 281px;
  display: flex;
  background-image: url("../image/sample.jpg");
  background-size: cover;
  background-position: center;
}
.top5-content .news-wrapper li a .txt-box {
  margin-top: 1.5rem;
}
.top5-content .news-wrapper li a .txt-box small {
  display: block;
  color: #000000;
  font-size: 1rem;
  font-weight: 500;
}
.top5-content .news-wrapper li a .txt-box strong {
  margin: 0.8rem 0;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
}
.top5-content .news-wrapper li a .txt-box p {
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.1rem;
}
.top5-content .news-wrapper li a:hover {
  opacity: 0.7;
}

.top5-content .btn1{
  display: inline-block;
}

/* --------------------------------------------------
  TOP  max-width 1025px
-------------------------------------------------- */

@media screen and (max-width: 1025px){
  .asymmetry-layout .img{
    width: 29rem;
  }
  .asymmetry-reverse .box{
    padding: 4.7rem 14.5rem 4.7rem 5rem;
  }
  .asymmetry-reverse .img{
    width: 29rem;
  }
  .asymmetry-reverse .box .btn1{

  }
}

/* --------------------------------------------------
  TOP  max-width 768px
-------------------------------------------------- */

@media screen and (max-width: 768px) {
  #top1{
    margin-top: 15rem;
    margin-bottom: 4.5rem;
  }
  .asymmetry-layout .box{
    margin-left: 0;
    padding: 10rem 2rem 4rem;
    text-align: center;
  }
  .asymmetry-layout .img{
    width: 75%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  #top2{
    margin-bottom: 9rem;
  }
  .top2-content ul{
    flex-direction: column;
    padding: 0 2rem;
  }
  .top2-content ul li{
    width: 100%;
    margin-bottom: 5rem;
  }
  .top2-content ul li:last-child{
    margin-bottom: 0;
  }
  .top3-content .top3-bgtop p{
    padding: 0 2rem;
    font-size: 0.9rem;
    line-height: 2.4rem;
  }
  .top3-content .top3-bgbottom ul{
    flex-wrap: wrap;
    width: 85%;
    gap: 2rem 0;
  }
  .top3-content .top3-bgbottom ul li{
    width: 47%;
  }
  .top3-content .top3-bgbottom ul li strong{
    font-size: 1.07rem;
    line-height: 1.8rem;
  }
  .asymmetry-reverse .box{
    margin-right: 0;
    padding: 16rem 2rem 4rem;
    text-align: center;
  }
  .asymmetry-reverse .img{
    width: 75%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .asymmetry-reverse .box h3{
    font-size: 1.7rem;
  }
  #top4{
    margin-bottom: 6rem;
  }
  .top5-content .news-wrapper{
    display: block;
    width: 85%;
    margin: 4rem auto 0;
  }
  .top5-content .news-wrapper li{
    width: 100%;
    margin-bottom: 2.5rem;
  }
}

/* footer */

#footer-banner .footer-banner1 {
  display: flex;
  justify-content: center;
  margin: 0 3.5% 4.6rem;
}
#footer-banner .footer-banner1 li {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #8fc8f1;
  color: white;
  padding: 3.2rem 0 2.4rem;
  width: 50%;
}
#footer-banner .footer-banner1 li span {
  font-size: 1.05rem;
  letter-spacing: 0.2rem;
  font-weight: 500;
}
#footer-banner .footer-banner1 li .call {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.2rem;
  margin-bottom: 0.5rem;
}
#footer-banner .footer-banner1 li .call img {
  width: 2rem;
  height: auto;
  margin-right: 0.5rem;
}
#footer-banner .footer-banner1 li .call strong {
  font-size: 2.8rem;
  letter-spacing: 0.2rem;
  font-weight: 900;
  color: #f5ee96;
  font-family: 'Roboto', sans-serif;
}
#footer-banner .footer-banner1 li .call strong a {
  color: white;
}
#footer-banner .footer-banner1 li small {
  font-size: 1.5rem;
  margin-top: 0.5rem;
  letter-spacing: 0.05rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  font-family: 'Roboto', sans-serif;
}
#footer-banner .footer-banner1 li small .f-banner-time{
  font-size: 0.75rem;
  letter-spacing: 0.05rem;
  font-weight: 400;
  border: 1px solid #fff;
  border-radius: 6px;
  padding: 0.1rem 0.8rem 0.2rem;
  margin-right: 0.5rem;
  font-family: 'Noto Sans JP', sans-serif;
}
#footer-banner .footer-banner1 li.white {
  color: #020422;
  background: #f8fcfe;
  justify-content: flex-start;
}
#footer-banner .footer-banner1 li.white span {
  letter-spacing: 0.4rem;
  color: #509dd2;
}
#footer-banner .footer-banner1 li.white .btn1{
  margin-top: 1.7rem;
  padding: 0.8rem 5rem;
  background: #fff;
  border: 3px solid #509dd2;
  border-radius: 13px;
}
#footer-banner .footer-banner1 li.white .btn1::after{
  border-top: solid 2px #509dd2;
  border-right: solid 2px #509dd2;
}
#footer-banner .footer-banner1 li.white .btn1 span {
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  color: #509dd2;
}

#footer-banner .footer-banner1 li.white .btn1:hover::after{
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}

#footer-banner .footer-banner1 li.white .btn1:hover span{
  color: #fff;
}

#footer-banner .footer-banner1 li.white .btn1::before{
  background: #509dd2;
}

/* --------------------------------------------------
    max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  #footer-banner .footer-banner1 {
    margin: 5.5rem 3.5% 2.6rem;
  }
  #footer-banner .footer-banner1 li {
    padding: 2.5rem 0 1.5rem;
  }
  #footer-banner .footer-banner1 li span {
    font-size: 0.8rem;
    letter-spacing: 0.2rem;
  }
  #footer-banner .footer-banner1 li .call {
    margin-top: 0.7rem;
  }
  #footer-banner .footer-banner1 li .call img {
    width: 1rem;
  }
  #footer-banner .footer-banner1 li .call strong {
    font-size: 1.5rem;
  }
  #footer-banner .footer-banner1 li small {
    font-size: 0.7rem;
    margin-top: 0.4rem;
  }
  #footer-banner .footer-banner1 li.white span {
    letter-spacing: 0.3rem;
  }
  #footer-banner .footer-banner1 li.white a {
    margin-top: 1.1rem;
    padding: 0.5rem 2.3rem;
  }
  #footer-banner .footer-banner1 li.white a span {
    font-size: 0.7rem;
  }
}
/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  #footer-banner .footer-banner1 {
    flex-direction: column;
    margin: 2rem auto;
  }
  #footer-banner .footer-banner1 li {
    padding: 2rem 0 2rem;
    width: 100%;
  }
  #footer-banner .footer-banner1 li span {
    font-size: 1rem;
  }
  #footer-banner .footer-banner1 li .call {
    margin-top: 0.6rem;
  }
  #footer-banner .footer-banner1 li .call img {
    width: 1.2rem;
  }
  #footer-banner .footer-banner1 li .call strong {
    font-size: 1.7rem;
  }
  #footer-banner .footer-banner1 li small {
    font-size: 0.9rem;
    margin-top: 0.5rem;
  }
  #footer-banner .footer-banner1 li.white span {
    font-size: 0.9rem;
    letter-spacing: 0.4rem;
  }
  #footer-banner .footer-banner1 li.white .btn1{
    padding: 0.8rem 0;
    width: 70%;
  }
  #footer-banner .footer-banner1 li.white .btn1 span{
    font-size: 1.1rem;
  }
}


footer {
  margin-top: 9.4rem;
}
.footer-content {
  min-width: 1200px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  background: #509dd2;
}
.footer-content .left {
  width: 43.4%;
  padding: 5.5rem 0;
}
.footer-content .left .left-inner {
  width: 26rem;
  margin-left: auto;
}
.footer-content .left .top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}
.footer-content .left .top a{
  background-color: #fff;
  display: flex;
  justify-content: center;
  padding: 0.3rem;
  height: 11.5rem;
}
.footer-content .left .top a:hover{
  opacity: 0.7;
}
.footer-content .left .top a .img{
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-content .left .top a .img img{
  display: block;
  width: 79%;
}
.footer-content .left .top a .f-company-name{
  width: 50%;
  background-color: #a9d4f4;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-content .left .top a .f-company-name p{
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
}
.footer-content .left .bottom {
  color: #fff;
  font-size: 0.85rem;
  margin-top: 1.6rem;
  text-align: center;
}
.footer-content .right {
  padding: 6.3rem 0;
  width: 70%;
}
.footer-content .right .top {
  margin-left: 5rem;
}
.footer-content .right .top dl{
  display: flex;
  margin-bottom: 1.2rem;
  align-items: center;
  justify-content: flex-start;
  width: 43rem;
}
.footer-content .right .top dl:last-child{
  margin-bottom: 0;
  padding-bottom: 3rem;
  border-bottom: 2px solid #fff;
}
.footer-content .right .top dl dt{
  padding-right: 2.4rem;
  padding-left: 2.4rem;
  border-right: 1px solid #fff;
}
.footer-content .right .top dl dt:first-child{
  padding-left: 0;
}
.footer-content .right .top dl dt:last-child{
  border: 0;
  padding-right: 0;
}
.footer-content .right .top dl dt a {
  font-weight: 300;
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  color: #fff;
}
.footer-content .right .top dl dt a:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.footer-content .right .top dl a {
  color: #020422;
  letter-spacing: 0.1rem;
  font-size: 0.8rem;
}
.footer-content .right .top dl a:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.footer-content .right .bottom {
  width: 37rem;
  align-items: center;
  margin-left: 5.4rem;
  margin-top: 2.5rem;
}
.footer-content .right .bottom .f-lastbox{
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.footer-content .right .bottom .f-lastbox .f-lastbox-name{
  width: 5rem;
  display: inline-block;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 500;
  color: #509dd2;
  background: #fff;
  border-radius: 7px;
  padding: 0.2rem 0.2rem;
  margin-right: 1rem;
}
.footer-content .right .bottom .f-lastbox .f-lastbox-info{
  font-size: 1.1rem;
  letter-spacing: 0.04rem;
  color: #fff;
}

/* --------------------------------------------------
    max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  footer {
    margin-top: 6.7rem;
  }
  .footer-content {
    min-width: 1000px;
  }
  .footer-content .left {
    width: 43%;
  }
  .footer-content .left .left-inner {
    width: 100%;
  }
  .footer-content .left .top {
    justify-content: center;
    margin-top: 2rem;
  }
  .footer-content .left .bottom {
    text-align: center;
    margin-top: 1.6rem;
    font-size: 0.7rem;
  }
  .footer-content .right .top {
    margin-left: 4rem;
  }
  .footer-content .right .bottom {
    width: 30rem;
    margin-left: 3.5rem;
    margin-top: 1.5rem;
  }
  .footer-content .right .top dl{
    width: 100%;
  }
  .footer-content .right .top dl dt{
    padding-right: 1.4rem;
    padding-left: 1.4rem;
  }
  .footer-content .right .top dl dt a{
    font-size: 0.85rem;
  }
  .footer-content .right .bottom .f-lastbox .f-lastbox-info{
    padding-top: 0.5rem;
  }
}
/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  footer {
    margin-top: 0;
  }
  .footer-content {
    min-width: unset;
    flex-direction: column-reverse;
    padding: 5rem 0;
  }
  .footer-content .left {
    width: 90%;
    margin: 0 auto;
    padding: 0;
  }
  .footer-content .left .bottom {
    font-size: 0.7rem;
    padding: 0;
    margin-top: 1.2rem;
  }
  .footer-content .left .top{
    margin-top: 0;
  }
  .footer-content .right {
    width: 100%;
    padding: 0;
  }
  .footer-content .right .top {
    margin-left: 0;
    flex-direction: column;
  }
  .footer-content .right .top dl{
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 0;
  }
  .footer-content .right .top dl dt{
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
    margin-bottom: 1.5rem;
  }
  .footer-content .right .top dl:last-child dt:last-child{
    margin-bottom: 0;
  }
  .footer-content .right .top dl dd:last-of-type {
    margin-bottom: 1.5rem;
  }
  .footer-content .right .top dl dt a{
    font-size: 1.1rem;
  }
  .footer-content .right .bottom {
    width: 80%;
    margin: 3rem auto;
  }
  .footer-content .right .bottom .f-lastbox{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem 0;
    margin-bottom: 2.7rem;
  }
  .footer-content .right .bottom .f-lastbox .f-lastbox-name{
    margin-right: 0;
  }
  .footer-content .right .bottom .f-lastbox .f-lastbox-info{
    text-align: center;
  }
}

/* --------------------------------------------------
  私たちについて
-------------------------------------------------- */

#page-about1{
  margin-top: 12rem;
  margin-bottom: 15rem;
  position: relative;
}

#page-about1 .inner::before{
  position: absolute;
  content: "";
  width: 0.15rem;
  height: 4.5rem;
  top: -8rem;
  background: #a9d4f4;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#page-about1 .about1-content{
  width: 75%;
  margin: 0 auto;
}

#page-about1 h2{
  margin-bottom: 1rem;
}

#page-about1 h2 strong{
  font-size: 7.4rem;
  font-weight: 500;
  letter-spacing: 0.4rem;
  font-family: 'Roboto', sans-serif;
}

#page-about1 .os-substrong{
  font-size: 1.7rem;
  letter-spacing: 0.1rem;
  font-weight: 400;
  margin-bottom: 5.3rem;
}

#page-about1 .img{
  text-align: center;
  margin-bottom: 3rem;
}

#page-about1 .os-explain{
  letter-spacing: 0.2rem;
  font-weight: 400;
  line-height: 2.6rem;
  margin-bottom: 5.2rem;
  font-size: 1.2rem;
}

#page-about1 ul{
  width: 80%;
  margin: 0 auto 5.2rem;
}

#page-about1 ul li{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 1.3rem 5.8rem;
  gap: 1.2rem;
}

#page-about1 ul .about-bg-grey{
  background-color: #f2f2f2;
}

#page-about1 ul li span{
  font-size: 1.5rem;
  background: #a9d4f4;
  padding: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  color: #fff;
  border-radius: 50%;
  font-family: 'Roboto', sans-serif;
}

#page-about1 ul li p{
  font-size: 1.7rem;
  letter-spacing: 0.3rem;
  font-weight: 500;
  color: #4d4d4d;
}

#page-about1 .os-appeal p strong{
  font-size: 2.9rem;
  letter-spacing: 0.3rem;
  padding-bottom: 1rem;
  border-bottom: 9px double #b3b3b3;
  color: #519ed4;
  font-weight: 500;
}

#page-about2{
  margin-bottom: 11rem;
}

#page-about2 ul{
  margin-top: 6rem;
}

#page-about2 ul li{
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  background: #f8fcfe;
  padding: 2rem 4rem;
  gap: 4%;
  margin-bottom: 4.5rem;
}

#page-about2 ul li:nth-child(2n){
  flex-direction: unset;
}

#page-about2 ul li:last-child{
  margin-bottom: 0;
}

#page-about2 ul li .strong-img{
  width: 40%;
}

#page-about2 ul li .strong-img img{
  display: block;
}

#page-about2 ul li .strong-content{
  text-align: left;
  width: 56%;
}

#page-about2 ul li .strong-content h3{
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.3rem;
  line-height: 3.1rem;
  margin-bottom: 2rem;
}

#page-about2 ul li .strong-content p{
  line-height: 2.2rem;
  letter-spacing: 0.1rem;
  font-size: 1.1rem;
}

#page-about3{
  margin-bottom: 12rem;
}

#page-about3 ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3.5rem;
}

#page-about3 ul li{
  width: 32%;
}

#page-about3 ul li a:hover{
  opacity: 0.7;
}

#page-about3 ul li a img{
  display: block;
}

#page-about3 ul li a span{
  background-color: #9ac3c5;
  display: block;
  padding: 1rem 0;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.2rem;
  color: #fff;
}

/* --------------------------------------------------
  私たちについて  max-width 1025px
-------------------------------------------------- */

@media screen and (max-width:1025px){
  #page-about1 ul li{
    padding: 1.3rem 4.2rem;
  }
  #page-about1 ul li p{
    font-size: 1.5rem;
  }
  #page-about1 .os-appeal p strong{
    font-size: 2.5rem;
  }
  #page-about2 ul li .strong-content h3{
    font-size: 1.8rem;
  }
}

/* --------------------------------------------------
  私たちについて  max-width 768px
-------------------------------------------------- */

@media screen and (max-width: 768px){
  #page-about1{
    margin-top: 9rem;
    margin-bottom: 8rem;
  }
  #page-about1 .inner::before{
    width: 0.12rem;
    height: 3.5rem;
    top: -6.3rem;
  }
  #page-about1 h2 strong{
    font-size: 3rem;
  }
  #page-about1 .os-substrong{
    font-size: 1.3rem;
    margin-bottom: 4rem;
  }
  #page-about1 .os-explain{
    line-height: 2.2rem;
    margin-bottom: 3.2rem;
    font-size: 1.1rem;
  }
  #page-about1 ul{
    width: 100%;
    margin: 0 0 3.1rem;
  }
  #page-about1 ul li{
    flex-direction: column;
    padding: 1.5rem 1rem;
  }
  #page-about1 ul li span{
    font-size: 1.2rem;
    padding: 1rem;
  }
  #page-about1 ul li p{
    font-size: 1.3rem;
  }
  #page-about1 .os-appeal p strong{
    font-size: 1.7rem;
    line-height: 4.8rem;
  }
  #page-about2{
    margin-bottom: 6rem;
  }
  #page-about2 ul{
    margin-top: 3rem;
  }
  #page-about2 ul li{
    display: block;
    padding: 2rem;
  }
  #page-about2 ul li .strong-img{
    width: 90%;
    margin: 0 auto;
  }
  #page-about2 ul li .strong-content{
    width: 100%;
    margin-top: 2rem;
  }
  #page-about2 ul li .strong-content h3{
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
    line-height: 2.5rem;
  }
  #page-about2 ul li .strong-content p{
    font-size: 1rem;
  }
  #page-about3 ul{
    flex-direction: column;
    gap: 1rem;
  }
  #page-about3 ul li{
    width: 80%;
  }
  #page-about3 ul li a span{
    padding: 0.7rem 0;
    font-size: 1.2rem;
  }
}

/* --------------------------------------------------
  会社概要
-------------------------------------------------- */

#page-company1{
  margin-bottom: 7rem;
  margin-top: 14rem;
}

.seinen2-content {
  position: relative;
}

.seinen2-content .box {
  margin-right: 40%;
  padding: 4rem 14rem 4.5rem 4rem;
  background: #f8fcfe;
  text-align: left;
}

.seinen2-content .box .h2-title-in{
  position: relative;
}

.seinen2-content .box .h2-title-in h2{
  font-size: 2.3rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
}

.seinen2-content .box .h2-title-in::after{
  content: "";
  position: absolute;
  width: 36px;
  height: 3px;
  left: 0;
  bottom: -23px;
  background-color: #a9d4f4;
}

.seinen2-content .box p {
  text-align: left;
  font-size: 1rem;
  letter-spacing: 0.1rem;
  line-height: 2;
  margin-top: 3rem;
}

.seinen2-content .img {
  position: absolute;
  width: 38.5rem;
  top: -20.5%;
  right: 0;
}

#page-company2{
  margin-bottom: 7rem;
}

#page-company2 ul{
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
}

#page-company2 ul li{
  width: 48%;
  padding: 5% 2%;
}

#page-company2 ul li:first-child{
  background: #ecf5fb;
}

#page-company2 ul li:last-child{
  background: #e9f2e6;
}

#page-company2 ul li h3{
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  background: #fff;
  padding: 1rem 2.5rem;
  display: inline-block;
  margin-bottom: 2.3rem;
}

#page-company2 ul li:first-child h3{
  color: #8dbde5;
}

#page-company2 ul li:last-child h3{
  color: #a4d4c2;
}

#page-company3{
  margin-bottom: 11rem;
}

#page-company3 table {
  text-align: left;
  width: 80%;
  margin: 3rem auto 5rem;
  border-collapse: collapse;
  line-height: 1.8;
}
#page-company3 table tr.bg-grey {
  background: #f2f2f2;
}
#page-company3 table tr th {
  width: calc(21% - 4rem);
  padding: 1.4rem 2rem;
  letter-spacing: 0.1rem;
  font-size: 1.2rem;
  font-weight: 400;
}
#page-company3 table tr td {
  letter-spacing: 0.1rem;
  padding: 1rem 2rem 1rem 0;
  width: calc(98% - 1rem);
  font-size: 1.2rem;
  color: #333333;
}
#page-company3 table tr.last td {
  padding-bottom: 3rem;
}

#page-company3 table tr td .company-table-btn{
  margin-top: 1.6rem;
  margin-bottom: 1rem;
}

#page-company3 table tr td .company-table-btn .btn1{
  display: inline-block;
}

#page-company3 ul{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 96%;
  margin: 0 auto;
}

#page-company3 ul li{
  width: 48%;
}

#page-company3 ul li iframe{
  height: 23rem;
}

#page-company3 ul li .office-map{
  margin-top: 1.5rem;
  border-left: 11px solid #c5e7fa;
  text-align: left;
  padding-left: 1.5rem;
}

#page-company3 ul li .office-map h3{
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  margin-bottom: 1.5rem;
}

#page-company3 ul li .office-map p{
  font-size: 1.3rem;
  line-height: 1.9rem;
  font-weight: 400;
  letter-spacing: 0.05rem;
  color: #333333;
}

/* --------------------------------------------------
  会社概要  max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  #page-company3 table {
    font-size: 0.8rem;
  }
  #page-company3 table tr th {
    padding: 0.7rem 2rem;
  }
  #page-company3 table tr td {
    padding: 0.7rem 2rem 0.7rem 0;
  }
  .seinen2-content {
    position: relative;
  }
  .seinen2-content .box {
    padding: 4rem 11rem 4rem 4.7rem;
  }
  .seinen2-content .box p {
    font-size: 0.7rem;
    line-height: 2;
  }
  .seinen2-content .img {
    width: 32rem;
  }
}
/* --------------------------------------------------
  会社概要  max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  #page-company1{
    margin-top: 6rem;
  }
  .seinen2-content .box .h2-title-in h2{
    font-size: 1.8rem;
  }
  #page-company2 ul{
    flex-direction: column;
    width: 80%;
    margin: 4rem auto 0;
    gap: 1rem;
  }
  #page-company2 ul li{
    width: 100%;
    padding: 0 0 2rem;
  }
  #page-company2 ul li .img{
    width: 90%;
    margin: 0 auto;
  }
  #page-company3 table {
    width: 100%;
    text-align: center;
    font-size: 1rem;
    margin-top: 3rem;
  }
  #page-company3 table tr th {
    width: 50%;
    display: block;
    padding: 2rem 0 1rem;
    margin: 0 auto;
    border-bottom: 1px solid #c4c4c4;
  }
  #page-company3 table tr td {
    width: 80%;
    display: block;
    padding: 1rem 0 2rem;
    margin: 0 auto;
    font-size: 1rem;
  }
  #page-company3 table tr td .non-slash{
    display: none;
  }
  .seinen2-content {
    display: flex;
    flex-direction: column-reverse;
  }
  .seinen2-content .box {
    margin: 0;
    padding: 6rem 2.6rem 3rem;
    margin-top: -4.5rem;
    position: relative;
    z-index: -1;
  }
  .seinen2-content .box p {
    font-size: 0.9rem;
  }
  .seinen2-content .img {
    position: static;
    width: 100%;
    text-align: center;
  }
  .seinen2-content .img img {
    width: 80%;
  }
  #page-company3 ul{
    width: 80%;
    flex-direction: column;
    margin: 0 auto;
    gap: 3rem;
  }
  #page-company3 ul li{
    width: 100%;
  }
  #page-company3 ul li iframe{
    height: 17rem;
  }
  #page-company3 ul li .office-map h3{
    font-size: 1.4rem;
  }
  #page-company3 ul li .office-map p{
    font-size: 1.1rem;
  }
}

/* --------------------------------------------------
  サービス
-------------------------------------------------- */

#service-common-link{
  margin-bottom: 12rem;
  margin-top: 4.8rem;
}

#service-common-link ul{
  width: 70%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

#service-common-link ul li{
  width: 33.33%;
}

#service-common-link ul li .onpush-button{
  display: block;
  padding: 1rem 0;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  background-color: #509dd2;
  border-top: 1px solid #509dd2;
  border-left: 1px solid #509dd2;
  border-bottom: 1px solid #509dd2;
  color: #fff;
}

#service-common-link ul li a{
  padding: 1rem 0;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  border-top: 1px solid #509dd2;
  border-left: 1px solid #509dd2;
  border-bottom: 1px solid #509dd2;
  color: #313131;
}

#service-common-link ul li:last-child a{
  border-right: 1px solid #509dd2;
}

#service-common-link ul li a:hover{
  background-color: #509dd2;
  color: #fff;
}

#page-service1{
  margin-bottom: 12rem;
}

#page-service1 .service-mv{
  margin-bottom: 6rem;
  position: relative;
}

#page-service1 .service-mv .s-right .s-right-top{
  margin-left: 41.4%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 9;
}

#page-service1 .service-mv .s-right .s-right-top strong{
  margin-bottom: 0.4rem;
}

#page-service1 .service-mv .s-right .s-right-top strong:last-child{
  margin-bottom: 0;
}

#page-service1 .service-mv .s-right .s-right-top strong span{
  position: relative;
  padding: 0rem 7rem 0.5rem 1.9rem;
  background: #8fc8f1;
  font-size: 5.2rem;
  display: inline-block;
  color: white;
  z-index: -1;
  font-family: 'Roboto', sans-serif;
  font-style: italic;
  font-weight: 100;
  letter-spacing: 0.1rem;
}

#page-service1 .service-mv .s-right .s-right-top strong span:before {
  position: absolute;
  content: '';
  right: -2px;
  top: -10px;
  border: none;
  border-right: solid 23px white;
  border-top: solid 125px transparent;
  z-index: -2;
}

#page-service1 .service-mv .s-right .s-right-bottom{
  margin-left: 29%;
  padding: 4rem 4rem;
  background: #fff;
  text-align: left;
  margin-top: 3.8rem;
}

#page-service1 .service-mv .s-right .s-right-bottom h2{
  font-size: 1.8rem;
  letter-spacing: 0.3rem;
  font-weight: 500;
  color: #509dd2;
}

#page-service1 .service-mv .s-right .s-right-bottom p{
  text-align: left;
  font-size: 1rem;
  letter-spacing: 0.08rem;
  line-height: 2.3rem;
  margin-top: 2rem;
  font-weight: 500;
}

#page-service1 .service-mv .img{
  position: absolute;
  width: 34.6rem;
  top: -11%;
  left: 0;
  z-index: -1;
}

#page-service1 ul{
  display: flex;
  justify-content: space-between;
}

#page-service1 ul li{
  background: #f5f8f8;
  padding: 8% 4% 4%;
  width: 24.6%;
  position: relative;
}

#page-service1 ul li span{
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.7rem;
  letter-spacing: 0.1rem;
  font-weight: 500;
  color: #fff;
  width: 3.8rem;
  height: 3.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  background-color: #9ac3c5;
  font-family: 'Roboto', sans-serif;
}

#page-service1 ul li .img{
  width: 80%;
  margin: 0 auto;
}

#page-service1 ul li h3{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem 0;
  font-size: 1.5rem;
  height: 5rem;
  letter-spacing: 0.1rem;
  font-weight: 500;
  line-height: 2.3rem;
}

#page-service1 ul li p{
  text-align: left;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
  line-height: 1.8rem;
}

#page-service2{
  margin-bottom: 12rem;
}

#page-service2 ul{
  margin-top: 6.8rem;
}

#page-service2 ul li{
  position: relative;
  background: #f8fcfe;
  margin-bottom: 10rem;
}

#page-service2 ul li .overview-content{
  padding: 4rem 45% 4rem 6.5%;
  text-align: left;
}

#page-service2 ul li:nth-child(2n) .overview-content{
  padding: 4rem 5% 4rem 45%;
}

#page-service2 ul li .overview-content h3{
  color: #509dd2;
  font-size: 1.9rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  position: relative;
  margin-bottom: 3rem;
}

#page-service2 ul li .overview-content h3::after{
  content: "";
  position: absolute;
  width: 2rem;
  height: 1px;
  bottom: -1.5rem;
  left: 6px;
  background-color: #509dd2;
}

#page-service2 ul li .overview-content p{
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  line-height: 1.9rem;
}

#page-service2 ul li .img{
  position: absolute;
  right: 0;
  top: 50%;
  width: 37%;
  transform: translateY(-50%);
}

#page-service2 ul li:nth-child(2n) .img{
  left: 0;
}

#page-service2 .btn1{
  display: inline-block;
}

#page-service2 .btn1:hover{
  z-index: 1;
}

#page-service2 .btn1::before{
  z-index: -1;
}

#page-service3{
  margin-bottom: 8.5rem;
}

#page-service3 ul{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 3.5rem;
  margin-bottom: 2.7rem;
}

#page-service3 ul li{
  width: 49.8%;
  border-top: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  padding: 1.5rem 0;
  position: relative;
}

#page-service3 ul li:nth-child(2n){
  border-right: 1px solid #cccccc;
}

#page-service3 ul li:nth-last-child(2),
#page-service3 ul li:last-child {
  border-bottom: 1px solid #cccccc;
}

#page-service3 ul li span{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1.7rem;
  width: 6%;
}

#page-service3 ul li p{
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}

#page-service3 .handle-supple{
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
}

#page-service4{
  margin-bottom: 8rem;
}

#page-service4 .service-map{
  margin-top: 4.7rem;
  position: relative;
  padding-top: 5rem;
}

#page-service4 .service-map .img{
  position: absolute;
  width: 70%;
  z-index: -1;
  top: 0;
  left: 0;
}

#page-service4 .service-map .service-map-content{
  width: 31%;
  margin-right: 10px;
  margin-left: auto;
  padding: 4rem 0 3rem;
  background: #fff;
  border: 1px solid #c1c1c1;
  box-shadow: 10px 10px 0 2px #edeef0;
}

#page-service4 .service-map .service-map-content .appeal47{
  margin-bottom: 1.6rem;
}

#page-service4 .service-map .service-map-content .appeal47 strong{
  font-size: 8.5rem;
  display: block;
  line-height: 8rem;
  color: #8fc8f1;
  font-family: 'Roboto', sans-serif;
  font-weight: 900;
}

#page-service4 .service-map .service-map-content .appeal47 span{
  display: block;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  color: #8fc8f1;
}

#page-service4 .service-map .service-map-content h3{
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  margin-bottom: 1.8rem;
}

#page-service4 .service-map .service-map-content .map47-attention{
  width: 62%;
  margin: 0 auto;
  text-align: left;
}

#page-service4 .service-map .service-map-content .map47-attention p{
  text-indent: -1rem;
  padding-left: 1rem;
  margin-bottom: 0.5rem;
  font-weight: 400;
  font-size: 1.05rem;
  letter-spacing: 0.05rem;
}

#page-service4 .service-map .service-map-content .map47-attention p:last-child{
  margin-bottom: 0;
}

#page-service5{
  margin-bottom: 10rem;
}

#page-service5 p{
  margin: 2.4rem 0 5.5rem;
  font-size: 1.15rem;
  letter-spacing: 0.1rem;
  line-height: 2.5rem;
  font-weight: 300;
}

#page-service5 .img{
  width: 75%;
  margin: 0 auto;
}

#page-service6{
  margin-bottom: 11rem;
}

#page-service6 .onestop-system{
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
  margin-bottom: 2rem;
}

#page-service6 .onestop-system li{
  width: 37.7%;
  padding: 0 6% 3%;
}

#page-service6 .onestop-system li:first-child{
  background: #f8fcfe;
}

#page-service6 .onestop-system li:last-child{
  background: #f5f8f8;
}

#page-service6 .onestop-system li h3{
  padding: 1.2rem 0;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  color: #fff;
  margin-bottom: 3rem;
}

#page-service6 .onestop-system li:first-child h3{
  background: #8fc8f1;
}

#page-service6 .onestop-system li:last-child h3{
  background: #80b7b8;
}

#page-service6 .onestop-system li .system-flow{
  padding: 0.6rem 0;
  background: #ffff;
  margin-bottom: 0.7rem;
}

#page-service6 .onestop-system li .img{
  width: 6%;
  margin: 0 auto 0.7rem;
}

#page-service6 .onestop-system li .first-start p{
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
}

#page-service6 .onestop-system li .flex-flow{
  margin-bottom: 2em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#page-service6 .onestop-system li .flex-flow::after{
  content: "";
  position: absolute;
  background-color: #868686;
  width: 1px;
  height: 60%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

#page-service6 .onestop-system li .flex-flow .ff-box{
  width: 50%;
}

#page-service6 .onestop-system li .system-flow .maker-name{
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2f2;
  border-radius: 50%;
  font-weight: 500;
  font-size: 1.1rem;
  letter-spacing: 0.2rem;
}

#page-service6 .onestop-system li .flex-flow .ff-box .maker-take{
  margin-top: 0.5rem;
  font-size: 1rem;
  letter-spacing: 0;
  font-weight: 400;
}

#page-service6 .onestop-system li .flex-simple{
  display: flex;
  justify-content: center;
  align-items: center;
}

#page-service6 .onestop-system li .flex-simple .maker-name{
  margin: 0 8% 0 16.2%;
}

#page-service6 .onestop-system li .flex-simple p{
  margin-right: auto;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  font-weight: 400;
}

#page-service6 .onestop-system li .strong-flow{
  background: #bdd9d5;
  padding: 2.8rem 3.9rem 2.7rem;
}

#page-service6 .onestop-system li .strong-flow strong{
  background: #fffbcd;
  color: #7097a4;
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  font-weight: 500;
  display: block;
  padding: 0.6rem 0;
  width: 90%;
  margin: 0 auto 2rem;
}

#page-service6 .onestop-system li .strong-flow ul li{
  padding: 1.4rem 0;
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  background: #fff;
}

#page-service6 .onestop-system li .strong-flow ul li:last-child{
  margin-bottom: 0;
}

#page-service6 .onestop-system li .strong-flow ul li p{
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  color: #333333;
}

#page-service6 .onestop-system li .nouhin{
  display: inline-block;
}

#page-service6 .onestop-system li .nouhin p{
  display: inline-block;
  padding: 0 3rem;
  font-size: 1.2rem;
  font-weight: 500;
}

#page-service6 .onestop-system .system-flow-kome{
  font-size: 1.1rem;
  line-height: 2rem;
  font-weight: 400;
  color: #333333;
}

#page-service7{
  margin-bottom: 12rem;
}

#page-service7 .service-office{
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
}

#page-service7 .service-office .s-office-left{
  width: 59%;
}

#page-service7 .service-office .s-office-right{
  width: 38%;
}

#page-service7 .service-office .s-office-right .s-office-info{
  margin-bottom: 1rem;
}

#page-service7 .service-office .s-office-right .s-office-info:last-child{
  margin-bottom: 0;
}

#page-service7 .service-office .s-office-right .s-office-info h3{
  background: #cccccc;
  padding: 1rem 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
}

#page-service7 .service-office .s-office-right .s-office-info p{
  text-align: left;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3rem 0;
  font-size: 1.3rem;
  line-height: 2.1rem;
  letter-spacing: 0.1rem;
  background: #f2f2f2;
}

/* --------------------------------------------------
  サービス  max-width 1025px
-------------------------------------------------- */

@media screen and (max-width: 1025px){
  #page-service1 .service-mv .s-right .s-right-top strong span{
    font-size: 4.6rem;
  }
  #page-service4 .service-map .img{
    width: 85%;
  }
  #page-service4 .service-map .service-map-content{
    width: 35%;
  }
}

/* --------------------------------------------------
  サービス  max-width 768px
-------------------------------------------------- */

@media screen and (max-width: 768px){
  #service-common-link ul li a{
    font-size: 1rem;
  }
  #service-common-link ul li .onpush-button{
    font-size: 1rem;
  }
  #service-common-link{
    margin-bottom: 25rem;
  }
  #service-common-link ul{
    flex-direction: column;
    width: 80%;
  }
  #service-common-link ul li{
    width: 100%;
  }
  #service-common-link ul li a{
    border-right: 1px solid #509dd2;
    border-bottom: 0;
  }
  #service-common-link ul li:last-child a{
    border-bottom: 1px solid #509dd2;
  }
  #page-service1{
    margin-bottom: 8rem;
  }
  #page-service1 .service-mv .s-right .s-right-top{
    margin-left: 0;
  }
  #page-service1 .service-mv .s-right .s-right-top strong span{
  position: relative;
  display: inline-block;
  background: #8fc8f1;
  color: #fff;
  padding: 0 2rem 0.5rem 2rem;
  font-size: 3rem;
  font-family: 'Roboto', sans-serif;
  font-style: italic;
  font-weight: 100;
  letter-spacing: 0.1rem;
  /* 右上・左下を斜めカット */
  clip-path: polygon(
    0 0,             /* 左上（少し下げる） */
    calc(100% - 12px) 0, /* 右上をカット */
    100% 100%,         /* 右下 */
    0 100%          /* 左下をカット */
  );
  }
  #page-service1 .service-mv .s-right .s-right-bottom{
    margin-left: 0;
    padding: 2.5rem 2rem 0;
    margin-top: 0;
  }
  #page-service1 .service-mv .img{
    width: 100%;
    top: -19rem;
  }
  #page-service1 .service-mv .s-right .s-right-top strong span:before{
    content: "none";
    display: none;
  }
  #page-service1 .service-mv .s-right .s-right-bottom h2{
    font-size: 1.5rem;
  }
  #page-service1 ul{
    display: block;
    width: 80%;
    margin: 0 auto;
  }
  #page-service1 ul li{
    width: 80%;
    padding: 23% 10% 4%;
    margin-bottom: 2rem;
  }
  #page-service1 ul li:last-child{
    margin-bottom: 0;
  }
  #page-service1 ul li h3{
    font-size: 1.4rem;
  }
  #page-service2{
    margin-bottom: 10rem;
  }
  #page-service2 ul{
    margin-top: 2rem;
  }
  #page-service2 ul li{
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    padding: 3rem 2rem;
    margin-bottom: 0;
  }
  #page-service2 ul li .overview-content{
    padding: 0;
    margin-top: 2rem;
  }
  #page-service2 ul li:nth-child(2n) .overview-content{
    padding: 0;
  }
  #page-service2 ul li .overview-content h3{
    font-size: 1.4rem;
  }
  #page-service2 ul li .img{
    position: static;
    width: 100%;
    transform: none;
  }
  #page-service2 ul li .img img{
    display: block;
  }
  #page-service2 ul li .overview-content p{
    font-size: 1.1rem;
  }
  #page-service3 ul {
    width: 80%;
    margin: 3.5rem auto 2.7rem;
  }
  #page-service3 ul li{
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
  }
  #page-service3 ul li:last-child{
    border-bottom: 1px solid #cccccc;
  }
  #page-service3 ul li span{
    left: 1.1rem;
    width: 8%;
  }
  #page-service3 ul li p{
    font-size: 1.2rem;
  }
  #page-service3 .handle-supple{
    padding: 0 2rem;
    font-size: 1rem;
  }
  #page-service4{
    margin-bottom: 10rem;
  }
  #page-service4 .service-map .img{
    width: 100%;
  }
  #page-service4 .service-map{
    padding-top: 12rem;
    margin-top: 3rem;
  }
  #page-service4 .service-map .service-map-content{
    margin: auto;
    width: 80%;
    padding: 2rem 0 2rem;
  }
  #page-service4 .service-map .service-map-content .appeal47 strong{
    font-size: 6rem;
  }
  #page-service4 .service-map .service-map-content .appeal47 span{
    font-size: 1.5rem;
  }
  #page-service4 .service-map .service-map-content h3{
    font-size: 1.4rem;
  }
  #page-service4 .service-map .service-map-content .map47-attention p{
    font-size: 0.9rem;
  }
  #page-service5 p{
    padding: 0 2rem;
    margin-bottom: 2.7rem;
    font-size: 1.1rem;
  }
  #page-service5 .img{
    width: 80%;
  }
  #page-service6{
    margin-bottom: 9rem;
  }
  #page-service6 .onestop-system{
    display: block;
  }
  #page-service6 .onestop-system li{
    width: 80%;
    margin: 0 auto;
    padding: 0 0 8%;
  }
  #page-service6 .onestop-system li h3{
    font-size: 1.2rem;
  }
  #page-service6 .onestop-system li .flex-flow .ff-box .maker-take{
    font-size: 0.8rem;
  }
  #page-service6 .onestop-system li .system-flow .maker-name{
    font-size: 0.9rem;
    width: 3.5rem;
    height: 3.5rem;
  }
  #page-service6 .onestop-system li .strong-flow{
    padding: 2.8rem 2rem 2.7rem;
  }
  #page-service6 .service-os-attention{
    padding: 0 2rem;
  }
  #page-service7 .service-office{
    display: block;
    width: 80%;
    margin: 3rem auto 0;
  }
  #page-service7 .service-office .s-office-left{
    width: 100%;
  }
  #page-service7 .service-office .s-office-left iframe{
    height: 14rem;
  }
  #page-service7 .service-office .s-office-right{
    width: 100%;
  }
  #page-service7 .service-office .s-office-right .s-office-info h3{
    font-size: 1.2rem;
  }
  #page-service7 .service-office .s-office-right .s-office-info p{
    padding: 2rem 1.5rem;
    font-size: 1.1rem;
  }
}

/* --------------------------------------------------
  保有車両
-------------------------------------------------- */

#page-fleet{
  margin-bottom: 11rem;
}

#page-fleet .fleet-txt{
  font-size: 1.3rem;
  margin: 4rem 0 6rem;
  line-height: 2.6rem;
  font-weight: 300;
  letter-spacing: 0.1rem;
  color: #1a1a1a;
}

#page-fleet .fleet-content{
  margin-bottom: 9rem;
}

#page-fleet .fleet-content:last-child{
  margin-bottom: 0;
}

#page-fleet .fleet-content .frame-h2{
  border: 1px solid #000;
  display: inline-block;
  padding: 0.9rem 2.5rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
}

#page-fleet .fleet-content ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2% 0;
  margin-top: 3.5rem;
}

#page-fleet .fleet-content ul li{
  width: 49.6%;
}

#page-fleet .fleet-content ul li:nth-child(-n+2){
  margin-bottom: 2rem;
}

#page-fleet .fleet-content ul li .img img{
  display: block;
}

#page-fleet .fleet-content ul li .car-info{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem 1rem 2.7rem;
  background-color: #a9d4f4;
}

#page-fleet .fleet-content ul li .car-info p{
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  font-weight: 400;
}

#page-fleet .fleet-content ul li .car-info .car-unit{
  letter-spacing: 0.2rem;
}

#page-fleet .fleet-content .car-subinfo{
  text-align: left;
  background: #ecf5fc;
  padding: 1rem 0 1rem 2.1rem;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
}

/* --------------------------------------------------
  保有車両  max-width 1025px
-------------------------------------------------- */

/* --------------------------------------------------
  保有車両  max-width 768px
-------------------------------------------------- */

@media screen and (max-width: 768px){
  #page-fleet .fleet-txt{
    padding: 0 2rem;
    font-size: 1.1rem;
  }
  #page-fleet .fleet-content{
    margin-bottom: 6rem;
  }
  #page-fleet .fleet-content .frame-h2{
    font-size: 1.3rem;
  }
  #page-fleet .fleet-content ul{
    flex-direction: column;
    width: 80%;
    margin: 3.5rem auto 0;
    gap: 2rem 0;
  }
  #page-fleet .fleet-content ul li{
    width: 100%;
  }
  #page-fleet .fleet-content ul li:nth-child(-n+2){
    margin-bottom: 0;
  }
  #page-fleet .fleet-content ul li .car-info{
    padding: 1rem 0.8rem;
  }
  #page-fleet .fleet-content ul li .car-info .car-name{
    font-size: 1.1rem;
    text-align: left;
    width: 80%;
  }
  #page-fleet .fleet-content ul li .car-info .car-unit{
    font-size: 1.1rem;
    width: 20%;
    text-align: right;
  }
  #page-fleet .fleet-content .car-subinfo{
    font-size: 1rem;
    padding: 1rem 1rem 1rem 0.5rem;
  }
}

/* --------------------------------------------------
  採用情報
-------------------------------------------------- */

#page-recruit1{
  margin: 13rem 0 8rem;
}

#page-recruit1 .seinen2-content .box{
  padding: 7rem 17rem 5.5rem 4rem;
}

#page-recruit1 .seinen2-content .box .h2-title-in h2{
  text-indent: -1.3rem;
  padding-left: 0rem;
}

#page-recruit2{
  margin-bottom: 8rem;
}

#page-recruit2 ul{
  display: flex;
  justify-content: space-between;
  width: 87%;
  margin: 4rem auto 0;
}

#page-recruit2 ul li{
  width: 29%;
}

#page-recruit2 ul li .img{
  width: 82%;
  margin: 0 auto 1.6rem;
}

#page-recruit2 ul li h3{
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 0.8rem;
}

#page-recruit2 ul li small{
  background: #ebebeb;
  padding: 0.2rem 0.6rem;
  font-size: 1rem;
  margin-bottom: 1.5rem;
  display: inline-block;
}

#page-recruit2 ul li p{
  font-size: 1.1rem;
  line-height: 2rem;
  font-weight: 400;
  color: #333333;
  text-align: left;
}

#page-recruit3{
  margin-bottom: 11rem;
}

#page-recruit3 .recruit-bg{
  background: #f2f2f2;
  padding: 7rem 0;
  margin-top: 3.8rem;
}

@media screen and (max-width: 1200px){
  #page-recruit3 .recruit-bg{
    background: none;
    padding: 0;
    margin-top: 0;
  }
  #page-recruit3 .recruit-bg .inner{
    background: #f2f2f2;
    padding: 7rem 0;
    margin: 3.8rem auto 0;
  }
}

#page-recruit3 .frame-title{
  border: 1px solid #000000;
  display: inline-block;
  font-size: 1.6rem;
  padding: 0.7rem 2.1rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
}

#page-recruit3 table {
  text-align: left;
  width: 100%;
  margin: 4.5rem auto 5rem;
  border-collapse: collapse;
  line-height: 1.8;
}
#page-recruit3 table tr.bg-white {
  background: #fff;
}
#page-recruit3 table tr.bg-grey {
  background: #f2f2f2;
}
#page-recruit3 table tr th {
  width: calc(21% - 4rem);
  padding: 2rem 2rem 2rem 3.5rem;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  font-weight: 400;
}
#page-recruit3 table tr td {
  letter-spacing: 0.1rem;
  padding: 2rem 2rem 2rem 0;
  width: calc(79% - 1rem);
  font-size: 1.4rem;
  font-weight: 400;
  color: #333333;
}
#page-recruit3 table tr td span{
  font-size: 1.1rem;
  display: inline-block;
  margin-top: 1rem;
  font-weight: 400;
}
#page-recruit3 table tr td .indent-adjust{
  font-size: 1.4rem;
  font-weight: 400;
  color: #333333;
  text-indent: -1rem;
  padding-left: 1rem;
}
#page-recruit3 table tr.last td {
  padding-bottom: 3rem;
}

#page-recruit3 .r-mb{
  margin-bottom: 9.5rem;
}

#page-recruit3 .btn1{
  display: inline-block;
}

/* --------------------------------------------------
  採用情報  max-width 1025px
-------------------------------------------------- */

@media screen and (max-width: 1025px) {
  #page-recruit1 .seinen2-content .box{
    padding: 4rem 11rem 4rem 4.7rem;
  }
  #page-recruit3 table {
    font-size: 0.8rem;
  }
  #page-recruit3 table tr th {
    padding: 0.7rem 2rem;
  }
  #page-recruit3 table tr td {
    padding: 0.7rem 2rem 0.7rem 0;
  }
}

/* --------------------------------------------------
  採用情報  max-width 768px
-------------------------------------------------- */

@media screen and (max-width: 768px) {
  #page-recruit1{
    margin: 4rem 0 6rem;
  }
  #page-recruit1 .seinen2-content .box{
    padding: 6rem 2.6rem 3rem;
  }
  #page-recruit2 ul{
    display: block;
    width: 80%;
  }
  #page-recruit2 ul li{
    width: 100%;
    margin-bottom: 4.5rem;
  }
  #page-recruit2 ul li:last-child{
    margin-bottom: 0;
  }
  #page-recruit2 ul li .img{
    width: 75%;
  }
  #page-recruit3 .frame-title{
    font-size: 1.4rem;
  }
  #page-recruit3 .recruit-bg .inner{
    padding: 3rem 0;
  }
  #page-recruit3 table {
    width: 100%;
    text-align: center;
    font-size: 1rem;
    margin-top: 3rem;
  }
  #page-recruit3 table tr th {
    width: 50%;
    display: block;
    padding: 2rem 0 1rem;
    margin: 0 auto;
    border-bottom: 1px solid #c4c4c4;
    font-size: 1.2rem;
  }
  #page-recruit3 table tr td {
    width: 80%;
    display: block;
    padding: 1rem 0 2rem;
    margin: 0 auto;
    font-size: 1rem;
  }
  #page-recruit3 table tr td .indent-adjust{
    font-size: 1rem;
    text-align: left;
  }
}

/* --------------------------------------------------
   policy
-------------------------------------------------- */
.policy-content .content {
  margin: 5rem 9% 10rem;
  text-align: left;
}
.policy-content .content .intro {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.15rem;
}
.policy-content .content ul {
  margin: 5rem 0;
}
.policy-content .content ul li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.policy-content .content ul li strong {
  font-size: 3rem;
  margin-top: 0.35rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  color: #6595b5;
}
.policy-content .content ul li .txt {
  margin-left: 3.5rem;
  width: 100%;
}
.policy-content .content ul li .txt h2 {
  font-size: 1.3rem;
  letter-spacing: 0.22rem;
  border-bottom: 1px solid #a9d4f4;
  padding: 0.6rem 0;
}
.policy-content .content ul li .txt p {
  padding: 1.5rem 0;
  font-size: 1rem;
  line-height: 2.2;
  letter-spacing: 0.02rem;
}
.policy-content .content.not-found {
  text-align: center;
}
.policy-content .content.not-found strong {
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
  display: block;
  margin-bottom: 1.5rem;
}
.policy-content .content.not-found p {
  font-size: 1rem;
  letter-spacing: 0.1rem;
  font-weight: 400;
}
.policy-content .content.not-found p span {
  display: block;
  margin: 5rem 0 0;
  font-size: 1.2rem;
  font-weight: 400;
}
.policy-content .content.not-found p span a {
  display: inline-block;
  color: black;
  font-weight: 400;
  text-decoration: underline;
}
.policy-content .content.not-found p span a:hover {
  opacity: 0.7;
}
.policy-content .links-wrapper {
  display: flex;
  margin: 4rem 3% 6rem;
  text-align: left;
  align-items: flex-start;
  justify-content: center;
}
.policy-content .links-wrapper ul {
  width: 35%;
}
.policy-content .links-wrapper ul li {
  font-size: 1rem;
  letter-spacing: 0.1rem;
  padding: 1rem 0;
}
.policy-content .links-wrapper ul .sitemap-li-box{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.policy-content .links-wrapper ul .sitemap-li-box img{
  width: 4%;
  margin-right: 0.5rem;
  display: block;
}
.policy-content .links-wrapper ul li span{
  color: #509dd1;
  font-weight: 500;
  letter-spacing: 0.1rem;
}
.policy-content .links-wrapper ul li a.hover {
  text-decoration: underline;
}
.policy-content .links-wrapper ul li.child {
  padding: 1rem;
}

/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  .policy-content .content {
    margin: 5rem 8%;
  }
  .policy-content .content .intro {
    font-size: 1rem;
  }
  .policy-content .content ul li strong {
    font-size: 2rem;
    margin-top: 0;
  }
  .policy-content .content ul li .txt {
    margin-left: 1rem;
  }
  .policy-content .content ul li .txt h3 {
    font-size: 1.2rem;
  }
  .policy-content .content ul li .txt p {
    font-size: 1rem;
  }
  .policy-content .links-wrapper {
    flex-direction: column;
  }
  .policy-content .links-wrapper ul {
    width: 57%;
    margin: 0 auto;
    border: 0;
  }
  .policy-content .links-wrapper ul .sitemap-li-box img{
    padding-top: 0.1rem;
  }
}

/* --------------------------------------------------
    archive
-------------------------------------------------- */
.archive1-content {
  margin: 3rem 3%;
}
.archive1-content .archive-nav {
  display: flex;
  justify-content: center;
}
.archive1-content .archive-nav li {
  width: 20%;
  border: 1px solid #509dd2;
  border-right: 0;
}
.archive1-content .archive-nav li a {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
  font-weight: 500;
  color: #313131;
  padding: 1rem 0;
  height: calc(100% - 2rem);
}
.archive1-content .archive-nav li a:hover {
  background-color: #509dd2;
  color: white;
}
.archive1-content .archive-nav li:last-child {
  border-right: 1px solid #509dd2;
}
.archive1-content .archive-nav li.current-cat a {
  background-color: #509dd2;
  color: white;
}
.archive1-content .archive-ul {
  display: flex;
  flex-flow: row wrap;
  margin: 3rem 0;
  align-items: flex-start;
  text-align: left;
}
.archive1-content .archive-ul li {
  width: calc(25% - 0.75rem);
  margin-right: 1rem;
  margin-bottom: 3rem;
}
.archive1-content .archive-ul li a {
  color: #020422;
}
.archive1-content .archive-ul li a .img {
  width: 100%;
  height: 250px;
  display: flex;
  background-image: url("../image/sample.jpg");
  background-size: cover;
  background-position: center;
  
}
.archive1-content .archive-ul li a .txt-box {
  margin-top: 1rem;
  font-size: 0.8rem;
}
.archive1-content .archive-ul li a .txt-box small {
  display: block;
  color: #9bbacc;
  font-size: 0.9rem;
}
.archive1-content .archive-ul li a .txt-box strong {
  margin: 0.4rem 0 0.6rem;
  display: block;
  font-size: 1rem;
}
.archive1-content .archive-ul li a .txt-box p {
  font-size: 0.9rem;
}
.archive1-content .archive-ul li a .txt-box span {
  background: #509dd2;
  color: white;
  font-size: 0.75rem;
  padding: 0.4rem 0.6rem 0.4rem;
  margin-top: 1rem;
  display: inline-block;
}
.archive1-content .archive-ul li:nth-child(4n) {
  margin-right: 0;
}

.archive_pagenation {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 3%;
}
.archive_pagenation span {
  color: #020422;
  margin: 0 1rem;
  font-size: 1.2rem;
}
.archive_pagenation span.current {
  color: #b7b7bb;
  line-height: 1;
}
.archive_pagenation a {
  color: #020422;
  margin: 0 1rem;
  font-size: 1.2rem;
  line-height: 1;
}
.archive_pagenation a.prev {
  width: 1rem;
  line-height: 1;
  transform: rotate(180deg);
}
.archive_pagenation a.next {
  width: 1rem;
  line-height: 1;
}

/* --------------------------------------------------
    max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  .archive1-content .archive-ul li a .img{
    height: 160px;
  }
}
/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  .archive1-content {
    margin: 3rem 8%;
  }
  .archive1-content .archive-nav {
    flex-direction: column;
  }
  .archive1-content .archive-nav li {
    width: 100%;
    border: 1px solid #509dd2;
    border-bottom: 0;
  }
  .archive1-content .archive-nav li a {
    font-size: 1rem;
  }
  .archive1-content .archive-nav li:last-child {
    border: 1px solid #509dd2;
    border-bottom: 1px solid #509dd2;
  }
  .archive1-content .archive-ul {
    flex-direction: column;
  }
  .archive1-content .archive-ul li {
    width: 100%;
    margin-right: 0rem;
    margin-bottom: 3rem;
  }
  .archive1-content .archive-ul li a .img{
    height: 65vw;
  }
  .archive1-content .archive-ul li a .txt-box strong {
    font-size: 1.2rem;
  }
  .archive1-content .archive-ul li a .txt-box p {
    font-size: 1rem;
  }
  .archive1-content .archive-ul li a .txt-box span {
    font-size: 0.9rem;
  }
  .archive_pagenation {
    margin: 0 5% 6rem;
  }
}
/* --------------------------------------------------
    single
-------------------------------------------------- */
.col2 {
  margin: 3rem 3% 8rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.col2 .single2-content {
  width: calc(85% - 4rem);
  text-align: left;
}
.col2 .single2-content .title-wrapper .top {
  display: flex;
  align-items: center;
}
.col2 .single2-content .title-wrapper .top .date {
  color: #9bbacc;
  font-size: 1rem;
}
.col2 .single2-content .title-wrapper .top .cat {
  background: #509dd2;
  color: white;
  font-size: 0.9rem;
  padding: 0.4rem 0.6rem 0.4rem;
  margin-left: 1rem;
  display: inline-block;
}
.col2 .single2-content .title-wrapper .title {
  font-size: 2rem;
  margin-top: 1rem;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid;
  margin-bottom: 2rem;
  font-weight: 400;
}
.col2 .single2-content .thumb {
  width: 100%;
}
.col2 .single2-content .thumb img {
  width: 100%;
  height: auto;
}
.col2 .single2-content .content {
  margin-top: 3rem;
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  line-height: 2;
}
.col2 .single2-content .content h3 {
  border-left: 6px solid;
  line-height: 1.5;
  padding-left: 1rem;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 3rem 0 1rem;
}
.col2 .single2-content .content h4 {
  background: #020422;
  color: white;
  font-size: 1.3rem;
  padding: 0.5rem 1rem;
  margin: 2rem 0 1rem;
  font-weight: 400;
}
.col2 .single2-content .content h5 {
  border: 2px solid #020422;
  padding: 0.2rem 1rem;
  font-weight: 400;
  font-size: 1.1rem;
  margin: 2rem 0 1rem;
}
.col2 .single2-content .content ul {
  list-style: unset;
  padding-left: 1em;
  margin: 1rem 0;
}
.col2 .single2-content .content ul li {
  list-style-type: unset;
}
.col2 .single2-content .content ol {
  padding-left: 1em;
  margin: 1rem 0;
}
.col2 .single2-content .content ol li {
  list-style-type: unset;
}
.col2 .single2-content .content a {
  display: inline-block;
  padding: 0.2rem 2rem;
  background: #020422;
  border: 1px solid #020422;
  color: white;
  margin: 1rem 0;
}
.col2 .single2-content .content a:hover {
  background: white;
  color: #020422;
}
.col2 .single2-content .postlinks-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4rem;
}
.col2 .single2-content .postlinks-wrapper a {
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
  color: #020422;
  line-height: 1;
}
.col2 .single2-content .postlinks-wrapper .previous-one a {
  display: flex;
  align-items: center;
}
.col2 .single2-content .postlinks-wrapper .previous-one a img {
  width: 0.5rem;
  margin-right: 0.5rem;
  transform: rotate(180deg);
}
.col2 .single2-content .postlinks-wrapper .next-one a {
  display: flex;
  align-items: center;
}
.col2 .single2-content .postlinks-wrapper .next-one a img {
  width: 0.5rem;
  margin-left: 0.5rem;
}
.col2 .single2-content .postlinks-wrapper .to_archive {
  margin: 0 3rem;
}
.col2 .single2-content .postlinks-wrapper .to_archive a {
  background: #509dd2;
  color: white;
  padding: 0.5rem 0;
}
.col2 .single2-content .postlinks-wrapper .to_archive a:hover{
  opacity: 0.7;
}
.col2 .sidebar {
  width: 15%;
}
.col2 .sidebar ul {
  text-align: center;
}
.col2 .sidebar ul li {
  border: 1px solid #609ed2;
  border-bottom: 0;
}
.col2 .sidebar ul li a {
  padding: 1rem 0;
  color: #020422;
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  text-indent: 0.1rem;
  font-weight: 400;
}
.col2 .sidebar ul li a:hover{
  background: #509dd2;
  color: #fff;
}
.col2 .sidebar ul li:last-child {
  border-bottom: 1px solid #609ed2;
}

/* --------------------------------------------------
    max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  .col2 .single2-content {
    width: calc(82% - 4rem);
  }
  .col2 .single2-content .title-wrapper .title {
    font-size: 1.5rem;
  }
  .col2 .single2-content .content {
    font-size: 1rem;
  }
  .col2 .single2-content .content h3 {
    font-size: 1.3rem;
  }
  .col2 .single2-content .content h4 {
    font-size: 1.2rem;
  }
  .col2 .single2-content .content h5 {
    font-size: 1rem;
  }
  .col2 .sidebar {
    width: 18%;
  }
}
/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  .col2 {
    margin: 3rem 8%;
    flex-direction: column;
  }
  .col2 .single2-content {
    width: 100%;
  }
  .col2 .single2-content .postlinks-wrapper .to_archive {
    margin: 0 1rem;
  }
  .col2 .sidebar {
    margin: 4rem 0;
    width: 100%;
  }
  .col2 .sidebar ul li a {
    font-size: 1rem;
  }
}
/* --------------------------------------------------
    contact
-------------------------------------------------- */
#page-contact1{
  margin-top: 12rem;
  margin-bottom: 14rem;
}
#page-contact1 .contact-tel{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.8rem;
}

#page-contact1 .contact-tel span{
  width: 4.6%;
  margin-right: 1rem;
}

#page-contact1 .contact-tel span img{
  display: block;
}

#page-contact1 .contact-tel strong{
  color: #509dd3;
  font-size: 4.8rem;
  font-weight: 700;
  letter-spacing: 0.4rem;
  font-family: 'Roboto', sans-serif;
}

#page-contact1 p{
  display: inline-block;
  margin-top: 1rem;
  padding: 1.7rem 0 0;
  border-top: 1px solid #000000;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
}

.contact2-content {
  margin: 5rem 3.5%;
}
.contact2-content table {
  text-align: left;
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  letter-spacing: 0.2rem;
}
.contact2-content table tr {
  display: flex;
  justify-content: space-between;
}
.contact2-content table tr th {
  padding: 1.5rem 2rem;
  border-bottom: 1px solid white;
  background-color: #73b9e3;
  width: calc(30% - 4rem);
  color: white;
  display: flex;
  align-items: center;
}
.contact2-content table tr th.last {
  align-items: flex-start;
  padding-top: 2rem;
}
.contact2-content table tr td {
  width: calc(69% - 4rem);
  padding: 2rem;
  border-bottom: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  display: block;
}
.contact2-content table tr td input[type=text], .contact2-content table tr td input[type=email] {
  height: 3rem;
  width: calc(100% - 2rem);
  font-size: 1rem;
  padding: 0 1rem;
  border: 1px solid #dddddd;
}
.contact2-content table tr td textarea {
  font-family: "Noto Sans JP";
  width: calc(100% - 2rem);
  font-size: 1rem;
  padding: 1rem;
  border: 1px solid #dddddd;
}
.contact2-content table tr td .mwform-radio-field {
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
}
.contact2-content table tr.first th {
  border-top: 1px solid #cccccc;
}
.contact2-content table tr.first td {
  border-top: 1px solid #dddddd;
}
.contact2-content .contact-submit {
  margin: 3rem 0;
}
.contact2-content .contact-submit .btn1{
  padding: 0;
  height: 2.6rem;
  width: 14rem;
  display: inline-block;
  text-align: center;
}
.contact2-content .contact-submit .btn1 .con-btn-box{
  width: 100%;
  height: 100%;
  border: 0;
  font-size: 1rem;
  letter-spacing: 0.15rem;
  color: #fff;
  z-index: 3;
  background: none;
  position: relative;
  cursor: pointer;
}
.mw_wp_form .contact-submit .btn1:nth-of-type(2) {
  display: none;
}
/* 確認画面だけ 2つ目（戻るボタン用ラッパー）を表示 */
.mw_wp_form_confirm .contact-submit .btn1:nth-of-type(2) {
  display: inline-block; /* 好きな display に */
}
.contact2-content .thanks {
  font-size: 1.1rem;
  line-height: 2;
  letter-spacing: 0.15rem;
  padding: 0rem 0 4rem;
}

.contact2-content table tr th .kome-yellow{
  color: #fff67c;
}

.contact2-content table tr td .contact-access-top{
  margin-bottom: 1rem;
}

.contact2-content table tr td .contact-access-top .mwform-zip-field{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2%;
}

.contact2-content table tr td .contact-access-top .mwform-zip-field input{
  width: 20%;
}

.contact2-content table tr td .mwform-tel-field{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2%;
}

.contact2-content table tr td .mwform-tel-field input{
  width: 23%;
}

/* --------------------------------------------------
    max-width 1025px
-------------------------------------------------- */
@media screen and (max-width: 1025px) {
  .contact2-content table tr th {
    padding: 1.5rem 1rem;
    width: calc(30% - 2rem);
  }
  .contact2-content table tr td {
    width: calc(69% - 2rem);
    padding: 1.5rem 1rem;
  }
  .contact2-content table tr td .mwform-radio-field {
    font-size: 0.8rem;
  }
}
/* --------------------------------------------------
    max-width 768px
-------------------------------------------------- */
@media screen and (max-width: 768px) {
  #page-contact1{
    margin-top: 7rem;
    margin-bottom: 8rem;
  }
  #page-contact1 .contact-tel span{
    width: 5.6%;
    margin-right: 0.5rem;
  }
  #page-contact1 .contact-tel strong{
    font-size: 1.9rem;
  }
  #page-contact1 p{
    font-size: 1.2rem;
    padding: 1.2rem 1rem 0;
  }
  #page-contact1 p .non-slash{
    display: none;
  }
  .contact2-content {
    margin: 3rem 5%;
  }
  .contact2-content table tr {
    flex-direction: column;
  }
  .contact2-content table tr th {
    width: calc(100% - 2rem);
  }
  .contact2-content table tr th span {
    font-size: 1rem;
  }
  .contact2-content table tr th .last {
    padding-top: 1.5rem;
  }
  .contact2-content table tr td {
    width: calc(100% - 2rem);
    border: 0;
  }
  .contact2-content table tr td .mwform-radio-field {
    font-size: 1rem;
    display: block;
    margin: 0 !important;
    margin-bottom: 1rem !important;
  }
  .contact2-content table tr.first td{
    border: 0;
  }
  .contact2-content table tr th.last{
    padding: 1.5rem 1rem;
  }
}
/*左右のアニメーション*/
.slide-in {
  overflow: hidden;
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
}

@-webkit-keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}
.leftAnime {
  opacity: 0; /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  -webkit-animation-name: "slideTextX100";
          animation-name: "slideTextX100";
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideTextX-100 {
  from {
    transform: translateX(100%); /*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%); /*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}
.slideAnimeRightLeft {
  -webkit-animation-name: "slideTextX-100";
          animation-name: "slideTextX-100";
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}/*# sourceMappingURL=style.css.map */


