@charset "utf-8";
/* ---------------------------------------------------

	Syntax - SP First

--------------------------------------------------- */
/* ---------------------------------------------------

	common Header Footer

--------------------------------------------------- */
*{
  -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
  }

::-webkit-scrollbar {
  width: 8px;
  background-color: rgba(0,0,0,0.1); 
}
::-webkit-scrollbar-thumb {
  background-color: rgba(40,58,145,0.3);
  width: 6px;
  border-radius: 5px;
}

.js-scrollable::-webkit-scrollbar {
  height: 0;
  width: auto;
  background-color: transparent; 
}
.js-scrollable::-webkit-scrollbar-thumb {
  background-color: transparent;
  width: auto;
  border-radius: 0;
}

body{
  color: rgba(41,41,41,1.00);
  font-family: "Noto Sans JP", serif;
}

main{
  display: block;
}

a{
  color: rgba(41,41,41,1.00);
  transition: all 0.3s;
  }

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

body.headerMenuOpen{
  overflow: hidden;
}

.ff_montserrat{
  font-family: "Montserrat", serif;
}


/* ---------------------------------------------------

	Material - media-display

--------------------------------------------------- */
.pc_only{display: none;}
.tab_only{display: none;}
.sp_only{display: inline-block;}
.pc_tab{display: none;}
.sp_tab{display: inline-block;}



/* ---------------------------------------------------

	Material - pagetop

--------------------------------------------------- */
#pageTopPoint{
  display: block;
  margin: -60px 0 0;
  padding: 60px 0 0;
  position: relative;
  z-index: -1;
}
.pageTop{
  bottom: 2rem;
  position: fixed;
  right: 15px;
  z-index: 300;
}
.pageTop__inner{}
.pageTop-link{
  align-items: center;
  background-color: rgba(40,58,145,1.00);
  border: 1px rgba(255,255,255,1.00) solid;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  height: 65px;
  position: relative;
  text-align: center;
  width: 65px;
}
.pageTop-link:before{
  border-left: 2px rgba(255,255,255,1) solid;
  border-top: 2px rgba(255,255,255,1) solid;
  content: "";
  display: inline-block;
  height: 8px;
  left: 50%;
  transform: translate(-50%,-35%) rotateZ(45deg);
  position: absolute;
  top: 50%;
  width: 8px;
}

.pageTop.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(200px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

.pageTop.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(200px);
  }
}

/* ---------------------------------------------------

	Material - Arrow

--------------------------------------------------- */
.arrowPrevious,
.arrowNext-blue,
.arrowNext-white,
.arrowNext-circle-blueLine,
.arrowNext-circle-whiteBg,
.arrowNext-purple-circle-whiteBg,
.arrowNext-lightBlue-circle-whiteBg,
.arrowAnchor-WB,
.arrowAnchor-purple-circle-whiteBg{
  position: relative;
}
.arrowPrevious-white:after,
.arrowNext-blue:after,
.arrowNext-white:after,
.arrowNext-circle-blueLine:after,
.arrowNext-circle-whiteBg:after,
.arrowNext-purple-circle-whiteBg:after,
.arrowNext-lightBlue-circle-whiteBg:after,
.arrowAnchor-WB:after,
.arrowAnchor-purple-circle-whiteBg:after{
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 200;
}

.arrowPrevious-white:after{
  background-image: url("/src/images/common/icon/arrow_left_white.svg");
  background-size: contain;
  height: 20px;
  left: 1.25rem;
  width: 20px;
}

.arrowNext-blue:after{
  background-image: url(/src/images/common/icon/arrow_right_blue.svg);
  background-size: contain;
  height: 20px;
  right: 1.25rem;
  width: 20px;
}
.arrowNext-white:after{
  background-image: url("/src/images/common/icon/arrow_right_white.svg");
  background-size: contain;
  height: 20px;
  right: 1.25rem;
  width: 20px;
}
.arrowNext-circle-blueLine:after{
  background-image: url(/src/images/common/icon/arrow_right_blue.svg);  
  background-size: 8px;
  border: 1px rgba(40,58,145,1.00) solid;
  border-radius: 50%;
  height: 18px;
  right: 1rem;  
  width: 18px;
}
.arrowNext-circle-whiteBg:after{
  background-color: rgba(255,255,255,1.00);
  background-image: url(/src/images/common/icon/arrow_right_blue.svg);  
  background-size: 8px;
  border: 1px rgba(40,58,145,1.00) solid;
  border-radius: 50%;
  height: 18px;
  right: 1rem;  
  width: 18px;
}
.arrowNext-purple-circle-whiteBg:after{
  background-color: rgba(255,255,255,1.00);
  background-image: url(/src/images/common/icon/arrow_right_purple.svg);  
  background-size: 8px;
  border: 1px rgba(117,76,173,1.00) solid;
  border-radius: 50%;
  height: 18px;
  right: 1rem;  
  width: 18px;
}
.arrowNext-lightBlue-circle-whiteBg:after{
  background-color: rgba(255,255,255,1.00);
  background-image: url(/src/images/common/icon/arrow_right_light_blue.svg);  
  background-size: 8px;
  border: 1px rgba(0,153,217,1.00) solid;
  border-radius: 50%;
  height: 18px;
  right: 1rem;  
  width: 18px;
}
.arrowAnchor-WB:after{
  background-image: url(/src/images/common/icon/arrow_bottom_white.svg);  
  background-size: contain;
  height: 15px;
  right: 1.25rem;  
  width: 15px;
}
.arrowAnchor-purple-circle-whiteBg:after{
  background-color: rgba(255,255,255,1.00);
  background-image: url(/src/images/common/icon/arrow_bottom_purple.svg);  
  background-size: 8px;
  border: 1px rgba(117,76,173,1.00) solid;
  border-radius: 50%;
  height: 18px;
  right: 1rem;  
  width: 18px;
}

/* ---------------------------------------------------

	Material - ExternalLink

--------------------------------------------------- */
.externalLink-white{
  position: relative;
}
.externalLink-white:after{
  background-image: url("/src/images/common/icon/externallink_white.svg");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  height: 16px;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  z-index: 200;
}

