/*=============================================================
Theme Name: ダイコウ耐酸工業2024 テーマ
Version: 1.0
=============================================================*/


/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1.  sitebase
    2.  Contents

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









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

0.  CSS Reset

===================================================================================== */
html,
body {
	border: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}

ul {
	list-style: none;
}





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

1.  sitebase

===================================================================================== */
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	overflow: scroll;
  -ms-overflow-style: none;  /* IE, Edge 対応 */
  scrollbar-width: none;  /* Firefox */
}
body::-webkit-scrollbar{
	display: none;  /* Chrome、Safari */
}


body {
	font-size: 1.6em;
	font-family: "Noto Sans JP", sans-serif;
	color: #222222;
	background-color: #fff;
	
	width: 100vw;
	overflow-x: hidden;
}
main.header-fix-space {
	padding-top: 100px;
}
@media(max-width:480px){
	main.header-fix-space {
		padding-top: 75px;
	}
}

p{
	font-size: 1.6rem;
	line-height: 2.0;
  	letter-spacing: 1px;
	font-weight: 500;
}
a {
	font-size: 1.6rem;
	text-decoration: none;
	letter-spacing: 1px;
	font-weight: 500;
	color: #222222;
}
@media(max-width:480px){
	p {
		font-size: 1.4rem;
	}
	a {
		font-size: 1.4rem;
	}
}

.p-m {
	margin-bottom: 15px;
}



/* ======== デバイスサイズ別 ========= */
.for-sp {
	display: none;
}
@media(max-width:480px){
	.for-pc {
		display: none;
	}
	.for-sp {
		display: block;
	}
}

.for-sp--img {
	display: none;
}
@media(max-width:480px){
	.for-pc--img {
		display: none;
	}
	.for-sp--img {
		display: inline;
	}
}


/* ======== レイアウトインナー ========= */
.inner01 {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}
.inner02 {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}
.inner03 {
	max-width: 790px;
	width: 90%;
	margin: 0 auto;
}





/* =====================
background 背景
===================== */
.back01 {
	background-color: #222222;
}

.backdeco01 {
	background-image: url('../images/backdeco_01.png');
	background-repeat: no-repeat;
	background-size: 15%;
	background-position: top 0 right 0;
}




/* =====================
タイトル title
===================== */
.title-conts01 {
	
}
.title-conts01__title {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.0;
	margin-top: 5px;
    margin-left: 5px;
}
.title-conts01__title__en {
	font-size: 6.0rem;
	letter-spacing: 4px;
	font-weight: 700;
}
@media(max-width:480px){
	.title-conts01__title {
		font-size: 1.7rem;
		margin-left: 2px;
	}
	.title-conts01__title__en {
		font-size: 3.5rem;
	}
}


