@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 77px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 48%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 100px 0;
}
section p:not(:last-child){
  margin-bottom: 1.5em;
}


/*装飾
========================================== */
.marker{
  background: linear-gradient(transparent 0 70%, var(--yellow) 70% 100%)
}


/*タイトル
========================================== */
.h2Tit{
 font-size: 3.2rem;
}
.h2Tit .en{
 font-size: 2rem;
}
.h3Tit{
 font-size: 2.4rem;
}

/*
　テキスト
========================================== */
.leadTxt{
  font-size: min(1.85vw,1.8rem);
  text-align: center;
}
.note{
  font-size: 1.2rem;
}

/*
　ボタン,リンク
========================================== */
.btn{
  font-size: 1.6rem;
}


#pageTop a:hover{
  transform: translateY(3px);
  opacity: 0.8
}


/* =======================================
	header
========================================== */
header .inner1200{
	position: relative;
 align-items: center;
 padding: 14px 0;
}
header #logo{
	width: 296px;
}
.menu:hover{
 opacity: .7;
}
/* =======================================
	gnavi
========================================== */
.gnavi{
 width: 40vw;
}
#gnaviList{
 width: 100%;
}
.gnavi a:hover{
 opacity: .6;
}
/* =======================================
	footer
========================================== */
footer{
}
.footBox{
	justify-content: space-between;
}
.footLeft{
 width: 34%;
}
.addList{
 justify-content: space-between;
 flex-flow: row wrap;
 gap:13px 0;
 width: 52.5%;
 padding-top: 60px;
}
.addList li{
 width: 51%;
}
.addList li:nth-of-type(even){
 width: 42.5%;
}

#pageTop{
	width: 129px;
	height: 139px;
	right: min(7.2vw,101px);
	bottom: 55px;
}

/* =======================================
				LP
========================================== */


/*-----------------------------
	#mv
-----------------------------*/
#mv h2{
 font-size: 4.8rem;
}



/*-----------------------------
	main section common
-----------------------------*/
.secLead{
  font-size: 2.0rem;
}

/*-----------------------------
	#about
-----------------------------*/
#about {
}

#aboutus{
 justify-content: space-between;
 align-items: center;
}
#aboutus figure{
 width: 45%;
 max-width: 461px;
}
#aboutus .txts{
 width: 50%;
 max-width: 512px;
}

/*-----------------------------
	#factory
-----------------------------*/
.pointList li{
 align-items: flex-start;
 justify-content: space-between;
 padding: 0 0 0 5%;
}
.pointList li figure{
 width: 30%;
 max-width: 278px;
}
.pointList li div{
 width: 67.2%;
 max-width: 631px;
}
.factoryList{
 justify-content: center;
 max-width: 1175px;
 margin: 94px auto 0;
  gap: 30px;
}
.factoryList li{
 width: 31.6%;
 max-width: 371px;
}

.voiceBox ul{
 flex-flow: row wrap;
 gap:36px 47px;
}
.voiceBox ul li{
 width:40% ;
 max-width: 457px;
}

.voiceBox li p{
  padding-left: 65px;
}

/*-----------------------------
	#shop
-----------------------------*/
/*#shop .voiceBox ul li:nth-of-type(2) p{
 padding-top: 25px;
 padding-left: 65px;
}*/
/*-----------------------------
	#guidance
-----------------------------*/
#guidance .pcFlex{
 justify-content: space-between;
 max-width: 1062px;
 margin: 0 auto;
}
#guidance .pcFlex .txts{
 width: 45.5%;
 max-width: 479px;
}
#guidance .pcFlex >figure{
 width: 51.5%;
 max-width: 546px;
 padding: 0 38px;
}
#guidance .pcFlex .imgs{
 width: 51.5%;
 max-width: 546px;
}
/*-----------------------------
	#working
-----------------------------*/
#working ul{
 flex-flow: row wrap;
 justify-content: space-between;
 gap:30px 0;
}
#working ul li{
 width: 48.9%;
}

/*-----------------------------
	#follow
-----------------------------*/
#follow .pcFlex{
 justify-content: space-between;
}
#follow .pcFlex .txts{
 width: 59%;
}
#follow .pcFlex figure{
 width: 39%;
 max-width: 469px;
}
#follow dl{
 max-width: 1024px;
 margin: 0 auto;
 align-items: center;
}
#follow dt{
 width: 278px;
 white-space: nowrap;
}
#follow dl dt:first-of-type,
#follow dl dd:first-of-type{
 margin-top: 0;
}
#follow dd::before{
 content: "";
 display: block;
 background: url("../images/follow_ic_arrow.svg") no-repeat left top/100% auto;
 width: 61px;
 height: 64px;
 position: absolute;
 top: 0;
 bottom: 0;
 right: 100%;
 margin: auto 24px auto 0;
}
#follow dd{
 position: relative;
 width: calc(100% - 338px);
}


/*-----------------------------
	#
-----------------------------*/


/*-----------------------------
	#shop
-----------------------------*/
.gallerySlider button:hover{
 opacity: .7;
}



/*-----------------------------
	#entry
-----------------------------*/
#entry a:hover{
 opacity: .8;
}


/*-----------------------------
	#contact
-----------------------------*/

/*		form
-----------------------------*/
.tb_cont{
}
.tb_cont th{
	padding: 36px 0 27px;
	width: 25.57%;
	font-size: 1.8rem;
}
.tb_cont th span{
	top: 36px;
}
.tb_cont td{
	padding: 21px 2.5% 22px;
	width: 71.4%;
}
.tb_cont td input[type=file]::file-selector-button{
	font-size: 1.8rem;
}
.contactPrivacy{
	margin: 42px auto 37px;
}
.confirm {
  margin-top: 40px;
}
input[type="submit"].btn {
  background-position: calc(50% + 5em + 21px) center;
  background-size: 23px 23px;
  cursor: pointer;
}
.tb_cont td input.radiobtn{
    width: auto;
}





