@charset "UTF-8";
main {
}
main article {
}
:root {
  --color-light-blue:#f0f6fb;
  --color-blue:#001e75;
  --color-middle-blue:#1362cc;
}
/*============================
#fv
============================*/
main #fv {

  background-image: url(/assets/top/img/main_bg01_pc.jpg),url(/assets/top/img/main_bg02_pc.jpg);
  background-position: center top,center top;
  background-repeat: no-repeat;
  height: 600px;
}
@media screen and (min-width:1920px){
  main #fv{
    background-image: url(/assets/top/img/main_bg02_pc.jpg);
    background-size: cover;
  }
}

main #fv .sec__inner h1 {
  font-size: min(calc(35/1000*100vw),35px);
  padding: min(calc(170/1000*100%),170px) 0 0;
  letter-spacing: min(calc(7/1000*100vw),7px);
}
main #fv .sec__inner h1 .text__whiteBack {
  background-color: #FFF;
  display: inline-block;
  line-height: 1;
  padding: 0.3em 0.6em;
  letter-spacing: min(calc(7/1000*100vw),7px);
}
main #fv .sec__inner h1 .text__gradation {
  display: inline-block;
  background: linear-gradient(45deg, #008cd4 0%, #165aca 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(calc(45/1000*100vw),45px);
  font-weight: 700;

}
main #fv .sec__inner h1 .text__fvLarge {
  margin-top: 0.4em;
  line-height: calc(77/50);
  display:inline-block;
  font-size: min(calc(50/1000*100vw),50px);
  font-weight: 700;
  letter-spacing:0;
}main #fv .sec__inner h1 .text__fvLarge span{
  letter-spacing: min(calc(7/1000*100vw),7px);
}
main #fv .sec__inner h1 .text__fvSmall{
  font-size: min(calc(40/1000*100vw),40px);
}
/*============================
#intro
============================*/
main #intro {
  background-image: url(/assets/top/img/growth_bg_pc.jpg);
  background-size: cover;
  background-position: center center;
}
main #intro .sec__inner {
  padding: min(calc(105/1000*100%),105px) 0;
}
main #intro .sec__inner .intro__itemList {
  display: flex;
  flex-wrap: wrap;
}
main #intro .sec__inner .intro__itemList dt {
  margin-left: min(calc(20/1000*100%),20px);
  width: min(calc(302/1000*100%),302px);
}

main #intro .sec__inner .intro__itemList dd {
  margin-left: min(calc(75/1000*100%),75px);
  padding-top:  min(calc(40/1000*100%),40px);
  font-size: min(calc(24/1000*100vw),24px);
  font-weight: 600;
  line-height: calc(42/24);
}
main #intro .sec__inner .intro__itemList .text__blue {
  font-size: min(calc(35/1000*100vw),35px);
}

/*============================
#about
============================*/
main #about {
  background-color: var(--color-light-blue);
}
main #about .sec__inner {
  padding: min(calc(150/1000*100%),150px) 0 min(calc(170/1000*100%),170px);
}
main #about .sec__inner .flex__wrap {

}
main #about .sec__inner .flex__wrap .head__wrap {
  width: calc(450/1000*100%);
  margin-left: calc(20/1000*100%);
  padding-right: min(calc(50/450*100%),50px);
}

main #about .sec__inner .flex__wrap .head__wrap .site__normalText {
  font-size: min(calc(18/1000*100vw),18px);
  line-height: calc(35/18);
  margin-top: 1em;
}
main #about .sec__inner .flex__wrap .img__wrap {
  width: calc(530/1000*100%);
}

/*============================
#service
============================*/

main #service .sec__inner {
  padding: min(calc(145/1000*100%),145px) 0 min(calc(155/1000*100%),155px);
}