.title-conts02 {
	margin-bottom: 50px;
}
.title-conts02__title {
	font-size: 3.0rem;
    letter-spacing: 2px;
    text-align: center;
}
.title-conts02__title.color02 {
	color: #fff;
}
span.deco-border01 {
	position: relative;
}
span.deco-border01::after {
	content: '';
	background-color: #222222;
	width: 75%;
	height: 5px;
	border-radius: 5px;
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.color02 span.deco-border01::after {
	background-color: #fff;
}
@media(max-width:480px){
	.title-conts02__title {
		font-size: 1.9rem;
	}
	span.deco-border01::after {
		height: 4px;
		bottom: -13px;
	}
}







/* =====================
リンクボタン
===================== */
.btn-conts01 {
	margin: 30px 0 0;
}
.btn-conts01__btn {
	display: flex;
    align-items: center;
	gap: 30px;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
}
.btn-conts01__btn--color02 {
	color: #222;
}
.btn-conts01__btn .linkIcon01 {
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid #fff;
	position: relative;
	transition: 0.2s;
}
.btn-conts01__btn--color02 .linkIcon01 {
	background-color: #222222;
	border: 1px solid #222222;
}
.btn-conts01__btn .linkIcon01::before {
    content: "";
    position: absolute;
    top: 21px;
    left: 22px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #222222;
    border-right: 2px solid #222222;
    transform: rotate(45deg);
    transition: 0.2s;
}
.btn-conts01__btn--color02 .linkIcon01::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.btn-conts01__btn .linkIcon01::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 25px;
    left: 17px;
    width: 15px;
    height: 2px;
    background: #222222;
    transition: 0.2s;
}
.btn-conts01__btn--color02 .linkIcon01::after {
    background: #fff;
}
@media (any-hover: hover){
	a.btn-conts01__btn:hover .linkIcon01 {
		background-color: #222222;
		border: 1px solid #fff;
		transform: scale(1.05, 1.05);
	}
	a.btn-conts01__btn:hover .linkIcon01::before {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	a.btn-conts01__btn:hover .linkIcon01::after {
		background-color: #fff;
	}
	a.btn-conts01__btn--color02:hover .linkIcon01 {
		background-color: #fff;
		border: 1px solid #222;
		transform: scale(1.05, 1.05);
	}
	a.btn-conts01__btn--color02:hover .linkIcon01::before {
		border-top: 2px solid #222222;
		border-right: 2px solid #222222;
	}
	a.btn-conts01__btn--color02:hover .linkIcon01::after {
		background-color: #222222;
	}
}
@media(max-width:480px){
	.btn-conts01 {
		margin: 40px 0 0;
	}
	.btn-conts01__btn {
		font-size: 1.6rem;
		justify-content: center;
	}
	.btn-conts01__btn .linkIcon01 {
        width: 40px;
        height: 40px;
    }
	.btn-conts01__btn .linkIcon01::before {
        top: 16px;
        left: 17px;
    }
	.btn-conts01__btn .linkIcon01::after {
        top: 20px;
        left: 12px;
    }
}








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

2.  Contents

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

/* =====================
   header / footer
===================== */
#header {
	position: fixed;
	width:100%;
	height: 100px;
    z-index: 999;
}
.header {
	width: 100%;
	background-color: #fff;
}
.header.shadow-h {
	box-shadow: 0px 10px 10px -12px rgba(0,0,0,0.5);
}
.header__navArea {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100px;
}
.header__navArea__logo img {
	width: 150px;
	vertical-align: bottom;
}
.header__navArea__menu ul {
	display: flex;
	align-items: center;
	gap: 32px;
}
.header__navArea__menu ul a {
	color: #222222;
	font-size: 1.6rem;
	font-weight: 700;
	position: relative;
}
.header__navArea__menu ul a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background: #222222;
	border-radius: 5px;
	bottom: -8px;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s;
}
.header__navArea__menu ul a:hover::after {
	transform: scale(1, 1);
	transform-origin: left top;
}
.header__navArea__menu ul .deco01, .header__navArea__menu ul .deco02 {
	text-align: center;
}
.header__navArea__menu ul .deco01 a {
	border: 2px solid #222222;
	background-color: #fff;
	color: #222222;
    border-radius: 5px;
    padding: 8px 0;
	width: 137px;
    display: block;
	position: relative;
  	z-index: 1;
	overflow: hidden;
	transition: .3s;
}
.header__navArea__menu ul .deco01 a::before {
	content: "";
	width: 120%;
	height: 200%;
	position: absolute;
	top: -50%;
	right: 0;
	z-index: -1;
	background: #222222;
	border-radius: 0 70% 70% 0;
	transform: translateX(-100%);
	transition: transform ease .4s;
}
.header__navArea__menu ul .deco01 a:hover {
	color: #fff;
}
.header__navArea__menu ul .deco01 a:hover::before {
	transform: translateX(10%);
}
.header__navArea__menu ul .deco02 a {
	border: 2px solid #222222;
	background-color: #222222;
	color: #fff;
    border-radius: 5px;
    padding: 8px 0;
	width: 137px;
    display: block;
	position: relative;
  	z-index: 1;
	overflow: hidden;
	transition: .3s;
}
.header__navArea__menu ul .deco02 a::before {
	content: "";
	width: 120%;
	height: 200%;
	position: absolute;
	top: -50%;
	right: 0;
	z-index: -1;
	background: #fff;
	border-radius: 0 70% 70% 0;
	transform: translateX(-100%);
	transition: transform ease .4s;
}
.header__navArea__menu ul .deco02 a:hover {
	color: #222222;
}
.header__navArea__menu ul .deco02 a:hover::before {
	transform: translateX(10%);
}
.header__navArea__menu ul .deco01 a::after, .header__navArea__menu ul .deco02 a::after {
	display: none;
}

#header.UpMove{
	position: fixed;
	width:100%;
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}
#header.DownMove{
	position: fixed;
	width:100%;
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

@media(max-width:480px){
	#header {
		height: 75px;
	}
	.header__navArea {
		height: 75px;
	}
	.header__navArea__logo img {
		width: 95px;
	}
}




.openbtn{
	position: relative;
	cursor: pointer;
    width: 50px;
    height: 50px;
	border-radius: 5px;
	z-index: 1000;
	display: none;
}
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    border-radius: 5px;
	background: #222222;
  	width: 45%;
}
.openbtn span:nth-of-type(1) {
	top:13px;	
}
.openbtn span:nth-of-type(2) {
	top:19px;
}
.openbtn span:nth-of-type(3) {
	top:25px;
}
.openbtn span:nth-of-type(3)::after {
	content:"MENU";
	position: absolute;
	top:5px;
	left:-2px;
	color: #222222;
	font-size: 1.0rem;
	text-transform: uppercase;
}
.openbtn.active span {
	background-color: #fff;
}
.openbtn.active span:nth-of-type(1) {
    top: 14px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
    top: 26px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
.openbtn.active span:nth-of-type(3)::after {
	content:"CLOSE";
	color: #fff;
    transform: translateY(0) rotate(-45deg);
	top:5px;
	left:4px;
}
@media(max-width:1050px){
	.openbtn {
		display: block;
	}
	.header__navArea__menu {
		display: none;
	}
}

#g-nav.panelactive{
    position:fixed;
    z-index: 999;
	top: 0;
	left: 0;
	width: 100vw;
    height: 100vh;
}
.circle-bg{
    position: fixed;
	z-index:3;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #222222;
	transform: scale(0);
    right:-50px;
    top:calc(50% - 50px);
    transition: all 0.45s;
}
.circle-bg.circleactive{
	transform: scale(50);
	transition: 0.80s;
}
#g-nav-list{
    display: none;
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
#g-nav.panelactive #g-nav-list{
     display: block;
}
#g-nav ul {
	opacity: 0;
}
#g-nav.panelactive ul {
    opacity:1;
}
#g-nav.panelactive ul li, .g-nav-list__logo img{
animation-name:gnaviAnime;
animation-duration:1s;
animation-delay:.2s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes gnaviAnime{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.g-nav-list__logo {
	height: 100px;
	display: flex;
	align-items: center;
}
.g-nav-list__logo img {
	width: 150px;
	vertical-align: bottom;
}
#g-nav ul{
    width: 90%;
	margin: 30px auto 0;
}
#g-nav li{
	border-bottom: 1px solid #4b4b4b;
    width: 90%;
    margin: 0 auto;
	list-style: none;
}
#g-nav li.deco01, #g-nav li.deco02 {
	border-bottom: none;
}
#g-nav li a{
	font-size: 1.6rem;
	color: #fff;
	text-decoration: none;
	padding: 15px 10px;
	display: block;
	text-transform: uppercase;
	font-weight: bold;
	position: relative;
}
#g-nav li a:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 21px;
    right: 12px;
}
#g-nav li.deco01 a {
	margin: 40px 0 20px;
    padding: 20px;
    border: 1px solid #fff;
    border-radius: 10px;
}
#g-nav li.deco01 a:before {
	top: 26px;
	right: 20px;
}
#g-nav li.deco02 a {
	color: #222222;
	margin: 20px 0;
    padding: 20px;
    border: 1px solid #fff;
	background-color: #fff;
    border-radius: 10px;
}
#g-nav li.deco02 a:before {
	border-top: solid 2px #222222;
	border-right: solid 2px #222222;
	top: 26px;
	right: 20px;
}
@media(max-width:480px){
	.g-nav-list__logo {
		height: 75px;
	}
	.g-nav-list__logo img {
		width: 95px;
	}
	#g-nav li a {
		font-size: 1.4rem;
	}
}








