@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  width: 100%;
  margin: 0;
  overflow: hidden;
  font-family: 'Noto Serif JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
}

body * {
  margin: 0;
  box-sizing: border-box;
  border: none;
}
a:link,
a:active,
a:visited,
a:hover {
  font-weight: 400;
  color: #000;
  text-decoration: none;
  transition: 0.8s;
}
img {
  max-width: 100%;
  display: block;
}
.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
h1{
  margin: 0 auto 40px;
  font-size: 4.4rem;
  font-weight: 400;
  line-height: 6rem;
  letter-spacing: 0rem;
}
h2{
  margin: 0 auto 10px;
  font-size: 4rem;
  font-weight: 400;
  line-height: 6rem;
  letter-spacing: 0rem;
}
p {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.5rem;
  letter-spacing: 0rem;
}
p.top{  
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0rem;
}
span {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0rem;
}
.sp{
  display: none;
}
.more{
  margin: 30px 0 0 0;
}
.more .txt{
  width: 100%;
  margin: 0 10px 0 0;
  font-size: 1.8rem;
}
.more a{
  position: relative;
  top: 0;
  display: inline-flex;
}
.moreline{
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: -9px;
  background: #000;
}
.more a:before{
  width: 0;
  height: 4px;
  position: absolute;
  z-index: 1;
  bottom: -9px;
  left: 0;
  display: block;
  background: #DD0066;
  content: "";
  transition: 0.3s;
}
.more a:hover:before{
  width: 100%;
}
.more a img{
  position: relative;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.more a:hover img{
  left: 8px;
}
.btn{
  width: 258px;
}
.btn a{
  width: 100%;
  padding: 12px 0 9px 18px;
  display: inline-flex;
  border: solid 1px #DD0066;
  border-radius: 60px;
  font-family: 'Libre Baskerville', serif;
  color: #DD0066;
  justify-content: center;
  align-items: center;
}
.btn a p{
  margin: 0 20px 0 0;
  font-size: 1.8rem;
  line-height: 2rem;
}
.btn a img{
  position: relative;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.btn a:hover img{
  top: -30px;
  left: 50px;
}
.btn.entry img.after{
  display: none;
}
.btn.entry a:hover img.after{
  display: block;
}
.btn.entry a:hover img{
  top: 0;
  left: 0;
}
/* # =================================================================
   #ローディング
# ================================================================= */
/* ローディング画面 */
.fadeoutBg {
  transition-delay: 3s;
}

.cp_loading06 {
  width: 250vh;
  height: 250vh;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%,-50%);
}
.cp_loading06::after {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 0px solid #ffffff;
  border-radius: 50%;
  background: #fff;
  content: '';
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  animation: loading06 0.8s ease-in-out forwards 3s;
}
@-webkit-keyframes loading06 {
	0% {
		border: 0 solid #f8bbd0;
	}
	20% {
		width: 0;
		height: 0;
		border: 3px solid #ffffff;
	}
	100% {
		width: 100%;
		height: 100%;
    z-index: -1;
		border: 0 solid #ffffff;
	}
}
@keyframes loading06 {
	0% {
		border: 0 solid #f8bbd0;
    opacity: 0;
	}
	20% {
		width: 0;
		height: 0;
		border: 3px solid #ffffff;
    opacity: 1;
	}
	100% {
		width: 100%;
		height: 100%;
		border: 0 solid #ffffff;

	}
}


#loaderBg {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 2;
  top: 0;
  background: #000;
}
#loader {
  width: 100%;
  height: 100%;
}
.circlearea {
  width: 80px;
  height: 80px;
  margin: auto;
  position: relative;
  top: 43%;
  right: 0;
  left: 0;
}
.circleload {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-shadow: inset 0 0 0 15px #e3007f;
  opacity: 0.9;
  transform: rotate( 
-90deg
);
}
.lineload{
  width: 15px;
  margin: auto;
  position: absolute;
  top: -16px;
  right: 0;
  left: 0;
  overflow: hidden;
 
  background: #e3007f;
  opacity: 1;
  animation: lineload 0.8s ease-in-out 2s forwards;
}
.cover1,
.cover2 {
  width: 50%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}
.cover1 {
  left: 50%;
}
.cover1:before,
.cover2:before {
  position: absolute;
  content: "";
}
.cover1:before {
  width: 100%;
  height: 200%;
  background: #000; /* 背景色に合わせて変更してください */
  transform-origin: 0 25%;
  animation: draw 0.5s linear 0.3s forwards;
}
.cover2:before {
  width: 110%;
  height: 120%;
  left: -10%;
  background: #000;
  transform-origin: 100% 40%;
  animation: draw2 0.5s ease-out 1.2s forwards;
}
/* 円を描くアニメーション */
@keyframes draw {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}
@keyframes draw2 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(120deg);
  }
}
@keyframes lineload {
  0% {
   height: 0;
  }
  100% {
    height: 56px;
  }
}