main #service .sec__inner h3.site__headLvl3 {
  text-align: center;
  margin-bottom: min(calc(60/1000*100vw),60px);
}
main #service .sec__inner h3.site__headLvl3 span.text__headSmall {
  font-size: min(calc(20/1000*100vw),20px);
  color: #000;
}
main #service .sec__inner .flex__wrap {
  padding:0 min(calc(20/1000*100%));

}
main #service .sec__inner .flex__wrap .service__item {
  width: calc(460/980*100%);
  background-color: var(--color-light-blue);
  text-align: center;
  border-radius: 10px;
  padding-bottom: min(calc(45/460*100%),45px);
}
main #service .sec__inner .flex__wrap .service__item h4 {
  background-color: var(--color-middle-blue);
  color: #FFF;
  font-size: min(calc(20/1000*100vw),20px);
  letter-spacing: min(calc(2/750*100vw),2px);
  text-align: center;
  font-weight: 600;
  display: inline-block;
  padding:0.5em 1em;
  border-radius: 0 0 10px 10px;
  margin-bottom: min(calc(32/460*100%),32px);
}

main #service .sec__inner .flex__wrap .service__item img {
  width: calc(400/460*100%);
}
main #service .sec__inner .flex__wrap .service__item .service__itemText {
  width: calc(400/460*100%);
  margin: 01.5em auto 0;
  font-size: min(calc(18/1000*100vw),18px);
  line-height: calc(35/18);

}
main #service .sec__inner .flex__wrap .service__item .btn__wrap{ 
  width: calc(400/460*100%);
  margin: 0 auto;
  text-align: right;
}
main #service .sec__inner .flex__wrap .service__item p span.text__blue {
  font-weight: 700;
}

/*============================
#point
============================*/
main #point {
  background-color: var(--color-light-blue);
}
main #point .sec__inner {
  padding: min(calc(150/1000*100%),150px) 0;
}
main #point .sec__inner h2.site__headLvl2.text__gradation {
  z-index:2;
}
main #point .sec__inner h3.site__headLvl3 {
  text-align: center;
  margin-bottom: min(calc(60/1000*100%),60px);
  z-index:2;
}
main #point .sec__inner h3.site__headLvl3 span.text__headSmall {
}
main #point .sec__inner .flex__wrap {
  padding: 0 min(calc(20/1000*100%));
  margin-bottom: -12%;
}
main #point .sec__inner .flex__wrap .point__item {
  width: calc(300/960*100%);
  display: flex;
  flex-direction: column;

}
main #point .sec__inner .flex__wrap .point__item dl {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background-color: #FFF;
  padding: min(calc(25/300*100%),25px) min(calc(35/300*100%),35px) min(calc(28/300*100%),28px) min(calc(26/300*100%),26px);
  width: calc(245/300*100%);
  z-index: 2;
  top:-25%;
  order:2;

}
main #point .sec__inner .flex__wrap .point__item dl dt {
  font-size: min(calc(20/1000*100vw),20px);
  line-height: 1;
  margin-left: 0;
}
main #point .sec__inner .flex__wrap .point__item dl dd {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
main #point .sec__inner .flex__wrap .point__item dl dd h4 {
  font-size: min(calc(20/1000*100vw),20px);
  font-weight: 600;
  margin: 0.5em 0;
}
main #point .sec__inner .flex__wrap .point__item dl dd p {

}
main #point .sec__inner .flex__wrap .point__item figure.point__image {
  order: 1;
}
main #point .sec__inner .flex__wrap .point__item figure.point__image picture {
}
main #point .sec__inner .flex__wrap .point__item .point__mainText {
  flex-grow: 1;
  font-size: min(calc(18/1000*100vw),18px);
  line-height: calc(35/18);
}
main #point .sec__inner .flex__wrap .point__item figure.point__image picture img {
}
main #point .sec__inner .btn__detail {
  margin-top: 0;
  z-index:4;
}
main #point .sec__inner .btn__wrap {
  text-align: right;
  padding-right: min(calc(20/1000*100%),20px);
}

/*============================
#voice
============================*/
main #voice {
}
main #voice .sec__inner {
  padding: min(calc(145/1000*100%),145px) 0 min(calc(100/1000*100%),100px);
}
main #voice .sec__inner h2.site__headLvl2.text__gradation {
  margin-bottom: min(calc(30/1000*100%),30px);
}
main #voice .sec__inner h3.site__headLvl3 {
  text-align: center;
  margin-bottom: 0;
}


main #voice .sec__inner .slick-sliderInner{
  background-color: var(--color-light-blue)
}