/* ---------------------------------------------------

	Material - Button

--------------------------------------------------- */
.cmnButton__block{
  padding: 1.875rem 0 0;
}
.cmnButton__inner{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.cmnButton__item{
  box-sizing: border-box;
  margin: 0 10px;
  width: 100%;
  max-width: 280px;
}
.cmnButton__item:last-of-type{
  /*margin: 0;*/
}
.cmnButton__item-link{
  align-items: center;
  border: 1px rgba(40,58,145,0) solid;
  border-radius: calc(50px / 2);
  box-sizing: border-box;
  color:rgba(255,255,255,1.00);
  display: flex;
  justify-content: center;
  height: 50px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  width: 100%;
}
/* scheme */
.cmnButton__item-link.bgNone{
  border: 1px rgba(255,255,255,1.00) solid;
}
.cmnButton__item-link.bgwhite{
  border: 1px rgba(40,58,145,1.00) solid;
  color: rgba(40,58,145,1.00);
}
/* scheme Fin */
.cmnButton__item-link:before{
  background: transparent linear-gradient(90deg, #4074D8 0%, #192879 100%) 0% 0% no-repeat padding-box;
  box-sizing: border-box;
  content: "";
  display: inline-block;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: calc(100% + 1px);
  z-index: 195;
}
/* scheme */
.cmnButton__item-link.bgNone:before{
  background: transparent;
}
.cmnButton__item-link.bgwhite:before{
  background: rgba(255,255,255,1.00);
}
/* scheme Fin */
.cmnButton__item__text{
  font-size: 1rem;
  font-weight: 500;
  position: relative;
  z-index: 200;
}



/* ---------------------------------------------------

	Material - Anchor Point

--------------------------------------------------- */
.cmnAnchor{
  display: inline-block;
  margin: -70px 0 0;
  padding: 70px 0 0;
  position: absolute;
  z-index: -1;
}



/* ---------------------------------------------------

	Material - Anchor Menu

--------------------------------------------------- */
.anchorMenu{
  margin: 0 0 4rem;
  padding: 4rem 20px 0;
}
.anchorMenu__list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.anchorMenu__list__item{
  box-sizing: border-box;
  margin: 0 0 1rem;
  width: 100%;
  max-width: 280px;
}
.anchorMenu__list__item-link{
  align-items: center;
  background-color: rgba(255,255,255,1.00);
  border: 1px rgba(40,58,145,1.00) solid;
  border-radius: calc(50px / 2);
  box-sizing: border-box;
  color: rgba(40,58,145,1.00);
  display: flex;
  justify-content: center;
  height: 50px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  width: 100%;
}
.anchorMenu__list__item-link:after{
  background-image: url("/src/images/common/icon/arrow_bottom_blue.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 20px;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
}
.anchorMenu__list__item__text{
  font-size: 1rem;
  font-weight: 600;
  position: relative;
  z-index: 200;
}


/* ---------------------------------------------------

	Material - ProductSlider

--------------------------------------------------- */
.products__slider{
  padding: 2.5rem 0 0;
}
.products__slider__list{
  border-bottom: 1px rgba(175,176,179,1.00) solid;
  border-top: 1px rgba(175,176,179,1.00) solid;
  margin: 0 auto;
}
.products__slider__list__item{
  border-right: 1px rgba(175,176,179,1.00) solid;
}
.products__slider__list__item-link{
  box-sizing: border-box;
  display: block;
  padding: 1.125rem 0.75rem;
  text-decoration: none;
}
.products__slider__list__item__figure{
  border-bottom: 1px rgba(175,176,179,1.00) solid;
  margin: 0 0 1.25rem;
  padding: 0 0 1.25rem;
  text-align: center;
  width: 100%;
}
.products__slider__list__item__figure__image{
  align-items: center;
  display: flex;
  font-size: 0;
  height: 120px;
  justify-content: center;
  margin: 0 auto;
  max-width: 120px;
}
.products__slider__list__item__note{
  text-align: center;
}
.products__slider__list__item__note__name{
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.products__slider__controller{
  padding: 1.5rem 0 0;
}
.products__slider__controller__outer{}
.products__slider__controller__inner{
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.products__slider__controller__button__block{
  align-items: center;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* swiper Custmize */
.products__slider .swiper-wrapper{
  margin: 0;
  padding: 0;
}
.products__slider .swiper-wrapper .swiper-slide:last-of-type .products__slider__list__item{
  border-right: none;
}

.products__slider .swiper-scrollbar{
  background-color: rgba(175,176,179,1.00);
  height: 5px;
  width: calc(100% - 150px);
}
.products__slider .swiper-scrollbar-drag{
  background-color: rgba(40,58,145,1.00);
  border-radius: calc(8px / 2);
  cursor: pointer;
  height: 8px;
  margin: -2px 0 0;
}
.products__slider .swiper-button-prev,
.products__slider .swiper-button-next{
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px;
  border: 1px rgba(40,58,145,1.00) solid;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  height: 45px;
  width: 45px;
}
.products__slider .swiper-button-prev{
  background-image: url("/src/images/common/icon/arrow_left_blue.svg");
}
.products__slider .swiper-button-next{
  background-image: url("/src/images/common/icon/arrow_right_blue.svg");
}
/* swiper Custmize Fin */



/* ---------------------------------------------------

	Modifier

--------------------------------------------------- */
/* contents-width */
.contents-small{
  margin: 0 auto;
  padding: 0 20px;
}
.contents-normal{
  margin: 0 auto;
  padding: 0 20px;
}
.contents-large{
  margin: 0 auto;
  padding: 0 20px;
}

/* background */
.bg-blue{
  background-color: rgba(40,58,145,1.00);
}
.bg-black{
  background-color: rgba(41,41,41,1.00);
}

/* flex */
.flex-center{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* text */
.text-center{
  text-align: center;
}
.text-left{
  text-align: left;
}
.text-right{
  text-align: right;
}
.text-blue{
  color: rgba(40,58,145,1.00);
}
.text-white{
  color: rgba(255,255,255,1.00);
}
.text-red{
  color: rgba(220,70,70,1.00);
}

/* note */
.note-lineHeight{
  line-height: 1.75;
}

/* bg corporateCircle */
.bg-corporateCircle{
  position: relative;
}
.bg-corporateCircle:before{
  background-image: url("/src/images/common/illust/circle_blue.webp");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: calc(56.25rem + ((1vw - 3.75px) * 65.3333));/*900px~1047px*/
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  z-index: -1;
}



/* ---------------------------------------------------

	animetion

--------------------------------------------------- */
.anime-bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;
	opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }
  to {
    opacity:1;
  }
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*左から右*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
	animation-duration:1s;
  animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(40,58,145,1.00);
}

@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
	50% {
    transform-origin:left;
    transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.anime-bgappearTrigger,
.anime-bgLRextendTrigger{
  opacity: 0;
}


/* ---------------------------------------------------

	Header

--------------------------------------------------- */
.header{
  background-color: rgba(255,255,255,1.00);
  height: 60px;
  position: fixed;
  width: 100%;
  z-index: 500;
}
.scrollpassive .header{
  box-shadow: none;
  }
.scrollactive .header{
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  }
.header__inner{
  padding: 0.35rem 0;
}
.header__menu__wrap{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.header__logoGroup{}
.header__logo{
  align-items: center;
  display: flex;
  padding: 0 0 0 10px;
}
.header__logo-link{
  align-items: center;
  display: flex;
  text-decoration: none;
}
.header__logo__img{
  margin: 0 0.5rem 0 0;
  width: 30px;
}
.header__logo__lead{
  align-items: center;
  display: flex;
}
.header__logo__lead__text{
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}
/* js > is-spMenuOpen */
.is-spMenuOpen .header{
  background-color: rgba(255,255,255,0.8);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  height: 100vh;
}
/* js > is-spMenuOpen Fin */

/* ------------------------------------

	Header > SP Toggle

------------------------------------ */
.headerToggle{
  align-items: center;
  cursor: pointer;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  text-align: center;
  width: 3.125rem;
}
.headerToggle__inner{}
.headerToggle__box{
  box-sizing: border-box;
  height: 1.5rem;
  margin: 0 auto;
  position: relative;
  width: 1.875rem;
}
.headerToggle__line{
  background-color: rgba(40,58,145,1.00);
  box-sizing: border-box;
  display: inline-block;
  height: 3px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  transition: all 0.3s;
  width: 100%;
}
.headerToggle__line:nth-child(1){
  top: 0;
}
.headerToggle__line:nth-child(2){
  top: calc(50% - 1px);
}
.headerToggle__line:nth-child(3){
  top: calc(100% - 1px);
}
/* js > is-spMenuOpen */
.is-spMenuOpen .headerToggle{}
.is-spMenuOpen .headerToggle__box{}
.is-spMenuOpen .headerToggle__line:nth-child(1){
  top: calc(50% - 1%);
  transform: translateX(-50%)rotate(315deg);
}
.is-spMenuOpen .headerToggle__line:nth-child(2){
  opacity: 0;
}
.is-spMenuOpen .headerToggle__line:nth-child(3){
  top: calc(50% - 1%);
  transform: translateX(-50%)rotate(-315deg);
}
/* js > is-spMenuOpen Fin */
.header__menu__group{  
  box-sizing: border-box;
  padding: 1.5rem 20px;
  position: absolute;
  opacity: 0;
  transition: all 0.3s;
  visibility: hidden;
  width: 100%;
}

.header__menu{
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.header__menu__item{
  margin: 0 0 1rem;
  width: 100%;
}
.header__menu__item-link{
  align-items: center;
  border: 1px rgba(40, 58, 145, 1.00) solid;
  border-radius: calc(50px / 2);
  box-sizing: border-box;
  display: flex;
  height: 50px;
  justify-content: center;
  position: relative;
  text-decoration: none;
}
.header__menu__item-link:after{
  background-image: url(/src/images/common/icon/arrow_right_blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 18px;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  z-index: 200;
}
/* scheme */
.header__menu__item.style-contact .header__menu__item-link{
  border: none;
  color: rgba(255,255,255,1.00);
  overflow: hidden;
  position: relative;
}
.header__menu__item.style-contact .header__menu__item-link:before{
  background: transparent linear-gradient(90deg, #4074D8 0%, #192879 100%) 0% 0% no-repeat padding-box;
  box-sizing: border-box;
  content: "";
  display: inline-block;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 1px);
  z-index: 195;
}
.header__menu__item.style-contact .header__menu__item-link:after{
  background-image: url(/src/images/common/icon/arrow_right_white.svg);
}
/* scheme Fin */
.header__menu__item__fig__inner{
  align-items: center;
  display: flex;
}
.header__menu__item__fig{
  box-sizing: border-box;
  margin: 0 0.3em;
  width: 25px;
}
.header__menu__item__text{
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 3px;
}
/* scheme */
.header__menu__item.style-contact .header__menu__item__text{
  position: relative;
  z-index: 200;
}
/* scheme Fin */
/* js > is-spMenuOpen */
.is-spMenuOpen .header__menu__group {
  position: relative;
  opacity: 1;
  visibility: visible;
}
/* js > is-spMenuOpen Fin */

.header__contact{
  opacity: 0;
  position: absolute;
  visibility: hidden;
  width: 100%;
}
.header__contact-link{
  align-items: center;
  background-image: url("/src/image/common/button/bg_gra_blue.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 30px;
  color: rgba(255,255,255,1.00);
  display: flex;
  height: 60px;
  justify-content: center;
  margin: 0 auto;
  width: 300px;
}
.header__contact__inner{
  align-items: center;
  display: flex;  
}
.header__contact__fig{
  background-image: url("/src/image/common/icon/mail_white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  /*background-size: cover;*/
  box-sizing: border-box;
  height: 17px;
  margin: 0 0.5em;
  width: 25px;
}
.header__contact__text{
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0 0 5px;
}
/* js > is-spMenuOpen */
.is-spMenuOpen .header__contact{
  opacity: 1;
  position: relative;
  visibility: visible;
}
/* js > is-spMenuOpen Fin */


/* ---------------------------------------------------

	PageContents

--------------------------------------------------- */
.pageWrap{
  overflow: hidden;
}
.pageContents{
  padding: 60px 0 4rem;
}


/* cmnSection */
.cmnSection{}
.cmnSectionHead{
  position: relative;
}
.cmnSectionHead__subTitle{
  display: block;
  font-size: 1rem;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 3.2px;
  line-height: 1;
  margin: 0 0 0.5em;
  padding: 0 20px;
}
.cmnSectionHead__title{}
.cmnSectionHead__title__text{
  display: inline-block;
  margin: 0;
}
.cmnSectionHead__title__text__word{
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 3px;
  line-height: 1;
}
.cmnSectionHead__title_note{
  font-size: 1rem;
  font-weight: 500;
  margin: 1.5em 0 0;
}
.cmnSectionBody{
  padding: 2rem 0 0;
}
/* scheme */
.page_products_detail .cmnSectionBody{
  padding: 0;
}
/* scheme Fin */
.cmnSectionBody__inner{}


/* news Category */
/* --------------------- 
カテゴリ背景
1：お知らせ
2：会社情報
--------------------- */
.cmnNewsCategory1{
  background-color: rgba(40,58,145,1.00);
  color: rgba(255, 255, 255, 1.00);
}
.cmnNewsCategory2{
  background-color: rgba(41,41,41,1.00);
  color: rgba(255, 255, 255, 1.00);
}


/* ulmainvisual */
.ulmainvisual{
  height: 200px;
  overflow: hidden;
  position: relative;
}
.ulmainvisual__title{
  align-items: center;
  color: rgba(255,255,255,1.00);
  display: flex;
  height: 100%;
  position: relative;
  z-index: 200;
}
.ulmainvisual__title__outer{  
  padding: 0 20px;
  width: 100%;
}
.ulmainvisual__title__inner{
  display: inline-block;
}
.ulmainvisual__title__inner:before{
  background-color: rgba(255,255,255,1.00);
}
.ulmainvisual__title__text{
  font-size: 2rem;
  font-weight: 600;
  margin: 0;
  text-shadow: 5px 5px 10px rgba(0,0,0,0.2);
}
.ulmainvisual__title__subText{
  display: inline-block;
  font-size: 1rem;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 3.2px;
  padding: 1.25em 0 0;
}
.ulmainvisual__bg{
  background: transparent linear-gradient(130deg, #82EBFF 0%, #001EA0 100%) 0% 0% no-repeat padding-box;
  height: 100%;
  left: 50%;
  opacity: 0.9;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}
.ulmainvisual__bg:before,
.ulmainvisual__bg:after{
  content: "";
  display: inline-block;
  position: absolute;
}
.ulmainvisual__bg:before{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  left: 50%;
  opacity: 0.2;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}
/* scheme */
.page_contact .ulmainvisual__bg:before{
  background-image: url("/src/images/contact/mainvisual_bg_sp.webp");
}
.page_business .ulmainvisual__bg:before{
  background-image: url("/src/images/business/mainvisual_bg_sp.webp");
}
.page_about .ulmainvisual__bg:before{
  background-image: url("/src/images/about/mainvisual_bg_sp.webp");
}
.page_products .ulmainvisual__bg:before{
  background-image: url("/src/images/products/mainvisual_bg_sp.webp");
}
.page_recruit .ulmainvisual__bg:before{
  background-image: url("/src/images/recruit/mainvisual_bg_sp.webp");
  opacity: 0.5;
}
.page_news .ulmainvisual__bg:before{
  background-image: url("/src/images/news/mainvisual_bg_sp.webp");
}
.page_privacy .ulmainvisual__bg:before{
  background-image: url("/src/images/privacy/mainvisual_bg_sp.webp");
}
.page_sitemap .ulmainvisual__bg:before{
  background-image: url("/src/images/sitemap/mainvisual_bg_sp.webp");
}
.page_error .ulmainvisual__bg:before{
  background-image: url("/src/images/error/mainvisual_bg_sp.webp");
}
/* scheme Fin */
.ulmainvisual__bg:after{
  background-image: url("/src/images/common/illust/underlayer_mainvisual_deco_blue.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  left: 0;
  opacity: 0.4;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  max-width: 335px;
}

/* breadcrumbs */
.breadcrumbs{
  padding: 1.25rem 0 0;
}
.breadcrumbs__inner{}
.breadcrumbs__list{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumbs__list__item{
  margin: 0 2rem 0 0;
  position: relative;
}
.breadcrumbs__list__item:after{
  background: transparent linear-gradient(90deg, #4074D8 0%, #192879 100%) 0% 0% no-repeat padding-box;
  content: "";
  display: inline-block;
  height: 2px;
  position: absolute;
  right: calc(0% - 1.5rem);
  top: 50%;
  transform: translateY(calc(-50% + 1px));
  width: 14px;
}
.breadcrumbs__list__item:last-of-type{
  margin: 0;
}
.breadcrumbs__list__item:last-of-type:after{
  display: none;
}
.breadcrumbs__list__item-link{
  display: inline-block;
  text-decoration: none;
}
.breadcrumbs__list__item__text{
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}

/* ---------------------------------------------------

	Error

--------------------------------------------------- */
.pageError{
  margin: 2rem 0;
}
.pageError__inner{}
.pageError__text{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  margin: 0;
  text-align: center;
}

/* ---------------------------------------------------

	Footer

--------------------------------------------------- */
.footer{
  background-color: rgba(255,255,255,1.00);
}
.footer__contact{
  margin: 0 0 3.125rem;
  padding: 2em 0 2.5em;
}
.footer__contact__inner{}
.footer__contact__title{
  margin: 0 0 1.5rem;
}
.footer__contact__title__text{
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.3em;
  margin: 0 0 0.2em;
}
.footer__contact__title__en{
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.footer__contact__button{}
.footer__contact__tel{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 1.5rem;
}
.footer__contact__tel__block{
  margin: 0 0 0.5em;
}
.footer__contact__tel__text{
  font-size: 1.8em;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
.footer__contact__tel__text:before{
  background-image: url("/src/images/common/icon/tel_white.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 30px;
  position: absolute;
  left: calc((30px + 0.2em) * -1);
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
}
.footer__contact__tel__hours{
  font-size: 1em;
  font-weight: 400;
  line-height: 1.75;
  margin: 0;
  text-align: center;
  width: 100%;
}
.footer__contact__button__block{
  margin: 0 auto;
  width: 300px;
}
.footer__contact__button-link{
  align-items: center;
  background-color: rgba(255,255,255,1.00);
  border: 1px rgba(255,255,255,1.00) solid;
  border-radius: 30px;
  box-sizing: border-box;
  color: rgba(41,41,41,1.00);
  display: flex;
  height: 60px;
  justify-content: center;  
  position: relative;
  text-decoration: none;
  width: 100%;
}
.footer__contact__button-link:after{
  right: 1.25rem;
}
.footer__contact__button__text{
  font-size: 1em;
  font-weight: 600;
  position: relative;
}
.footer__contact__button__text:before{
  background-image: url("/src/images/common/icon/mail_blue.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 17px;
  position: absolute;
  left: calc((25px + 0.5em) * -1);
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
}

.footer__banner{
  margin: 0 0 1.875rem;
}
.footer__banner__outer{}
.footer__banner__inner{  
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.footer__banner__col{
  margin: 0 0 1.875rem;
  width: 90%;
}
.footer__banner__col:last-of-type{
  margin: 0;
}
.footer__banner-link{
  border: 1px rgba(175,176,179,1.00) solid;
  background-color: rgba(255,255,255,1.00);
  display: block;
  text-decoration: none;
}
.footer__banner__note{
  padding: 1.5em 0;
  position: relative;
  text-align: center;
}
.footer__banner__note:after{}
.footer__banner__note__title{
  font-size: 1.0625em;
  font-weight: 600;
  margin: 0 0 0.5em;
}
.footer__banner__note__en{
  font-size: 1em;
}
.footer__banner__img{
  font-size: 0;
  text-align: center;
}

.footer__menu{
  margin: 0 0 2rem;
}
.footer__menu__inner{}
.footer__menu__list{
  list-style: none;
  margin: 0 0 2rem;  
  padding: 0;
}
.footer__menu__item{
  text-align: center;
  width: calc(100% / 2);
}
.footer__menu__item-link{
  align-items: center;
  border-bottom: 1px rgba(175,176,179,1.00) solid;
  border-right: 1px rgba(175,176,179,1.00) solid;
  display: flex;
  font-size: 1em;
  font-weight: 600;
  height: 50px;
  justify-content: center;
  line-height: 1.5;
  text-decoration: none;
}
.footer__menu__item:nth-of-type(2n) .footer__menu__item-link{
  border-right: none;
}
.footer__menu__item:nth-of-type(1) .footer__menu__item-link,
.footer__menu__item:nth-of-type(2) .footer__menu__item-link{
  border-top: 1px rgba(175,176,179,1.00) solid;
}
.footer__menu__privacy__list{
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__menu__privacy__item{}
.footer__menu__privacy__item-link{
  border-bottom: none;
  border-right: none;
  display: inline-block;
  font-weight: 500;
  height: auto;
  margin: 0 1em;
  position: relative;
  text-decoration: none;
}
.footer__menu__privacy__item-link:after{
  background-color: rgba(175,176,179,1.00);
  bottom: 0;
  content: "";
  display: inline-block;
  height: calc(1em + 5px);
  right: -1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  }
.footer__menu__privacy__item:last-of-type .footer__menu__privacy__item-link:after{
  display: none;
  }

.footer__information{
  background-color: rgba(242,242,242,1.00);
  padding: 2rem 0;
}
.footer__info__outer{}
.footer__info__inner{}
.footer__info__company{
  margin: 0 0 2rem;
  text-align: center;
  width: 100%;
}
.footer__info__company__logo{
  margin: 0 0 1em;
}
.footer__info__company__logo-link{
  display: block;
}
.footer__info__company__data{
  font-style: normal;
}
.footer__info__company__data__name{
  display: inline-block;
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
  margin: 0 0 0.5em;
}
.footer__info__company__data__note{
  font-weight: 500;
  line-height: 1.75;
  margin: 0;
}
.footer__info__company__data__note__tel{
  text-decoration: underline;
}
.footer__info__office{
  /*padding: 0 1.5rem; */ 
  width: 300px;
}
.footer__info__office__theme{
  display: inline-block;
  font-size: 1em;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1;
  margin: 0 0 1em;
}
.footer__info__office__list{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__info__office__item{  
  margin: 0 0 1em;
}
.footer__info__office__item:last-of-type{  
  margin: 0;
}
.footer__info__office__item-link{
  display: inline-block;
  font-size: 1em;
  font-weight: 500;
  padding: 0 0 0 1.5em;
  position: relative;
  text-decoration: none;
}
.footer__info__office__item-link:before{
  background-image: url(/src/images/common/icon/arrow_right_blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 15px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
}

.copyright{
  padding: 1rem 0;
}
.copyright__text{
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;  
}


/* ---------------------------------------------------

	error Page

--------------------------------------------------- */
.error__button__block{}
.error__button__inner{}
.error__button__item{}
.error__button__item-link{}
.error__button__item__text{}


/* ---------------------------------------------------

	cookie-consent

--------------------------------------------------- */
.cookieConsent {
  align-items: center;
  background-color: rgba(0,0,0,.7);
  bottom: 0;
  box-sizing: border-box;
  color: rgba(255,255,255,1.0);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0.9375em 0.9375em 1.875em;
  position: fixed;
  visibility: hidden;
  width: 100%;
  z-index: 500;
}
.cookieConsent.is-show {
  visibility: visible;
}
.cookieConsent__note{
  font-size: 1rem;
  line-height: 1.75;
}
.cookieConsent__note-link{
  color: rgba(255,255,255,1.0);
  text-decoration: underline;
}
.cookieConsent__button__group{
  align-items: center;
  display: flex;
}
.cookieConsent__button{
  align-items: center;
  background-color: rgba(0,62,146,1.00);
  border: 1px rgba(0,62,146,1.00) solid;
  box-sizing: border-box;
  color: rgba(255,255,255,1.0);
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  height: 50px;
  justify-content: center;
  line-height: 1;
  margin: 0 1em 0 0;
  padding: 0 0 3px;
  text-align: center;
  width: 9.375em;
}
.cookieConsent__button:nth-child(2n){
  margin: 0;
}
.cookieConsent-agree{}
.cookieConsent-reject{}
/* パッと消える */
.cc-hide1 {
  display: none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
      opacity: 1;
  }
  to {
      opacity: 0;
      visibility: hidden;
  }
}




/* ---------------------------------------------------

	MediaQuery

--------------------------------------------------- */
/* ------------------------------------

	Tablet-Mode

------------------------------------ */
@media screen and (min-width: 600px) {
/* ------------------------------------

	Material - media-display

------------------------------------ */
.pc_only{display: none;}
.tab_only{display: inline-block;}
.sp_only{display: none;}
.pc_tab{display: inline-block;}
.sp_tab{display: inline-block;}



/* ------------------------------------

	Material - pagetop

------------------------------------ */
#pageTopPoint{
  margin: -140px 0 0;
  padding: 140px 0 0;
}
.pageTop{
  /*bottom: calc(11rem + ((1vw - 0.375rem) * 41.4118));*/
  /*bottom: 13vw;*/
}
.pageTop__inner{}
.pageTop-link{
  height: 80px;
  width: 80px;
  }
.pageTop-link:before{
  border-left: 3px rgba(255,255,255,1) solid;
  border-top: 3px rgba(255,255,255,1) solid;
  height: 12px;
  width: 12px;
  }


/* ------------------------------------

	Material - Arrow

------------------------------------ */
.arrowPrevious,
.arrowNext-blue,
.arrowNext-white,
.arrowNext-circle-blueLine,
.arrowNext-circle-whiteBg,
.arrowNext-purple-circle-whiteBg,
.arrowNext-lightBlue-circle-whiteBg,
.arrowAnchor-purple-circle-whiteBg{}
.arrowPrevious-white:after,
.arrowNext-blue:after,
.arrowNext-white:after,
.arrowNext-circle-blueLine:after,
.arrowNext-circle-whiteBg:after,
.arrowNext-purple-circle-whiteBg:after,
.arrowNext-lightBlue-circle-whiteBg:after,
.arrowAnchor-WB:after,
.arrowAnchor-purple-circle-whiteBg:after{}

.arrowPrevious-white:after{
  left: 1.25rem;
}
.arrowNext-blue:after{
  right: 1.25rem;
  }
.arrowNext-white:after{
  right: 1.25rem;
  }

.arrowNext-circle-blueLine:after{
  background-size: 10px;
  height: 26px;
  right: 1.25rem;
  width: 26px;
  }
.arrowNext-circle-whiteBg:after{
  background-size: 10px;
  height: 26px;
  right: 1.25rem;
  width: 26px;
}
.arrowNext-purple-circle-whiteBg:after{
  background-size: 10px;
  height: 26px;
  right: 1.25rem;
  width: 26px;
}
.arrowNext-lightBlue-circle-whiteBg:after{
  background-size: 10px;
  height: 26px;
  right: 1.25rem;
  width: 26px;
}
.arrowAnchor-WB:after{
  right: 1.25rem;
  }
.arrowAnchor-purple-circle-whiteBg:after{
  background-size: 10px;
  height: 26px;
  right: 1.25rem;
  width: 26px;
}

/* ------------------------------------

	Material - ExternalLink

------------------------------------ */
.externalLink-white{}
.externalLink-white:after{
  height: 18px;
  right: 1rem;
  width: 18px;
  }

/* ------------------------------------

	Material - Button

------------------------------------ */
.cmnButton__block{}
.cmnButton__inner{}
/* scheme */
.cmnButton__inner.styleLeft{
  justify-content: flex-start;
}
.cmnButton__inner.styleRight{
  justify-content: flex-end;
}
/* scheme Fin */
.cmnButton__item{
  max-width: 310px;
  }
.cmnButton__item-link{
  border-radius: calc(60px / 2);
  height: 60px;
  }
/* scheme */
.cmnButton__item-link.bgNone{}
.cmnButton__item-link.bgwhite{}
/* scheme Fin */
.cmnButton__item-link:before{}
/* scheme */
.cmnButton__item-link.bgNone:before{}
.cmnButton__item-link.bgwhite:before{}
/* scheme Fin */
.cmnButton__item__text{
  font-size: 1.125rem;
  }



/* ------------------------------------

	Material - Anchor Point

------------------------------------ */
.cmnAnchor{}



/* ------------------------------------

	Material - Anchor Menu

------------------------------------ */
.anchorMenu{
  padding: 4rem 0 0;
  }
.anchorMenu__list{}
.anchorMenu__list__item{
  margin: 0 0.3rem;
  width: calc((100% - calc(0.3rem * 6)) / 3);
  }
.anchorMenu__list__item-link{
  border-radius: calc(60px / 2);
  height: 60px;
  }
.anchorMenu__list__item-link:after{
  height: 18px;
  right: 0.75rem;
  width: 18px;
  }
.anchorMenu__list__item__text{}


/* ------------------------------------

	Material - ProductSlider

------------------------------------ */
.products__slider{}
.products__slider__list{}
.products__slider__list__item{}
.products__slider__list__item-link{
  padding: 1.25rem 1rem;
  }
.products__slider__list__item__figure{}
.products__slider__list__item__figure__image{}
.products__slider__list__item__note{}
.products__slider__list__item__note__name{}
.products__slider__controller{
  padding: 2rem 0 0;
  }
.products__slider__controller__outer{}
.products__slider__controller__inner{}
.products__slider__controller__button__block{}

/* swiper Custmize */
.products__slider .swiper-wrapper{}
.products__slider .swiper-scrollbar{
  height: 4px;
  }
.products__slider .swiper-scrollbar-drag{
  border-radius: calc(6px / 2);
  height: 6px;
  margin: -1px 0 0;
  }
.products__slider .swiper-button-prev,
.products__slider .swiper-button-next{
  background-size: 17px;
  }
.products__slider .swiper-button-prev{}
.products__slider .swiper-button-next{}
/* swiper Custmize Fin */



/* ------------------------------------

	Modifier

------------------------------------ */
/* contents-width */
.contents-small{}
.contents-normal{}
.contents-large{}
/* note */
.note-lineHeight{
  line-height: 2;
}
/* bg corporateCircle */
.bg-corporateCircle{}
.bg-corporateCircle:before{
  height: calc(66rem + ((1vw - 6.01px) * 176.5957));/*1056px~1803px*/
  }


/* ------------------------------------

	Header

------------------------------------ */
.header{}
.header__inner{}
.header__menu__wrap{}
.header__logoGroup{}
.header__logo{
  padding: 0 0 0 1rem;
  }
.header__logo-link{}
.header__logo__img{
  width: auto;
  }
.header__logo__lead{}
.header__logo__lead__text{}

/* ------------------------------------

	Header > SP Toggle

------------------------------------ */
.headerToggle{
  padding: 0 1rem 0 0;
  width: 2.5rem;
  }
.headerToggle__inner{}
.headerToggle__box{}
.headerToggle__line{}

.header__menu__group{}
.header__menu{}
.header__menu__item{
  margin: 0 0.5rem 1rem;
  width: calc((100% - calc(0.5rem * 4)) / 2);
  }
.header__menu__item-link{}
.header__menu__item-link:after{}
/* scheme */
.header__menu__item.style-contact .header__menu__item-link{}
.header__menu__item.style-contact .header__menu__item-link:before{}
.header__menu__item.style-contact .header__menu__item-link:after{}
/* scheme Fin */
.header__menu__item__fig__inner{}
.header__menu__item__fig{}
.header__menu__item__text{}
/* scheme */
.header__menu__item.style-contact .header__menu__item__text{}
/* scheme Fin */

.header__contact{}
.header__contact-link{}
.header__contact__inner{}
.header__contact__fig{}
.header__contact__text{}

/* ------------------------------------

	PageContents

------------------------------------ */
.pageWrap{}
.pageContents{
  padding: 60px 0 5rem;
  }


/* cmnSection */
.cmnSection{}
.cmnSectionHead{}
.cmnSectionHead__subTitle{}
.cmnSectionHead__title{}
.cmnSectionHead__title__text{}
.cmnSectionHead__title__text__word{
  font-size: 2.5rem;
  letter-spacing: 6px;
  }
.cmnSectionHead__title_note{}
.cmnSectionBody{}
/* scheme */
.page_products_detail .cmnSectionBody{}
/* scheme Fin */
.cmnSectionBody__inner{}


/* ulmainvisual */
.ulmainvisual{
  height: 300px;
  }
.ulmainvisual__title{}
.ulmainvisual__title__outer{}
.ulmainvisual__title__inner{}
.ulmainvisual__title__text{
  font-size: 3rem;
  letter-spacing: 4px;
  }
.ulmainvisual__title__subText{
  padding: 1.5em 0 0;
  }
.ulmainvisual__bg{
  background: transparent linear-gradient(117deg, #82EBFF 0%, #001EA0 100%) 0% 0% no-repeat padding-box;  
  }
.ulmainvisual__bg:before,
.ulmainvisual__bg:after{}
.ulmainvisual__bg:before{}
/* scheme */
.page_contact .ulmainvisual__bg:before{}
.page_business .ulmainvisual__bg:before{}
.page_about .ulmainvisual__bg:before{}
.page_products .ulmainvisual__bg:before{}
.page_recruit .ulmainvisual__bg:before{}
.page_news .ulmainvisual__bg:before{}
.page_privacy .ulmainvisual__bg:before{}
.page_sitemap .ulmainvisual__bg:before{}
.page_error .ulmainvisual__bg:before{}
/* scheme Fin */
.ulmainvisual__bg:after{
  max-width: 505px;
  }

/* breadcrumbs */
.breadcrumbs{
  padding: 1.875rem 0 0;
  }
.breadcrumbs__inner{}
.breadcrumbs__list{}
.breadcrumbs__list__item{}
.breadcrumbs__list__item-link{}
.breadcrumbs__list__item__text{}


/* ------------------------------------

	Error

------------------------------------ */
.pageError{
  margin: 3rem 0;
  }
.pageError__inner{}
.pageError__text{
  font-size: 1.25rem;
  }

/* ------------------------------------

	Footer

------------------------------------ */
.footer{}
.footer__contact{
  margin: 0 0 4.375rem;
  padding: 3.75em 0 4.375em;
  }
.footer__contact__inner{}
.footer__contact__title{
  margin: 0 0 2.1875rem;
  }
.footer__contact__title__text{
  font-size: 2.25em;
  letter-spacing: 10.8px;
  margin: 0 0 0.3em;
  }
.footer__contact__title__en{
  font-size: 1.0625em;
  letter-spacing: 5.1px;
  }
.footer__contact__button{}
.footer__contact__tel{
  align-items: center;
  margin: 0 0 2.1875rem;  
  padding: 0 0 0 2.1875rem;
  }
.footer__contact__tel__block{
  margin: 0 1em 0 0;
  width: 250px;
  }
.footer__contact__tel__text{
  font-size: 2em;
  }
.footer__contact__tel__text:before{
  height: 34px;
  left: calc((34px + 0.2em) * -1);
  width: 34px;
  }
.footer__contact__tel__hours{
  text-align: left;
  width: calc((100% - 1em) - 250px);
  }
.footer__contact__button__block{
  width: auto;
  }
.footer__contact__button-link{
  border-radius: 40px;
  height: 80px;
  width: 400px;
  }
.footer__contact__button-link:after{
  right: 1.8rem;
  }
.footer__contact__button__text{
  font-size: 1.25em;
  }
.footer__contact__button__text:before{
  height: 20px;
  left: calc((30px + 0.5em) * -1);
  width: 30px;
  }

.footer__banner{
  margin: 0 0 3.125rem;
  }
.footer__banner__outer{}
.footer__banner__inner{}
.footer__banner__col{
  margin: 0 2.5rem 0 0;
  width: calc((100% - 2.5rem) / 2);
  }
.footer__banner__col:nth-of-type(2n){
  margin: 0;
  }
.footer__banner-link{}
.footer__banner__note{
  padding: 2.2em 0;
  }
.footer__banner__note:after{}
.footer__banner__note__title{
  font-size: 1em;
  }
.footer__banner__note__en{}
.footer__banner__img{}

.footer__menu{
  margin: 0 0 3.5rem;
  }
.footer__menu__inner{}
.footer__menu__list{
  margin: 0 0 2em;
  }
.footer__menu__item{
  width: auto;
  }
.footer__menu__item-link{
  border-bottom: none;
  border-right: none;
  display: inline-block;
  font-size: 1.125em;
  height: auto;
  margin: 0 0.5em;
  }
.footer__menu__item:nth-of-type(1) .footer__menu__item-link,
.footer__menu__item:nth-of-type(2) .footer__menu__item-link{
  border-top: none;
}
.footer__menu__privacy__list{}
.footer__menu__privacy__item{}
.footer__menu__privacy__item-link{}

.footer__information{
  padding: 2.75rem 0 3rem;
  }
.footer__info__outer{}
.footer__info__inner{}
.footer__info__company{
  padding: 0 1rem 0 0;
  text-align: left;
  width: auto;
  }
.footer__info__company__logo{
  margin: 0 0 1.125em;
  }
.footer__info__company__logo-link{}
.footer__info__company__data{
  padding: 0 0 0 3.5rem;
  }
.footer__info__company__data__name{
  margin: 0 0 1em;
  }
.footer__info__company__data__note{}
.footer__info__company__data__note__tel{
  text-decoration: none;
  }
.footer__info__office{
  border-left: 1px rgba(175,176,179,1.00) solid;
  padding: 0 0 0 1rem;
  width: auto;
  }
.footer__info__office__theme{
  letter-spacing: 4.8px;
  margin: 0 0 1.5em;
  }
.footer__info__office__list{
  display: block;
  }
.footer__info__office__item{}
.footer__info__office__item-link{
  padding: 0 1.5em;
  }
.footer__info__office__item-link:before{}

.copyright{
  padding: 2rem 0;
  }
.copyright__text{}


/* ------------------------------------

	error Page

------------------------------------ */
.error__button__block{}
.error__button__inner{}
.error__button__item{}
.error__button__item-link{}
.error__button__item__text{}


/* ------------------------------------

	cookie-consent

------------------------------------ */
.cookieConsent {}
.cookieConsent__note{}
.cookieConsent__note-link{}
.cookieConsent__button__group{}
.cookieConsent__button{}
.cookieConsent-agree{}
.cookieConsent-reject{}
}/* /min-width: 600px */



/* ------------------------------------

	PC-Mode

------------------------------------ */
@media screen and (min-width: 1025px) {
/* ------------------------------------

	Material - media-display

------------------------------------ */
.pc_only{display: inline-block;}
.tab_only{display: none;}
.sp_only{display: none;}
.pc_tab{display: inline-block;}
.sp_tab{display: none;}



/* ------------------------------------

	Material - pagetop

------------------------------------ */
#pageTopPoint{
  margin: -140px 0 0;
  padding: 140px 0 0;
}
.pageTop{
  /*bottom: 22rem;*/
  right: 45px;
}
.pageTop__inner{}
.pageTop-link{
  transition: all 0.3s;
  }
.pageTop-link:hover{
  background-color: rgba(255,255,255, 1);
  border: 1px rgba(40,58,145,1.00) solid;
  }
.pageTop-link:before{
  transition: all 0.3s;
  }
.pageTop-link:hover:before{
  border-left: 3px rgba(40,58,145,1.00) solid;
  border-top: 3px rgba(40,58,145,1.00) solid;
  }


/* ------------------------------------

	Material - Arrow

------------------------------------ */
.arrowPrevious,
.arrowNext-blue,
.arrowNext-white,
.arrowNext-circle-blueLine,
.arrowNext-circle-whiteBg,
.arrowNext-purple-circle-whiteBg,
.arrowNext-lightBlue-circle-whiteBg,
.arrowAnchor-purple-circle-whiteBg{}
.arrowPrevious-white:after,
.arrowNext-blue:after,
.arrowNext-white:after,
.arrowNext-circle-blueLine:after,
.arrowNext-circle-whiteBg:after,
.arrowNext-purple-circle-whiteBg:after,
.arrowNext-lightBlue-circle-whiteBg:after,
.arrowAnchor-WB:after,
.arrowAnchor-purple-circle-whiteBg:after{
  transition: all 0.3s
  }

.arrowPrevious-white:after{}
.arrowPrevious-white:hover:after{
  background-image: url("/src/images/common/icon/arrow_left_blue.svg");
  left: 0.8rem;
  }
.arrowNext-blue:after{}
.arrowNext-blue:hover:after{
  background-image: url("/src/images/common/icon/arrow_right_white.svg");
  right: 0.8rem;
  }
.arrowNext-white:after{}
.arrowNext-white:hover:after{
  background-image: url("/src/images/common/icon/arrow_right_blue.svg");
  right: 0.8rem;
  }

.arrowNext-circle-blueLine:after{}
.arrowNext-circle-whiteBg:after{}
.arrowNext-purple-circle-whiteBg:after{}
.arrowNext-lightBlue-circle-whiteBg:after{}
.arrowAnchor-WB:after{}
.arrowAnchor-WB:hover:after{
  background-image: url(/src/images/common/icon/arrow_bottom_blue.svg);
  }
.arrowAnchor-purple-circle-whiteBg:after{}

/* ------------------------------------

	Material - ExternalLink

------------------------------------ */
.externalLink-white{}
.externalLink-white:after{
  height: 20px;
  right: 1.25rem;
  transition: all 0.3s;
  width: 20px;
  }
.externalLink-white:hover:after{
  background-image: url("/src/images/common/icon/externallink_blue.svg");
  }

/* ------------------------------------

	Material - Button

------------------------------------ */
.cmnButton__block{
  padding: 3.75rem 0 0;
  }
.cmnButton__inner{}
.cmnButton__item{}
.cmnButton__item-link{}
.cmnButton__item-link:hover{
  border: 1px rgba(40,58,145,1.00) solid;
  color: rgba(40,58,145,1.00);
  }
/* scheme */
.cmnButton__item-link.bgNone{}
.cmnButton__item-link.bgNone:hover{
  background-color: rgba(255,255,255,1.00);
  border: 1px rgba(255,255,255,1.00) solid;
  color: rgba(40,58,145,1.00);
  }
.cmnButton__item-link.bgwhite{}
.cmnButton__item-link.bgwhite:hover{
  background-color: rgba(40,58,145,1.00);
  color: rgba(255,255,255,1.00);
  }
/* scheme Fin */
.cmnButton__item-link:before{
  transition: all 0.3s;
  }
.cmnButton__item-link:hover:before{
  opacity: 0;
}
/* scheme */
.cmnButton__item-link.bgNone:before{}
.cmnButton__item-link.bgwhite:before{}
/* scheme Fin */
.cmnButton__item__text{}



/* ------------------------------------

	Material - Anchor Point

------------------------------------ */
.cmnAnchor{
  margin: -90px 0 0;
  padding: 90px 0 0;
  }



/* ------------------------------------

	Material - Anchor Menu

------------------------------------ */
.anchorMenu{
  margin: 0 0 6.25rem;
  padding: 7.25rem 0 0;
  }
.anchorMenu__list{}
.anchorMenu__list__item{
  margin: 0 0.9rem;
  max-width: 310px;
  }
.anchorMenu__list__item-link{}
.anchorMenu__list__item-link:hover{
  background-color: rgba(40,58,145,1.00);
  color: rgba(255,255,255,1.00);
  }
.anchorMenu__list__item-link:after{
  height: 20px;
  right: 1.25rem;
  transition: all 0.3s;
  width: 20px;
  }
.anchorMenu__list__item-link:hover:after{
  background-image: url("/src/images/common/icon/arrow_bottom_white.svg");
  transform: translateY(calc(-50% + 0.45rem));
  }
.anchorMenu__list__item__text{
  font-size: 1.125rem;
  }


/* ------------------------------------

	Material - ProductSlider

------------------------------------ */
.products__slider{
  padding: 3.75rem 0 0;
  }
.products__slider__list{}
.products__slider__list__item{}
.products__slider__list__item-link{
  padding: 1.875rem 1rem;
  }
.products__slider__list__item-link:hover{
  background-color: rgba(40, 58, 145, 0.1);
  }
.products__slider__list__item__figure{
  margin: 0 0 1.875rem;
  padding: 0 0 1.875rem;
  }
.products__slider__list__item__figure__image{
  height: 150px;
  transition: all 0.3s;
  max-width: 150px;
  }
.products__slider__list__item-link:hover .products__slider__list__item__figure__image{
  transform: scale(1.1);
  }
.products__slider__list__item__note{}
.products__slider__list__item__note__name{}
.products__slider__controller{
  padding: 2.1875rem 0 0;
  }
.products__slider__controller__outer{}
.products__slider__controller__inner{}
.products__slider__controller__button__block{
  gap: 10px;
  }

/* swiper Custmize */
.products__slider .swiper-wrapper{}
.products__slider .swiper-scrollbar{}
.products__slider .swiper-scrollbar-drag{}
.products__slider .swiper-button-prev,
.products__slider .swiper-button-next{
  transition: all 0.3s;
  }
.products__slider .swiper-button-prev:hover,
.products__slider .swiper-button-next:hover{
  background-color: rgba(40,58,145,1.00);
  }
.products__slider .swiper-button-prev{}
.products__slider .swiper-button-prev:hover{
  background-image: url("/src/images/common/icon/arrow_left_white.svg");
  }
.products__slider .swiper-button-next{}
.products__slider .swiper-button-next:hover{
  background-image: url("/src/images/common/icon/arrow_right_white.svg");
  }
/* swiper Custmize Fin */


/* ------------------------------------

	Modifier

------------------------------------ */
/* contents-width */
.contents-small{
  padding: 0;
  max-width: 800px;
}
.contents-normal{
  padding: 0;
  max-width: 1000px;
  }
.contents-large{}
/* bg corporateCircle */
.bg-corporateCircle{}
.bg-corporateCircle:before{
  height: calc(112.6875rem + ((1vw - 10.25px) * 183.5294));/*1803px~2427px*/
  }


/* ------------------------------------

	Header

------------------------------------ */
.header{
  background-color: transparent;
  height: 80px;
  }
.scrollpassive .header{
  box-shadow: none;
  }
.scrollactive .header{
  box-shadow: none;
  }
.header__inner{
  display: flex;
  justify-content: space-between;
  height: 100%;
  padding: 0;
  }
.header__menu__wrap{
  background-color: rgba(255,255,255,1.00);
  }
.scrollpassive .header__menu__wrap{
  box-shadow: none;
  }
.scrollactive .header__menu__wrap{
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  }
.header__logoGroup{}
.header__logo{
  padding: 0 0 0 calc(1rem + ((1vw - 0.64rem) * 1.5625));/*1rem ~ 1.875rem*/
  }
.header__logo-link{
  transition: all 0.3s;
  }
.header__logo-link:hover{
  opacity: 0.8;
  }
.header__logo__img{
  margin: 0 1.25rem 0 0;
  }
.header__logo__lead{
  padding: 0 0 4px;
  }
.header__logo__lead__text{}

/* ------------------------------------

	Header > SP Toggle

------------------------------------ */
.headerToggle{
  display: none;
  }
.headerToggle__inner{}
.headerToggle__box{}
.headerToggle__line{}

.header__menu__group{
  height: 100%;
  opacity: 1;
  position: relative;
  padding: 0;
  visibility: visible;
  width: calc(100% - 300px);
  }
.header__menu{
  height: 100%;
  justify-content: flex-end;
  }
.header__menu__item{
  height: 100%;
  margin: 0;
  width: auto;
  }
.header__menu__item-link{
  background-color: transparent;
  border: none;
  border-radius: 0;
  height: 100%;
  padding: 0 calc(1.875rem / 2);
  transition: all 0.3s;
  }
.header__menu__item-link:hover{
  background-color: rgba(40,58,145,0.8);
  color: rgba(255,255,255,1.00);
  }
.header__menu__item-link:after{
  display: none;
  }
/* scheme */
.header__menu__item.style-contact .header__menu__item-link{
  color: rgba(41,41,41,1.00);
  }
.header__menu__item.style-contact .header__menu__item-link:hover{
  color: rgba(255,255,255,1.00);
  }
.header__menu__item.style-contact .header__menu__item-link:before{
  background: none;
  }
.header__menu__item.style-contact .header__menu__item-link:after{
  display: none;
  }
/* scheme Fin */
.header__menu__item__fig__inner{}
.header__menu__item__fig{}
.header__menu__item__text{}
/* scheme */
.header__menu__item.style-contact .header__menu__item__text{}
/* scheme Fin */

.header__contact{
  height: 100%;
  opacity: 1;
  position: relative;
  visibility: visible;
  width: 75px;
  }
.header__contact-link{
  border-radius: 0;
  height: 100%;
  margin: 0;
  transition: all 0.3s;
  width: auto;
  }
.header__contact-link:hover{
  background: rgba(255,255,255,1.00);
  border: 1px rgba(40,58,145,1.00) solid;
  /*color: rgba(40,58,145,1.00);*/
  }
.header__contact__inner{
  flex-wrap: wrap;
  justify-content: center;
  }
.header__contact__fig{
  height: 25px;
  margin: 0;  
  width: 36px;
  /*margin: 0 0 0.5rem;*/
  }
.header__contact-link:hover .header__contact__fig{
  background-image: url("/src/image/common/icon/mail_blue.svg");
  }
.header__contact__text{
  display: none;
  }
/* ------------------------------------

	PageContents

------------------------------------ */
.pageWrap{}
.pageContents{
  padding: 80px 0 5rem;
  }


/* cmnSection */
.cmnSection{}
.cmnSectionHead{}
.cmnSectionHead__subTitle{
  margin: 0 auto 0.5em;
  padding: 0;
  max-width: 1000px;
  }
.cmnSectionHead__title{}
.cmnSectionHead__title__text{}
.cmnSectionHead__title__text__word{
  font-size: 3.125rem;
  letter-spacing: 10px;
  }
.cmnSectionHead__title_note{
  font-size: 1.125rem;
  margin: 3em 0 0;
  }
.cmnSectionBody{}
/* scheme */
.page_products_detail .cmnSectionBody{}
/* scheme Fin */
.cmnSectionBody__inner{}


/* ulmainvisual */
.ulmainvisual{}
.ulmainvisual__title{}
.ulmainvisual__title__outer{}
.ulmainvisual__title__inner{}
.ulmainvisual__title__text{}
.ulmainvisual__title__subText{}
.ulmainvisual__bg{}
.ulmainvisual__bg:before,
.ulmainvisual__bg:after{}
.ulmainvisual__bg:before{}
.ulmainvisual__bg:after{}

/* breadcrumbs */
.breadcrumbs{}
.breadcrumbs__inner{}
.breadcrumbs__list{}
.breadcrumbs__list__item{}
.breadcrumbs__list__item-link{
  position: relative;
  }
.breadcrumbs__list__item-link:hover{
  color: rgba(40,58,145,1.00);
  }
.breadcrumbs__list__item-link:before{
  background-color: rgba(0, 40, 120, 1.00);
  bottom: -5px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: all 0.3s;
  width: 100%;
  }
.breadcrumbs__list__item-link:hover:before{
  transform: scale(1, 1);
  }
.breadcrumbs__list__item__text{}
  
/* ------------------------------------

	Error

------------------------------------ */
.pageError{}
.pageError__inner{}
.pageError__text{}

/* ------------------------------------

	Footer

------------------------------------ */
.footer{}
.footer__contact{}
.footer__contact__inner{}
.footer__contact__title{}
.footer__contact__title__text{}
.footer__contact__title__en{}
.footer__contact__button{}
.footer__contact__tel{
  margin: 0 1.875rem 0 0;
  padding: 0 0 0 1.875rem;
  }
.footer__contact__tel__block{}
.footer__contact__tel__text{}
.footer__contact__tel__text:before{}
.footer__contact__tel__hours{}
.footer__contact__button__block{}
.footer__contact__button-link{
  transition: all 0.3s;
  width: 450px;
  }
.footer__contact__button-link:hover{
  background-color: rgba(40,58,145,1.00);
  color: rgba(255,255,255,1.00);
  }
.footer__contact__button-link:after{}
.footer__contact__button__text{}
.footer__contact__button__text:before{
  transition: all 0.3s;
  }
.footer__contact__button-link:hover .footer__contact__button__text:before{
  background-image: url("/src/images/common/icon/mail_white.svg");
}

.footer__banner{}
.footer__banner__outer{}
.footer__banner__inner{}
.footer__banner__col{}
.footer__banner-link{
  overflow: hidden;
  transition: all 0.3s;
  }
.footer__banner-link:hover{
  background-color: rgba(40,58,145,1.00);
  color: rgba(255,255,255,1.00);
  }
.footer__banner__note{}
.footer__banner__note:after{}
.footer__banner-link:hover .footer__banner__note:after{
  background-image: url("/src/images/common/icon/arrow_right_white.svg");
  border: 1px rgba(255,255,255,1.00) solid;
  }
.footer__banner__note__title{
  font-size: 1.375em;
  }
.footer__banner__note__en{}
.footer__banner__img{
  transition: all 0.3s;
  }
.footer__banner-link:hover .footer__banner__img{
  opacity: 0.8;
  }

.footer__menu{}
.footer__menu__inner{}
.footer__menu__list{}
.footer__menu__item{}
.footer__menu__item-link{
  margin: 0 2em;
  position: relative;
  }
.footer__menu__item-link:before{
  background-color: rgba(40,58,145,1.00);
  bottom: -0.4em;
  content: "";
  display: inline-block;
  height: 2px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  transition: all 0.3s;
  width: 0;
  }
.footer__menu__item-link:hover:before{
  width: 120%;
  }
.footer__menu__privacy__list{}
.footer__menu__privacy__item{}
.footer__menu__privacy__item-link{
  margin: 0 2em;  
  }
.footer__menu__privacy__item-link:before{
  background-color: rgba(40,58,145,1.00);
  bottom: -0.4em;
  content: "";
  display: inline-block;
  height: 2px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  transition: all 0.3s;
  width: 0;
  }
.footer__menu__privacy__item-link:hover:before{
  width: 110%;
  }
.footer__menu__privacy__item-link:after{
  right: -2rem;
  }

.footer__information{}
.footer__info__outer{}
.footer__info__inner{
  justify-content: flex-start;
  }
.footer__info__company{
  margin: 0;
  padding: 0;
  width: 620px;
  }
.footer__info__company__logo{}
.footer__info__company__logo-link{}
.footer__info__company__data{}
.footer__info__company__data__name{}
.footer__info__company__data__note{}
.footer__info__company__data__note__tel{}
.footer__info__office{  
  padding: 0 0 0 3.75rem;
  }
.footer__info__office__theme{}
.footer__info__office__list{}
.footer__info__office__item{}
.footer__info__office__item-link{}
.footer__info__office__item-link:before{}

.copyright{}
.copyright__text{}


/* ------------------------------------

	error Page

------------------------------------ */
.error__button__block{}
.error__button__inner{}
.error__button__item{}
.error__button__item-link{}
.error__button__item__text{}


/* ------------------------------------

	cookie-consent

------------------------------------ */
.cookieConsent {
  padding: 0.9375em;
  }
.cookieConsent__note{}
.cookieConsent__note-link{}
.cookieConsent__button__group{
  margin: 0 0 0 1rem;
  }
.cookieConsent__button{
  transition: all 0.3s;
  }
.cookieConsent__button:hover{
  background-color: rgba(255,255,255,1.00);
  color: rgba(0,62,146,1.00);
  cursor: pointer;
  }
.cookieConsent-agree{}
.cookieConsent-reject{}
}/* /min-width: 1025px */



/* ------------------------------------

	PC-Mode > Irregular

------------------------------------ */
@media screen and (min-width: 1366px) {
/* ------------------------------------

	Material - ProductSlider

------------------------------------ */
.products__slider{}
.products__slider__list{
  max-width: 1366px;
  }
.products__slider__list__item{}
.products__slider__list__item-link{}
.products__slider__list__item__figure{}
.products__slider__list__item__figure__image{}
.products__slider__list__item__note{
  min-height: 3em;
  }
.products__slider__list__item__note__name{}
.products__slider__controller{}
.products__slider__controller__outer{}
.products__slider__controller__inner{}
.products__slider__controller__button__block{}

/* swiper Custmize */
.products__slider .swiper-wrapper{}
.products__slider .swiper-scrollbar{
  height: 2px;
  width: calc(100% - 200px);
  }
.products__slider .swiper-scrollbar-drag{
  border-radius: calc(4px / 2);
  height: 4px;
  margin: -1px 0 0;
  }
.products__slider .swiper-button-prev,
.products__slider .swiper-button-next{}
.products__slider .swiper-button-prev{}
.products__slider .swiper-button-next{}
/* swiper Custmize Fin */

/* ------------------------------------

	Modifier

------------------------------------ */
/* contents-width */
.contents-small{}
.contents-normal{}
.contents-large{
  padding: 0;
  max-width: 1366px;
  }
/* bg corporateCircle */
.bg-corporateCircle{}
.bg-corporateCircle:before{
  height: calc(151.6875rem + ((1vw - 13.66px) * 177.4368));/*2427px~3410px*/
  top: -5rem;
  }

/* ------------------------------------

	Header

------------------------------------ */
.header{}
.scrollpassive .header{}
.scrollactive .header{}
.header__inner{}
.header__menu__wrap{}
.scrollpassive .header__menu__wrap{}
.scrollactive .header__menu__wrap{}
.header__logoGroup{}
.header__logo{
  padding: 0 0 0 2.5rem;
  }
.header__logo-link{}
.header__logo__img{}
.header__logo__lead{}
.header__logo__lead__text{}

/* ------------------------------------

	Header > SP Toggle

------------------------------------ */
.headerToggle{}
.headerToggle__inner{}
.headerToggle__box{}
.headerToggle__line{}

.header__menu__group{}
.header__menu{}
.header__menu__item{}
.header__menu__item-link{
  padding: 0 calc(2.5rem / 2);
  }
.header__menu__item-link:after{}
/* scheme */
.header__menu__item.style-contact .header__menu__item-link{}
.header__menu__item.style-contact .header__menu__item-link:before{}
.header__menu__item.style-contact .header__menu__item-link:after{}
/* scheme Fin */
.header__menu__item__fig__inner{}
.header__menu__item__fig{}
.header__menu__item__text{}
/* scheme */
.header__menu__item.style-contact .header__menu__item__text{}
/* scheme Fin */

.header__contact{}
.header__contact-link{}
.header__contact__inner{}
.header__contact__fig{}
.header__contact__text{}


/* ------------------------------------

	PageContents

------------------------------------ */
.pageWrap{}
.pageContents{
  padding: 80px 0 7.375rem;
  }


/* cmnSection */
.cmnSection{}
.cmnSectionHead{}
.cmnSectionHead__subTitle{
  height: max-content;
  left: calc(6.25rem + ((1vw - 13.66px) * 45.1264));/* 100px ~ 350px */
  margin: 0;
  padding: 0;
  position: absolute;
  top: 5px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  max-width: inherit;
  }
.cmnSectionHead__title{}
.cmnSectionHead__title__text{}
.cmnSectionHead__title__text__word{}
.cmnSectionHead__title_note{}
.cmnSectionBody{
  padding: 3.75rem 0 0;
  }
/* scheme */
.page_products_detail .cmnSectionBody{
  padding: 0;
  }
/* scheme Fin */
.cmnSectionBody__inner{}


/* ulmainvisual */
.ulmainvisual{
  height: 400px;/*400px~560px*/
  }
.ulmainvisual__title{}
.ulmainvisual__title__outer{
  margin: 0 auto;
  padding: 0;
  max-width: 1166px;/*1166px~1632px*/
  }
.ulmainvisual__title__inner{}
.ulmainvisual__title__text{
  font-size: 3.75rem;/*3.75rem~5.25rem*/
  letter-spacing: 6px;/*6px~8.4px*/
  }
.ulmainvisual__title__subText{
  font-size: 1rem;/*1rem~1.4rem*/
  letter-spacing: 3.2px;/*3.2px~4.48px*/
  }
.ulmainvisual__bg{}
.ulmainvisual__bg:before,
.ulmainvisual__bg:after{}
.ulmainvisual__bg:before{}
.ulmainvisual__bg:after{
  max-width: 680px;/*680px~952px*/
  }

}/* /min-width: 1366px */