@charset "UTF-8";
/* ----------------------------------------------------------------------
サブページ共通
---------------------------------------------------------------------- */
body.page .deco_top_left,body.page .deco_top_right{
	width:54rem; 
	height:auto;
	position: absolute;
  z-index: -1;
}
body.page .deco_top_left{
    left: 30rem;
	top:12rem;
}
body.page .deco_top_right{
    right:30rem;
	top:12rem;
}
.content{width:80%; max-width:1200px; margin:0 auto;}
.h1_wrapper,.h2_wrapper{text-align:center; padding-bottom:4rem;}
.h1_wrapper h1,.h2_wrapper h2{font-size:3.2rem; color:#023e73; font-weight:700;}
.h1_wrapper .h1_sub,.h2_wrapper .h2_sub{
  font-size:1.6rem;
  color:#5cb9f2;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: normal;}
.flex_wrapper {display:flex; gap: 4rem; align-items: center;}
.flex_wrapper .flex_left {width: 50%; flex-shrink: 0;}
.flex_wrapper .flex_right h4{font-size:2.4rem; color:#023e73; font-weight:700; margin-bottom:2rem;}
.bg_white{background-color:none; padding:12rem 0;}
.bg_blue{background-color:#f0f5ff; padding:12rem 0;}
.link_btn {margin-inline: auto; margin-top: 4rem; width: fit-content;}
.link_btn a{
    display: block;
    width:280px;
    padding: 15px 30px 15px 10px;
    text-align: center;
    color: #fff;
    font-weight: 700;
	  letter-spacing:0.1em;
    background-color: #023e73;
    border: 1px solid #023e73;
    border-radius: 10px;
    position: relative;
    font-size: 1.8rem;
}

.link_btn a::after {
    content: "";
    width: 8px;
    height: 15px;
    background-image: url(../images/arrow_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    right: 30px;
    translate: 0 -50%;
}
.link_btn a:hover {
    background-color: #fff;
    color: #023e73;
}

.link_btn a:hover::after {
    background-image: url(../images/arrow_blue.svg);
}

@media screen and (max-width: 1600px) {
    body.page .deco_top_left{ left: 15rem; top:15rem;}
    body.page .deco_top_right{ right:15rem; top:15rem;}
}

@media screen and (max-width: 1366px) {
	.bg_white,.bg_blue{ padding:10rem 0;}
	body.page .deco_top_left,body.page .deco_top_right{	width:35rem; }
}

@media screen and (max-width: 1024px) {
  .content{width:85%; }
  .bg_white,.bg_blue{ padding:8rem 0;}
	.flex_wrapper {gap: 3rem; align-items:start;}
  .flex_wrapper .flex_left {width: 40%; }
	body.page .deco_top_left,body.page .deco_top_right{	width:30rem; top:12rem;}
	body.page .deco_top_left{ left: 10rem;}
  body.page .deco_top_right{ right:10rem;}
}

@media screen and (max-width: 820px) {
  .h1_wrapper,.h2_wrapper {padding-bottom:3rem;}
  .h1_wrapper h1,.h2_wrapper h2{font-size:2.8rem;}
  .h1_wrapper .h1_sub,.h2_wrapper .h2_sub{font-size:1.4rem;}
	.flex_wrapper {display:block; }
	.flex_wrapper .flex_left {width: 100%; text-align: center;}
	.flex_wrapper .flex_right {margin:3rem auto 0px; max-width:580px; }
	.flex_wrapper .flex_right h4{font-size:2rem; margin-bottom:1.5rem;}
	body.page .deco_top_left,body.page .deco_top_right{	width:25rem; }
	body.page .deco_top_left{ left: 5rem;}
  body.page .deco_top_right{ right:5rem;}
}



@media screen and (max-width: 520px) {
  .content{width:90%; }
	.bg_white,.bg_blue{ padding:6rem 0;}
	.link_btn a {
    padding: 10px 30px 10px 10px;
    font-size: 1.6rem;
  }
	.h1_wrapper,.h2_wrapper {padding-bottom:2rem;}
  .h1_wrapper h1,.h2_wrapper h2{font-size:2.4rem;}
	body.page .deco_top_left,body.page .deco_top_right{	width:20rem; top:10rem;}
	body.page .deco_top_left{ left: 0rem;}
  body.page .deco_top_right{ right:0rem;}
}

@media screen and (max-width: 390px) {
	body.page .deco_top_left,body.page .deco_top_right{	width:18rem; }
}


/* ----------------------------------------------------------------------
事業紹介
---------------------------------------------------------------------- */
#service .slider_wrap{display:none;}
#service .service_text{font-size:2rem; text-align:center;}
#service .flex_img{margin-top:4rem; display:flex; gap:3rem;}
#service .bg_blue{position: relative; padding-bottom:21rem;}
#service .company_info .deco_right2{
	width:28rem;
	height:auto;
	position: absolute;
	z-index: 1;
	top:-3rem;
  right: 28rem;
}

#service .bg_blue .deco_bottom{
	position:absolute;
	width:130rem;
	height:auto;
	bottom:-10rem;
	right: 0;
    left: 0;
    margin: 0 auto;
}

@media screen and (max-width:1600px) {
	#service .company_info .deco_right2{width:20rem; right: 13rem; } 
	#service .bg_blue .deco_bottom {width:120rem;}
}
@media screen and (max-width:1366px) {
	#service .company_info .deco_right2{width:18rem;} 
	#service .bg_blue .deco_bottom {width:110rem;}
}
@media screen and (max-width: 1024px) {
	#service .company_info .deco_right2{width:13rem; right: 5rem; } 
	#service .flex_img {
    margin-top: 2rem;
    display: flex;
    gap: 2rem;
    }
	#service .bg_blue .deco_bottom {
		width:90rem; 
		bottom: -4rem;
	}
}

@media screen and (max-width: 820px) {
    #service .service_text{font-size:1.8rem; text-align:left;}
	#service .service_text br {display:none;}
    #service .bg_blue .deco_bottom {
	width: 70rem;
    bottom: 0rem;
	}
}