.footer{
	padding: 50px 0;
	color: #fff;
	background-color: #000;
}
.footer__column {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footer-logo__img {
	width: 150px;
	display: block;
}
.footer-logo__img img {
	width: 100%;
}
.footer-logo__text {
	margin: 20px 0 0;
}
.footer-logo__text .tit {
	font-size: 2.0rem;
}
.footer-logo__text .address {
	line-height: 1.5;
}
.footer-logo__text a {
	color: #fff;
}
.footer-menu__column {
	display: flex;
	justify-content: right;
	flex-wrap: wrap;
	padding: 30px 0;
	margin-top: 20px;
}
.footer-menu__column li {
	margin: 0 15px;
}
.footer-menu__column li a {
	color: #fff;
}
.footer__copyright {
	font-size: 1.4rem;
	text-align: center;
	color: #fff;
	margin-top: 45px;
}
.footer__copyright p {
	color: #fff;
}
@media(max-width:480px){
	.footer {
		padding: 30px 0 15px;
	}
	.footer-logo__img {
		width: 95px;
	}
	.footer-logo__text {
		margin: 15px 0 0;
	}
	.footer-logo__text .tit {
		font-size: 1.6rem;
	}
	.footer-logo__text a {
		font-size: 1.4rem;
	}
	.footer-menu__column {
		justify-content: left;
		gap: 20px 0;
	}
	.footer__copyright {
		margin-top: 20px;
		width: 100%;
	}
	.footer__copyright p {
		font-size: 1.2rem;
	}
}





/* =====================
  mv
===================== */
.mv {
	position: relative;
	overflow:hidden;
}
.mv__inner {
	width: 83%;
    max-width: 1950px;
	border-radius: 0 200px 200px 0;
	position: relative;
    overflow: hidden;
}
.mv__slide {
	
}
.mv__slide__img {
	position: relative;
	width: 100%;
	/* min-height: 100vh; */
	aspect-ratio: 8 / 5;
	aspect-ratio: 5 / 3;
}
.mv__slide__img01 {
	/* background: url('../images/mv_01.png?001') center / cover; */
	background: url('../images/page-mv_04.jpg') center / cover;
}
.mv__slide__img02 {
	background: url('../images/mv_02.png') center / cover;
}
.mv__slide__img03 {
	background: url('../images/mv_03.png') center / cover;
}
/* .mv__slide__img03 {
	background: url('../images/mv_03.png') center right 30% / cover;
} */

.mv__catch {
	position: absolute;
	top: 10%;
    left: 3%;
}
.mv__catch__text {
    margin-bottom: 40px;
}
.mv__catch__text p {
	font-size: 3.6rem;
	font-size: clamp(2.2rem, 2.5vw, 5.0rem);
	/* background-color: #fff; */
	padding: 0 43px;
	color: #222222;
  	font-weight: 700;
	display: inline-block;
	position: relative;
	z-index:1;
}
.mv__catch__text p::before {
	content: '';
    position: absolute;
    background-color: #fff;
	border-radius: 3px;
	top: 0;
	left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.mv__catch__text p::after {
	content: '';
    position: absolute;
    background-color: #222222;
	border-radius: 3px;
    top: 18px;
    left: 20px;
    width: 100%;
    height: 100%;
    z-index: -2;
}

@keyframes zoomUp {
	0% {
	  	transform: scale(1);
	}
	100% {
	  	transform: scale(1.07);
	}
}
.add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

@media(max-width:480px){
	.mv {
		padding-bottom: 100px;
	}
	.mv__inner {
		border-radius: 0 70px 70px 0;
	}
	.mv__slide__img {
		aspect-ratio: 4 / 3;
	}
	.mv__catch {
		top: 62%;
	}
	.mv__catch__text {
		margin-bottom: 20px;
	}
	.mv__catch__text p {
		padding: 0 25px;
		line-height: 1.9;
	}
	.mv__catch__text p::after {
		top: 8px;
		left: 8px;
	}
}





/*==== scroll move animation ====*/

.scrolldown--01{
	position:absolute;
	bottom: 60px;
    right: 70px;
}
.scrolldown--01 span{
	position: absolute;
	left: 20px;
    bottom: 77px;
	color: #222222;
	font-size: 1.2rem;
	font-weight: 500;
    letter-spacing: 0.1em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.scrolldown--01:before {
    content: "";
    position: absolute;
    bottom:0;
	left: -6px;
    width: 14px;
    height: 14px;
	border-radius: 50%;
	background:#222222;
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
      0%{bottom:195px;}
     100%{bottom:-5px;}
 }
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }
.scrolldown--01:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:2px;
	height: 200px;
	background:#222222;
}
@media(max-width:480px){
	.scrolldown--01 {
        bottom: auto;
        top: 90%;
        right: 40px;
    }
	.scrolldown--01 span {
		left: 12px;
		bottom: 30px;
	}
	.scrolldown--01:before {
		left: -4px;
		width: 10px;
		height: 10px;
	}
	@keyframes circlemove{
		0%{bottom:95px;}
	   100%{bottom:-5px;}
   }
	.scrolldown--01:after {
		height: 100px;
	}
}









/* =====================
  top
===================== */
.topConts-01 {
	padding: 160px 0 0;
}
.topConts-01__inner {
	background: url('../images/topConts-01_back.png') bottom 15% center / cover;
	position: relative;
	overflow: hidden;
	border-radius: 30px 30px 0 0;
	padding: 110px 0 170px;
	z-index: 1;
}
.topConts-01__inner::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.55);
	width: 100%;
	height: 100%;
	z-index: 2;
}
.topConts-01__text {
	color: #fff;
    position: relative;
    z-index: 4;
	width: 90%;
}
.topConts-01__text .title-conts01 {
	margin-bottom: 100px;
}
.content-catch01 {
	margin: 0 0 70px 3%;
}
.content-catch01__text {
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: 2px;
    line-height: 1.7;
}
.topConts-01__text__par p {
	margin-bottom: 30px;
}

