@charset "utf-8";
:root{
--main-clr: #0092E6;
}

html {
  scroll-behavior: auto;
}

/*外部からのセクション遷移用*/
[id] {
  scroll-margin-top: 100px;
}
@media screen and (max-width: 1024px) {
  [id] {
    scroll-margin-top: 65px;
  }
}


body{
  font-size: 2rem;
  line-height: calc(44 / 22);
  font-family: "Zen Maru Gothic", sans-serif;
  color: #555555;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  body{
    font-size: 1.8rem;
  }
}

em{
  color: #F38300;
}

.link{
  text-decoration: underline;
  color: var(--main-clr);
}

.bld{
  font-weight: bold !important;
}

.sp{ display: none !important;}
.pc{ display: block !important;}

@media only screen and (max-width: 1024px) {
  .sp{ display: block !important;}
  .pc{ display: none !important;}
}

.sp2{ display: none !important;}
.pc2{ display: block !important;}

@media only screen and (max-width: 768px) {
  .sp2{ display: block !important;}
  .pc2{ display: none !important;}
}

/*animation 初期非表示*/
.js_fade,
.js_blur,
.js_scale1,
.js_rotate,
.js_move_down,
.js_move_up,
.js_stretch {
  visibility: hidden;
}
.js_fade.move-actived,
.js_blur.move-actived,
.js_scale1.move-actived,
.js_rotate.move-actived,
.js_move_down.move-actived,
.js_move_up.move-actived,
.js_stretch.move-actived {
  visibility: inherit;
}

.f_row1{
  display: flex;
  flex-wrap:wrap;
}

@media screen and (max-width: 1024px) {
  .f_row1>.box{
    width: 100%;
  }
}
/*共通*/
.wrap{
  position: relative;
  max-width: 1340px;
  padding: 0 30px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wrap{
    padding: 0 20px;
  }
}
.table01{
  width: 100%;
}

.table01 th{
  font-size: 2rem;
  line-height: calc(36 / 20);
  text-align: left;
  color: #0092e6;
  padding: 15px 10px;
  width: 330px;
  background: #F5FCFF;
  border-bottom: 1px dotted #707070;
}

.table01 td{
  font-size: 1.8rem;
  height: 2;
  padding: 19px 36px;
  border-bottom: 1px dotted #707070;
}

.table01 td .address{
  display: flex;
  flex-wrap:wrap;
}

.table01 td a{
  text-decoration: underline;
  color: var(--main-clr);
}

@media screen and (max-width: 1024px) {
  .table01,
  .table01 tbody,
  .table01 tr,
  .table01 th,
  .table01 td{
    display: block;
    padding: 0;
    width: 100%;
  }
  
  .table01 th{
    padding: 1em;
    font-size: 1.6rem;
  }
  
  .table01 td{
    padding: 1em;
    font-size: 1.6rem;
  }

}

h1,h2,h3{
  font-weight: 700;
}

em{
  color:var(--main-clr)
}

img{
  width: 100%;
  height: auto;
}

button,
a{
  cursor: pointer;
  transition: opacity 0.2s ease;
}
button{
  font-weight: 500;
}

button:hover,
a:hover{
  opacity: 0.5;
}

.abs{
  position: absolute;
}

@media screen and (max-width: 1024px) {
  a:hover{
    opacity: 1;
  }
}

img{
  width: 100%;
}

.headline_l{
  text-align: center;
  font-weight: bold;
  margin-bottom:50px;
}

.headline_l em{
  font-size: 2rem;
  display: block;
  line-height: 1;
  margin-bottom: 0.6em;
}

.headline_l strong{
  font-size: 3.6rem;
  display: block;
  line-height: 1;
}
@media screen and (max-width: 1024px) {
  .headline_l{
    text-align: center;
    font-weight: bold;
    margin-bottom:30px;
  }

  .headline_l em{
    font-size: 1.8rem;
    margin-bottom: 0.6em;
  }

  .headline_l strong{
    font-size: 3rem;
  }
}

.headline_box {
  font-size: 2.4rem;
  line-height: calc(34 / 24);
  padding: 18px 30px;
  border-radius: 10px;
  color: var(--main-clr);
  font-weight: bold;
  margin-bottom: 20px;
  background: #E9F7FF;
}


.main_catch{
  font-size: 4rem;
  font-weight: bold;
  color: var(--main-clr);
  line-height: calc(6 / 4);
}

.main_catch.center{
  text-align: center;
}


.main_catch small{
  display: block;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: normal;
}

.main_catch.center{
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 1200px) {
  
  .main_catch{
    font-size: 3.5vw;
  }
  
}

@media screen and (max-width: 768px) {
  .main_catch{
    font-size: 2.8rem;
  }

  .main_catch small{
    font-size: 2rem;
  }

}

.headline_m{
  justify-content: center;
  display: flex;
  margin-bottom: 60px;
}

.headline_m>span{
  position: relative;
  display: inline-block;
  padding: 0 50px;
  font-size: 3.6rem;
  min-height: 31px;
  text-align: center;
  line-height: calc( 52 / 36 );
}

.headline_m>span::before,
.headline_m>span::after{
  content: '';
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  left: 0;
  width: 28px;
  height: 31px;
  background: url(../svg/headline_deco_l.svg) no-repeat  50% 50% / 100%;
}