@media screen and (max-width: 768px) {
	#service .bg_blue{padding-bottom:22rem;}
	#service .bg_blue .deco_bottom{
	width: 55rem;
    bottom: 2rem;
}
}

@media screen and (max-width: 520px) {
	#service .flex_img{display:none;}
	#service .slider_wrap{
		margin-top:2rem;
		display:flex;
		overflow: hidden;
	}
    #service .slider_inner{
	  display:flex;
      list-style: none;
	  animation: infinity-scroll-left 20s infinite linear 0.5s both;
	}
	#service .slider_item { width:225px; margin-left:1rem;}
    #service .slider_item img {width: 100%; height:auto; display:block; vertical-align: bottom;}

 	@keyframes infinity-scroll-left{
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-100%);
      } 
}

	#service .company_info .deco_right2{width: 10rem; right: 2rem; top:-2rem;} 
    #service .bg_blue{padding-bottom:35rem; margin-bottom:-5rem;}
    #service .bg_blue .deco_bottom{
    width: 90%;
    bottom: 18rem;
}
}
@media screen and (max-width: 414px) {
	#service .company_info .deco_right2{width: 10rem; right: 2rem;} 
    #service .bg_blue{padding-bottom: 33rem; margin-bottom: -5rem;}
    #service .bg_blue .deco_bottom{
    width: 90%;
    bottom: 19rem;
}

}



/* ----------------------------------------------------------------------
商品紹介
---------------------------------------------------------------------- */
#products .main_img{margin-bottom:12rem;}
#products .h3_wrapper {padding-bottom:4rem;}
#products .h3_wrapper h3{font-size:2.8rem; color:#023e73; font-weight:700;}
#products .h3_wrapper .h3_sub{
  font-size:1.4rem;
  color:#5cb9f2;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: normal;}
#products .series{margin-bottom:80px;}
#products .series .products_list {
    display: flex;
    gap: 3rem 4rem;
    flex-wrap: wrap;
}
#products .series .products_list  li {
    width: calc((100% - 12rem) / 4);
}
#products .series .products_list li picture {
    width: 100%;
    aspect-ratio: 1;
}
#products .series .products_list li picture img{
    border: 1px solid #cbcbcb;
	  border-radius:10px;
}
#products .series .products_list li .products_title{
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
	  line-height:1.5;
    margin-top: 1rem;
}

#products .bg_white{position: relative; padding-bottom:21rem;}
#products .bg_white .deco_bottom{
	position:absolute;
	width:130rem;
	height:auto;
	bottom:-10rem;
	right: 0;
    left: 0;
    margin: 0 auto;
}
#products .series .products_list li .products_title br.br2{
    display:none;
}