.topConts-01__img {
	display: flex;
	align-items: start;
	margin-top: 160px;
	position: relative;
    z-index: 4;
}
.topConts-01__img__img01, .topConts-01__img__img02 {
	width: 50%;
}
.topConts-01__img__img02 {
	margin-top: 80px;
}
.topConts-01__img__img01 img , .topConts-01__img__img02 img {
	width: 100%;
	vertical-align: bottom;
	border-radius: 20px;
}
.back-deco_01, .back-deco_02 {
	position: absolute;
	z-index: 3;
}
.back-deco_01 {
	top: 30px;
	right: 0;
}
.back-deco_01 p {
	font-size: clamp(5.0rem, 9.0vw, 12.0rem);
	font-family: "Barlow", sans-serif;
	font-weight: 500;
    color: rgba(255, 255, 255, 0.22);
    letter-spacing: 4px;
	line-height: 1.2;
}
.back-deco_02 {
	bottom: 0;
	right: 0;
}
.back-deco_02 p {
	font-size: clamp(5.0rem, 9.0vw, 12.0rem);
	font-family: "Barlow", sans-serif;
	font-weight: 500;
    color: rgba(255, 255, 255, 0.22);
    letter-spacing: 4px;
	line-height: 1.2;
	text-align: right;
}
@media(max-width:820px){
	.topConts-01__text {
		width: 100%;
	}
}
@media(max-width:480px){
	.topConts-01 {
		padding: 60px 0 0;
	}
	.topConts-01__inner {
		padding: 55px 0 70px;
	}
	.topConts-01__text .title-conts01 {
		margin-bottom: 60px;
	}
	.content-catch01 {
		margin: 0 0 38px 4%;
	}
	.content-catch01__text {
		font-size: 2.2rem;
	}
	.topConts-01__text__par p {
		margin-bottom: 20px;
	}
	.topConts-01__img {
		margin-top: 55px;
	}
	.topConts-01__img__img02 {
		margin-top: 40px;
	}
	.back-deco_01 {
		top: 100px;
		right: 0;
	}
}





.topConts-02 {
	padding: 120px 0 120px;
    position: relative;
}
.topConts-02 .column-box {
	gap: 30px;
}
.topConts-02__img {
	display: flex;
	align-items: start;
	position: relative;
    z-index: 2;
}
.topConts-02__img__img01, .topConts-02__img__img02 {
	width: 50%;
}
.topConts-02__img__img01 {
	margin-top: 60px;
}
.topConts-02__img__img01 img , .topConts-02__img__img02 img {
	width: 100%;
	vertical-align: bottom;
	border-radius: 20px;
}
.back-deco_03 {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
}
.back-deco_03 p {
	font-size: clamp(5.0rem, 6vw, 8.0rem);
	font-family: "Barlow", sans-serif;
	font-weight: 500;
    color: rgba(0, 0, 0, 0.22);
    letter-spacing: 4px;
	line-height: 1.2;
}
.topConts-02__text .title-conts01 {
	margin-bottom: 77px;
}
@media(max-width:480px){
	.topConts-02 {
		padding: 60px 0 90px;
	}
	.topConts-02__text .title-conts01 {
		margin-bottom: 30px;
	}
	.topConts-02__img__img01 {
		margin-top: 30px;
	}
}