.headline_m>span::after{
  right: 0;
  left: auto;
  background: url(../svg/headline_deco_r.svg) no-repeat  50% 50% / 100%;
}

@media screen and (max-width: 1024px) {
  .headline_m {
    margin-bottom: 30px;
}
  .headline_m>span{
    font-size: 3.2rem;
    min-height: 31px;
    line-height:36px;
  }
  
}

/*ボタン*/
.button1{
  display: flex;
  width: 300px;
  height: 64px;
  background: #88b3cc;
  border:2px solid #88b3cc;
  border-radius: 40px;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .19s ease;
}

.button1:hover{
  background: #fff;
  color: #88b3cc;
  opacity: 1;
}


.button2.bdr{
  border: 1px solid var(--main-clr);
}


.button2{
  position: relative;
  width: 262px;
  height: 56px;
  border-radius: 10px;
  background: #fff;
  color: var(--main-clr);
  display: flex;
  align-items: center;
  padding-left: 16px;
  transition: all ease 0.19s;
}

.button2::after{
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -0.2em;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid var(--main-clr);
  border-right: 2px solid var(--main-clr);
  transform: rotate(45deg);
}

.button2>span{
  padding-right: 16px;
  position: relative;
}

.button2>span::after {
  content: '';
  /* position: absolute; */
  width: 12px;
  height: 12px;
  bottom: 0.5em;
  display: inline-block;
  right: 0;
  background-image: url(../svg/blank.svg);
  background-repeat: no-repeat;
  margin-left: 0.2em;
  margin-bottom: -0.1em;
}

.button2:hover{
  background: var(--main-clr);
  color: #fff;
  opacity: 1;
}

.button2:hover::after{
  border-color: #fff;
}

.button2:hover>span::after {
  background-image: url(../svg/blank_wh.svg?v2);
}

/*ボタン*/
.button3{
  display: flex;
  width: 300px;
  height: 54px;
  background: #0092E6;
  border:2px solid #0092E6;
  border-radius: 40px;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all .19s ease;
}

.button3:hover{
  background: #fff;
  color: #0092E6;
  opacity: 1;
}


.button_area{
  display: flex;
  justify-content: center;
}


/*ヘッダー*/
header{
  position: fixed;
  left:0;
  top:0;
  padding-left: 40px;
  height: 100px;
  width: 100%;
  display: flex;
  align-items: center;
  z-index: 1000;
    background-color: rgba(255,255,255,0.9);
  justify-content: space-between;
  transition: all 0.19s ease;
}

header.change{
  background: #fff;
  box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);
}

header .logo{
  position: relative;
  margin-left: 0;
  top:0;
  display: flex;
  width: 168px;
  align-items: center;
}

header nav{
  width: calc(100% - 168px);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap:50px;
  padding-right: 50px;
}

header .menu{
  display: flex;
  gap:50px;
  align-items: center;
}

header .menu>li{
  position: relative;
}

header .menu>li>a{
  position: relative;
  color:var(--main-clr);
  font-size: 2rem;
  line-height: calc(40 / 20);
  font-weight: bold;
  padding: 35px 0;
}

header .menu > li > a:hover{
  opacity: 1;
}

header .menu > li::after {
  content: '';
  position: absolute;
  top: 46px;
  left: 0;
  height: 2px;
  width: 100%;
  background: var(--main-clr);
  transform: scaleX(0);
  transform-origin: left bottom;
  transition: transform 0.19s ease;
}

header .menu > li:hover::after {
  transform: scaleX(1);
}

header .menu>li .menu2 {
  position: absolute;
  display: flex;
  flex-direction: column;
  left: 0;
  top: 77px;
  width: 260px;
  border-radius: 10px;
  background: rgba(0, 146, 230, 0.85);
  padding: 20px 20px;
  visibility: hidden;
}

header .menu>li .menu2>li>a{
  position: relative;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: calc(22 / 18 );
  text-align: left;
  color: #fff;
  padding-left: 1.2em;
}

header .menu>li .menu2>li>a::before{
  content: '-';
  position: absolute;
  left:0;
  top:0;
  display: inline-block;
}

header .pc_hover_menu .menu2 {
  position: absolute;
  display: flex;
  flex-direction: column;
  left: 0;
  top: 75px;
  width: 260px;
  border-radius: 10px;
  background: rgba(0, 146, 230, 0.85);
  padding: 20px;
  visibility: hidden;
  transform: translateY(0px);
  opacity: 0;
  clip-path: inset(0 0 100% 0); /* 下からスライドインの初期状態 */
  transition: 
  clip-path 0.3s ease,
  transform 0.3s ease,
  opacity 0.3s ease,
  visibility 0s linear 0.3s;
}

header .pc_hover_menu .menu2.open {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
  clip-path: inset(0 0 0% 0); /* 完全に展開された状態 */
  transition-delay: 0s;
}

header .menu_btn{
  display: flex;
}

header .button_contact{
  width: 200px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 31px;
  background: var(--main-clr);
  font-size: 1.8rem;
  color: #fff;
  font-weight: bold;
  border:2px solid var(--main-clr);
}

header .button_contact:hover{
  background: #fff;
  color: var(--main-clr);
  opacity: 1;
}

header .sns{
  display: none;
}