main{
  display: block;
}
main.not{
 display: none;
  transition: 0.2s;
}
.content {
  width: 87%;
  max-width: 1100px;
  margin: 0 auto;
}
/* 404 */
#errorpage.content{
  padding: 250px 0 200px;
  text-align: center;
}
#errorpage.content .txt {
  font-size: 40rem;
  line-height: 36rem;
  color: #707070;
  margin: 0 auto 50px;
}
#errorpage.content p{
  font-size: 2.2rem;
}
/* # =================================================================
   #ヘッダー
# ================================================================= */
header {
  width: 100%;
  height: 120px;
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  background: #fff;
}
header{
  opacity: 0;
}
header.iv1.fadeIn {
  animation: header 0.8s forwards;
}
@keyframes header {
  0% {
    opacity: 0;
    transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

header.top{
  opacity: 0;
}
header.top.fadeIn {
  animation: header 0.8s forwards 3.6s;
}
@keyframes header {
  0% {
    opacity: 0;
    transform: translateY(-100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
header .content {
  width: 100%;
  max-width: 1670px;
  padding: 36px 34px 0 126px;
}
header a.logo {
  width: 258px;
  display: inline-block;
}
header ul li a:hover {
  opacity: 0.7;
}
header .arrow{
  top: 45%;
}
header ul li a {
  font-size: 1.8rem;
  line-height: 2.4rem;
}
header nav ul li:nth-of-type(2) .list {
  width: 100%;
  height: 78px;
  position: absolute;
  top: 90px;
  left: 0;
  display: none;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  transition: 0.3s;
  justify-content: center;
  align-items: center;
}
header nav ul li:nth-of-type(2) .list .gray{
  width: 100%;
  height: 78px;
  display: flex;
  background: #707070;
  justify-content: center;
  align-items: center;
}
header nav ul li:nth-of-type(2):hover .list {
  display: flex;
}
header nav ul li:nth-of-type(2) p {
  width: 100%;
  padding: 0 13px 0 0;
  position: relative;
  top: 0;
  display: inline-block;
  font-size: 1.8rem;
  line-height: 2.4rem;
  cursor: pointer;
}
header nav ul li:nth-of-type(2) p.current {
  color: #DD0066;
}
header nav ul li:nth-of-type(2) p span {
  position: absolute;
  top: 36%;
  right: 0;
transition: all 0.4s ease;
  transform: rotate(
-90deg
);
}
header nav ul li:nth-of-type(2):hover p span {
  transform: rotate(
    90deg
    );
}
header nav ul li:nth-of-type(2) .list::before {
  margin: -20px auto 0;
  position: absolute;
  top: 0;
  right: 0;
  left: -310px;
  font-size: 20px;
  color: #707070;
  content: "▲";
}
header nav ul .list a {
  padding: 24px 30px;
  color: #fff;
}
.sitemenu {
  width: 75%;
  max-width: 1220px;
}

header nav ul .btn{
  margin: 0;
  width: 220px;
}

header nav ul li a.current{
  color: #DD0066;
}
/* scMv */
.scMv{
  width: 100%;
  padding: 0 0 100px;
  /* background:url("img/mv_bg.png")no-repeat bottom right/900px; */
}
.scMv ul#slider{
  margin: 120px 0 30px;
}
.scMv .content {
  width: 100%;
  max-width: 100%;
  margin: -100px 0 0 0;
  align-items: flex-end;
  flex-flow: row-reverse;
}
.iv1{
  opacity: 0;
}
.iv1.fadeIn {
  animation: popup 0.4s ease-out 0.2s forwards;
}
@keyframes popup {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.scMv .content .leftbox{
  width: calc(100% - 750px);
  align-items: flex-end;
  flex-flow: row-reverse;
}
.scMv .content img.ft{
  width: 822px;
  margin: 0 auto 250px;
}
.scMv .content img.sd{
  width: 258px;
}
.scMv .content .leftbox .txtBox{
  width: calc(100% - 258px);
  padding: 0 30px 0 142px;
}
.scMv .content .leftbox .txtBox p{
  width: 100%;
  margin: 0 auto 80px;
}
.movearea {
  width: 100%;
  z-index: -1;
  top: 120px;
}
.movearea img{
  padding: 0 20px 0 0;
}
.wdmap{
  width: 900px;
  height: 520px;
  margin: -350px 0 0 auto;
  position: relative;
  z-index: -1;
  top: 0;
  background:url("img/mv_bg.png")no-repeat bottom right/900px;
}
	.st1{fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;}
	.st2{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:41;stroke-miterlimit:10;}
.st1{fill:none;stroke:#FFFFFF;stroke-width:300;stroke-miterlimit:10;}
.st2{fill:none;stroke:#FFFFFF;stroke-width:268;stroke-miterlimit:10;}

.line{
  width: 540px;
  position: absolute;
  right: -13px;
  bottom: 229px;
}
.line image{
  width: 196px;
}
.line.sd{
  width: 520px;
  right: 132px;
  bottom: 140px;
}
.line.sd image{
  width: 356px;
}
.line.td{
  width: 470px;
  right: 128px;
  bottom: 140px;
}
.line.td image{
  width: 402px;
}
/* .scLink */
.scLink{
  width: 100%;
  /* margin: 0 auto 600px; */
  margin: 0 auto 400px;
}
.scLink .content{
  width: 84%;
  max-width: 1200px;
  margin: 0 auto;
}
.scLink .content h2{
  margin: 0 auto 40px;
  text-align: center;
}
.scLink .content .linkArea{
  width: 100%;
  margin: 60px 0 0 0;
}
.scLink .content .linkArea li {
  width: calc(100%/ 3);
  position: relative;
}
.scLink .content .linkArea li a{
  position: relative;
  top: 0;
  transition: all 0.4s ease;
}
.scLink .content .linkArea li:first-of-type {
  width: 100%;
}
.scLink .content .linkArea li:first-of-type .img{
  width: calc(100% - 80px);
  margin: 0 0 0 auto;
  right: 0;
}
.scLink .content .linkArea li .img{
  width: 300px;
  margin: 0 0 0 auto;
  margin-bottom: 30px;
  position: relative;
  overflow: hidden;
  right: 30px;
}
.scLink .content .linkArea li picture{
  width: 100%;
  margin: 0 0 0 auto;
}
.scLink .content .linkArea li .img .mask{
  width: 100%;
  height: 100%;
  padding: 40px 24px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  background: rgba(0,0,0,0.5);
  color: #fff;
  opacity: 0;
  transition: all 0.3s ease;
}
.scLink .content .linkArea li .img .mask .masktxt{
  width: 300px;
}
.scLink .content .linkArea li .img .mask .masktxt h3{
  padding: 80px 0 0 0;
  font-size: 2rem;
  font-weight: 400;
}
.scLink .content .linkArea li:first-of-type .img .mask{
  padding: 40px 30px;
}
.scLink .content .linkArea li:first-of-type .img .mask .masktxt h3{
  margin: 0 auto 20px;
  padding: 0;
  font-size: 6rem;
  line-height: 6rem;
}
.scLink .content .linkArea li:first-of-type .img .mask .masktxt p{
  font-size: 1.4rem;
  line-height: 2rem;
}
.scLink .content .linkArea li a:hover .img .mask{
  opacity: 1;
  transition:all 0.3s ease;
}
.scLink .content .linkArea li a .txtbox{
    position: absolute;
    top: 0;
    left: 0;
    font-family: 'Libre Baskerville', serif;
    /* transform: rotate( 
90deg
 ); */
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: sideways;
    text-orientation: sideways;
}
/* .scLink .content .linkArea li:first-of-type a .txtbox{
  top: 78px;
  left: -50px;
}
.scLink .content .linkArea li:nth-of-type(3) a .txtbox {
  top: 60px;
  left: -30px;
} */
.scLink .content .linkArea li a .txtbox .tll{
  display: inline-flex;
  font-size: 4rem;
  line-height: 4rem;
  align-items: flex-start;
}
.scLink .content .linkArea li a .txtbox .tll span{
  padding: 10px 0 0 10px;
  display: inline-block;
  font-size: 2rem;
  line-height: 2rem;
}
.scLink .content .linkArea li:nth-of-type(2) {
  top: 86px;
}
.scLink .content .linkArea li:nth-of-type(3) {
  top: 182px;
}
.scLink .content .linkArea li:nth-of-type(4) {
  top: 47px;
}


.scLink .content .linkArea li a .circle {
  width: 70px;
  height: 70px;
  margin: 229px auto;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  border: solid 1px #DD0066;
  border-radius: 60px;
  text-align: center;
  transition: all 0.3s ease;
  justify-content: center;
  align-items: center;
}
.scLink .content .linkArea li a:hover .circle {
  margin: 220px auto;
}
.scLink .content .linkArea li:first-of-type a .circle {
  margin: 128px auto;
}
.scLink .content .linkArea li:first-of-type a:hover .circle {
  margin: 120px auto;
}
.scLink .content .linkArea li a:hover .circle {
  width: 88px;
  height: 88px;
  background: #DD0066;
  opacity: 1;
}
.scLink .content .linkArea li a .circle #pink{
  width: 40px;
  fill: #d8005b;
}
.scLink .content .linkArea li a:hover .circle #pink{
  fill: #fff;
}


/* .scBgLink */
.scBgLink{
  width: 100%;
}
.scBgLink ul {
  width: 100%;
}
.scBgLink ul li{
  width: 100%;
  padding: 0 0 100px;
  background: #F2F2F2;
}
.scBgLink ul li img.bg{
  width: 100%;
  height: 446px;
  object-fit: cover;
}
.scBgLink ul li .boxArea {
  width: 87%;
  max-width: 1200px;
  margin: -100px auto 0;
  position: relative;
  z-index: 1;
}
.scBgLink ul li .whitebox {
  width: 540px;
  height: 300px;
  margin: 0 0 0 auto;
  padding: 30px 40px;
  background: #fff;
}
.scBgLink ul li .whitebox h2{
  margin: 0 0 10px;
}
.scBgLink ul li .whitebox p{
  font-size: 1.4rem;
}
/* .scFacitp */
.scFacitp{
  /* margin: 300px auto; */
  margin: 100px auto;
}
.scFacitp .content{
  width: 87%;
  max-width: 1500px;
  margin: 0 0 0 auto;
}
.scFacitp .txtBox{
  width: 470px;
  padding: 0 10px 0 0;
}
.scFacitp ul#slider2{
  width: calc(100% - 470px);
}
.scFacitp ul#slider2 li{
  margin: 0 6px;
}
.scFacitp ul#slider2 .slick-list {
  padding: 0 30% 0 0!important;
}
.scFacitp ul#slider2 li figcaption {
  margin: 10px 0 0;
}
/* footer */
footer{
  width: 100%;
  padding: 100px 0 60px 0;
  border-top: solid 1px #F2F2F2;
}
footer .content{
  margin: auto;
  position: relative;
  top: 0;
}
footer .content .flexbox{
  width: 100%;
  margin: 0 0 60px;
  align-items: flex-start;
}
footer .content .leftArea{
  width: calc(100% - 332px);
  padding: 0 80px 0 0;
}
footer .content .rightArea{
  width: 332px;
}
footer .content .rightArea ul li{
  width: 150px;
  margin: 0 0 24px;
  position: relative;
  top: 0;
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 2.5rem;
}
footer .content .rightArea ul li:nth-of-type(5),footer .content .rightArea ul li:nth-of-type(7),footer .content .rightArea ul li:nth-of-type(9),footer .content .rightArea ul li:nth-of-type(11){
  padding: 0 0 0 10px;
  font-size: 1.5rem;
  line-height: 2rem;
}
footer .content .rightArea ul li:nth-of-type(5) a,footer .content .rightArea ul li:nth-of-type(7) a,footer .content .rightArea ul li:nth-of-type(9) a,footer .content .rightArea ul li:nth-of-type(11) a{
  font-size: 1.5rem;
  line-height: 2rem;
}
footer .content .rightArea ul li a{
  font-size: 1.7rem;
  line-height: 2.5rem;
  display: inline-block;
  width: 100%;
}
footer .content .leftArea .access p.access {
  margin: 0 30px 8px 0;
  line-height: 3.6rem;
}

.arrow {
  position: absolute;
  top: 8px;
  right: 0;
  display: inline-block;
}
.arrow::before {
  width: 10px;
  height: 10px;
position: absolute;
left: -14px;
  border: 0px;
  border-top: solid 2px #DD0066;
  border-right: solid 2px #DD0066;
  content: '';
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(
45deg
);
  transform: rotate(
45deg
);
}

footer .content .back {
  position: absolute;
  right: 0;
  bottom: 7vh;
}
footer .content .logo{
  width: 350px;
  margin: 20px 0 50px;
}
footer .content .logo img{
  width: 100%;
}
footer .content .leftArea .access{
  margin: 0 auto 26px;
  justify-content: flex-start;
}
footer .content .leftArea .access p{
  padding: 0 10px 0 0;
  font-size: 1.8rem;
}
footer .content .leftArea .map{
  font-family: 'Libre Baskerville', serif;
  text-decoration: underline;
}
footer .content .leftArea .map img{
  width: 20px;
  margin: 0 6px 0 0;
}
footer .content .leftArea .map p{
  padding: 0 12px 0 0;
}
footer .content .leftArea .map a {
  width: 70px;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
}
footer .content .leftArea .info{
  width: 670px;
  margin: 0 0 60px;
}
footer .content .leftArea .info p{
  font-family: 'Libre Baskerville', serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 3.7rem;
  letter-spacing: 0rem;
}
footer .content .cpr{
  font-family: 'Libre Baskerville', serif;
  font-size: 1rem;
}
footer .content .leftArea .link{
  width: 540px;
}
.btn a:hover{
  background: #DD0066;
  color: #fff;
}
.btn.sd a{
  padding: 9px 0;
  transition: 0.4s;
}
.btn.sd a p {
  margin: 0 6px 0 0;
  display: flex;
  font-size: 1.8rem;
  align-items: center;
}
.btn.sd a span{
  display: inline;
  font-size: 1rem;
  letter-spacing: 0rem;
}
.btn.sd a svg{
  position: relative;
  top: -4px;
  transition: 0.3s;
  fill:#d06;
}
.btn.sd a:hover svg{
  transition: 0.3s;
  transform: rotate(-30deg);
  fill:#fff;
}
/* # =================================================================
   #ものづくり
# ================================================================= */
/* .scManu */
.scManu{
  width: 100%;
  margin: 0 auto 160px;
  padding: 200px 0 0 0;
  position: relative;
  top: 0;
}
.scManu .txtArea h1{
  margin: 0 auto 50px;
  position: relative;
  top: 0;
  display: inline-block;
  font-size: 4.2rem;
}
.scManu .txtArea h1:after{
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #DD0066;
  content: "";
}
.scManu .content {
  width: 87%;
  max-width: 1100px;
  align-items: baseline;
  margin: 0 auto 250px;
}
.scManu .txtArea {
  width: 100%;
  color: #fff;
}
.scManu .img {
  position: absolute;
  z-index: -1;
  right: 0;
  width: 100%;
  max-width: 100%;
  top: 0;
  height: 630px;
  background: black;
}
.scManu .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
}
.txtArea .txt {
  font-size: 3.4rem;
  line-height: 7rem;
  letter-spacing: 0rem;
}
.scManu ul{
  width: 87%;
  max-width: 1100px;
  margin: 0 auto 160px;
  align-items: flex-start;
}
.scManu ul li{
  width: calc(96% / 3);
  margin: 0;
  position: relative;
  top: 0;
}
.scManu ul li:before{
  position: absolute;
  z-index: -1;
  bottom: -140px;
  left: 0;
  font-family: 'Libre Baskerville', serif;
  font-size: 15rem;
  font-weight: 400;
  color: #F2F2F2;
  letter-spacing: 0rem;
  content: attr(data-num);
}
.scManu ul li:nth-of-type(2){
  margin: 150px auto 0;
}
.scManu ul li:first-of-type.iv1.fadeIn {
  animation: listpop 0.8s forwards 0s;
}
@keyframes listpop {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.scManu ul li:nth-of-type(2).iv1.fadeIn {
  animation: listpop 0.8s forwards 0.6s;
}
.scManu ul li:nth-of-type(3).iv1.fadeIn {
  animation: listpop 0.8s forwards 1s;
}
.scManu ul li:nth-of-type(2):before{
  z-index: 1;
  top: -120px;
  bottom: auto;
}
.scManu ul li img{
  width: 100%;
  object-fit: cover;
}
.scManu ul li p{
  font-size: 1.4rem;
}
.scManu h2{
  margin: 8px auto;
  font-size: 2.6rem;
  line-height: 3.4rem;
}

.scManu .mark {
  width: 87%;
  max-width: 634px;
  margin: auto;
  padding: 36px 24px 36px 5px;
  box-shadow: 0px 0px 30px -15px #707070;
}
.scManu .mark .content img{
  width: 228px;
}
.scManu .mark .content {
  width: 100%;
  margin: 0 auto;
  align-items: center;
  justify-content: flex-start;
}
.scManu .mark .content p{
  width: calc(100% - 228px);
}
/* .scBgGray */
.scBgGray{
  width: 100%;
  padding: 130px 0 100px;
  background: #f2f2f2;
}
.scBgGray.bgimg{
  background: url(img/map_bg.png)no-repeat bottom 50px right/800px,#f2f2f2;
}
.scBgGray h2{
  margin: 0px auto 50px;
}
.scBgGray ul{
  width: 100%;
  align-items: baseline;
  justify-content: flex-start;
}
.scBgGray ul li{
  width: calc(97% /3);
  position: relative;
  top: 0;
  margin: 0 0 80px;
}
.scBgGray ul li:not(:nth-child(3n+3)) {
  margin: 0 1% 80px 0;
}
.scBgGray ul.cir li:before{
  width: 25px;
  height: 25px;
  margin: auto;
  position: absolute;
  z-index: 1;
  top: 260px;
  right: 0;
  left: 0;
  display: flex;
  border-radius: 14px;
  background: #DD0066;
  font-family: 'Libre Baskerville', serif;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0rem;
  content: attr(data-num);
  align-items: center;
  justify-content: center;
}
.scBgGray ul.cir li:after{
  width: 107%;
  height: 1px;
  position: absolute;
  top: 270px;
  background: #707070;
  content: "";
}
/* .scBgGray ul li:nth-of-type(3n):after{
  width: 100%;
}
.scBgGray ul li:nth-of-type(11):after{
  width: 100%;
} */
.scBgGray ul li p{
  font-size: 1.4rem;
  line-height: 2rem;
}
.scBgGray ul li h3{
  margin: 0 0 8px;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 3.4rem;
}
.scBgGray ul li img{
  width: 100%;
  height: 200px;
  margin: 0 auto 20px;
  object-fit: cover;
}
.scBgGray ul.cir li img{
  margin: 0 auto 60px;
}


.scBgGray.custom ul li img {
  height: 232px;
}
/* # =================================================================
   #品質管理
# ================================================================= */
.scQua{
  padding: 0;
}
.scQua .bg{
  width: 100%;
  margin: 0 0 135px;
  padding: 222px 0 142px;
  background: url("img/qua_bg.png")no-repeat top center/cover;
}
.scQua .content {
  margin: 0 auto;
}
.scQua .txtArea {
  width: 630px;
}
.scQua .txtArea h1 {
  color: #fff;
}
.scQua .txtArea .txt {
  font-size: 4.4rem;
  line-height: 8rem;
  color: #fff;
}
.scQua .txtArea h1 {
  margin: 0 auto 90px;
  position: relative;
  top: 0;
  display: inline-block;
  font-size: 6.2rem;
  color: #fff;
}
.scQua .txtArea h1:after {
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #DD0066;
  content: "";
}
.scQua ul{
  width: 100%;
}
.scQua ul li{
  width: 100%;
  margin: 0 0 162px;
  position: relative;
  top: 0;
}
.scQua ul li img{
  width: 1136px;
  height: 500px;
  object-fit: cover;
}
.scQua ul li .content{
  width: 80%;
  max-width: 1200px;
  margin: auto;
}
.scQua ul li .textBox{
  width: 634px;
  margin: -220px 0 0 auto;
  padding: 70px 30px;
  position: relative;
  z-index: 1;
  background: #fff;
  box-shadow: 5px 5px 15px -10px #707070;
}
.scQua .content ul li {
  background: url("img/qua_li_01.png")no-repeat top left/cover;
}
.scQua ul li .textBox h2{
  margin: 0 0 20px;
  font-size: 3rem;
  line-height: 3.4rem;
}
.scQua ul li .textBox h2 span{
  display: inline-block;
  font-family: 'Libre Baskerville', serif;
  font-size: 5.4rem;
  font-weight: 400;
  color: #DD0066;
}
.scQua ul li:nth-of-type(2) img{
  margin: 0 0 0 auto;
}
.scQua ul li:nth-of-type(2) .textBox {
  margin: -220px auto 0 0;
}
.scBgGray.bgimg.qua {
  background: none;
}
/* .scConsult */
.scConsult{
  width: 100%;
  padding: 112px 0;
  background: url("img/qua_bg_01.png") no-repeat top center/cover;
}
.scConsult .content {
  width: 80%;
  max-width: 1200px;
  margin: auto;
}
.scConsult .content .textBox{
  width: 634px;
  margin: 0 0 0 auto;
  padding: 70px 30px;
  position: relative;
  z-index: 1;
  background: #fff;
  box-shadow: 5px 5px 25px -10px #707070;
}
.scConsult .content .textBox h2{
  margin: 0 auto 20px;
  font-size: 3rem;
  line-height: 3.4rem;
}
.scConsult .content .textBox p{
  font-size: 1.4rem;
  line-height: 2rem;
}
/* # =================================================================
   #会社概要
# ================================================================= */
.scCom {
  width: 100%;
  margin: 0 auto;
}
.scCom .contentBox {
  width: 90%;
  max-width: 1500px;
  margin: 0 auto 130px 0;
  padding: 240px 0 0 0;
  position: relative;
  top: 0;
  align-items: flex-start;
}
.scCom .img {
  width: 60%;
  max-width: 948px;
}
.scCom .txtArea {
  width: 100%;
  position: absolute;
  right: 0;
  text-align: right;
}
.scCom .contentBox .txtArea h1{
  margin: 0 0 90px;
  position: relative;
  top: 0;
  display: inline-block;
  font-size: 6.2rem;
  line-height: 6rem;
}
.scCom .txtArea h1:after {
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #DD0066;
  content: "";
}
.scCom .tableBox {
  width: 87%;
  max-width: 1200px;
  margin: 0 auto 388px;
  text-align: left;
  align-items: flex-start;
}
.scCom .tableBox table{
  width: 80%;
  max-width: 900px;
  border-collapse: collapse;
}
table{
  border-collapse: collapse;
}
.scCom .tableBox h2{
  font-size: 3.2rem;
  line-height: 3.2rem;
}
table tr{
  width: 100%;
  border-collapse: collapse;
  font-size: 1.6rem;
  line-height: 2.3rem;
}
.scCom .tableBox table tr th{
  width: 290px;
  padding: 12px 0;
}
.scCom .tableBox table tr td{
  width: calc(100% - 290px);
  padding: 12px 0;
}
.scCom .tableBox table tr td iframe{
  width: 100%;
  height: 288px;
  margin: 10px 0;
}
table tr th{
  border-bottom: solid 1px #707070;
  vertical-align: text-top;
}
table tr td p{
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.3rem;
  color: #000;
  letter-spacing: 0.05em;
}
table tr td{
  border-bottom: solid 1px #707070;
}
table tr:first-of-type th{
  border-top: solid 1px #707070;
}
table tr:last-of-type th{
  border-bottom: none;
}
table tr:first-of-type td{
  border-top: solid 1px #707070;
}
table tr:last-of-type td{
  border-bottom: none;
}

.scCom .imgArea {
  width: 100%;
  background: #f2f2f2;
}
.scCom .imgArea .imgBox{
  width: 1100px;
  height: 800px;
  margin: 0 auto;
  position: relative;
  top: -50px;
}
.scCom .imgArea img{
  object-fit: cover;
}
.scCom .imgArea img.ft {
  width: 168px;
  height: 246px;
  margin: 0;
}
.scCom .imgArea img.sd {
  width: 446px;
  height: 240px;
  position: absolute;
  top: -122px;
  left: 0;
  right: 0;
  margin: auto;
}
.scCom .imgArea img.td {
  width: 352px;
  height: 446px;
  position: absolute;
  right: 90px;
  top: 0;
}
.scCom .imgArea img.four{
  width: 446px;
  height: 330px;
  position: absolute;
  left: 190px;
  top: 140px;
}
.scCom .imgArea img.five{
  width: 352px;
  height: 200px;
  position: absolute;
  left: 100px;
  bottom: 100px;
}
.scCom .imgArea img.six{
  width: 446px;
  height: 330px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.scBgGray.com {
  margin: 0;
  padding: 150px 0 200px;
}
.scBgGray.com h2 {
  margin: 0 0 80px;
  font-size: 3.2rem;
  text-align: center;
}
.scBgGray.com table{
  width: 100%;
  max-width: 822px;
  margin: 0 auto 120px;
}
.scBgGray.com table tr th{
  width: 262px;
  padding: 12px 0;
  text-align: left;
}
.scBgGray.com table tr td{
  width: calc(100% - 262px);
  padding: 12px 0;
  text-align: left;
}
.scBgGray.com .btn{
  margin: auto;
}
/* # =================================================================
   #FAQ
# ================================================================= */
.scFaq {
  width: 100%;
  margin: 0 0 140px;
  padding: 180px 0 0 0;
}
.scFaq .content {
  max-width: 1100px;
}
.scFaq h1 {
  margin: 0 0 80px;
  position: relative;
  top: 0;
  display: inline-block;
  font-family: 'Libre Baskerville', serif;
}
.scFaq h1:before {
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #DD0066;
  content: "";
}
.scFaq .linkArea{
  width: 752px;
  margin: 0 0 80px;
}
.scFaq .linkArea a{
  position: relative;
  top: 0;
  font-family: "Noto Sans JP", sans-serif;
}
.scFaq .linkArea a span {
  position: absolute;
  top: 36%;
  right: -20px;
  transition: all 0.4s ease;
  transform: rotate(
-90deg
);
}
.scFaq  .linkArea .faqArea{
  width: 100%;
}
.scFaq .faqArea .faqbox{
  width: 100%;
  align-items: flex-start;
}
.scFaq .faqArea .faqbox ul{
  width: 732px;
  margin: 0 0 80px;
}
.scFaq .faqArea .faqbox .ttl{
  width: calc(100% - 732px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 4rem;
  padding: 0 40px 0 0;
  text-align: center;
}
.scFaq .faqArea .faqbox ul li{
  width: 100%;
  padding: 20px 0;
  border-bottom: solid 1px #f1f1f1;
}
.scFaq .faqArea .faqbox ul li:first-of-type{
  border-top: solid 1px #f1f1f1;
}
.scFaq .faqArea .faqbox ul h3{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  display: flex;
  align-items: center;
}
.scFaq .faqArea .faqbox ul h3 span{
  width: 60px;
  display: inline-block;
  font-family: 'Libre Baskerville', serif;
  font-size: 4rem;
  font-weight: 400;
  text-align: left;
}
.scFaq .faqArea .faqbox ul li .box p{
  padding: 30px 0 0 0;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 4.4rem;
  align-items: center;
}
.scFaq .plus::before,.scFaq .plus::after {
  width: 22px;
  height: 2px;
  position: absolute;
  background: #4D4D4D;
  content: '';
}
/*アコーディオンで現れるエリア*/
.scFaq .faqArea .faqbox ul li .box {
  display: none;/*はじめは非表示*/
}
.scFaq .faqArea .faqbox ul li .box span{
  width: 60px;
  display: inline-block;
  font-family: 'Libre Baskerville', serif;
  font-size: 5.1rem;
  text-align: left;
  color: #DD0066;
padding: 0 21px 0 0;
}
/*アコーディオンタイトル*/
.plus {
  position: relative;
  cursor: pointer;
  transition: all .5s ease;/*+マークの位置基準とするためrelative指定*/
}

/*アイコンの＋と×*/
.plus::before,
.plus::after{
  width: 22px;
  height: 5px;
  position: absolute;
  background: #4D4D4D;
  content:'';
  
}
.plus::before{
  top:48%;
  right: 15px;
  transform: rotate(0deg);
  
}
.plus::after{    
  top:48%;
  right: 15px;
  transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.plus.close::before{
transform: rotate(45deg);
}

.plus.close::after{
transform: rotate(-45deg);
}

.scProduct {
  width: 100%;
  padding:  180px 0 200px;
}
.scProduct h1{
  margin: 0 0 100px;
  position: relative;
  top: 0;
  display: inline-block;
}
.scProduct h1:after {
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #DD0066;
  content: "";
}
.scProduct .proArea{
  width: 100%;
  align-items: flex-start;
}
.scProduct .proArea .sideBar{
  width: 240px;
  position: relative;
  top: 0;
  font-family: "Noto Sans JP", sans-serif;
}
.scProduct .proArea .sideBar li.all{
  width: 100%;
  margin: 0 0 30px;
  padding: 0 0 30px;
  position: relative;
  top: 0;
  border-bottom: solid 1px #707070;
}
.scProduct .proArea .sideBar li.all a{
  width: 168px;
  position: relative;
  top: 0;
  display: inline-block;
}
.scProduct .proArea .sideBar ul li{
  width: 100%;
  width: 168px;
  margin: 0 0 16px;
  position: relative;
  top: 0;
  display: inline-block;
}
.scProduct .proArea .sideBar .bold{
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.9rem;
}
.scProduct .proArea .proList{
  width: calc(100% - 258px);
}
.scProduct .proArea .faciList{
  width: calc(100% - 258px);
}
.scProduct .proArea .proList ul {
  width: 100%;
  justify-content: flex-start;
}

#sticked {
  width: 100%;
  height: 460px;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
}
.scProduct .proArea .faciList ul {
  width: 100%;
  justify-content: flex-start;
}
.scProduct .proArea .proList ul li{
  width: calc(94% / 3);
  margin: 0 1% 40px;
  position: relative;
  top: 0;
  transition: all 0.3s ease;
}
.scProduct .proArea .faciList ul li{
  width: calc(94% / 3);
  margin: 0 1% 40px;
  position: relative;
  top: 0;
  transition: all 0.3s ease;
}
.scProduct .proArea .proList ul li img{
  object-fit: cover;
}
.scProduct .proArea .faciList ul li img{
  object-fit: cover;
}
.scProduct .proArea .proList ul li .name{
  width: 264px;
  height: 30px;
  position: absolute;
  top: -20px;
  left: 0;
  /*display: inline-flex;*/
   /*background-color: rgba(255, 255, 255, 0.5);*/
  background: #fff;
  font-family: 'Libre Baskerville', serif;
  font-size: 1.6rem;
  line-height: 3.2rem;
  justify-content: center;
  align-items: center;
  /*opacity: 0.5;*/
}
.scProduct .proArea .faciList ul li .name{
  width: 76px;
  height: 38px;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  background: #fff;
  font-family: 'Libre Baskerville', serif;
  font-size: 2.6rem;
  line-height: 3.2rem;
  justify-content: center;
  align-items: center;
}
.target.is-hidden {
  display: none;
  opacity: 0;
}
.target.is-show {
  animation: fadeInpro 1s ease; /* フェードイン用のスタイル */
}
.postWrap .post {
  animation: fadeInpro 1s ease; /* フェードイン用のスタイル */
}
@keyframes fadeInpro {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
     transform: translateY(0);
    opacity: 1;
  }
}



.scProduct .proArea .btnArea {
  width: 100%;
}
.scProduct .proArea .btnArea button{
  width: 100%;
  margin: 80px 0 0 0;
  padding: 12px 0;
  position: relative;
  top: 0;
  display: inline-block;
  background: #000;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
}
.scProduct .proArea .moreButton{
  width: 100%;
}
.scProduct .proArea .moreButton button{
  width: 100%;
  margin: 80px 0 0 0;
  padding: 12px 0;
  position: relative;
  top: 0;
  display: inline-block;
  background: #000;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
}
.scProduct .proArea .btnArea button.plus::before,.scProduct .proArea .btnArea button.plus::after {
  right: auto;
  left: 40%;
  background: #fff;
}
.scProduct .proArea .moreButton button.plus::before,.scProduct .proArea .moreButton button.plus::after {
  right: auto;
  left: 40%;
  background: #fff;
}
.proList .plus.close::after {
  top: 48%;
  right: 15px;
  transform: rotate(
90deg);
}
.proList .plus.close::before {
  top: 48%;
  right: 15px;
  transform: rotate(
0deg);
}
.sideBtn{
  width: 94px;
  height: 360px;
  position: fixed;
  z-index: 1;
  right: 0;
  display: flex;
  background: #DD0066;
  text-align: center;
  align-items: center;
  justify-content: center;
}
.sideBtn p{
  margin: 0 auto 30px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 3.6rem;
  color: #fff;
  text-align: center;
  letter-spacing: 0.5rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
/* .scContact */
.scContact{
  width: 100%;
  padding: 180px 0 160px;
}
.scContact .content{
  width: 87%;
  max-width: 728px;
  margin: 0 auto 0 20%;
}
.scContact h1{
  margin: 0 0 60px;
  position: relative;
  top: 0;
  display: inline-block;
}
.scContact h1:after {
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #DD0066;
  content: "";
}
.scContact p.top{
  margin: 0 0 64px;
}
.form .contactRow{
  width: 100%;
  margin: 0 0 40px;
  font-family: "Noto Sans JP", sans-serif;
}
.form .contactRow input, .form .contactRow textarea{
  width: 540px;
  padding: 18px;
  border: solid 1px #707070;
  background: #fff;
  font-size: 1.6rem;
  color: #000;
}
.form .contactRow textarea {
  width: 100%;
}
.form label span{
  display: inline-block;
}
.form .contactRow.textarea{
  margin: 0 0 76px;
}
.form .contactRow.textarea label{
  margin: 0 0 20px;
  display: inline-block;
}
::placeholder{
  font-size: 1.2rem;
  color:#B4B4B4;
}
.form .privacy{
  width: 100%;
  margin: 0 0 30px;
  font-family: "Noto Sans JP", sans-serif;
}
.form .pribox{
  width: 100%;
  height: 300px;
  overflow: scroll;
  padding: 30px;
  border: solid 1px #f0f0f0;
  font-family: "Noto Sans JP", sans-serif;
}
.form .pribox h2{
  font-size: 2rem;
  font-weight: 500;
  margin: 0 auto 6px;
}
.form .pribox h3{
  font-size: 1.8rem;
  font-weight: 500;
  margin: 10px auto 6px;
}
.form .privacy .blue{
  color: #00ACBA!important;
  text-decoration: underline;
  display: inline-block;
}
.scContact .btn{
  margin: 0 0 0 auto;
  position: relative;
  top: 0;
}
.scContact .btn img{
  width: 30px;
  height: 32px;
  position: absolute;
  top: 6px;
  right: 9%;
  pointer-events: none;
  opacity: 1;
  transition: all 0.3s ease;
}
.scContact .btn img.after{
  opacity: 0;
}
.scContact .btn:hover img.after{
  opacity: 1;
}
.wpcf7 .ajax-loader{
  display: none;
}
.scContact .btn input {
  width: 100%;
  padding: 12px 0 9px;
  position: relative;
  top: 0;
  display: inline-flex;
  border: solid 1px #DD0066;
  border-radius: 60px;
  font-family: 'Libre Baskerville', serif;
  color: #DD0066;
  transition: all 0.3s ease;
  justify-content: center;
  align-items: center;
}
.scContact .btn input:hover {
  background: #d8005b;
  color: #fff;
}
.wpcf7 .ajax-loader{
  display: none!important;
}
.select .wpcf7-list-item{
  width: 100%;
  margin: 0 0 20px!important;
  display: inline-flex;
  font-size: 1.6rem;
  line-height: 2.4rem;
  align-items: center;
}
.select .wpcf7-list-item span{
  font-size: 1.6rem;
  line-height: 2.4rem;
}
.form .contactRow .select input {
  width: 20px;
  height: 20px;
  margin: 0 20px 0 0;
  display: inline-block;
}
.your-menu{
  margin: 40px 0 0 0;
}
.form label span {
  font-size: 1.6rem;
  line-height: 2.4rem;
  cursor: pointer;
}
.wpcf7-list-item{
  margin: 0!important;
}
.acceptance-301{
  margin: 34px 0 0 0;
}
.form .privacy .acceptance {
  width: 20px;
  height: 20px;
  margin: 0 20px 0 0;
}
.wpcf7-acceptance label{
  display: inline-flex;
  align-items: center;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{
  font-family: "Noto Sans JP", sans-serif;
}
.scThanks{
  width: 100%;
  padding: 320px 0 300px;
}
.scThanks p{
  margin: 0 0 100px;
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: center;
}
.scThanks .btn{
  margin: auto;
  position: relative;
  top: 0;
}
.scThanks .btn a{
  background: #DD0066;
  color: #fff;
}
.scThanks .btn a img{
  display: none;
}
.scThanks .btn.entry a:hover img.after {
  position: absolute;
  top: 16px;
  right: 6%;
  left: auto;
  /* display: block; */
  opacity: 1;
}
.scThanks .btn.entry img.after {
  /* display: none; */
  opacity: 0;
}
.form .contactRow.select {
  margin: 60px 0;
}
.form .select{
  width: 100%;
  margin: 20px 0 0 0;
}
.form .select .flex {
  margin: 0 0 20px;
  justify-content: inherit;
}
.form .select .flex label{
  cursor: pointer;
}
@media screen and (max-width: 1900px) {
header nav ul li:nth-of-type(2) .list::before {
  left: -300px;
}
}
@media screen and (max-width: 1600px) {
header nav ul .btn {
  margin: 0;
}
header ul li a {
  font-size: 1.8rem;
  line-height: 2.8rem;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.8rem;
  line-height: 2.8rem;
}
header nav ul li:nth-of-type(2) .list::before {
  left: -290px;
}
header nav ul li:nth-of-type(2) .list {
  top: 90px;
}
.scMv .content img.ft {
  width: 680px;
}
.scMv .content .leftbox {
width: calc(100% - 680px);
}
.scMv .content .leftbox .txtBox {
padding: 0 30px 0 50px;
}

}
@media screen and (max-width: 1500px) {
header .content {
  padding: 36px 24px 0 90px;
}
.scMv .content img.ft {
  width: 580px;
}
.scMv .content .leftbox {
  width: calc(100% - 580px);
}
footer .content .leftArea .info {
  width: 100%;
}
}
@media screen and (max-width: 1400px) {
header .content {
  padding: 36px 24px 0 82px;
}
header a.logo {
  width: 210px;
}
header nav ul li:nth-of-type(2) .list::before {
  left: -230px;
}
.btn a p {
  font-size: 2rem;
  line-height: 2.4rem;
}
header ul li a {
  font-size: 1.8rem;
  line-height: 2.8rem;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.8rem;
  line-height: 2.8rem;
}
header nav .btn {
  width: 210px;
}
.scMv .content img.ft {
    width: 480px;
}
.scMv .content .leftbox {
  width: calc(100% - 480px);
}
.scMv .content .leftbox .txtBox {
  padding: 0 30px 0 20px;
}
	.scLink .content .linkArea li .img {
    width: 75%;

}
}
@media screen and (max-width: 1250px) {
.scMv .content img.ft {
  width: 400px;
}
.scMv .content .leftbox {
  width: calc(100% - 400px);
}
.scLink .content .linkArea li .img {
  width: 75%;
}
.scFaq .faqArea .faqbox .ttl {
  font-size: 3rem;
}
}
@media screen and (max-width: 1200px) {
h1 {
  margin: 0 auto 20px;
  font-size: 4rem;
}
header .content {
  padding: 36px 14px 0 62px;
}
header ul li a {
  font-size: 1.8rem;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.8rem;
}
.btn a p {
  font-size: 1.8rem;
}
header nav .btn {
  width: 190px;
}
.scMv .content img.sd {
  width: 200px;
}
.scMv .content .leftbox .txtBox {
  width: calc(100% - 200px);
  padding: 0 30px 0 40px;
}
.scLink .content .linkArea li .img {
  width: 73%;
}
.scManu .txtArea {
  width: 60%;
}
.scQua ul li img {
  width: 900px;
  height: 400px;
}
.scFaq .faqArea .faqbox .ttl {
  font-size: 2.6rem;
}
.scFaq .faqArea .faqbox ul {
  width: 700px;
}
.scCom .tableBox {
  margin: 0 auto 300px;
}
.scCom .imgArea .imgBox{
  width: 70%;
  height: 530px;
  top: 0;
}
.scCom .imgArea img.ft {
  width: 140px;
  height: 210px;
}
.scCom .imgArea img.sd {
  width: 320px;
  height: 170px;
}
.scCom .imgArea img.td {
  width: 200px;
  height: 270px;
}
.scCom .imgArea img.four {
  width: 300px;
  height: 220px;
}
.scCom .imgArea img.five {
  width: 200px;
  height: 120px;
}
.scCom .imgArea img.six {
  width: 300px;
  height: 220px;
}
}
@media screen and (max-width: 1100px) {
header .content {
  padding: 36px 14px 0 30px;
}
header .btn a p {
  font-size: 1.7rem;
}
header ul li a {
  font-size: 1.7rem;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.7rem;
}
header nav .btn {
  width: 170px;
}
.scMv .content .leftbox .txtBox {
  padding: 0 20px;
}
.scBgGray ul li h3 {
  font-size: 2.4rem;
  line-height: 3.2rem;
}
.scQua ul li img {
  width: 700px;
  height: 350px;
}
.scFaq .faqArea .faqbox .ttl{
  width: 30%;
  display: inline-block;
}
.scFaq .faqArea .faqbox ul {
  width: 70%;
}
.scFaq .linkArea {
  width: 90%;
}
.scFacitp .txtBox {
  width: 40%;
}
.scFacitp ul#slider2 {
  width: 60%;
}
}
@media screen and (max-width: 1000px) {
header .content {
  padding: 36px 10px 0 32px;
}
header a.logo {
  width: 160px;
}
header .btn a {
  padding: 10px 0 8px 18px;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.4rem;
}
header ul li a {
  font-size: 1.4rem;
}
header nav .btn {
  width: 150px;
}
header .btn a p {
font-size: 1.4rem;
}
header nav ul li:nth-of-type(2) p span {
  top: 28%;
}
header nav ul li:nth-of-type(2) .list::before {
  left: -180px;
}
.scManu h2 {
  font-size: 2rem;
  line-height: 3rem;
}
.scBgGray ul li h3 {
  font-size: 2rem;
  line-height: 3rem;
}
.scMv .content img.ft {
  width: 300px;
}
.scMv .content .leftbox {
  width: calc(100% - 300px);
}
.scMv .content .leftbox .txtBox {
  padding: 0 10px;
}
.scFaq .faqArea .faqbox ul h3{
  width: 95%;
}
.scFaq .faqArea .faqbox ul .plus::before,.scFaq .faqArea .faqbox ul .plus::after {
  right: -20px;
}
.scCom .imgArea .imgBox {
  width: 90%;
}
	.scLink .content .linkArea li a .txtbox .tll {
    font-size: 3rem;
    line-height: 3rem;
}
	.scLink .content .linkArea li a .txtbox .tll span {
    padding: 10px 0 0 10px;
    font-size: 1.2rem;
    line-height: 1.2rem;
}
}
@media screen and (max-width: 900px) {
header ul li a {
  font-size: 1.2rem;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.2rem;
}
header .btn a p {
  font-size: 1.2rem;
}
header nav .btn {
  width: 150px;
}
header .btn a {
  padding: 4px 0 3px 14px;
}
}
@media screen and (max-width: 768px) {
#loaderBg {
  height: 120vh!important;
}
  /* 404 */
#errorpage.content{
  padding: 200px 0 0;
}
#errorpage.content .txt {
  font-size: 20rem;
  line-height: 20rem;
  margin: 0 auto 20px;
}
#errorpage.content p{
  font-size: 2rem;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .flex {
    display: block;
  }
  h1 {
    font-size: 3.4rem;
  }
  p {
    font-size: 1.8rem;
    line-height: 3rem;
  }
  /* btn */
  .btn {
    width: 350px;    
    margin: 30px auto;
  }
  .btn a {
    padding: 14px 40px 12px;
  }
  .btn a p {
    margin: 0 10px 0 0;
    font-size: 2.4rem;
    letter-spacing: 0;
}
  .btn.sd {
    width: 350px;
  }
  .btn.sd a{
    padding: 14px 0 10px;
  }
  header{
    height: 100px;
  }
  header .btn{
    width: 350px;
    margin: 30px auto 0;
  }
  header ul li.btn.sd {
    margin: 30px auto 120px;
}
  p.top {
    line-height: 4rem;
}
.more {
  margin: 30px 0 0 0;
}
.more .txt {
  margin: 0 14px 0 0;
  font-size: 2.2rem;
}
  /* header */
  header a.logo {
    width: 220px;
}
header nav{
  width: 100%;
  height: 100vh;
}
header ul li {
  margin: 0;
  padding: 20px 8%;
  position: relative;
  top: 0;
}
header ul li:before {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 20px;
  right: 40px;
  background: url(img/pinkarrow.svg)no-repeat top center /100%;
  content: "";
}
header nav ul li:nth-of-type(2) p {
  width: 100%;
  padding:0;
  display: inline-flex;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}
.main-items {
  width: 100%;
}
header nav ul{
  width: 100%;
}

header .content {
  padding: 32px 20px 0 55px;
}

/* .sitemenu {
  width: 100%;
 
  } */
  /* .sitemenu .navwrap {
  width: 100%;
  } */
  .sitemenu .inner {
  width: 100%;
  overflow: scroll;
  }
.sitemenu {
  width: 100%;
  height: 0;
  position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  color: #444;
  pointer-events: none;
}
.sitemenu .navwrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 0 60px 2px rgb(0 0 0 / 7%);
  opacity: 1;
  transition: 1s;
}
.sitemenu.is-open {
  height: 100vh;
  pointer-events: auto;
}
.sitemenu.is-open .navwrap {
  opacity: 1;
  transition: 1s;
}
.sitemenu .navwrap .wrap {
  width: 240px;
  height: 240px;
  margin-top: -120px;
  margin-right: -120px;
  position: absolute;
  top: 56px;
  right: 56px;
  display: block;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #fff;
  /* border: solid 3px #DD0066; */
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-transform: scale(0.2);
  transform: scale(0.2);
}
nav.sitemenu.is-open .navwrap .wrap {
  opacity: 1;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  -webkit-transform: scale(11);
  transform: scale(11);
  /* border: solid 0.1px #DD0066; */
}
.menubtn {
  position: fixed;
  z-index: 4;
  top: 40px;
  right: 140px;
  font-weight: 600;
  cursor: pointer;
}
.menubtn span {
  letter-spacing: 0.5rem;
}
.menubtn .lines {
  width: 24px;
  height: 16px;
  margin: 0;
  position: absolute;
  top: 13px;
  left: 8px;
}
.menubtn.is-open{
  border: none;
}
.menubtn .lines .line {
  width: 24px;
  height: 2px;
  background: #DD0066;
  transition-timing-function: cubic-bezier(0.3, 0.1, 0.2, 1);
  transition-duration: 0.4s;
  transition-property: transform;
}
.menubtn .lines .line-1 {
  position: absolute;
  top: 0;
  left: 0;
}
.menubtn .lines .line-2 {
  position: absolute;
  bottom: 7px;
  left: 0;
}
.menubtn .lines .line-3 {
  position: absolute;
  bottom: 0;
  left: 0;
}
.menubtn.is-open .line-1 {
  transform: translateY(4px) rotate(45deg);
}
.menubtn.is-open .line-2 {
  transform: translateY(-3px) rotate(135deg);
}
.menubtn.is-open .line-3 {
  transform: translateY(-10px) rotate(135deg);
}
.sitemenu .inner {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
.sitemenu .main-items ul li {
  opacity: 0;
}
header ul li.btn {
  width: 350px;
  margin: 30px auto;
  padding: 0;
  position: relative;
  top: 0;
  border-bottom: none;
}
header ul li.btn:first-of-type {
  margin: 50px auto 0;
}
header ul li.btn::before {
  display: none;
}
.btn.sd a span {
  margin: 0 10px 0 0;
  letter-spacing: 0;
}
.sitemenu .main-items ul li a {
  width: 100%;
  padding: 0;
  display: inline-flex;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}
header .sitemenu .main-items ul li.btn a {
  padding: 14px 0 12px 14px;
}
header .btn a p {
  font-size: 1.8rem;
}
.sitemenu.is-open .main-items ul li {
  border-bottom: solid 1px #707070;
  transform: translateY(100%);
  animation: fadeIn 1s forwards 0.4s;
}
.sitemenu.is-open .main-items ul li:nth-child(1) {
  margin: 50px 0 0 0;
  transition: 0.5s;
}
.sitemenu.is-open .main-items ul li:nth-child(2) {
  border-bottom: solid 1px #c0c0c0;
  transition: 0.6s;
}
.sitemenu.is-open .main-items ul li:nth-child(2):before {
  display: none;
}
.sitemenu.is-open .main-items ul li:nth-child(3) {
  border-bottom: solid 1px #c0c0c0;
  transition: 0.7s;
}
.sitemenu.is-open .main-items ul li:nth-child(4) {
  border-bottom: solid 1px #c0c0c0;
  transition: 0.8s;
}
.sitemenu.is-open .main-items ul li:nth-child(5) {
  border-bottom: solid 1px #c0c0c0;
  transition: 0.9s;
}
.sitemenu.is-open .main-items ul li:nth-child(6) {
  transition: 1s;
}
.sitemenu.is-open .main-items ul li:nth-child(7) {
  transition: 1.1s;
}
.sitemenu.is-open .main-items ul li:nth-child(8) {
  transition: 1.2s;
}
.sitemenu.is-open .main-items ul li:nth-child(9) {
  transition: 1.3s;
}
.sitemenu.is-open .main-items ul li:nth-child(10) {
  transition: 1.4s;
}
.sitemenu.is-open .main-items ul li.btn{
  border: none;
}
.menubtn {
  width: 42px;
  height: 42px;
  top: 30px;
  right: 40px;
  border: solid 1px #DD0066;
  border-radius: 22px;
}

header nav ul li:nth-of-type(2):hover .list{
  display: none;
}
  /* scMv */
.scMv {
  /* background: url(img/mv_bg.png)no-repeat bottom 120px right -240px/130%; */
  padding: 0 0 150px;
  overflow: hidden;
}
.wdmap {
  width: 120%;
  height: 470px;
  margin: -350px 0 0 auto;
  background: url("img/mv_bg.png")no-repeat bottom right/890px;
}
.movearea {   
  width: 800px;
  overflow: hidden;
}
.scMv ul#slider {
  margin: 0;
}
.scMv ul#thumbnail_slider {
  width: 70%;
  margin: 0 auto 50px 50px;
}
.scMv ul#thumbnail_slider .slick-slide img {
  width: 100%;
  height: 250px;
  display: block;
  object-fit: contain;
} 
.scMv ul#thumbnail_slider li{
  margin: 0 10px;
}
.scMv .content {
  margin: 0;
}
.scMv .content .leftbox {
  width: 100%;
}
.scMv .content .leftbox .txtBox {
  width: 84%;
  margin: auto;
  padding: 0;
}
.scMv .content img.ft {
  width: 70%;
  max-width: 750px;
  margin: -20px 0 30px auto;
  object-fit: cover;
}
#slider .slick-next {
  bottom: -318px;
}
#slider .slick-prev {
  bottom: -316px;
}
.slick-dots {
  bottom: -280px;
}
.scMv .content .leftbox .txtBox p {
  margin: 0 auto 50px;
}
.scMv .more {
  margin: 30px 0 60px;
}
/* scLink */
.scLink .content h2 {
  margin: 0 auto 30px;
  text-align: left;
}
.scLink .content .linkArea li:first-of-type img {
  width: 100%;
  margin: 0;
}
.scLink .content .linkArea li {
  width: 100%;
}
.scLink .content .linkArea li:first-of-type a:hover .circle {
  margin: 120px auto;
}
.scLink .content .linkArea li .img {
  width: 100%;
  right: 0;
}
.scLink .content .linkArea li:first-of-type a .circle {
  margin: 150px auto;
}
.scLink .content .linkArea li a .circle {
  margin: 150px auto;
}
.scLink .content .linkArea li:first-of-type a:hover .circle {
  width: 70px;
  height: 70px;
  margin: 150px auto;
  background: none;
}
.scLink .content .linkArea li a:hover .circle {
  width: 70px;
  height: 70px;
  background: none;
}
.scLink .content .linkArea li a:hover .circle {
  margin: 150px auto;
}
.scLink .content .linkArea li:first-of-type .img {
  width: 100%;
  margin: 0 0 0 auto;
}
.scLink .content .linkArea li:nth-of-type(2) {
  margin: 100px 0 0 0;
  top: 0;
}
.scLink .content .linkArea li:nth-of-type(3) {
  margin: 100px 0 0 0;
  top: 0;
}
.scLink .content .linkArea li:nth-of-type(4) {
  margin: 100px 0 0 0;
  top: 0;
}
.scLink .content .linkArea li:first-of-type a .txtbox {
  width: 100%;
  top: auto;
  bottom: -60px;
  left: 0;
  transform: none;
}
.scLink .content .linkArea li a .txtbox .tll {
  width: 100%;
  justify-content: space-between;
}
.scLink .content .linkArea li img {
  width: 100%;
  height: 370px;
  margin: 0;
  object-fit: cover;
}
.scLink .content .linkArea li a .txtbox {
  width: 100%;
  top: auto;
  bottom: -60px;
  left: 0;
  transform: none;
}
.scLink .content .linkArea li:nth-of-type(3) a .txtbox {
  top: auto;
  left: 0;
}
.scLink .content .linkArea li a:hover .img .mask {
  display: none;
}
.scLink .content .linkArea li a:hover .circle #pink {
  fill: #e3007f;
}
.scLink .content .linkArea li:first-of-type a .txtbox {
  bottom: -50px;
}
.scLink .content .linkArea li a .txtbox {
  bottom: -50px;
writing-mode: unset;
}
.scLink .content .linkArea li a .txtbox .tll {
  font-size: 3.6rem;
  line-height: 3.6rem;
}
.scLink .content .linkArea li a .txtbox .tll span {
  font-size: 2.4rem;
  line-height: 2.4rem;
	padding:0;
}
/* scBgLink */
.scBgLink ul li img.bg {
  height: 750px;
}
.scBgLink ul li .whitebox {
  margin: 0 auto;
}
.scBgLink ul li .whitebox {
  height: 350px;
}
.scBgLink ul li .whitebox .more {
  margin: 30px 0 0 0;
  text-align: center;
}
.scBgLink ul li .whitebox h2 {
  text-align: center;
}
.scBgLink ul li .whitebox {
  width: 100%;
  padding: 30px;
}
.scBgLink ul li .whitebox p {
  font-size: 1.6rem;
}
/* scFacitp */
.scFacitp {
  margin: 200px auto;
}
.scFacitp .content {
  width: 100%;
  margin: 0 auto;
}
.scFacitp .txtBox {
  width: 87%;
  margin: 0 auto 50px;
  padding: 0;
}
.scFacitp ul#slider2 {
  width: 94%;
  margin: 0 0 0 auto;
}
.scFacitp .more{
  width: 94%;
  margin: 50px 0 0 auto;
}
/* scBtn */
.scBtn {
  margin: 250px auto 150px;
}
/* footer */
footer .content .logo {
  margin: 0 auto 60px;
}
footer .content .leftArea .info p {
  font-size: 3rem;
}
footer .content .leftArea {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
footer .content .leftArea .info {
  width: 100%;
  display: flex;
}
footer .content .leftArea .link {
  display: none;
}
footer .content .back {
  width: 70px;
  height: 70px;
  margin: 0 auto 30px;
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
footer .content .cpr {
  text-align: center;
}
/* .scManu */
.scManu {
  width: 100%;
  margin: 0 auto 80px;
  padding: 112px 0 0 0;
}
.scManu .txtArea {
  width: 93%;
  margin: 0 auto 12px 0;
}
.scManu .content {
  width: 94%;
  margin: 0 0 80px auto;
}
.scManu .mark .content img {
  margin: 80px auto 20px;
}
.txtArea .txt {
  font-size: 2.2rem;
  line-height: 3.2rem;
}
.scManu .txtArea h1 {
  margin: 0 auto 30px;
  font-size: 3rem;
}
.scManu .img {
  height: 320px;
}
.scManu ul {
  width: 87%;
  margin: 80px auto 0;
}
.scManu ul li {
  width: 100%;
}
.scManu ul li img {
  width: 100%;
  height: 350px;
}
.scManu h2 {
  margin: 32px auto 12px;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scManu ul li:before {
  top: 340px;
  bottom: auto;
  font-size: 13.4rem;
}
.scManu ul li:nth-of-type(2):before {
  z-index: -1;
  top: 340px;
  bottom: auto;
}
.scManu ul li:nth-of-type(2) {
  margin: 40px auto;
}
.scManu .mark {
  margin: 70px auto 0;
  padding: 20px 20px 30px;
}
.scManu .mark .content img {
  margin: 0px auto;
}
.scManu .mark .content p {
  width: 100%;
  font-size: 1.4rem;
}
/* scBgGray */
.scBgGray.bgimg {
  padding: 94px 0 400px;
}
.scBgGray {
  padding: 100px 0 120px;
}
.scBgGray h2 {
  margin: 0 auto 40px;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scBgGray ul.cir {
  width: 90%;
  margin: 0 0 0 auto;
}
.scBgGray ul li {
  width: 100%;
  margin: 0 0 40px;
}
.scBgGray ul li:not(:nth-child(3n+3)) {
  margin: 0 0 40px 0;
}
.scBgGray ul li:not(:nth-child(3n+3)) {
  margin: 0 0 40px 0;
}
.scBgGray ul li img {
  height: 320px;
}
.scBgGray ul.cir li img {
  width: 133px;
  height: 76px;
  margin: 0;
}
.scBgGray ul.cir li .imgBox {
  display: flex;
}
.scBgGray ul.cir li:before {
  top: 0;
  right: auto;
  left: -10%;
}
.scBgGray ul.cir li:after {
  width: 1px;
  height: 200px;
  top: -24px;
  left: -8%;
}
.scBgGray ul.cir li:nth-of-type(3n):after {
  width: 1px;
}
.scBgGray ul.cir li:nth-of-type(11):after {
  width: 1px;
}
.scBgGray ul li p {
  font-size: 1.3rem;
  line-height: 2rem;
}
.scBgGray ul.cir li p {
  padding: 0 0 0 20px;
}
.scBgGray ul.cir li h3 {
  margin: 0 0 10px;
  font-size: 2rem;
  line-height: 2.6rem;
}
/* .scQua */
.scQua {
  margin: 0 0 200px;
}
.scQua .txtArea h1 {
  margin: 0 auto 30px;
  font-size: 3rem;
  line-height: 3rem;
}
.scQua .txtArea .txt {
  font-size: 2.4rem;
  line-height: 3.2rem;
}
.scQua .bg {
  margin: 0 0 80px;
  padding: 120px 0 56px;
  height: 582px;
  background: url(img/qua_bg_sp.png)no-repeat top center/cover;
}
.scQua ul li .textBox {
  width: 100%;
  margin: -100px auto 0;
  padding: 30px 20px 40px;
}
.scQua ul li:nth-of-type(2) .textBox {
  margin: -100px auto 0;
}
.scQua ul li .textBox h2 span {
  display: block;
  font-size: 4rem;
  line-height: 5rem;
}
.scBgGray ul.cir li p {
  padding: 0 0 0 8px;
}
.scQua ul li {
  margin: 0 0 60px;
}
.scQua ul li img {
  width: 100%;
  height: 350px;
}
/* .scConsult */
.scConsult {
  padding: 40px 0;
}
.scConsult .content .textBox {
  width: 100%;
  padding: 64px 30px;
}
.scConsult .content .textBox h2 {
  font-size: 2.4rem;
  line-height: 3.6rem;
  text-align: center;
}
/* scCom */
.scCom .imgArea .imgBox {
  width: 100%;
}
.scCom .contentBox {
    width: 100%;
    margin: 0 auto 80px;
    padding: 120px 0 0 0;
}
.scCom .img {
  width: 90%;
}
.scCom .txtArea {
  width: 87%;
  margin: 0 auto 12px;
  position: relative;
  top: 0;
  right: auto;
  text-align: left;
}
.scCom .contentBox .txtArea h1 {
  margin: 0 0 30px;
  font-size: 3rem;
  line-height: 3rem;
}
.txtArea .txt {
  font-size: 2.4rem;
  line-height: 3.2rem;
}
.scCom .tableBox {
  width: 87%;
  margin: 0 auto 260px;
}
.scCom .tableBox h2 {
  margin: 0 0 30px;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scCom .tableBox table {
  width: 100%;
}
table tr th {
  border-bottom: none;
}
table tr:first-of-type td {
  border-top: none;
}
.scCom .tableBox table tr th {
  width: 100%;
  padding: 12px 0 6px;
  display: block;
}
.scCom .tableBox table tr td {
  width: 100%;
  padding: 6px 0 12px;
  display: block;
}
.scBgGray.com h2 {
  margin: 0 0 40px;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scBgGray.com table {
  width: 100%;
  margin: 0 auto 100px;
}
.scBgGray.com table tr th {
  width: 100%;
  padding: 12px 0 6px;
  display: block;
}
.scBgGray.com table tr td {
  width: 100%;
  padding: 6px 0 12px;
  display: block;
}
/* .scFaq  */
.scFaq {
  width: 100%;
  margin: 0 0 130px;
  padding: 120px 0 0 0;
}
.scFaq h1 {
  margin: 0 0 40px;
}
.scFaq .linkArea a {
  width: 80%;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2rem;
}
.scFaq .linkArea {
  width: 100%;
  margin: 0 0 86px;
  display: flex;
}
.scFaq .linkArea li{
  width: 49%;
  margin: 0 0 20px;
  padding: 0 0 10px;
  border-bottom: solid 1px #707070;
}
.scFaq .faqArea .faqbox ul {
  width: 100%;
}
.scFaq .faqArea .faqbox .ttl {
  width: 100%;
  margin: 0 0 12px;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scFaq .faqArea .faqbox ul h3 {
  width: 93%;
  display: flex;
  line-height: 2.4rem;
}
.scFaq .faqArea .faqbox ul h3 span {
  width: 30px;
  font-size: 2.3rem;
  line-height: 2.1rem;
	    padding: 0 7px 0 0;
}
.scFaq .faqArea .faqbox ul li {
  padding: 16px 0 20px;
}
.scFaq .faqArea .faqbox ul li .box p {
  padding: 20px 0 0 0;
  line-height: 2.4rem;
}
.scFaq .faqArea .faqbox ul li .box span{
  width: 30px;
  font-size: 2.3rem;
  line-height: 2.1rem;
	padding: 0 7px 0 0;
}
.title::before {
  right: -6%;
}
.title::after {
  right: -6%;
}
.scContact {
  padding: 110px 0 0;
}
.scContact .content{
  margin: auto;
}
.scContact .btn {
  margin: auto;
}

.form .contactRow input, .form .contactRow textarea{
  width: 100%;
}
.form .contactRow label{
  width: 100%;
  margin: 0 0 20px;
  display: inline-block;
}
.select .wpcf7-list-item {
  margin: 0 0 30px!important;
}
.your-menu {
  margin: 10px 0 0 0;
}
.scContact .btn input{
  background: #d8005b;
  color: #fff;
}
.scContact .btn img.after {
  opacity: 1;
}
.scThanks {
  padding: 120px 0 0;
}
.scThanks .btn a {
  background: #DD0066;
  color: #fff;
}
.scThanks .btn a p {
  margin: 0;
  font-size: 1.6rem;
}
.scThanks p {
  margin: 0 0 80px;
  font-size: 1.4rem;
  line-height: 3.2rem;
  text-align: left;
}
form .select .flex {
  margin: 0 0 20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.form .select .flex label {
  width: 80%;
  margin: 0;
}
/* .scProduct */
.scProduct {
  padding: 230px 0 0;
}
.scProduct .proArea .proList ul{
  display: flex;
  justify-content: space-between;
}
.scProduct .proArea .proList ul li {
  width: 48%;
  margin: 0 0 20px;
}
.scProduct .proArea .faciList ul{
  display: flex;
  justify-content: space-between;
}
.scProduct .proArea .faciList ul li {
  width: 48%;
  margin: 0 0 20px;
}
.sideBtn {
  width: 100%;
  height: 80px;
  bottom: 0;
  left: 0;
}
.scProduct .proArea .proList {
  width: 100%;
}
.sideBtn a{
  width: 100%;
  padding: 22px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sideBtn p {
  margin: 0;
  font-size: 2.4rem;
  writing-mode: unset;
}
.sideBtn .circle{
  width: 35px;
  height: 35px;
  position: absolute;
  right: 7%;
}
.sideBtn svg{
  width: 35px;
  height: 35px;
}
.scProduct {
  padding: 120px 0 0;
  position: relative;
  top: 0;
}
.scProduct h1 {
  margin: 0 0 60px;
}
.search {
  width: 48%;
  margin: 0 0 30px;
  padding: 0 0 10px;
  display: flex;
  border-bottom: solid 1px rgba(112, 112, 113,0.4);
}
.search p{
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 2.4rem;
}
.scProduct .proArea .proList ul li .name{
  width: 70px;
  height: 30px;
  font-size: 1.4rem;
  line-height: 1.8rem;
}
.scProduct .proArea .sideBar{
  height: 120vh;
  padding: 100px 0 ;
  position: fixed;
  z-index: 3;
  top: 0;
  left: -100%;
  overflow: auto;
  background: #fff;
  box-shadow: 0px -12px 20px -10px;
  text-align: left;
  transition: 0.4s;
}
.scProduct .proArea .sideBar .bold {
  padding: 0 0 0 40px;
}
.scProduct .proArea .sideBar.open{
  width: 40%;
  left: 0;
}
.scProduct .proArea .sideBar li.all {
  padding: 0 0 30px;
}
.scProduct .proArea .sideBar ul li {
  width: 100%;
  margin: 0 0 18px;
  padding: 0 0 18px 40px;
  border-bottom: solid 1px #707070;
}
.scProduct .proArea .sideBar ul li a{
  width: 100%;
  display: inline-block;
}
.scProduct .proArea .sideBar li.all a {
  width: 100%;
  padding: 0 0 0 40px;
}
.scProduct .proArea .sideBar .arrow::before {
  left: -34px;
}
.overlay {
  width: 0;
  height: 0;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width: 100%;
  height: 150%;
  opacity: 1;
}
.scProduct .proArea .faciList {
  width: 100%;
}
}
@media screen and (max-width: 650px) {
  /* 404 */
#errorpage.content{
  padding: 160px 0 0;
}
#errorpage.content .txt {
  font-size: 14rem;
  line-height: 14rem;
}
#errorpage.content p{
  font-size: 1.6rem;
}
h1 {
  margin: 0 auto 20px;
  font-size: 2.4rem;
  line-height: 3.2rem;
  letter-spacing: 0rem;
}
h2 {
  font-size: 2.4rem;
  line-height: 3.6rem;
}
p {
  font-size: 1.4rem;
  line-height: 2rem;
}
p.top {
  font-size: 1.4rem;
  line-height: 3.2rem;
}
.btn {
  width: 258px;
}
header ul li.btn {
  width: 258px;
  margin: 30px auto 0;
}
header .sitemenu .main-items ul li.btn.sd a {
  padding: 14px 0 12px;
}
header .btn.sd a span{
  margin: 0;
}
header .sitemenu .main-items ul li.btn a{
  padding: 14px 0 12px 10px;
}
header ul li.btn.sd {
  width: 268px;
  margin: 30px auto 150px;
}
.btn.sd {
  width: 268px;
}
.more .txt {
  margin: 0 14px 0 0;
  font-size: 1.8rem;
}

header{
  height: 83px;
}
header .content {
  padding: 30px 8% 20px;
}
header a.logo {
  width: 146px;
  padding: 0;
}
header ul li {
  padding: 12px 8%;
}
header nav ul li:nth-of-type(2) p {
  font-size: 1.5rem;
  letter-spacing: 0rem;
}
header ul li:before {
  width: 15px;
  height: 15px;
  top: 18px;
}
.sitemenu .main-items ul li a {
  font-size: 1.5rem;
  letter-spacing: 0rem;
}
.menubtn {
  top: 22px;
  right: 30px;
}
.menubtn .lines {
  top: 12px;
}
.menubtn .lines {
  width: 22px;
  height: 16px;
  left: 9px;
}
.menubtn .lines .line {
  width: 22px;
}
.menubtn .lines .line-2 {
  bottom: 7px;
}
.menubtn.is-open .line-2 {
  transform: translateY(-3px) rotate(
135deg
);
}
.menubtn.is-open .line-3 {
  transform: translateY(-10px) rotate(
135deg
);
}
.sitemenu .navwrap .wrap {
  width: 220px;
  height: 220px;
  margin-top: -110px;
  margin-right: -110px;
  top: 41px;
  right: 49px;
}
nav.sitemenu.is-open .navwrap .wrap {
  -webkit-transform: scale(8);
  transform: scale(8);
}
.sitemenu.is-open .main-items ul li:nth-child(1) {
  margin: 30px 0 0 0;
}

.line {
  width: 400px;
  position: absolute;
  right: -60px;
  bottom: 115px;
}
.line.sd {
  width: 300px;
  right: 75px;
  bottom: 70px;
}
.line.td {
  width: 360px;
  right: 38px;
  bottom: 43px;
}
/* scMv */
.scMv {
  padding: 0 0 80px;
}
.scMv .content .leftbox .txtBox p {
  margin: 0 auto 30px;
}
.scMv .content img.sd {
  width: 130px;
}
.scMv ul#slider {
  margin: 0;
}
.scMv ul#thumbnail_slider {
  width: 60%;
  margin: 0 auto 50px 28px;
}
.scMv ul#thumbnail_slider li {
  margin: 0 5px;
}
.scMv ul#thumbnail_slider .slick-slide img {
  height: 100%;
}
#slider .slick-prev {
  bottom: -165px;
}
#slider .slick-next {
  bottom: -165px;
}
.slick-dots {
  bottom: -128px;
}
.slick-dots li button:before {
  width: 10px;
  height: 10px;
}
.scMv .content img.ft {
  width: 235px;
  height: 174px;
}
.wdmap {
  height: 420px;
  margin: -420px 0 0 auto;
  background: url("img/mv_bg.png")no-repeat bottom right/500px;
}
/* scLink */
.scLink {
  margin: 0 auto 236px;
}
.scLink .content h2 {
  margin: 0 auto 20px;
}
.scLink .content .linkArea {
  margin: 30px 0 0 0;
}
.scLink .content .linkArea li img {
  height: 165px;
}
.scLink .content .linkArea li:first-of-type a .circle {
  margin: 63px auto;
}
.scLink .content .linkArea li:first-of-type a:hover .circle {
  width: 40px;
  height: 40px;
  margin: 63px auto;
}
.scLink .content .linkArea li a .circle {
  width: 40px;
  height: 40px;
  margin: 63px auto;
  border: solid 2px #DD0066;
}
.scLink .content .linkArea li a:hover .circle {
  width: 40px;
  height: 40px;
  margin: 63px auto;
  background: none;
}
.scLink .content .linkArea li a .circle svg{
  width: 15px;
  height: 15px;
}
.scLink .content .linkArea li:first-of-type a .txtbox {
  bottom: -44px;
}
.scLink .content .linkArea li a .txtbox {
  bottom: -44px;
}
.scLink .content .linkArea li a .txtbox .tll {
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scLink .content .linkArea li a .txtbox .tll span {
  font-size: 2rem;
  line-height: 3.6rem;
}
.scLink .content .linkArea li:nth-of-type(2) {
  margin: 76px 0 0 0;
}
.scLink .content .linkArea li:nth-of-type(3) {
  margin: 76px 0 0 0;
}
.scLink .content .linkArea li:nth-of-type(4) {
  margin: 76px 0 0 0;
}
/* scBgLink */
.scBgLink ul li {
  padding: 0 0 50px;
}
.scBgLink ul.cir li {
  padding: 0 0 60px;
}
.scBgLink ul.cir li .whitebox .more {
  margin: 14px 0 0 0;
}
.scBgLink ul.cir li .whitebox {
  width: 100%;
  max-width: 540px;
  height: 262px;
  padding: 24px 19px;
}
.scBgLink ul.cir li .whitebox p {
  font-size: 1.4rem;
  line-height: 2rem;
}
.scBgLink ul li img.bg {
  height: 446px;
}
.scBgLink ul li .whitebox p {
  font-size: 1.4rem;
  line-height: 2rem;
}
.scBgLink ul li .whitebox .more {
  margin: 10px 0 0 0;
}
.scBgLink ul li .whitebox {
  height: 262px;
}
/* scFacitp */
.scFacitp {
  margin: 110px auto 200px;
}
/* scBtn */
.scBtn {
  width: 87%;
  margin: 80px auto 100px;
}
.btn {
  width: 100%;
}
.btn.sd {
  width: 100%;
}
/* footer */
footer {
  padding: 40px 0 50px 0;
}
footer .content .logo {
  width: 200px;
  margin: 0 auto 30px;
}
footer .content .flexbox {
  margin: 0 0 40px;
}
footer .content .leftArea .access p.access {
  margin: 0 0 8px;
  font-size: 1.5rem;
  line-height: 3rem;
}
footer .content .back {
  width: 42px;
  height: 42px;
  margin: 0 auto 20px;
}
footer .content .leftArea .info p {
  font-size: 1.4rem;
  line-height: 1.6rem;
}
footer .content .leftArea .access p {
  font-size: 1.4rem;
  line-height: 2.6rem;
}
footer .content .leftArea .map img {
    width: 16px;
    margin: 0 8px 0 0;
}
footer .content .leftArea .map p {
    padding: 8px 18px 0 0;
    font-size: 1.1rem;
}
footer .content .leftArea .info {
  margin: 0 auto 30px;
}
/* 下層ページ */
/* scManu */
.scManu ul li img {
  width: 100%;
  height: 178px;
}
.scManu ul li p {
  font-size: 1.4rem;
  line-height: 3.2rem;
}
.scManu ul li:before {
  top: 168px;
}
.scManu ul li:nth-of-type(2):before {
  top: 168px;
}
.scManu .mark .content p {
  line-height: 3.2rem;
}
/* .scBgGray */
.scBgGray ul.cir li:after {
  height: 220px;
  left: -7%;
}
.scBgGray.bgimg {
  background: url(img/map_bg.png)no-repeat bottom 68px center/600px,#f2f2f2;
}
.scBgGray ul.cir li:before {
  width: 20px;
  height: 20px;
}
.scBgGray ul li img {
  height: 180px;
}
.scQua .txtArea {
  width: 100%;
}
.scQua ul li .textBox h2 {
  margin: 0 0 10px;
  font-size: 2.4rem;
  line-height: 3.6rem;
}
.scQua ul li {
  margin: 0 0 40px;
}
.scQua ul li img {
  height: 200px;
}
/* scCom */
.scCom .tableBox {
  margin: 0 auto 150px;
}
.scCom .imgArea .imgBox {
  height: 178px;
  top: 70px;
}
.scCom .imgArea img.ft {
  width: 70px;
  height: 110px;
  top: -40px;
  position: relative;
}
.scCom .imgArea img.sd {
  width: 200px;
  height: 110px;
}
.scCom .imgArea img.td {
  width: 100px;
  height: 140px;
  top: -80px;
  right: 70px;
}
.scCom .imgArea img.four{
  width: 150px;
  height: 110px;
  top: 0;
  left: 84px;
}
.scCom .imgArea img.five{
  width: 100px;
  height: 60px;
  left: 40px;
  bottom: 0;
}
.scCom .imgArea img.six{
  width: 150px;
  height: 110px;
}

.scBgGray.com {
  padding: 130px 0 200px;
}
.scConsult .content .textBox {
padding: 24px 30px;
}
.form .privacy {
font-size: 1.2rem;
line-height: 1.8rem;
}
.acceptance-301 {
margin: 24px 0 0 0;
}
.scContact h1{
margin: 0 0 50px;
}
.scProduct .proArea .sideBar.open {
width: 238px;
}
.scProduct .proArea .sideBar {
  height: 100%;
  padding: 100px 0 0px;
  z-index: 4;
  overflow: scroll;
}
#sticked {
  height: auto;
}
.scProduct .proArea .sideBar ul li:last-of-type{
  margin: 0 0 160px;
}
.scProduct .proArea .moreButton button {
padding: 15px 0;
font-size: 1.4rem;
}
.scProduct .proArea .moreButton button.plus::before, .scProduct .proArea .moreButton button.plus::after {
left: 30%;
}
.scProduct .proArea .btnArea button {
padding: 15px 0;
font-size: 1.4rem;
}
.scProduct .proArea .btnArea button.plus::before, .scProduct .proArea .btnArea button.plus::after{
left: 30%;
}
.plus::before, .plus::after {
width: 13px;
height: 3px;
}
}
@media screen and (max-width: 390px) {
h1 {
  font-size: 2.6rem;
}
h2 {
  font-size: 2.4rem;
}
p.top {
  line-height: 3.4rem;
}
.more .txt {
  font-size: 1.8rem;
}
.scBgLink ul.cir li .whitebox {
  padding: 20px;
}
.wdmap {
  background: url("img/mv_bg.png")no-repeat bottom right -10px/500px;
}
.line {
  width: 390px;
  position: absolute;
  right: -70px;
  bottom: 118px;
}
.line.sd {
  width: 274px;
  right: 68px;
  bottom: 80px;
}
.line.td {
  width: 300px;
  right: 46px;
  bottom: 64px;
}
.scCom .imgArea img.td {
  right: 10px;
}
.scBgGray ul.cir li:after {
  height: 238px;
}
}
@media screen and (max-width: 320px) {
.btn {
  width: 250px;
}
.btn.sd {
  width: 250px;
}
p {
  font-size: 1.4rem;
  line-height: 3.2rem;
}
h1 {
  font-size: 2.2rem;
  line-height: 3.8rem;
}
h2 {
  font-size: 2rem;
}
header ul li.btn {
  margin: 20px auto 0;
}
.menubtn {
  right: 20px;
}
.scLink {
  margin: 0 auto 200px;
}
.scFacitp {
  margin: 100px auto 150px;
}
.scBtn {
  margin: 0 auto 60px;
}
footer .content .leftArea .info p {
  font-size: 1.2rem;
  line-height: 1.8rem;
}
.scManu h2 {
  font-size: 2.2rem;
}
.txtArea .txt {
  font-size: 2rem;
}
.scManu h2 {
  font-size: 2rem;
}
.scBgGray ul.cir {
  width: 94%;
}
.scBgGray ul.cir li img {
  width: 128px;
  height: 74px;
}
.scBgGray ul.cir li p {
  padding: 0 0 0 7px;
}
.scBgGray ul.cir li:after {
  height: 236px;
}
.scQua ul li .textBox h2 span {
  font-size: 3rem;
  line-height: 4rem;
}
.scQua ul li .textBox h2 {
  margin: 0;
  font-size: 2rem;
  line-height: 3.6rem;
}
.scQua ul li .textBox {
  padding: 20px 20px 30px;
}
.scBgGray ul li p {
  line-height: 1.7rem;
}
}