.topConts-03 {
	padding: 100px 0 150px;
}
.topConts-03__inner {
	background: url('../images/topConts-03_back.png') center / cover;
	position: relative;
	overflow: hidden;
	border-radius: 40px;
	padding: 110px 0 170px;
	z-index: 1;
}
.topConts-03__inner::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.4);
	width: 100%;
	height: 100%;
	z-index: 2;
}
.topConts-03__text {
	color: #fff;
    position: relative;
    z-index: 4;
	max-width: 370px;
	margin: 0 auto;
}
.topConts-03__text .title-conts01 {
	margin-bottom: 50px;
}
.topConts-03__text__par p {
	margin-bottom: 20px;
}
.topConts-03 .btn-conts01__btn {
	justify-content: center;
}
.back-deco_04 {
	position: absolute;
	z-index: 3;
	bottom: 0;
	right: 0;
	max-width: 600px;
    text-align: right;
}
.back-deco_04 p {
	font-size: clamp(5.0rem, 8.0vw, 10.0rem);
	font-family: "Barlow", sans-serif;
	font-weight: 500;
    color: rgba(255, 255, 255, 0.22);
    letter-spacing: 4px;
	line-height: 1.2;
}
@media(max-width:480px){
	.topConts-03 {
		padding: 40px 0 55px;
	}
	.topConts-03__inner {
		padding: 85px 0 150px;
	}
	.topConts-03__text__par {
		width: 80%;
		margin: 0 auto;
	}
}







.pageBottomLink__inner{
    padding: 85px 0 45px;
}
.pageBottomLink__inner.color01 {
	background-color: #EBEBEB;
}
.pageBottomLink__inner.color02 {
	background-color: #3C3C3C;
}
.pageBottomLink__box {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	padding: 70px 0 70px;
	z-index: 1;
	margin-bottom: 40px;
}
.pageBottomLink__box.type01 {
	background: url('../images/pageBottomLink__box-type01.jpg') center / cover;
}
.pageBottomLink__box.type02 {
	background: url('../images/pageBottomLink__box-type02.jpg') center / cover;
}
.pageBottomLink__box.type03 {
	background: url('../images/pageBottomLink__box-type03.jpg') center / cover;
}
.pageBottomLink__box::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.4);
	width: 100%;
	height: 100%;
	z-index: 2;
}
.pageBottomLink__box__text {
	color: #fff;
    position: relative;
    z-index: 3;
}
.pageBottomLink__box__text .title-conts01 {
	margin-bottom: 10px;
}
.pageBottomLink__box__text .btn-conts01__btn {
	justify-content: center;
}
@media(max-width:480px){
	.pageBottomLink__inner{
		padding: 55px 0 15px;
	}
	.pageBottomLink__box {
		padding: 40px 0 40px;
	}
	.pageBottomLink .btn-conts01 {
        margin: 20px 0 0;
    }
}


















/* =====================
  page
===================== */
.page-topConts {
	padding: 30px 0 120px;
}
.page-topConts__titleConts {
	margin-left: 8%;
	margin-bottom: 35px;
}
.page-topConts__mvConts {
	width: 83%;
    max-width: 1950px;
	border-radius: 0 150px 150px 0;
	position: relative;
    overflow: hidden;
	aspect-ratio: 596 / 249;
}
.page-topConts__mvConts.business-mv {
	background: url('../images/page-mv_01.jpg') no-repeat bottom 10% center / cover;
}
.page-topConts__mvConts.results-mv {
	background: url('../images/page-mv_02.jpg') no-repeat bottom 20% center / cover;
}
.page-topConts__mvConts.company-mv {
	background: url('../images/page-mv_03.jpg') no-repeat center / cover;
}
.page-topConts__mvConts.recruit-mv {
	background: url('../images/page-mv_04.jpg?001') no-repeat center / cover;
}
.page-topConts__mvConts.contact-mv {
	background: url('../images/page-mv_05.jpg') no-repeat center / cover;
}
.page-topConts__mvConts img {
	width: 100%;
	vertical-align: bottom;
}
@media(max-width:480px){
	.page-topConts {
		padding: 15px 0 30px;
	}
	.page-topConts__titleConts {
		margin-left: 3%;
		margin-bottom: 14px;
	}
	.page-topConts__mvConts {
		width: 95%;
		border-radius: 0 70px 70px 0;
		aspect-ratio: 3 / 2;
	}
}




.full-textConts01 {
	padding-bottom: 70px;
}
@media(max-width:480px){
	.full-textConts01 {
		padding-bottom: 0px;
	}
}



.production-flow {
	padding: 90px 0 70px;
	background-color: #3C3C3C;
	border-radius: 40px 40px 0 0;
	position: relative;
}
.back-deco_05 {
	position: absolute;
	top: 180px;
	left: 0;
}
.back-deco_05 p {
	font-size: clamp(4.9rem, 9.0vw, 12.0rem);
	font-family: "Barlow", sans-serif;
	font-weight: 500;
    color: rgba(255, 255, 255, 0.22);
    letter-spacing: 4px;
	line-height: 1.2;
}
@media(max-width:480px){
	.production-flow {
		padding: 45px 0 0px;
		border-radius: 30px 30px 0 0;
	}
	.back-deco_05 {
		top: 120px;
	}
}