main #voice .sec__inner .btn__wrap{
  text-align: right;
}

/*============================
#cv
============================*/
main #cv.cv__area {
}
main #cv.cv__area .sec__inner {
  padding:min(calc(47/1000*100%),47px) 0;
}


/*============================
Liquid
============================*/

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

}
main #about .sec__inner {
  padding-left: 2%;
  padding-right: 2%;
}


/*============================
Smartphone
============================*/

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

/*============================
#fv
============================*/
main #fv {

  background-image: url(/assets/top/img/main_bg_sp.jpg);
  background-position: center top;
  background-size: cover;
  height: min(calc(930/750*100vw),930px);
}

main #fv .sec__inner h1 {
  font-size: min(calc(40/750*100vw),40px);
  padding: min(calc(610/750*100%),610px) 0 0 min(calc(40/750*100%),40px);
  letter-spacing: min(calc(3/750*100vw),3px);
}
main #fv .sec__inner h1 .text__whiteBack {
  padding: 0.3em 0.6em 0.4em;
  letter-spacing: min(calc(7/750*100vw),7px);
}
main #fv .sec__inner h1 .text__gradation {
  font-size: min(calc(50/750*100vw),50px);
}
main #fv .sec__inner h1 .text__fvLarge {
  margin-top: 0.2em;
  line-height: calc(80/60);
  display:inline-block;
  font-size: min(calc(60/750*100vw),60px);
  font-weight: 700;
  letter-spacing:0;
}main #fv .sec__inner h1 .text__fvLarge span{
  letter-spacing: min(calc(7/750*100vw),7px);
}
main #fv .sec__inner h1 .text__fvSmall{
  font-size: min(calc(50/750*100vw),50px);
}
main #fv .sec__inner h1 .sp__narrow{
  letter-spacing: 0; 
  font-size: min(calc(55/750*100vw),55px);
}

/*============================
#intro
============================*/
main #intro {
  background-image: url(/assets/top/img/growth_bg_sp.jpg);

}
main #intro .sec__inner {
  padding: min(calc(90/750*100%),90px) 0 min(calc(100/750*100%),100px);
}
main #intro .sec__inner .intro__itemList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
main #intro .sec__inner .intro__itemList dt {
  margin-left: 0;
  width: min(calc(362/750*100%),362px);
}

main #intro .sec__inner .intro__itemList dd {
  text-align: center;
  margin-left: 0;
  padding-top:  min(calc(40/750*100%),40px);
  font-size: min(calc(30/750*100vw),30px);

  line-height: calc(42/24);
}
main #intro .sec__inner .intro__itemList .text__blue {
  font-size: min(calc(50/750*100vw),50px);
  line-height: calc(75/50);
  font-weight: 700;
}

/*============================
#about
============================*/
main #about {
  background-color: var(--color-light-blue);
}
main #about .sec__inner {
  padding: min(calc(150/750*100%),150px) min(calc(40/750*100%),40px) min(calc(158/750*100%),158px);
}
main #about .sec__inner .flex__wrap {
  display: block;
}
main #about .sec__inner .flex__wrap .head__wrap {
  width: 100%;
  margin-left: 0;
  padding-right: 0;
}

main #about .sec__inner .flex__wrap .head__wrap .site__normalText {
  font-size: min(calc(24/750*100vw),24px);
  line-height: calc(45/24);
  margin-top: 1em;
}
main #about .sec__inner .flex__wrap .img__wrap {
  width: 100%;
  margin-top: calc(64/750*100%);
}

/*============================
#service
============================*/

main #service .sec__inner {
  padding: min(calc(160/750*100%),160px) 0 min(calc(120/750*100%),120px);
}