@media screen and (max-width: 1600px) {
	#products .bg_white .deco_bottom{width:120rem;}
}
@media screen and (max-width: 1366px) {
	#products .bg_white .deco_bottom{width:110rem;}
}
@media screen and (max-width: 1024px) {
	#products .main_img{margin-bottom:8rem;}
	#products .series .products_list li {
    width: calc((100% - 8rem) / 3);
    }
	#products .bg_white .deco_bottom{
	width: 90rem;
    bottom: -4rem;
    }
}
@media screen and (max-width: 820px) {
	#products .bg_white .deco_bottom{
	width: 70rem;
    bottom: 0rem;
    }
}
@media screen and (max-width: 768px) {
	#products .bg_white{padding-bottom:17rem;}
	#products .bg_white .deco_bottom{
	width: 55rem;
    bottom: 2rem;
    }
}
@media screen and (max-width: 520px) {
	#products .h3_wrapper {padding-bottom: 2rem;}
	#products .series .products_list {
    gap: 3rem 2rem;
    }
	#products .series .products_list li {
    width: calc((100% - 2rem) / 2);
    }
	#products .series .products_list li .products_title{
		font-size: 1.4rem;
	}
	#products .bg_white{padding-bottom:25rem;}
	#products .bg_white .deco_bottom{
	width: 90%;
    bottom: 13rem;
    }
}
@media screen and (max-width:414px) {
	#products .bg_white{padding-bottom:23rem;}
	#products .bg_white .deco_bottom{
	width: 90%;
    bottom: 14rem;
    }
}
@media screen and (max-width:390px) {
	#products .series .products_list li .products_title br.br2{
        display:block;
    }
}

/* ----------------------------------------------------------------------
会社概要
---------------------------------------------------------------------- */
#about .company_message { width:80%; margin:0 auto;}
#about .company_message .sign{ text-align:right; margin-top:3rem;}
#about .bg_blue{position: relative;}
#about .company_info .deco_left1{
	width:40rem;
	height:auto;
	position: absolute;
	z-index: 1;
	top:-8rem;
  left: 28rem;
}
#about .company_info .info_table { width: 100%;}
#about .company_info .info_table th, #about .company_info .info_table td {
    padding: 4rem;
    line-height: 2;
}
#about .company_info .info_table th{ text-align: center; }
#about .company_info .info_table tr{
    border-bottom: 1px solid #333333;
}
#about .company_info .info_table tr:first-child{
    border-top: 1px solid #333333;
}
#about .bg_white.right2{position: relative; padding-bottom:26.5rem;}
#about .company_access .deco_right2{
	width:28rem;
	height:auto;
	position: absolute;
	z-index: 1;
	top: -4rem;
  right: 28rem;
}
#about .bg_white.right2 .deco_bottom{
	position:absolute;
	width:130rem;
	height:auto;
	bottom:-10rem;
	right: 0;
    left: 0;
    margin: 0 auto;
}
#about .company_access .access_flex_wrapper{display:flex; gap:6rem; width:100%;}
#about .company_access .access_flex_left{width:100%;}
#about .company_access .access_flex_right{width:100%;}
#about .company_access .access_flex_wrapper iframe{width:100%;}

#about .company_access .access_flex_wrapper .company_name{font-size:2rem; font-weight:700; margin-bottom:1rem;}
#about .company_access .access_flex_wrapper p{ margin-bottom:2rem;}



@media screen and (max-width:1600px) {
    #about .company_info .deco_left1{
	width:30rem;
  left: 13rem;
  }
	#about .company_access .deco_right2{
	width:20rem;
  right: 13rem;
  } 

#about .bg_white.right2 .deco_bottom{
	width:120rem;
}
}

@media screen and (max-width: 1366px) {
	#about .company_info .deco_left1{
	width:25rem;
  }
	#about .company_access .deco_right2{
	width:18rem;
  } 
#about .bg_white.right2 .deco_bottom{
	width:110rem;
}
}


@media screen and (max-width: 1024px) {
	#about .company_info .deco_left1{
	width:20rem;
  left: 5rem;
  }
	#about .company_access .deco_right2{
	width:13rem;
  right: 5rem;
  } 
#about .bg_white.right2 .deco_bottom{
	width: 90rem;
    bottom: -4rem;
}
}