.flow-conts__mainconts {
	padding-top: 90px;
}
.flow-conts__step {
	color: #fff;
}
.flow-conts__step__box {
	display: flex;
    position: relative;
    padding: 0 0 50px;
}
.flow-conts__step__box::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 41px;
    height: 100%;
    border-left: 1px solid #fff;
    z-index: 1;
}
.flow-conts__step__box:last-child::before {
	display: none;
}
.flow-conts__step__box__icon {
    border: solid 1px #fff;
	background-color: #3C3C3C;
	border-radius: 50%;
    text-align: center;
    width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	font-size: 1.6rem;
	font-weight: 400;
	position: relative;
	z-index: 2;
}
.flow-conts__step__box__icon span {
	font-size: 2.5rem;
}
.flow-conts__step__box__item {
	width: 80%;
    margin: 0 auto 0 5%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flow-conts__step__box__item__text {
	width: 60%;
}
.flow-conts__step__box__item__img {
	width: 35%;
}
.flow-conts__step__box__item__img img {
	width: 100%;
	vertical-align: bottom;
	border-radius: 15px;
}
.flow-conts__step__box__item .step-title {
	font-size: 2.0rem;
    margin-bottom: 15px;
}
@media(max-width:1050px){
	.flow-conts__step__box__item {
		width: 75%;
	}
}
@media(max-width:820px){
	.flow-conts__step__box::before {
		left: 31px;
	}
	.flow-conts__step__box__icon {
		width: 60px;
		height: 60px;
		font-size: 1.2rem;
	}
	.flow-conts__step__box__icon span {
		font-size: 2.0rem;
	}
}
@media(max-width:480px){
	.flow-conts__step__box {
		padding: 0 0 70px;
	}
	.flow-conts__step__box::before {
		left: 26px;
	}
	.flow-conts__step__box__icon {
		width: 50px;
		height: 50px;
	}
	.flow-conts__step__box__item {
		width: 75%;
		gap: 25px;
	}
	.flow-conts__step__box__item__text {
		width: 100%;
	}
	.flow-conts__step__box__item__img {
		width: 90%;
	}
	.flow-conts__step__box__item .step-title {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
}





.results-all {
	padding: 50px 0;
}
.results-all__column:after {
    content: "";
    display: block;
    width: 31%;
    height: 0;
}
.results-all__column__1box {
	margin-bottom: 50px;
}
.results-all__column__1box__img img {
	width: 100%;
	vertical-align: bottom;
}
.results-all__column__1box__title {
	margin: 15px 0 17px;
    font-size: 2.3rem;
    letter-spacing: 1px;
}
.results-all__column__1box__subTitle {
	font-size: 1.8rem;
	position: relative;
	margin-bottom: 10px;
}
.results-all__column__1box__subTitle::after {
	content: '';
	background-color: #222222;
	width: 100%;
	height: 2px;
	border-radius: 5px;
	position: absolute;
	bottom: -5px;
	left: 0;
}
.results-all__column__1box__ex {
	margin-bottom: 25px;
}
@media(max-width:480px){
	.results-all__column__1box {
		margin-bottom: 30px;
	}
	.results-all__column__1box__title {
		font-size: 2.0rem;
	}
	.results-all__column__1box__subTitle {
		font-size: 1.6rem;
	}
	.results-all__column__1box__ex {
		margin-bottom: 15px;
	}
}





.messageConts__inner {
	border-radius: 40px 40px 0 0;
	background-color: #EBEBEB;
	padding: 95px 0 110px;
	position: relative;
}
.messageConts__column-01, .messageConts__column-02, .messageConts__column-03 {
	position: relative;
	z-index: 2;
}
.messageConts__column-01 {
	margin-bottom: 130px;
}
.messageConts__column-01__text {
	margin-bottom: 30px;
}
.messageConts__column-01__text .content-catch01 {
	margin: 50px 0 40px 0;
}
.messageConts__column-01__text .content-catch01__subtext {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 17px;
}
.message-name__main {
	font-size: 2.0rem;
	letter-spacing: 1px;
	font-weight: 700;
}
.message-name__sub {
	font-size: 1.3rem;
	font-weight: 700;
}
.messageConts__column-01__img img, .messageConts__column-02__img img, .messageConts__column-03__img img {
	border-radius: 15px;
}
.messageConts__column-02 {
	margin-bottom: 65px;
	align-items: center;
}
.messageConts__column-02__text {
	max-width: 390px;
    margin: 0 auto;
}
.messageConts__column-03__text {
	margin: 80px 0 48px;
}

.back-deco_06, .back-deco_07 {
	position: absolute;
	z-index: 1;
}
.back-deco_06 {
	top: 5px;
	right: 0;
	text-align: right;
}
.back-deco_07 {
	bottom: 26%;
	left: 0;
}
.back-deco_06 p, .back-deco_07 p {
	font-size: clamp(4.0rem, 9.0vw, 12.0rem);
	font-family: "Barlow", sans-serif;
	font-weight: 500;
    color: rgba(12, 12, 12, 0.15);
    letter-spacing: 4px;
	line-height: 1.2;
}
@media(max-width:480px){
	.messageConts {
		padding: 90px 0 0;
	}
	.messageConts__inner {
		border-radius: 30px 30px 0 0;
		padding: 55px 0 40px;
	}
	.messageConts__column-01 {
		margin-bottom: 10px;
	}
	.messageConts__column-01__text .content-catch01 {
		margin: 21px 0 21px 0;
	}
	.messageConts__column-01__text .content-catch01__subtext {
		font-size: 1.7rem;
	}
	.message-name__main {
		font-size: 1.6rem;
	}
	.message-name__sub {
		font-size: 0.8rem;
	}
	.messageConts__column-02__text {
		max-width: auto;
		margin: 0 auto 35px;
	}
	.messageConts__column-02 {
		margin-bottom: 35px;
	}
	.messageConts__column-03__text {
		margin: 35px 0 35px;
	}
	.messageConts__column-03__img {
		margin-top: 80px;
	}
	.back-deco_06 {
		/* top: 280px; */
		top: 20px;
	}
	.back-deco_07 {
		/* bottom: 265px; */
		bottom: 260px;
	}
}




.messageConts-02 {
	padding: 100px 0 150px;
}
@media(max-width:480px){
	.messageConts-02 {
		padding: 70px 0 90px;
	}
}

.messageConts-03 {
	padding-bottom: 150px;
}
.exterior-interior__column {
	gap: 40px 0;
	padding-top: 35px;
}
@media(max-width:480px){
	.messageConts-03 {
		padding-bottom: 100px;
	}
	.exterior-interior__column {
		gap: 10px;
		padding-top: 5px;
	}
}

.messageConts-04 {
	padding-bottom: 140px;
}
@media(max-width:480px){
	.messageConts-04 {
		padding-bottom: 100px;
	}
}

.messageConts-05 {
	padding-bottom: 150px;
}
@media(max-width:480px){
	.messageConts-05 {
		padding-bottom: 100px;
	}
}




.recruitConts-01 {
	padding: 10px 0 70px;
}
.interview-01 {
	align-items: center;
	margin: 75px 0 95px;
}
.interview-01 img, .interview-02 img {
	border-radius: 20px;
}
.interview-01__text {
	max-width: 400px;
    margin: 0 auto;
}
.interview-01__text__subTitle {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 30px;
}
.interview-01__text__title {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 34px;
}
.interview-01__text .name {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 2px;
}
.interview-01__text .name-en {
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1;
}
.interview-01__fullText {
	margin: 100px auto 0;
    max-width: 1000px;
}
.interview-02 {
	align-items: center;
	margin-bottom: 110px;
}
.interview-02__text {
	max-width: 476px;
    width: 82%;
    margin: 0 auto;
}
.interview-hr {
	width: 100%;
	max-width: 1000px;
	margin: 115px auto;
	height: 1px;
	background-color: #222;
}
@media(max-width:820px){
	.interview-01__text {
		max-width: none;
		margin: 30px auto 0;
	}
	.interview-01__fullText {
		margin: 60px auto 0;
	}
	.interview-02__text {
		max-width: none;
		width: 100%;
		margin: 30px auto 0;
	}
	.interview-hr {
		margin: 65px auto 90px;
	}
}
@media(max-width:480px){
	.recruitConts-01 {
		padding: 60px 0 70px;
	}
	.interview-01 {
		margin: 50px 0 40px;
	}
	.interview-01__text__subTitle {
		font-size: 1.7rem;
		margin-bottom: 17px;
	}
	.interview-01__text__title {
		font-size: 1.8rem;
		margin-bottom: 21px;
	}
	.interview-01__text .name {
		font-size: 1.6rem;
	}
	.interview-01__text .name-en {
		font-size: 0.9rem;
	}
	.interview-01__fullText {
        margin: 30px auto 0;
    }
	.interview-02 {
		margin-bottom: 40px;
	}
	.interview-hr {
		margin: 65px auto 80px;
	}
}


.recruitConts-02 {
	padding: 0 0 190px;
}
.recruitConts-02 .title-conts02 {
    margin-bottom: 80px;
}
@media(max-width:480px){
	.recruitConts-02 {
		padding: 0 0 100px;
	}
	.recruitConts-02 .title-conts02 {
		margin-bottom: 50px;
	}
}


.recruitConts-03 {
	padding: 0 0 140px;
}
.recruit-apply {
	border: 3px solid #222222;
	padding: 50px;
	border-radius: 20px;
}
.recruit-apply__text {
	max-width: 700px;
	margin: 80px auto 30px;
}
.recruit-apply__text__case01 {
	margin: 40px 0 0;
}
.recruit-apply__text__case01__title {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 15px;
}
@media(max-width:480px){
	.recruitConts-03 {
		padding: 0 0 80px;
	}
	.recruit-apply {
		padding: 30px;
	}
	.recruit-apply__text {
		margin: 45px auto 20px;
	}
	.recruit-apply__text__case01 {
		margin: 35px 0 0;
	}
	.recruit-apply__text__case01__title {
		font-size: 1.6rem;
	}
}




















/* =====================
table
===================== */

.table-type01Conts {
	padding: 70px 0 140px;
}
.table-type01 {
	width: 100%;
	border-collapse: collapse;
}
.table-type01 tr th, .table-type01 tr td {
	border: 1px solid #C6C6C6;
	padding: 10px;
}
.table-type01 tr th {
	font-weight: 500;
}
@media(max-width:480px){
	.table-type01Conts {
		padding: 30px 0 110px;
	}
}


.table-type02 {
	width: 100%;
    border-collapse: collapse;
}
.table-type02 tr th, .table-type02 tr td {
	border-top: 1px solid #222222;
	padding: 22px 35px;
}
.table-type02 tr:last-child {
	border-bottom: 1px solid #222222;
}
.table-type02 tr th {
	font-size: 1.8rem;
	font-weight: 500;
	width: 40%;
}
.table-type02 tr td {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
}
.table-type02 td p{
	text-indent: -1em;
  	padding-left: 1em;
}
@media(max-width:480px){
	.table-type02 tr th, .table-type02 tr td {
		padding: 17px 12px;
	}
	.table-type02 tr th {
		font-size: 1.6rem;
	}
	.table-type02 tr td {
		font-size: 1.4rem;
	}

	.messageConts-04 .table-type02 tr {
		border-top: 1px solid #222222;
	}
	.messageConts-04 .table-type02 tr th, .messageConts-04 .table-type02 tr td {
		width: 100%;
		display: block;
		border: none;
	}
	.messageConts-04 .table-type02 tr th {
		padding: 15px 3% 5px;
        width: 94%;
	}
	.messageConts-04 .table-type02 tr td {
		padding: 5px 3% 15px;
        width: 94%;
	}
}







/* =====================
MAP
===================== */
.map {
	width: 100%;
	position: relative;
	/* padding-top: 56.25%; */
	aspect-ratio: 3/2;
}
  
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}





/* =====================
form
===================== */
.mw_wp_form {
	padding: 100px 0;
  }
  
  .form01 {
	  border-collapse: collapse;
	  empty-cells: show;
	  font-size: 1.6rem;
	  width: 100%;
  }
  .form01 th {
	  font-size: 14px;
	  width: 25%;
	  padding: 10px 0 10px 15px;
	  line-height: 1.4;
	  font-weight: bold;
	  letter-spacing: 1px;
  }
  .form01 td {
	  font-size: 14px;
		  line-height: 300%;
	  padding: 10px 5px;
  }
  .submit-btn input {
		display: block;
		width: 200px;
		padding: 11px;
		transition: transform .3s ease;
		margin: 50px auto 30px;
		background-color: #222222;
		color: #fff;
		transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
		border-radius: 5px;
		border: none;
		font-weight: bold;
		font-family: inherit;
		box-shadow: #B1B1B3 1px 1px 5px 0px;
  }
  .back-btn input {
	  display: block;
	  width: 200px;
	  padding: 11px;
	  transition: transform .3s ease;
	  margin: 50px auto 30px;
	  background-color: #eee;
	  color: #3B3838;
	  transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
	  border-radius: 5px;
	  border: none;
	  font-weight: bold;
	}
	@media (any-hover: hover){
		.submit-btn input:hover {
			color: #222222;
			background-color: #fff;
			cursor: pointer;
		}
		.back-btn input:hover {
			color: #eee;
			background-color: #222222;
			cursor: pointer;
		}
	}
  .mw_wp_form input {
	letter-spacing: 2px;
  }
  
  @media only screen and (max-width: 820px){
	  .form01 th, .form01 td {
		  width: 100%;
		  display: block;
		  border-top: none;
	  }
  }
  @media(max-width:480px){
	.mw_wp_form {
	  padding: 30px 0 100px;
	}
  }
  
  .mwform-checkbox-field label {
	  display: inline-block;
  }
  .mw_wp_form .horizontal-item {
	margin-left: 20px;
  }
  .required-srt {
	  font-size: 8pt !important;
	  padding: 3px 5px;
	  background: #ff2222;
	  color: #fff !important;
	  border-radius: 3px;
	  margin-left: 10px;
	  vertical-align: middle;
  }
  .form01 option,
  .form01 textarea,
  .form01 input[type=text],
  .form01 input[type=email],
  .form01 input[type=search],
  .form01 input[type=url] {
	  width: 100%;
	  padding: 1.3rem;
	box-sizing: border-box;
	  border: 1px solid #eee;
  }
  .mwform-tel-field input[type="text"] {
    display: inline-block;
    width: auto;
    padding: 1.3rem 7px;
}
  .privacy-policy {
	  height: 250px;
	  padding: 15px;
	  border: 1px solid #eee;
	  background-color: #fff;
	  overflow-y: scroll;
	  max-width: 700px;
	  margin: 20px auto;
  }
  .privacy-policy p {
	  font-size: 1.2rem;
  }
  p.privacy-policy__tit{
	  font-size: 2.0rem;
	  font-weight: bold;
	  text-align: center;
	  margin-bottom: 20px;
  }
  .privacy-policy__box {
	  margin: 25px 0;
  }
  p.privacy-policy__head {
	  padding-left: 12px;
	  border-left: 6px solid #222222;
	  margin-bottom: 10px;
	  font-weight: bold;
	font-size: 1.6rem;
  }
  .privacy-policy__btn {
	  text-align: center;
  }
  @media(max-width:480px){
	.mw_wp_form .horizontal-item {
		margin-left: 0 !important;
		display: block;
		margin-top: 5px;
	}
	  .privacy-policy__btn {
		text-align: left;
	}
	p.privacy-policy__tit {
		font-size: 1.8rem;
	}
	p.privacy-policy__head {
		font-size: 1.4rem;
	}
  }
















/* =====================
エラー画面
===================== */
.errorConts {
	padding: 300px 0 400px;
}
.errorConts__title {
	font-size: 3.5rem;
	margin-bottom: 40px;
}
@media(max-width:480px){
	.errorConts__title {
		font-size: 2.2rem;
		margin-bottom: 30px;
	}
}