main #service .sec__inner h3.site__headLvl3 {
  text-align: center;
  margin-bottom: min(calc(60/750*100vw),60px);
  line-height: 1.2;
}
main #service .sec__inner h3.site__headLvl3 span.text__headSmall {
  font-size: min(calc(30/750*100vw),20px);
  letter-spacing: min(calc(2/750*100vw),2px);
  color: #000;
  display: block;
  text-align: center;
  line-height: 1.5;
  margin-top: min(calc(30/750*100vw),30px);
}
main #service .sec__inner .flex__wrap {
  padding:0 min(calc(40/750*100%));
  display: block;
}
main #service .sec__inner .flex__wrap .service__item {
  width:100%;

  padding-bottom: min(calc(45/460*100%),45px);
}
main #service .sec__inner .flex__wrap .service__item h4 {
  font-size: min(calc(30/750*100vw),30px);
  padding:0.5em 1.2em;
  margin-bottom: min(calc(40/670*100%),40px);
}
main #service .sec__inner .flex__wrap .service__item:first-of-type{
  margin-bottom: calc(62/750*100%);
}
main #service .sec__inner .flex__wrap .service__item img {
  width: calc(576/670*100%);
}
main #service .sec__inner .flex__wrap .service__item .service__itemText {
  width: calc(400/460*100%);
  margin: 01.5em auto 0;
  font-size: min(calc(24/750*100vw),24px);
  line-height: calc(45/24);

}
main #service .sec__inner .flex__wrap .service__item .btn__wrap{ 
  width: calc(400/460*100%);
  margin: 0 auto;
  text-align: right;
}
main #service .sec__inner .flex__wrap .service__item p span.text__blue {
  font-weight: 700;
}

/*============================
#point
============================*/
main #point {
  background-color: var(--color-light-blue);
}
main #point .sec__inner {
  padding: min(calc(150/750*100%),150px) 0;
}
main #point .sec__inner h2.site__headLvl2.text__gradation {
  z-index:2;
}
main #point .sec__inner h3.site__headLvl3 {
  text-align: center;
  margin-bottom: min(calc(60/750*100%),60px);
  z-index:2;
}
main #point .sec__inner h3.site__headLvl3 span.text__headSmall {
}
main #point .sec__inner .flex__wrap {
  padding: 0;
  margin-top: 0%;
  display: block;
}
main #point .sec__inner .flex__wrap .point__item {
  width: calc(670/750*100%);
  margin: 0 auto ;
}
main #point .sec__inner .flex__wrap .point__item dl {
  padding: min(calc(25/300*100%),25px) min(calc(35/300*100%),35px) min(calc(28/300*100%),28px) min(calc(26/300*100%),26px);
  width: calc(480/670*100%);
  z-index: 2;
  top:0;
  margin-top: -25%;
  margin-bottom: calc(100/670*100%);
  letter-spacing: 0;
}
main #point .sec__inner .flex__wrap .point__item:last-of-type{
  margin-bottom: 0;
}
main #point .sec__inner .flex__wrap .point__item dl dt {
  font-size: min(calc(30/750*100vw),30px);
  line-height: 1;
  margin-left: 0;
}
main #point .sec__inner .flex__wrap .point__item dl dd {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
main #point .sec__inner .flex__wrap .point__item dl dd h4 {
  font-size: min(calc(30/750*100vw),30px);
  margin: 0.5em 0;
}

main #point .sec__inner .flex__wrap .point__item .point__mainText {
  flex-grow: 1;
  font-size: min(calc(21/750*100vw),21px);
  line-height: calc(35/18);
}
main #point .sec__inner .flex__wrap .point__item figure.point__image picture img {
}
main #point .sec__inner .btn__detail {
  margin-top: min(calc(70/750*100%),70px);
}
main #point .sec__inner .btn__wrap {

  padding-right: min(calc(40/750*100%),40px);
}

/*============================
#voice
============================*/
main #voice {
}
main #voice .sec__inner {
  padding: min(calc(225/750*100%),225px) 0 min(calc(130/750*100%),130px);
}
main #voice .sec__inner h2.site__headLvl2.text__gradation {
  margin-bottom: min(calc(20/750*100%),20px);
}
main #voice .sec__inner h3.site__headLvl3 {
  text-align: center;
  margin-bottom: min(calc(50/750*100%),50px);
}

main #voice .sec__inner .btn__wrap{
  text-align: right;
  padding-right: min(calc(40/750*100%),40px);
}

/*============================
#cv
============================*/
main #cv.cv__area {
}
main #cv.cv__area .sec__inner {
  padding:min(calc(100/750*100%),100px) 0;
}

}