@media screen and (max-width: 1200px) {

  header nav{
    gap:30px;
    padding-right: 30px;
  }

}
@media screen and (max-width: 1024px) {
  header{
    height: 80px;
    padding-left: 30px;
  }

  header .logo {
    position: fixed;
    width: 116px;
    left: 15px;
    top: 18px;
    z-index: 1010;
  }

  header nav {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100vh;
    left:auto;
    right: 0;
    text-align: left;
    -webkit-overflow-scrolling: touch;
    padding: 112px 30px;
    overflow: auto;
    visibility: hidden;
    background: #fff;
    border-radius: 0;
    transition: all 0.19s ease-in-out;
    opacity: 0;
    display: none;
    flex-direction: column;
    z-index: 10;
    gap:0;
  }

  header.block nav{
    display: block;
  }

  header.block nav.slide{
    right: -330px;
  }


  header.block.active nav{
    opacity: 1;
    visibility: visible;
    justify-content: flex-start;
  }

  header.block.active nav,
  header.block.active nav.slide{
    opacity: 1;
    right: 0px;
  }

  header .menu {
    position: static;
    left: 0;
    top: 0px;
    padding-top: 0px;
    width: 100%;
    flex-direction: column;
    display: flex;
    flex-wrap: wrap;
    gap:0;
    margin-right: 0;
    margin-bottom: 30px;
  }

  header .menu>li{
    width: 100%;
    border-bottom: 1px solid #D0D0D0;
  }

  header .menu>li>a{
    padding:20px 0;
    font-weight: bold;
    text-align: left;
    display: block;
    font-size: 1.6rem;
  }

  header .menu>li>a span{
    font-size: 1rem;
    font-weight: bold;
    font-family: var(--sub);
    display: block;
    color: #F38300;
    line-height: 1;
    margin-bottom: 3px;
  }

  header .menu>li>a strong{
    line-height: 1;
    font-size: 1.6rem;
    text-align: left;
    display: block;
    font-weight: bold;
  }

  header .menu>li a.arrow{
    display: block;
    opacity: 1;
    transition: all 0.19s ease-out;
    background: url(../svg/icon_arrow_r.svg) no-repeat  90% 50% / 11px;
  }

  header .menu2{
    width: 100%;
    order:2;
    margin-bottom: 50px;
  }

  header .menu2>li>a{
    text-align: left;
    color:#0B1F07;
    padding: 12px;
    font-size: 1.6rem;
  }

  header nav .pc_hover_menu>a{
    position: relative;
  }

  header nav .menu>li::after{
    display: none;
  }

  header nav .menu>li.pc_hover_menu>a::before,
  header nav .menu>li.pc_hover_menu>a::after{
    content: '';
    display: block;
    position: absolute;
    top: 37px;
    left:auto;
    right: 20px;
    width: 13px;
    height: 2px;
    border-radius: 5px;
    transform: rotate(0deg);
    background: #555555;
    transform-origin: 50%;
  }

  header nav  .menu>li.pc_hover_menu>a::after{
    transform: rotate(90deg);
  }

  header .menu>li .menu2 {
    width: 100%;
    position: static;
    visibility: visible;
    opacity: 1;
    clip-path: inset(0 0 0% 0);
    background: transparent;
    display: none;
    padding: 0 15px;
    margin-bottom: 15px;
  }

  header .menu>li .menu2>li>a{
    color: #555555;
    font-size: 1.5rem;
    padding-left: 0.8em;
  }

  header .menu>li .menu2>li>a::before {
    content: '-';
    position: absolute;
    left: 0;
    top: 13px;
    display: inline-block;
  }

  header .button_contact{
    display: none;
  }

  header .sns{
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  header{
    height: 80px;
    padding-left: 16px;
  }
}

/*メニューボタン*/
@media screen and (max-width: 1024px) {
  header #menu_button {
    position: fixed;
    display: block;
    right: 0px;
    top: 0px;
    cursor: pointer;
    height: 80px;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1010;
    border-radius: 50%;
  }

  header #menu_button>div{
    position: relative;
    width: 26px;
    height: 18px;
    cursor: pointer;
    margin-top: 0px;
    transform: scale(0.9);
    z-index: 2;
  }

  header.active #menu_button>div {
    position: relative;
    margin-left: 0px;
    width: 26px;
    height: 19px;
  }

  header #menu_button>div>div {
    width: 100%;
    height: 3px;
    background: #707070;
    position: absolute;
    transition: all 0.19s;
    z-index: 11;
    border-radius: 5px;
  }

  header #menu_button>div>div:nth-child(1) {
    top: 0%;
    left: 0%;
    -webkit-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }

  header #menu_button>div>div:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
  }

  header #menu_button>div>div:nth-child(3) {
    top: auto;
    bottom:0;
    left: 0%;
    transform: translate(0%, 0%);
  }

  header.active #menu_button>div>div {
    position: absolute;
    transition: all 0.3s;
    width: 100%;
  }

  header.active #menu_button>div>div:nth-child(1) {
    top: 50%;
    margin-left: 0px;
    width: 100%;
    transform: translate(0, -50%) rotate(45deg);
  }

  header.active #menu_button>div>div:nth-child(2) {
    display: none;
  }

  header.active #menu_button>div>div:nth-child(3) {
    bottom: 30%;
    margin-left: 0px;
    width: 100%;
    transform: translate(0, -50%) rotate(-45deg);
  }

  header .menu2{
    display: block;
    width: 100%;
  }

  header .menu3{
    display: block;
    text-align: left;
    margin-bottom: 30px;
  }
  
  header .menu3>li>a{
    position: relative;
    font-size: 1.5rem;
  }

  header .menu3>li>a::before{
    content: '-';
    display: inline-block;
    margin-right: 0.3em;
  }

  header .sns{
    display: flex;
    gap:10px;
    justify-content: center;
  }

}
footer {
  padding: 50px 35px 50px;
}

