@charset "utf-8";

/*==================================================

ベース

==================================================*/
html {
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
	color: #333;
  font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	-webkit-font-smoothing: antialiased;
	letter-spacing: 0;
}
body.menu-open{
	overflow: hidden;
}
html.menu-open{
	overflow: hidden;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
a {
	color: #333;
	text-decoration: none;
	cursor: pointer;
}

/* アンカー
--------------------------------------------------*/
.m-anchor{
  position: relative;
}
/* PC */
@media print,only screen and (min-width: 768px){
  .m-anchor{
    scroll-margin-top: 6rem;
  }
  #form{
    scroll-margin-top: 19rem;
  }
}

/* SP */
@media screen and (max-width: 767px){
 .m-anchor{
    scroll-margin-top: 6rem;
  }
  #form{
    scroll-margin-top: 4rem;
  }
}

/*==================================================

全ページ共通

==================================================*/
/* PC */
@media print, screen and (min-width: 768px) {
	html {
		font-size: 10px;
	}
	.sp {
		display: none!important;
	}
	a:hover {
		text-decoration: none;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	html {
		font-size: 1.33vw;
	}
	.pc {
		display: none!important;
	}
}

/*==================================================

ヘッダー

==================================================*/

/* レイアウト 
--------------------------------------------------*/
.l-header{
	width: 100%;
  border-top: 1.3rem #004386 solid;
  background-color: rgba(255,255,255,0.7);
	position:fixed;
	top: 0;
	left: 0;
	z-index: 100;
  transition: transform .3s ease;
}
.l-header a{
	display: block;
}

.l-header.hide{
  transform: translateY(-100%);
}

/* PC */
@media print,only screen and (min-width: 768px){ 
	.l-header{
		padding: 0 3rem;
	}
	.l-header__inner{
		max-width:120rem;
		height:14.5rem;
		margin:0 auto;
		position:relative;
	}
	.l-header__logo{
		position:absolute;
		top:5.1rem;
		left:0;
    font-size: 2rem;
    font-weight: 500;
	}
}

/* SP */
@media screen and (max-width: 767px){	
	.l-header__inner{
		height:11.5rem;
    position: relative;
	}
	.l-header__logo{
		position:absolute;
		top:3.2rem;
		left:5.5rem;
    font-size: 3.7rem;
    font-weight: 500;
	}
}



/* グローバルナビ
--------------------------------------------------*/

/* PC */
@media print,only screen and (min-width: 768px){ 
	.nav-global{
    width: fit-content;
		position:absolute;
    bottom: 0;
    left: 3rem;
    right: 0;
    margin: 0 auto;
		display: flex!important;
	}
	.nav-global a{
		font-size: 1.6rem;
		padding: 0.6rem 1.9rem 2.8rem 1.9rem;
    text-align: center;
    font-weight: 500;
    opacity: 1;
    transition: opacity .3s ease;
	 }
	.nav-global a:hover{
    opacity: 0.7;
	}
	.nav-global__japanese{
		font-size: 1.8rem;
	 }
	.nav-global__english{
		font-size: 1.3rem;
	 }
  .l-header__contact{
    position: absolute;
    right: 0;
    top: 1.6rem;
    text-align: center;
  }
  .l-header__contactButton a{
    background-color: #fff;
    font-size: 1.4rem;
    margin-bottom: 1.4rem;
    padding: 0.7rem 3.5rem 0.7rem 2.5rem;
    position: relative;
    opacity: 1;
    transition: opacity .3s ease;
  }
  .l-header__contactButton a:hover{
    opacity: 0.8;
  }
  .l-header__contactButton a:before{
    content: "";
    width: 2.5rem;
    height: 1.7rem;
    background: url("../images/shared/icon-contact.svg") left center no-repeat;
    background-size: 100% auto;
    margin-right: 1rem;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -0.15rem;
  }
  .l-header__contactTel{
    width: 23.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1225px) {
	.l-header__logo{
		position:absolute;
		top:3rem;
		left:0;
    font-size: 2rem;
    font-weight: 500;
	}
  .l-header__contact{
    position: absolute;
    right: 0;
    top:0.6rem;
    text-align: center;
  }
  .l-header__contactTitle{
    font-size: 1.4rem;
    margin-bottom: 0.7rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
	.nav-global{
    background-color: #004386;
    position: absolute;
    top: 11.5rem;
    left: 0;
    right: 0;
    z-index: 100;
    display: none;
	}
	.nav-global li{
    border-bottom: 1px #fff solid;
	}
	.nav-global li:last-child{
    border-bottom: none;
	}
	.nav-global a{
		color: #fff;
		font-size: 3.5rem;
		padding: 1.9rem 7rem 1.9rem 9rem;
    position: relative;
	}
	.nav-global a:after{
    content: "";
    width: 8.5rem;
    background-color: rgba(255,255,255,0.2);
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
	}
	.nav-global__english{
    display: none;
	 }
}


/* ハンバーガー
--------------------------------------------------*/

/* PC */
@media print,only screen and (min-width: 768px){ 
	.m-hamburger{
	  display:none;
	}	
}

/* SP */
@media screen and (max-width: 767px){	
	.l-header__menus{
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		height: calc( 100vh - ヘッダーのたかさvw );
	}
	.m-hamburger{
    background-color: #004386;
    border-radius: 50%;
		width: 8.5rem;
		height: 8.5rem;
		position: absolute;
		top: 0;
    bottom: 0;
		right: 2.5rem;
    margin: auto 0;
		cursor: pointer;
		z-index: 100;
	}
	.m-hamburger__lines{
		height: 90%;
		width:44%;
		margin: 4% auto;
		position: relative;
	}
	.m-hamburger__lines>div{
		background-color: #fff;
		width:100%;
		height:5%;
		transition: transform .3s ease, opacity .3s ease;
		position: absolute;
		left:0;
		top:50%;
	}
	.m-hamburger__lines>div:first-child{
		transform: translateY(-350%);
	}
	.m-hamburger__lines>div:last-child{
		transform: translateY(350%);
	}
	.menu-open .m-hamburger__lines>div:first-child{
		transform: rotate(225deg);
	}
	.menu-open .m-hamburger__lines>div:nth-child(2){
		transform: translateX(-50%);
		opacity: 0;
	}
	.menu-open .m-hamburger__lines>div:last-child{
		transform: rotate(-225deg);
	}
	.m-hamburger__text{
		height: 15%;
		width:50%;
		margin: 0 auto;
	}
}

/*==================================================

フッター

==================================================*/

/* フッター1
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
	.l-footer01{
    position: relative;
		background-color: #00458d;
		padding:6rem 3rem 7.7rem 3rem;
	}
	.l-footer__text{
    color: #fff;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 1.9rem;
	}
	.l-footer__tel{
    width: 31.2rem;
    margin: 0 auto 1.8rem auto;
	}
	.l-footer__tel img{
    width: 100%;
	}
	.l-footer__button a{
    width: 36.7rem;
    background: url("../images/shared/icon-contact.svg") 3.5rem center no-repeat;
    background-size: 2.9rem auto;
    background-color: #fff;
    font-size: 1.8rem;
    padding: 1.1rem 6.5rem;
    text-align: center;
    display: block;
    margin: 0 auto;
    opacity: 1;
    transition: opacity .3s ease;
	}
	.l-footer__button a:hover{
    opacity: 0.8;
	}
}

/* SP */
@media screen and (max-width: 767px){
}

/* フッター2
--------------------------------------------------*/

/* PC */
@media print,only screen and (min-width: 768px){ 
	.l-footer02{
		background-color: #fff;
		padding:10rem 3rem 2rem 3rem;
	}
	.l-footer__texts{
    width: fit-content;
    font-size: 1.4rem;
    margin: 0 auto 5.2rem auto;
	}
  .l-footer__logo{
    font-size: 1.8rem;
  }
  .l-footer__copy{
    font-size: 1.2rem;
    letter-spacing: -.05em;
    text-align: center;
  }
}

/* SP */
@media screen and (max-width: 767px){

	.l-footer02{
    margin-bottom: 13rem;
	}		
	.l-footer__texts{
    text-align: center;
    font-size: 2.5rem;
    line-height: 1.455;
    padding: 5rem 0 3.5rem 0;
	}
  .l-footer__spnav{
    height: 13rem;
    display: flex;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  .l-footer__spnavItem{
    width: 50%;
    height: 100%;
  }
  .l-footer__spnavItem a{
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .l-footer__spnavItem:first-child img{
    width: 21.2rem;
    margin: 0 auto;
  }
  .l-footer__spnavItem:first-child a{
    background-color: #265a95;
  }
  .l-footer__spnavItem:last-child a{
    background: url("../images/shared/tel-sp.svg") center 2.6rem no-repeat;
    background-size: 5rem auto;
    background-color: #00458d;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    padding-top: 5.5rem;
  }
}

/* ページトップ
--------------------------------------------------*/

/* PC */
@media print,only screen and (min-width: 768px){ 
	.l-footer__pagetop{
    background: url("../images/shared/pagetop.svg") center 0.9em no-repeat;
    background-size: 3.1rem auto;
    background-color: #d0ddea;
		width:4.6rem;
    height: 4.6rem;
    border-radius: 50%;
		position: fixed;
		right: 3rem;
		bottom: 3rem;
    opacity: 1;
    transition: opacity .3s ease;
    cursor: pointer;
    z-index: 100;
	}
	.l-footer__pagetop:hover{
    opacity: 0.7;
	}
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

セカンド共通

==================================================*/

/* レイアウト
--------------------------------------------------*/
.l-content{
	line-height: 1.7;
}

/* PC */
@media print,only screen and (min-width: 768px){	
	.l-content{
		max-width: 105rem;
		font-size: 1.8rem;
		padding: 0 3rem;
		margin: 0 auto 20rem auto;		
    box-sizing: content-box;
	}
}

/* SP */
@media screen and (max-width: 767px){
	.l-content{
    padding: 8rem 4rem;
		font-size: 2.8rem;
	}
}

/* ページタイトル
--------------------------------------------------*/
.m-pageTitle__english{
  color: #004386;
  font-weight: 500;
  display: block;
}
.m-pageTitle__japanese{
  display: block;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .m-pageTitle{
    height: 50rem;
    background: url("../images/shared/title.jpg") center top no-repeat;
    background-size: cover;
    padding: 27.5rem 3rem 0 3rem;
  }
  .m-pageTitle__inner{
    max-width: 105rem;
    margin: 0 auto;
  }
  .m-pageTitle__english{
    font-size: 1.9rem;
  }
  .m-pageTitle__japanese{
    font-size: 4rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .m-pageTitle{
    height: 47rem;
    background: url("../images/shared/title-sp.jpg") center top no-repeat;
    background-size: cover;
    padding: 20rem 0 0 6rem;
  }
  .m-pageTitle__english{
    font-size: 2.8rem;
  }
  .m-pageTitle__japanese{
    font-size: 5rem;
  }
}

/* 見出し
--------------------------------------------------*/
.m-title01{
  font-size: 4rem;
  line-height: 1.4;
}
.m-title01:after{
  content: "";
  background-color: #004386;
  width: 4rem;
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.m-title02{
  color: #fff;
  font-size: 2.6rem;
  line-height: 1.3;
  background-color: #00458d;
}
.m-title03{
  color: #00458d;
  font-size: 2.8rem;
  line-height: 1.3;
  border-bottom: 4px #00458d solid;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .m-title01{
    margin-bottom: 6.5rem;
  }
  .m-title01:after{
    height: 3px;
    margin-left: 3rem;
    top: -0.3rem;
  }
  .m-title02{
    padding: 0.4rem 1rem;
    margin-bottom: 2.5rem;
  }
  .m-title03{
    padding: 0 0 0.5rem 1.2rem;
    margin-bottom: 2.5rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .m-title01{
    font-size: 4.2rem;
    margin-bottom: 4.5rem;
  }
  .m-title01:after{
    height: 1px;
    margin-left: 1.5rem;
    top: -0.3rem;
  }
  .m-title02{
    font-size: 3.2rem;
    padding: 0.6rem 1.5rem 0.8rem 1.8rem;
    margin-bottom: 2.2rem;
  }
  .m-title03{
    font-size: 3.5rem;
    padding: 0 0 0.5rem 1rem;
    margin-bottom: 2.8rem;
  }
}

/* ぱんくず
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){	
	.m-bread{
		max-width: 105rem;
    padding: 0 3rem;
    box-sizing: content-box;
		margin: 1.7rem auto 12rem auto;
	}
	.m-bread li{
    color: #00458d;
		font-size: 1.4rem;
    display: inline;
	}
	.m-bread a:hover{
    text-decoration: underline;
	}
	.m-bread li:before{
    content: ">";
    margin: 0 0.7rem 0 0.5rem;
	}
	.m-bread li:first-child:before{
    content: none;
	}
}

/* SP */
@media screen and (max-width: 767px){	
}

/*==================================================

トップページ

==================================================*/
/* メイン
--------------------------------------------------*/
.home-cover__image img{
  width: 100%;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
	.home-cover{
    background: url("../images/home/main.jpg") center top no-repeat;
    background-size: cover;
		height: 89.8rem;
    padding: 0 3rem;
    margin-bottom: 11.5rem;
	} 
	.home-cover__inner{
    max-width: 120rem;
		height: 89.8rem;
    margin: 0 auto;
		position: relative;
	} 
	.home-cover__text01{
    position: absolute;
    top: 31.5rem;
    left: 7.9rem;
    font-size: 4.5rem;
    line-height: 1.644;
	}
	.home-cover__text02{
    position: absolute;
    top: 40rem;
    right: 5rem;
    font-size: 3.5rem;
    font-weight: 500;
	}
	.home-cover__image{
    width: 48.5rem;
    position: absolute;
    bottom: 1.7rem;
    right: 0;
	}
}
@media (min-width: 1100px) and (max-width: 1210px) {
	.home-cover__text01{
    left: 0;
	}
	.home-cover__text02{
    right: 0;
	}
}
@media (min-width: 768px) and (max-width: 1100px) {
	.home-cover__text01{
    left: 0;
	}
	.home-cover__text02{
    top: 45.5rem;
	}
}

/* SP */
@media screen and (max-width: 767px){	
  .home-cover{
    width: 100%;
    background:url("../images/home/main-sp.jpg") center top no-repeat;
    background-size: 100% auto;
		height: 94.2rem;
    margin-bottom: 11rem;
		position: relative;
	} 
	.home-cover__text01{
    position: absolute;
    top: 30rem;
    left: 8.8rem;
    font-size: 5.2rem;
    line-height: 1.6;
	}
	.home-cover__image{
    width: 48.5rem;
    position: absolute;
    bottom: 5.7rem;
    right: 3.5rem;
	}
}

/* intro
--------------------------------------------------*/
.home-intro{
  position: relative;
  z-index: 3;
}
.home-intro__text01{
  font-weight: 500;
}
.home-intro__text03{
  margin: 0 auto;
}
.home-intro__text03 img{
  width: 100%;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .home-intro{
    background: url("../images/home/intro-bg.png") center bottom no-repeat;
    background-size: 100% auto;
    padding: 0 3rem 29rem 3rem;	
  }
  .home-intro__inner{
    max-width: 105rem;	
    margin: 0 auto;	
    text-align: center;
  }
  .home-intro__text01{
    font-size: 3.7rem;
    line-height: 1.54;
    margin-bottom: 4.5rem;
  }
  .home-intro__text02{
    font-size: 2.6rem;
    line-height: 1.846;
    margin-bottom: 9.5rem;
  }
  .home-intro__text03{
    width: 68.8rem;
  }
}

/* SP */
@media screen and (max-width: 767px){
  .home-intro{
    background: url("../images/home/intro-bg-sp.png") center bottom no-repeat;
    background-size: 100% auto;
    padding: 0 4rem 34rem 4rem;	
  }
  .home-intro__text01{
    font-size: 3.6rem;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 4rem;
  }
  .home-intro__text02{
    font-size: 3rem;
    line-height: 1.846;
    margin-bottom: 5.5rem;
  }
  .home-intro__text03{
    width: 100%;
  }
}
	
/* 会社案内
--------------------------------------------------*/
.home-company{
  position: relative;
}
.home-company:after{
  content: "";
  background-color: #fffaf0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
}
.home-company__inner{
	margin: 0 auto;	
  position: relative;
  z-index: 3;
}
.home-title{
  font-weight: 500;
}
.home-title__english{
  color: #004386;
  display: block;
}
.home-title__japanese{
  display: block;
}
.home-button a{
  background:#fff url("../images/shared/arrow.svg") right 2rem center no-repeat;
  text-align: center;
  display: block;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .home-company{
    padding: 0 3rem 12.5rem 3rem;	
    margin-top: -9.5rem;
  }
  .home-company:after{
    top: 8rem;
  }
  .home-company__inner{
    max-width: 105rem;
    margin: 0 auto;	
  }
  .home-title{
    margin-bottom: 4.6rem;
  }
  .home-title__english{
    font-size: 2.5rem;
  }
  .home-title__japanese{
    font-size: 3rem;
    line-height: 1.3;
  }
  .home-text{
    font-size: 1.8rem;
    line-height: 2.16;
    margin-bottom: 3.5rem;
  }
  .home-button{
    width: 32rem;
    margin-left: auto;
  }
  .home-button a{
    background-size: 2.1rem auto;
    border-radius: 10rem;
    font-size: 1.6rem;
    padding: 0.9rem 4rem 0.9rem 3rem;
    border: 2px #333 solid;
    opacity: 1;
    transition: opacity .3s ease;
  }
  .home-button a:hover{
    opacity: 0.7;
  }
}

/* SP */
@media screen and (max-width: 767px){
  .home-company{
    padding: 0 4rem 9.6rem 4rem;	
    margin-top: -9rem;
  }
  .home-company:after{
    top: 8rem;
  }
  .home-title{
    margin-bottom: 4.2rem;
  }
  .home-title__english{
    font-size: 3rem;
  }
  .home-title__japanese{
    font-size: 4.2rem;
    line-height: 1.3;
  }
  .home-text{
    font-size: 2.8rem;
    line-height: 1.59;
    margin-bottom: 6rem;
  }
  .home-button{
    width: 60rem;
    margin: 0 auto;
  }
  .home-button a{
    background-position: right 4.2rem center;
    background-size: 2.9rem auto;
    border-radius: 10rem;
    font-size: 3rem;
    padding: 1.1rem 7rem 1.1rem 3.5rem;
    border: 1px #333 solid;
  }
}
	
/* 製品紹介
--------------------------------------------------*/
.home-product__images{
  display: flex;
  justify-content: space-between;
}
.home-product__imagesItem img{
  width: 100%;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .home-product{
    padding: 12.7rem 3rem 9rem 3rem;	
  }
  .home-product__inner{
    max-width: 105rem;
    margin: 0 auto;	
  }
  .home-product__images{
    gap:0 0.6rem;
    margin: 11.5rem -3rem 0 -3rem;
  }
  .home-product__imagesItem{
    width: calc( 25% - 0.45rem );
  }
}

/* SP */
@media screen and (max-width: 767px){
  .home-product{
    padding: 9rem 4rem 13rem 4rem;	
  }
  .home-product__images{
    gap:0.6rem;
    flex-wrap: wrap;
    margin: 14rem -4rem 0 -4rem;
  }
  .home-product__imagesItem{
    width: calc( 50% - 0.45rem );
  }
}

/* アクセス
--------------------------------------------------*/
.home-access{
  position: relative;
}
.home-access:before{
  background: url("../images/home/access-bg.svg") center top no-repeat;
  background-size: 100% auto;
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.home-access__inner{
  position: relative;
  z-index: 3;
  color: #fff;
}
.home-access .home-title{
  text-align: center;
}
.home-access .home-title__english{
  color: #fff;
}
.home-access__text{
  width: fit-content;
}
.m-anchor{
  position: relative;
}
/* PC */
@media print,only screen and (min-width: 768px){ 
  .home-access{
    padding: 15.2rem 3rem 11.4rem 3rem;	
    margin-bottom: 2rem;
  }
  .home-access__inner{
    max-width: 120rem;
    margin: 0 auto;	
  }
  .home-access .home-title{
    margin-bottom: 9rem;
  }
  .home-access__text{
    width: fit-content;
    font-size: 1.8rem;
    line-height: 1.444;
    margin: 0 auto 5rem auto;
  }
  .home-access__map iframe{
    aspect-ratio: 17 / 6;
  }
  .m-anchor{
    scroll-margin-top: 15rem;
  }
}

@media (min-width: 768px) and (max-width: 1500px) {
  .home-access:before{
    background-size: 150rem auto;
    content: "";
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
  }
}

/* SP */
@media screen and (max-width: 767px){ 
  .home-access{
    padding: 14.3rem 0 0 0;	
  }
  .home-access .home-title{
    margin-bottom: 8rem;
  }
  .home-access__text{
    width: fit-content;
    font-size: 2.8rem;
    line-height: 1.19;
    margin: 0 0 7rem 9rem;
  }
  .home-access__map iframe{
    aspect-ratio: 187 / 100;
  }
 .m-anchor{
    scroll-margin-top: 12rem;
  }
}

/*==================================================

会社案内

==================================================*/

/* intro
--------------------------------------------------*/
.company-text{
  line-height: 1.75;
  text-align: center;
}
.company-text:after{
  content: "";
  background-color: #004386;
  width: 4rem;
  height: 3px;
  display: block;
  margin: 1.8rem auto 0 auto;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .company-text{
    font-size: 2.4rem;
    margin-bottom: 19.5rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .company-text{
    font-size: 3rem;
    margin:0 -3rem 12rem -3rem;
  }
}

/* 会社概要
--------------------------------------------------*/
.company-table{
  width: 100%;
}
.company-table th,
.company-table td{
  border-bottom: 2px #004386 solid;
  vertical-align: top;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .company-detail{
    margin-bottom: 19rem;
  }
  .company-table th,
  .company-table td{
    line-height: 2;
  }
  .company-table th{
    width: 30%;
    padding: 3rem 0 0.6rem 5%;
  }
  .company-table td{
    padding: 3rem 0 0.6rem 0;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .company-detail{
    margin-bottom: 12rem;
  }
  .company-table th,
  .company-table td{
    padding: 2.5rem 0 0.6rem 0.5rem;
  }
  .company-table th{
    width: 7em;
  }
}

/* アクセス
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
  .company-access{
    margin-bottom: 19rem;  
  }
  .company-access__map iframe{
    aspect-ratio: 21 / 8;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .company-access{
    margin-bottom: 12rem;  
  }
  .company-access__map iframe{
    aspect-ratio: 187 / 100;
  }
}

/* 沿革
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
  .company-history{
    margin-bottom: 19rem;  
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .company-history{
    margin-bottom: 12rem;  
  }
}

/* 設備一覧
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
  .company-facility{
    margin-bottom: 19rem;  
  }
  .company-facility__items{
    display: flex;
    justify-content: space-between;
  }
  .company-facility__items .company-table{
    width: calc( 50% - 0.4rem );
  }
  .company-facility .company-table th,
  .company-facility .company-table td{
  }
  .company-facility .company-table th{
    width: auto;
    padding: 0.3rem 0 0.3rem 8%;
  }
  .company-facility .company-table td{
    width: 20%;
    padding: 0.3rem 0 0.3rem 0;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .company-facility{
    margin-bottom: 12rem;  
  }
  .company-facility .company-table th{
    width: 20em;
  }
}

/*==================================================

製品紹介

==================================================*/

/* 主な特徴
--------------------------------------------------*/
.m-text,
.product-text{
  line-height: 1.83;
}
/* PC */
@media print,only screen and (min-width: 768px){ 
  .m-text{
    margin-bottom: 8rem;
  }
  .product-feature{
    margin-bottom: 19rem;
  }
  .product-text{
    margin-bottom: 7rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .m-text{
    margin-bottom: 9rem;
  }
  .product-feature{
    margin-bottom: 12rem;
  }
  .product-text{
    margin-bottom: 8rem;
  }
}

/* 加工品紹介
--------------------------------------------------*/
.product-goods__list{
  display: flex;
  flex-wrap: wrap;
}
.product-goods__listItem{
  background: url("../images/product/icon-list.svg") left center no-repeat;
}
.product-goods__image img{
  width: 100%;
}
.product-goods > :last-child{
  margin-bottom: 0;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .product-goods{
    margin-bottom: 19rem;
  }
  .product-goods__item{
    display: flex;
    justify-content: space-between;
    margin-bottom: 7rem;
  }
  .product-goods__texts{
    width: 56%;
  }
  .product-goods__list{
    gap:0 1.3rem;
    margin:0.5rem -2.5rem 3.5rem 0.5rem;
  }
  .product-goods__listItem{
    background-size: 1.7rem auto;
    padding-left: 2.4rem;
  }
  .product-goods__image{
    width: 38.6%;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .product-goods{
    margin-bottom: 12rem;
  }
  .product-goods__item{
    margin-bottom: 4.5rem;
  }
  .product-goods__texts{
  }
  .product-goods__list{
    margin:0.5rem 0 2.5rem 0.5rem;
  }
  .product-goods__listItem{
    background-position: 0 0.6em;
    background-size: 1.7rem auto;
    padding-left: 2.5rem;
    margin-right: 2.3rem;
  }
  .product-goods__image{
    margin-top: 3rem;
  }
}

/*==================================================

お問い合わせ・ご注文

==================================================*/
/* tel fax
--------------------------------------------------*/
.inquiry-box{
  border: 2px #004386 solid;
}
.inquiry-box__text{
  width: fit-content;
}
.inquiry-box__image{
  margin: 0 auto;
}
.inquiry-box__image img:last-child{
  margin-bottom: 0;
}
.error{
  color: #f00;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .inquiry-box{
    padding: 2rem 1rem 4.5rem 1rem;
    margin-bottom: 16rem;
  }
  .inquiry-box__text{
    line-height: 1.66;
    margin:0 auto 2.5rem auto;
  }
  .inquiry-box__image{
    max-width: 40rem;
  }
  .inquiry-box__image img{
    margin-bottom: 2rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .inquiry-box{
    padding: 2.5rem 4rem 3.5rem 4rem;
    margin-bottom: 12rem;
  }
  .inquiry-box__text{
    line-height: 1.66;
    margin:0 auto 3rem auto;
  }
  .inquiry-box__image{
    max-width: 42rem;
  }
  .inquiry-box__image img{
    margin-bottom: 1.5rem;
  }
}

/* お問い合わせ・ご注文フォーム
--------------------------------------------------*/
input,
button,
textarea {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
input[type="text"]{
  border: 1px #004386 solid;
}
textarea {
  border: 2px #004386 solid;
}
input[type="checkbox"]{
  vertical-align: middle;
  position: relative;
}
.form-table{
  width: 100%;
}
.form-table th,
.form-table td{
  vertical-align: top;
}
.form-table th{
  box-sizing: border-box;
}
.form-table tr:first-child th,
.form-table tr:first-child td{
  border-bottom: 1px #004386 solid;
}
.form-table tr:last-child th,
.form-table tr:last-child td{
  border-top: 1px #004386 solid;
}
.form-must{
  background-color: #004386;
  line-height: 1;
  color: #fff;
}
.form-buttons{
	text-align: center;
}
.form-buttons button{
	overflow: hidden;
	text-align: center;
	position: relative;
	background-color: #00458d;
	color: #fff;
	border: 0;
	cursor: pointer;
}
.form-buttons button.submit{
	text-align: center;
	margin: 0 auto;
}
.form-buttons button.send{
	float: right;
}
.form-buttons button.back{
	float: left;
}
.finish-text{
  margin: 19rem 0;
  text-align: center;
}
.form-buttons form{
  display: inline;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  input,
  textarea {
    padding: 0.7rem 1.5rem;
  }
  textarea {
    height: 15.6rem;
  }
  input[type="checkbox"]{
    width: 1.5rem;
    height: 1.5rem;
    top: -0.15rem;
  }
  .form-table{
    width: 100%;
    margin-bottom: 15rem;
  }
  .form-table th,
  .form-table td{
    padding: 1.3rem 0;
  }
  .form-table th{
    width: 18.5em;
    padding-left: 4.5rem;
    box-sizing: border-box;
  }
  .form-table tr:first-child th,
  .form-table tr:first-child td{
    padding-bottom: 0.8rem;
  }
  .form-table tr:nth-child(2) th,
  .form-table tr:nth-child(2) td{
    padding-top: 3rem;
  }
  .form-table tr:nth-last-child(2) th,
  .form-table tr:nth-last-child(2) td{
    padding-bottom: 4.5rem;
  }
  .form-table tr:last-child th,
  .form-table tr:last-child td{
    padding-top: 2.5rem;
  }
  .form-must{
    font-size: 1.6rem;
    margin-left: 2.5rem;
    padding: 0 0.7rem 0.1rem 0.7rem;
  }
  .form-text{
    margin: 0 4rem 0 0.1rem;
  }
  .form-buttons{
    width: 46rem;
    margin: 0 auto 1rem auto;
  }
  .form-buttons button{
    width: 21rem;
    padding: 0.7rem;
    font-size: 2rem;
    opacity: 1;
    transition: opacity .3s ease;
  }
  .form-buttons button:hover{
    width: 21rem;
    padding: 0.7rem;
    font-size: 2rem;
    opacity: 0.8;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  input,
  textarea {
    padding: 0.7rem 1.5rem;
  }
  textarea {
    height: 15.6rem;
  }
  input[type="checkbox"]{
    width: 2.5rem;
    height: 2.5rem;
    top: -0.15rem;
  }
  .form-table{
    width: 100%;
    margin-bottom: 5rem;
  }
  .form-table th,
  .form-table td{
    display: block;
  }
  .form-table th{
    padding: 1rem 0 0.3rem 0;
  }
  .form-table td{
    padding-bottom: 1.5rem;
  }
  .form-table tr:first-child th,
  .form-table tr:last-child td{
    border: none;
  }
  .form-table tr:nth-child(2) th{
    padding-top: 2.5rem;
  }
  .form-table tr:nth-last-child(2) td{
    padding-bottom: 4rem;
  }
  .form-table tr:last-child th{
    padding-top: 2.5rem;
  }
  .form-must{
    font-size: 2rem;
    margin-left: 1.5rem;
    padding: 0.2rem 0.7rem;
  }
  .form-text{
    margin: 0 4rem 0 0.1rem;
  }
  .form-buttons{
    width: 61rem;
    margin: 0 auto 1rem auto;
  }
  .form-buttons button{
    width: 30rem;
    padding: 0.7rem;
    font-size: 2.9rem;
  }
}

/* 
--------------------------------------------------*/
/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}