@media screen and (max-width: 820px) {
  #about .company_access .access_flex_wrapper{display:block;}
    #about .company_access .access_flex_left{text-align: center;}
	#about .company_access .access_flex_right{margin-top:3rem;}
	#about .bg_white.right2 .deco_bottom{
	width: 70rem;
    bottom: 0rem;
}
}
@media screen and (max-width: 768px) {
	#about .bg_white.right2{padding-bottom:22rem;}
	#about .bg_white.right2 .deco_bottom{
	width: 55rem;
    bottom: 2rem;
}
}

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

	#about .company_message { width:100%;}
  #about .company_info .info_table th, #about .company_info .info_table td {
  display:block;
	width:100%;
	float:left;
	text-align:left;
	}
	#about .company_info .info_table th{padding: 2rem 0rem 0rem 2rem;}
	#about .company_info .info_table td{padding: 0rem 0rem 2rem 2rem;}
	#about .company_access .access_flex_wrapper iframe { height: 300px;}
	#about .company_info .deco_left1{width: 15rem; left: 2rem; top:-2rem;}
	#about .company_access .deco_right2{width: 10rem; right: 2rem; top:-2rem;} 
	#about .bg_white.right2{padding-bottom:30rem;}
	#about .bg_white.right2 .deco_bottom{
	width: 90%;
    bottom: 13rem;
}
}
@media screen and (max-width:414px) {
	#about .company_info .deco_left1{width: 12rem; left: 2rem;}
	#about .company_access .deco_right2{width: 10rem; right: 2rem;} 
	#about .bg_white.right2{padding-bottom:28rem;}
	#about .bg_white.right2 .deco_bottom{
	width: 90%;
    bottom: 14rem;
}
}



/* ----------------------------------------------------------------------
プライバシーポリシー
---------------------------------------------------------------------- */
#privacy_policy .content2{width:80%; max-width:900px; margin:0 auto;}
#privacy_policy p.title{font-size: 2rem; margin-top:3rem; font-weight:700;}
#privacy_policy p.info{margin-top:2rem; }
#privacy_policy .bg_white{position: relative; padding-bottom:28rem;}
#privacy_policy .bg_white .deco_bottom{
	position:absolute;
	width:130rem;
	height:auto;
	bottom:-10rem;
	right: 0;
    left: 0;
    margin: 0 auto;
}

@media screen and (max-width: 1600px) {
	#privacy_policy .bg_white .deco_bottom{width:120rem;}
}
@media screen and (max-width: 1366px) {
	#privacy_policy .bg_white .deco_bottom{width:110rem;}
}
@media screen and (max-width: 1024px) {
    #privacy_policy .content2{width:85%;}
	#privacy_policy .bg_white .deco_bottom{
	width: 90rem;
    bottom: -4rem;
    }
}
@media screen and (max-width: 820px) {
	#privacy_policy .bg_white .deco_bottom{
	width: 70rem;
    bottom: 0rem;
    }
}
@media screen and (max-width: 768px) {
	#privacy_policy .content2{width:90%;}
	#privacy_policy .bg_white{padding-bottom:24rem;}
	#privacy_policy .bg_white .deco_bottom{
	width: 55rem;
    bottom: 2rem;
    }
}
@media screen and (max-width: 520px) {
	#privacy_policy .bg_white{padding-bottom:32rem;}
	#privacy_policy .bg_white .deco_bottom{
	width: 90%;
    bottom: 13rem;
    }
}
@media screen and (max-width:414px) {
	#privacy_policy .bg_white{padding-bottom:30rem;}
	#privacy_policy .bg_white .deco_bottom{
	width: 90%;
    bottom: 14rem;
    }
}


/* ----------------------------------------------------------------------
404ページ
---------------------------------------------------------------------- */

body.error404 #main_page p{
	text-align: center;
    margin:100px 0 200px;
}


/* ----------------------------------------------------------------------
お問い合わせ
---------------------------------------------------------------------- */
/* form a {
  text-decoration: underline;
}
form .hissu {
  position: relative;
}
form .hissu::after {
  content: "必須";
  color: white;
  display: block;
  font-size: 11px;
  padding: 2px 5px;
  background: #c3030b;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
form input[type=text], form input[type=email], form input[type=tel], form textarea {
  background: #F1F1F1;
  padding: 10px;
  border-radius: 3px;
  width: 100%;
}
form #zip {
  width: 130px;
  margin-bottom: 5px;
} */
/*# sourceMappingURL=page.css.map */