footer .row{
  display: flex;
}

footer .row .col1 {
  width: 370px;
  padding-bottom: 25px;
}

footer .row .col2 {
  width: calc(100% - 370px);
}

footer .row .col1 .logo {
  width: 168px;
  margin-bottom: 24px;
}

footer .row .col1 .address {
  font-size: 1.6rem;
  line-height: calc(3.0 / 1.6);
  margin-bottom: 24px;
}

footer .sns {
  display: flex;
  gap: 10px;
  margin-bottom: 0px;
}

footer .sns > li > a {
  width: 40px;
  display: block;
}

footer .row .col2 .menu1 {
  display: flex;
}

footer .row .col2 .menu1 > li{
  width: 25%;
}

footer .row .col2 .menu1 > li > a {
  font-size: 1.8rem;
  line-height: calc(4.0 / 1.8);
  font-weight: bold;
  display: block;
  color: var(--main-clr);
}

footer .row .col2 .menu1 > li > .menu2 > li > a {
  font-size: 1.6rem;
  line-height: calc(4.0 / 1.6);
  display: block;
  white-space: nowrap;
}

footer .menu3 {
  display: flex;
  padding: 30px 0;
  border-top: 1px solid #D0D0D0;
  border-bottom: 1px solid #D0D0D0;
  font-weight: bold;
  justify-content: center;
}

footer .menu3{
  border-top: 1px solid #D0D0D0;
  padding-top: 30px;
  padding-bottom: 30px;
  font-weight: 500;
  border-bottom: 1px solid #D0D0D0;
}

footer .menu3{
  flex-wrap:wrap;
  gap:10px;
}
footer .menu3 > li{
  position: relative;
}
footer .menu3 > li::after{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  height: 24px;
  width: 1px;
  background: #D0D0D0;
}
footer .menu3 > li:last-child::after{
  display: none;
}

footer .menu3 > li > a {
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 0 25px;
  display: block;
}

footer .copyright {
  font-size: 1.6rem;
  line-height: calc(3.6 / 1.6);
  padding: 30px 0 0;
  text-align: left;
}
@media screen and (max-width: 1200px) {
  footer .menu3 > li > a {
    padding: 0 15px;
  }
}

@media screen and (max-width: 1024px) {
  footer{
    padding: 30px 25px 50px;
  }
  footer .row .col2 .menu1{
    display: none;
  }

  footer .menu3{
    justify-content: flex-start;
    margin-bottom: 20px;
  }

  footer .menu3 > li>a{
    padding-left: 0;
  }

  footer .menu3 > li:nth-child(2)::after,
  footer .menu3 > li:nth-child(3)::after,
  footer .menu3 > li:last-child::after{
    display: none;
  }

  footer .menu3 > li:nth-child(3),
  footer .menu3 > li:nth-child(4){
    width: 100%;
  }

  footer .copyright {
    font-size: 1.4rem;
    line-height: calc(20 / 14);
    padding: 30px 0 0;
  }
}

#pagetop{
  position: fixed;
  width: 120px;
  right:50px;
  bottom:20px;
  z-index: 10;
  overflow: hidden;
}

#pagetop img{
  width: 100%;
}

#pagetop.open a{
  opacity: 1;
  display: block;
  transform: translateY(0%);
}

#pagetop a{
  display: block;
  transition: all ease 0.19s;
  transform: translateY(101%);
}

@media screen and (max-width: 1024px) {
  #pagetop{
    width: 72px;
    right:15px;
    bottom:120px
  }
}
@media screen and (max-width: 500px) {
  #pagetop{
    bottom:19vw;
  }
}

/*トップ:設定*/
.top_container{
  padding: 100px 0 0;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .top_container{
    padding: 100px 0 0;
  }
}

/*トップ：メインビジュアル*/
.top_main_visual{
  position: relative;
}

.top_main_visual .row{
  display: flex;
  align-items: center;
  max-width: 1440px;
  margin: 0 auto 70px;
}

.top_main_visual .row .col1{
  font-size: 48px;
  line-height: calc(70 / 48);
  text-align: left;
  color: var(--main-clr);
  padding-left: 50px;
  width: calc(100% - 900px);
}

.top_main_visual .row .col2{
  width: 900px;
  padding-right: 46px
}
.top_main_visual .row .col2 .main_slider_wrap{
  position: relative;
  max-width: 854px;
  aspect-ratio: 854 / 744;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top_main_visual .row .col2 .main_slider_wrap .main_bg{
  position:absolute;
  left:50%;
  top:68%;
  transform: translate(-50%,-50%);
  min-width: 118%;
}
@media screen and (max-width: 1400px) {
  .top_main_visual .row .col1{
    font-size: 48px;
    font-size: 3.8vw;
    padding-left: 2em;
    width: 40%;
  }

  .top_main_visual .row .col2{
    width: 60%;
    padding-right: 50px;
  }
}
@media screen and (max-width: 1024px) {

  .top_main_visual .row{
    display: flex;
    flex-direction: column-reverse;
    margin: 0 auto 70px;
  }

  .top_main_visual .row .col1{
    font-size: 5.5vw;
    padding:0 30px;
    width:100%;
    text-align: center;
  }

  .top_main_visual .row .col2{
    width: 100%;
    margin-bottom: 30px;
    padding: 0 10px;
  }

  .top_main_visual .row .col2 .main_slider_wrap{
    display: flex;
  }

  .top_main_visual .row .col2 .main_slider_wrap .main_bg{
    top: 73%;
  }

}

/*トップ:ヘッド*/
.top_section_head .row{
  display: flex;
  gap:80px;
  margin-bottom: 150px;
}

.top_section_head .row.revs{
  flex-direction: row-reverse;
  margin-bottom: 0px;
}

.top_section_head .row .img{
  width: 534px;
  position: relative;
}

.top_section_head .row .img .deco_a01{
  width: 92px;
  position: absolute;
  left:0;
  top:-25%;
}

.top_section_head .row .img .deco_a02{
  width: 405px;
  position: absolute;
  right:0;
  top:35%;
}

.top_section_head .row .img .deco_b01 {
  width: 122px;
  position: absolute;
  left: -33%;
  top: -20%;
}

.top_section_head .row .img .deco_b02 {
  width: 424px;
  position: absolute;
  right: 5%;
  top: -18%;
}

.top_section_head .row .img01{
  margin-bottom: -15%;
}

.top_section_head .row .img02{
  z-index: 2;
  padding-top: 100px;
  margin-bottom: -40%;
  position: relative;
}

.top_section_head .row .box{
  padding-top: 50px;
  width: calc(100% - 534px - 80px);
}

.top_section_head .row2{
  margin-top: -60px;
}

.top_section_head .row2 .box{
  padding-top: 94px;
}
@media screen and (max-width: 1400px) {
  .top_section_head .row{
    gap: 5%;
  }
  .top_section_head .row .img {
    width: 500px;
  }

  .top_section_head .row .img .deco_b01 {
    left: -6%;
    top: -20%;
  }
  .top_section_head .row .box {
    padding-top: 30px;
    width: calc(100% - 500px - 5%);
    font-size: 1.55vw;
  }
}
@media screen and (max-width: 1024px) {
  .top_section_head .row{
    display: block;
    margin-bottom: 30px;
  }

  .top_section_head .row.revs{
    margin-bottom: 0px;
  }

  .top_section_head .row .img{
    width: 90%;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 0px;
  }
  

  .top_section_head .row .img .deco_a01{
    width: 92px;
    top:-10%;
    left:-15%;
  }

  .top_section_head .row .img .deco_a02 {
    width: 89%;
    top: 7%;
    right: -10%;
  }

  .top_section_head .row .img .deco_b01 {
    width: 80px;
    position: absolute;
    left: auto;
    top: 66%;
    right: -20%;
  }

  .top_section_head .row .img .deco_b02 {
    width: 85%;
    left: -5%;
    right: auto;
    top: -10%;
  }

  .top_section_head .row .img01{
    margin-bottom: -10%;
  }

  .top_section_head .row .img02{
    margin-bottom: -20%;
  }

  .top_section_head .row .box{
    padding-top: 20px;
    position: relative;
    width: 100%;
    z-index: 10;
    font-size: 1.8rem;
  }

  .top_section_head .row .img .deco_b01 {
    width: 87px;
    left: auto;
    top: 84%;
    right: -15%;
  }

  .top_section_head .row2{
    margin-top: 0px;
    display: block;
  }

  .top_section_head .row2 .box {
    padding-top:10%;
  }

}

/*トップ：ニュース*/
.news_box .img{
  aspect-ratio: 300 / 200;
}
.news_box .img img{
  height: 100%;
  object-fit: cover;
}

.news_box .img.def{
  display: flex;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d0d0d0;
}

.news_box .img.def img{
  width: 187px;
  height: auto;
  object-fit: none;
  margin-bottom: 16px;
}

.news_box .info time{
  font-size: 16px;
  line-height: 2;
  color: #555;
  margin-bottom: 8px;
}

.news_box .info .tags{
  display: flex;
  gap: 9px;
  margin-bottom: 16px;
}

.news_box .info .tags>li{
  min-width: 106px;
  height: 24px;
  line-height: 22px;
  border-radius: 12px;
  color: #838383; 
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0em;
  border: 1px solid #838383;
}

.news_box .info .tags>li.clr1{ color: #fff; background:#555555; border-color: #555555;}
.news_box .info .tags>li.clr2{ color: #fff; background:#01A99E; border-color: #01A99E;}
.news_box .info .tags>li.clr3{ color: #fff; background:#0092E6; border-color: #0092E6;}
.news_box .info .tags>li.clr4{ color: #fff; background:#5B67C4; border-color: #5B67C4;}

.news_box .msg{
  font-size: 1.6rem;
  line-height: 2;
}

.news_list{
  display: flex;
  flex-wrap:wrap;
  gap:50px 27px;
}

.news_list>li{
  width: calc((100% - 27px*3) / 4); 
}

@media screen and (max-width: 1024px) {
  .news_box .img.def img {
    width: 120px;
    display: block;
    height: auto;
    margin-bottom: 0;
    align-items: center;
    object-fit: initial;
  }
}


.top_section_news{
  padding-top: 100px;
  padding-bottom: 80px;
}

.top_section_news .button_area{
  padding-top: 50px;
}

/*トップ：サービス*/
.top_section_service {
  background: #F2F2F2;
  padding: 90px 0 90px;
}

.top_section_service .service_list{
  display:flex;
  flex-wrap:wrap;
  gap:89px 110px;
  max-width:1210px;
}

.top_section_service .service_list{
  margin-top: 100px;
}

.top_section_service .service_list>li{
  width:calc((100% - 110px) / 2);
}

.top_section_service .service_list>li>a{
  position: relative;
  max-width:550px;
  width: 100%;
  padding:75px 80px 44px;
  border-radius:32px;
  background:#fff;
  box-shadow:0 3px 6px rgba(0,0,0,0.16);
  display:block;
  transition: all 0.19s ease;
}

.top_section_service .service_list>li>a:hover{
  box-shadow:2px 5px 10px rgba(0,0,0,0.3);
  opacity: 1;
}

.top_section_service .service_list>li>a p.catch{
  position: absolute;
  left:0;
  top:-30px ;
  width: 100%;
  display: flex;
  font-size: 2.8rem;
  text-align: center;
  justify-content: center;
  font-weight: bold;
}

.top_section_service .service_list>li>a p.catch span{
  padding:0.8em 1.5em;
  display:inline-block;
  border-radius:32px;
  color:#fff;
  font-size:2.2rem;
  line-height:1.454;
}

.top_section_service .service_list>li.clr1>a p.catch span{background:#0092E6;}
.top_section_service .service_list>li.clr2>a p.catch span{background:#01A99E;}
.top_section_service .service_list>li.clr3>a p.catch span{background:#5B67C4;}
.top_section_service .service_list>li.clr4>a p.catch span{background:#B19037;}

.top_section_service .service_list>li>a .img img{
  width:100%;
  display:block;
  margin:20px 0;
}

.top_section_service .service_list>li>a h3.ttl{
  font-size:3rem;
  line-height:1.4;
  text-align:center;
  margin-top:10px;
}

.top_section_service .service_list>li.clr1>a h3.ttl{color:#0092E6;}
.top_section_service .service_list>li.clr2>a h3.ttl{color:#01A99E;}
.top_section_service .service_list>li.clr3>a h3.ttl{color:#5B67C4;}
.top_section_service .service_list>li.clr4>a h3.ttl{color:#B19037;}

@media screen and (max-width: 1400px) {
  .top_section_service .service_list{
    gap:80px 50px;
  }
  .top_section_service .service_list>li {
    width: calc((100% - 50px) / 2);
  }
  .top_section_service .service_list>li>a {
    padding: 60px 40px 44px;
  }
}
@media screen and (max-width: 1024px) {
  .top_section_service {
    padding: 40px 0 40px;
  }

  .top_section_service .service_list{
    gap:80px 40px;
    margin-top: 50px;
    width: 100%;
  }

  .top_section_service .service_list>li {
    width: calc((100% - 40px) / 2);
  }

  .top_section_service .service_list>li>a h3.ttl{
    font-size:2.9vw;
  }

}
@media screen and (max-width: 768px) {

  .top_section_service .service_list {
    gap: 80px 40px;
    flex-wrap: wrap;
    margin-top: 70px;
    width: 100%;
  }

  .top_section_service .service_list>li {
    width: 100%;
  }

  .top_section_service .service_list > li > a {
    width: 100%;
    max-width: none;
    padding: 40px 30px 30px;
  }

  .top_section_service .service_list > li > a p.catch{
    font-size: 2.4rem;
    text-align: center;
  }

  .top_section_service .service_list > li > a p.catch span{
    padding: 0.8em 1.5em;
    display: inline-block;
    font-size: 2rem;
  }

  .top_section_service .service_list > li > a .img img{
    width: 100%;
    display: block;
    margin: 20px 0;
  }

  .top_section_service .service_list > li > a h3.ttl{
    font-size: 2.4rem;
    margin-top: 10px;
  }

}

@media screen and (max-width: 1400px) {
  .top_section_news {
    padding-top: 125px;
  }
}
@media screen and (max-width: 1024px) {
  .top_section_news {
    padding-top: 40px;
  }

  .news_list{
    display: flex;
    flex-wrap:wrap;
    gap:30px 20px;
  }

  .news_box .img {
    max-width: none;
  }

  .news_list>li{
    width: calc((100% - 20px) / 2); 
  }
}
@media screen and (max-width: 768px) {
  .news_box .info time {
    font-size: 1.4rem;
  }

  .news_box .info .tags{
    gap:5px;
  }

  .news_box .info .tags>li {
    min-width: 65px;
    height: 20px;
    line-height: 18px;
    font-size: 1.2rem;
  }

  .news_box .msg {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}


/*トップ：アルプスケアハートについて*/
.top_section_about {
  padding: 80px 0;
}

.top_section_about .row {
  display: flex;
  justify-content: space-between;
}


.top_section_about .row .about_head .headline_l {
  margin-bottom: 40px;
  text-align: left;
}

.top_section_about .row .about_head .headline_l em {
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 0px;
}

.top_section_about .row .about_head .headline_l strong {
  font-size: 3.6rem;
  line-height: calc(70 / 36);
  font-weight: bold;
}

.top_section_about .row .about_head .about_logo img {
  width: 130px;
}

.top_section_about .row .about_contents {
  display: flex;
  gap: 60px;
}

.top_section_about .row .about_contents .about_item {
  display: block;
  width: 368px;
}

.top_section_about .row .about_contents .about_item:hover{
  opacity: 1;
}

.top_section_about .row .about_contents .about_item:hover .img{
  box-shadow:2px 5px 10px rgba(0,0,0,0.3);
}

.top_section_about .row .about_contents .about_item .img {
  border-radius: 20px;
  margin-bottom: 20px;
  overflow: hidden;
}

.top_section_about .row .about_contents .about_item .ttl {
  font-size: 2.6rem;
  line-height: 1;
  color:var(--main-clr);
  margin-bottom: 20px;
}

.top_section_about .row .about_contents .about_item .msg {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 1200px) {
  .top_section_about {
    padding: 80px 0;
  }

  .top_section_about .row {
    display:block;
    justify-content: space-between;
  }

  .top_section_about .row .about_head{
    margin-bottom: 50px;
  }

  .top_section_about .row .about_head .headline_l {
    margin-bottom: 20px;
    text-align: left;
  }

  .top_section_about .row .about_head .headline_l em {
    font-size: 2rem;
    margin-bottom: 0px;
  }

  .top_section_about .row .about_head .headline_l strong {
    font-size: 2.6rem;
  }

  .top_section_about .row .about_head .about_logo img {
    width: 130px;
  }

  .top_section_about .row .about_contents {
    gap: 40px;
  }

  .top_section_about .row .about_contents .about_item {
    display: block;
    width: calc((100% - 40px) / 2 );
  }

  .top_section_about .row .about_contents .about_item .img {
    margin-bottom: 20px;
  }

  .top_section_about .row .about_contents .about_item .ttl {
    font-size: 2.6rem;
    margin-bottom: 20px;
  }

  .top_section_about .row .about_contents .about_item .msg {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {

  .top_section_about{
    padding-bottom: 40px;
    padding-bottom: 0;
  }

  .top_section_about .row .about_contents,
  .top_section_about .row .about_contents .about_item {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }

  .top_section_about .row .about_contents .about_item .img {
    margin-bottom: 20px;
  }

  .top_section_about .row .about_contents .about_item .ttl {
    font-size: 2.6rem;
    margin-bottom: 20px;
  }

  .top_section_about .row .about_contents .about_item .msg {
    font-size: 1.6rem;
  }
}


/*トップ：リクルート*/
.top_section_recruit{
  position: relative;
  overflow: hidden;
}

.top_section_recruit .row {
  display: flex;
  align-items: center;
  overflow: hidden;
}

.top_section_recruit .row .img{
  width: 54%;
  position: relative;
  z-index: 1;
}

.top_section_recruit .row .txt{
  position: relative;
  padding-left: 60px;
  width: 46%;
}

.top_section_recruit .row .txt::after{
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left:-10%;
  width: 141%;
  aspect-ratio: 1;
  border-radius: 50%;
  z-index: 2;
  background-image: linear-gradient(to right, #EDFEFD, #CCECFF);
}

.top_section_recruit .row .txt .box{
  z-index: 3;
  position: relative;
}

.top_section_recruit .row .txt .box .headline_l{
  text-align: left;
}

.top_section_recruit .row .txt .box .msg{
  font-size: 16px;
  line-height: 32px;
  text-align: left;
  color: #555;
  margin-bottom: 30px;
}
@media screen and (max-width: 1400px) {
  .top_section_recruit .row{
    display: flex;
    align-items: center;
    overflow: hidden;
    height: 369px;
  }

  .top_section_recruit .row .img{
    height: 100%;
  }
  
  .top_section_recruit .row .img img {
    object-fit: cover;
    height: 100%;
  }

  .top_section_recruit .row .txt::after {
    left: -12%;
  }
}
@media screen and (max-width: 1024px) {
 .top_section_recruit .row {
    display: block;
    height: auto;
  }

  .top_section_recruit .row .img{
    width: 100%;
  }

  .top_section_recruit .row .txt{
    padding-left: 0px;
    width: 100%;
  }

  .top_section_recruit .row .txt .box .headline_l{
    text-align: left;
  }

  .top_section_recruit .row .txt .box .msg{
    font-size: 16px;
    margin-bottom: 30px;
    text-align: left;
  }

  .top_section_recruit .row .txt {
    padding-left: 0px;
    width: 100%;
    padding: 15px 30px 50px;
  }

  .top_section_recruit .row .txt::after {
    content: '';
    position: absolute;
    top: -20%;
    left: -75%;
    width: 250%;
    transform: translateY(0%);
    aspect-ratio: 10 / 5;
    border-radius: 50%;
    z-index: 2;
  }

}
@media screen and (max-width: 768px) {
  .top_section_recruit .row .txt::after {
    top: -13%;
  }
}

/*ボタン3*/

.lower_contents{
  max-width: 1440px;
  margin: 0 auto;
  font-size: 1.8rem;
  padding: 60px 50px 0;
}
@media screen and (max-width: 1200px) {
  .lower_contents {
    padding: 30px 25px 0;
  }
}
@media screen and (max-width: 1200px) {
  .lower_contents {
    padding: 0px 20px 0;
  }
}
@media screen and (max-width: 1024px) {
  .lower_contents{
    font-size: 1.6rem;
  }
}

/*トップ:設定*/
.lower_container{
  padding: 100px 0 90px;
}
@media screen and (max-width: 1024px) {
  .lower_container{
    padding: 80px 0 60px;
  }
}


.lower_page_head{
  height: 200px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  padding-left: 80px;
  margin-bottom: 80px;
  background: linear-gradient(#f0f9ff 0%, #e5f6ff 100%);
}

.lower_page_head strong{
  font-size: 3.6rem;
  text-align: left;
  color: var(--main-clr);
}

@media screen and (max-width: 1024px) {
  .lower_page_head {
    height: 180px;
    border-radius: 15px;
    padding-left: 30px;
    margin-bottom: 40px;
  }

  .lower_page_head strong{
    font-size: 3rem;
  }
}

.lower_wrap{
  max-width: 1080px;
  margin: 0 auto;
}

.lower_row{
  display: flex;
  padding-bottom: 0px;
}

.lower_row aside{ width: 260px ;}
.lower_row aside .aside_menu{
  position: sticky;
  top:100px;
  flex-wrap:wrap;
}

.lower_row aside .aside_menu>li>a{
  font-weight: bold;
  display: block;
  font-size: 1.8rem;
  line-height: 1.5;
  padding: 0.5em 0;
  text-align: left;
}  

.lower_row aside .aside_menu>li.active>a{  
  color:var(--main-clr)
}

.lower_row aside .aside_menu>li>a:hover{
  opacity: 1;
  color:var(--main-clr);
}

.lower_row main { width: calc(100% - 260px);}

@media screen and (max-width: 1350px) {
  
  .lower_row aside{ width: 220px;}
  .lower_row aside .aside_menu>li>a{
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: 0.5em 0;
    text-align: left;
  }  

  .lower_row main { width: calc(100% - 220px);}
}
@media screen and (max-width: 1024px) {

  .lower_row{
    display: block;
    padding-bottom: 0px;
  }
  
  .lower_row aside{ 
    width: 100%;
  }

  .lower_row main{ 
    width: 100%;
  }

  .lower_row aside .aside_menu{
    display: flex;
    top:100px;
    gap:0 1em;
    margin-bottom: 20px;
  }

  .lower_row aside .aside_menu>li{
    position: relative;
  }

  .lower_row aside .aside_menu>li::after {
    content: '';
    position: absolute;
    top: 13px;
    right: 0;
    height: 22px;
    width: 1px;
    background: #707070;
  }

  .lower_row aside .aside_menu>li:last-child::after{
    display: none;
  }

  .lower_row aside .aside_menu>li>a{
    padding-right: 30px;
    position: relative;
  }

  .lower_row aside .aside_menu>li>a::after {
    content: '';
    position: absolute;
    top: 18px;
    right: 14px;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid var(--main-clr);
    border-right: 2px solid var(--main-clr);
    transform: rotate(135deg);
  }

  .lower_row aside .aside_menu>li>a.active{  
    color:inherit;
  }
}
@media screen and (max-width: 768px) {

  .lower_row aside .aside_menu{
    gap:0 0.5em;
  }

  .lower_row aside .aside_menu>li>a{
    padding-right: 30px;
    position: relative;
    font-size: 1.5rem;
  }

  .lower_row aside .aside_menu>li>a::after {
    top: 15px;
  }

  .lower_row aside .aside_menu>li::after {
    top: 8px;
  }
}

@media screen and (max-width: 500px) {
  .lower_row aside .aside_menu>li>a {
    font-size: 1.4rem;
  }
}

.lower_sort_list{
  display: flex;
  flex-wrap:wrap;
  gap:0 50px;
  padding: 30px 0;
  padding-left: 260px;
}

.lower_sort_list>li{
  position: relative;
  font-size: 1.8rem;
  line-height: 2;
  margin-right: 0;
}

.lower_sort_list>li>a{
  font-weight: bold;
}

.lower_sort_list>li>a.active{
  color: var(--main-clr);
}

.lower_sort_list>li::after {
  content: '';
  position: absolute;
  top: 7px;
  right: -25px;
  height: 24px;
  background: #D0D0D0;
  width: 1px;
}
.lower_sort_list>li:last-child::after {
  display: none;
}
@media screen and (max-width: 1400px) {
  .lower_sort_list {
    padding-left: 220px;
  }
}
@media screen and (max-width: 1024px) {

  .lower_sort_list {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    padding: 0;
    margin-bottom: 25px;
  }
  
  .lower_sort_list>li{
    width: 48%;
  }

  .lower_sort_list>li>a{
    padding-right: 1em;
  }

  .lower_sort_list>li::after {
    right:0;
  }
  
  .lower_sort_list>li:nth-child(2)::after {
    display: none;
  }

}
@media screen and (max-width: 1024px) {
  .lower_sort_list {
    padding-left: 0;
  }
  .lower_sort_list>li>a {
    padding-right: 0.5em;
    font-size: 1.6rem;
  }

   .lower_sort_list{
    gap:0;
   }

  .lower_sort_list>li{
    width: 45%;
    padding-left: 1em;
  }

  .lower_sort_list>li:nth-child(1),
  .lower_sort_list>li:nth-child(3){
    width: 55%;
    padding-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .lower_sort_list>li{
    max-width: 300px;
  }
  .lower_sort_list>li>a {
    padding-right: 0.5em;
    white-space:nowrap;
    font-size: 1.4rem;
  }
}
