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

共通

=================================================================== */
.page-title h1{
	text-align: center;
	color: #fff;
	background: #000;
	padding: 0.5em 0;
	margin: 0 0 1em 0;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
	line-height: 1em;
	font-size: 3.0rem;
}
@media (max-width: 480px) {
	.page-title h1{
		font-size: 2.5rem;
	}
}
#site-content{
	padding: 0 0 50px 0;
}
.txt_waku{
	width: fit-content;
	border: 1px solid #333;
	padding: 0.2em 1em;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto 2em;
}
.bg_black{
	background: #000;
}
.bg_black p,.bg_black h3{
	color: #fff;
}
.bg_gray{
	background: #ebebeb;
}
.bg_beige{
	background: #e4d6b1;
}
.bg_gray_l{
	background: linear-gradient(to right, #ebebeb 0%, #ebebeb 70%, #fff 30%, #fff 100%);
	padding: 3em 0 2em 0;
}
.bg_gray_r{
	background: linear-gradient(to left, #ebebeb 0%, #ebebeb 70%, #fff 30%, #fff 100%);
	padding: 3em 0 2em 0;
}
.bg_beige_l{
	background: linear-gradient(to right, #e4d6b1 0%, #e4d6b1 45%, #fff 30%, #fff 100%);
	padding: 3em 0 2em 0;
}
.bg_beige_r{
	background: linear-gradient(to left, #e4d6b1 0%, #e4d6b1 45%, #fff 30%, #fff 100%);
	padding: 3em 0 2em 0;
}
.bg_black_l{
	background: linear-gradient(to right, #000 0%, #000 70%, #fff 30%, #fff 100%);
	padding: 3em 0 2em 0;
}
.bg_black_r{
	background: linear-gradient(to left, #000 0%, #000 70%, #fff 30%, #fff 100%);
	padding: 3em 0 2em 0;
}
.bg_black_l p,.bg_black_l h3,.bg_black_r p,.bg_black_r h3{
	color: #fff;
}
@media (max-width: 768px) {
	.bg_black_r{
		background: linear-gradient(to left, #000 0%, #000 100%, #fff 30%, #fff 100%);
		padding: 2em 0 2em 0;
		margin-bottom: 0;
	}
	.bg_black_l{
		background: linear-gradient(to right, #000 0%, #000 100%, #fff 30%, #fff 100%);
		padding: 2em 0 2em 0;
		margin-bottom: 0;
	}
	.bg_beige_l{
		background: linear-gradient(to right, #e4d6b1 0%, #e4d6b1 70%, #fff 30%, #fff 100%);
		padding: 3em 0 2em 0;
	}
	.bg_beige_r{
		background: linear-gradient(to left, #e4d6b1 0%, #e4d6b1 70%, #fff 30%, #fff 100%);
		padding: 3em 0 2em 0;
	}
}
.column-2colstyle_a {
  position: relative;
}
.column-2colstyle_txt {
  position: relative;
  min-width: 580px;
  width: 52%;
  z-index: 1;
  height: auto;
}
.column-2colstyle_txt_inner {
  margin-left: calc(100% - 578px);
  padding: 78px 120px 20px 0;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .column-2colstyle_txt {
    position: relative;
    min-width: auto;
    width: 100%;
    z-index: 1;
    height: auto;
  }
  .column-2colstyle_txt_inner {
    margin-left: 0;
    padding: 40px 1em;
    box-sizing: border-box;
  }
}
.column-2colstyle_img {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  z-index: 2;
}
.column-2colstyle_img img {
  width: 100%;
  height: 680px;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 768px) {
  .column-2colstyle_img {
    position: relative;
    top: 0px;
    right: 0;
    width: 100%;
  }
  .column-2colstyle_img img {
    height: 400px;
  }
}
.column-2colstyle_a{
  min-height: 500px;
}
.column-2colstyle_txt {
  width: 52%;
  z-index: 1;
  height: auto;
}
.column-2colstyle_txt_inner {
  margin-left: calc(100% - 578px);
  padding: 78px 120px 78px 0;
  box-sizing: border-box;
}
.column-2colstyle_txt_r {
  position: absolute;
  min-width: 580px;
  width: 52%;
  top: 30px;
  right: 0;
  z-index: 1;
  /*height: 500px;*/
}
.column-2colstyle_txt_r_inner {
  padding: 78px 0 78px 70px;
  box-sizing: border-box;
  width: 60%;
  min-width: 650px;
}
@media (max-width: 768px) {
  .column-2colstyle_txt,.column-2colstyle_txt_r {
		top: -35px;
    position: relative;
    min-width: auto;
    width: 96%;
    z-index: 2;
    height: auto;
		margin: 0 auto;
  }
  .column-2colstyle_txt_inner, .column-2colstyle_txt_r_inner {
    margin-left: 0;
    padding: 40px 1em;
    box-sizing: border-box;
    width: 100%;
	  min-width: auto;
  }
}

.column-2colstyle_img_l {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  z-index: 2;
}
.column-2colstyle_img img ,.column-2colstyle_img_l img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 768px) {
  .column-2colstyle_img,.column-2colstyle_img_l {
    position: relative;
    top: 0px;
    right: 0;
    width: 100%;
  }
  .column-2colstyle_img img,.column-2colstyle_img_l img {
    height: 270px;
  }
}
/*------------------
		スライドショー
------------------*/
.slider-wrapper {
  display: flex;
  overflow: hidden;
}
.slider {
  animation: scroll-left 60s infinite linear .7s both;
  display: flex;
}
.slide {
  width: calc(100vw / 4);
	margin-right: 1em;
}
/*.slider_6 .slide {
  width: calc(100vw / 6);
	margin-right: 1em;
}*/
.slide img {
  display: block;
  width: 100%;
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 480px){
	.slide {
		width: calc(100vw / 3);
		margin-right: 1em;
	}
}

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

                                TOP

=================================================================== */
.mv_container {
	background: url(../images/mv.png) no-repeat center center;
	background-size: cover;
	padding: 12em 0 5em 0;
}
.mv-text_area{
	width: 100%;
	padding-left: 20%;
	box-sizing: border-box;
}
.mv-text_area p{
	color: #fff;
}
.mv-text_area .mv_txt_en{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
}
.mv-text_area h2{
	color: #fff;
	font-size: 6.0rem;
	line-height: 1.5em;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
	text-align: left;
	margin-bottom: 0;
}
.mv-text_area h2 .mv_txt_big{
	color: #fff;
	font-size: 9.0rem;
}
.mv-text_area .sub_ttl{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
	color: #fff;
	font-size: 3.0rem;
}
.mv-text_area .txt_bg_beige{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
	background: var(--color-bg-beige);
	color: var(--color-font-r);
	padding: 0.5em 1em;
	box-sizing: border-box;
	margin-bottom: 0.5em;
	text-align: left;
	font-size: 2.3rem;
	font-weight: bold;
}
@media screen and (max-width: 820px){
	.mv_container {
		padding: 10em 0 4em 0;
		margin-bottom: 3em;
	}
	.mv-text_area{
		width: 90%;
		padding-left: 10%;
	}
	.mv-text_area h2{
		font-size: 5.0rem;
	}
	.mv-text_area h2 .mv_txt_big{
		font-size: 8.0rem;
	}
	.mv-text_area .sub_ttl{
		font-size: 2.5rem;
	}
}
@media screen and (max-width: 480px){
	.mv_container {
		padding: 8em 0 2em 0;
		margin-bottom: 2em;
	}
	.mv-text_area{
		width: 94%;
		padding-left: 6%;
	}
	.mv-text_area h2{
		font-size: 3.2rem;
	}
	.mv-text_area h2 .mv_txt_big{
		font-size: 5.5rem;
		line-height: 1.2em;
	}
	.mv-text_area .sub_ttl{
		font-size: 2.0rem;
	}
	.mv-text_area .txt_bg_beige{
		font-size: 1.8rem;
	}
}
.news_area{
	border-bottom: 1px solid #000;
	margin-bottom: 3em;
	padding-bottom: 1em;
}
.merit_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 3em 0;
}
.merit_list li{
	border: 1px solid #000;
	text-align: center;
	padding: 1em;
	width: 48%;
	box-sizing: border-box;
  position: relative;
	margin-bottom: 1em;
	background: #fff;
}
.merit_list li:after{ 
  position: absolute;
  left:0;
  top: 0;
  content: '';
  border-top:7px solid #000;
  border-left:7px solid #000;
  border-right: 7px solid #fff;
  border-bottom: 7px solid #fff;
  box-sizing: border-box;
}
.merit_list li .maru{
	display: block;
	color: var(--color-font-r);
	font-size: 4rem;
}
.top h3{
	font-size: 4.0rem;
}
@media screen and (max-width: 480px){
	.top h3{
		font-size: 2.5rem;
	}
}

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

                    会社概要

=================================================================== */
#company h2{
	border-bottom: 1px solid var(--color-font-r);
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
.company_name{
	text-align: right;
	font-size: 1.8rem;
}
.company_name span{
	display: block;
	font-size: 1.5rem;
}
.company_profile{
	display: flex;
	flex-wrap: wrap;
}
.company_profile dt{
	margin: 0;
	width: 20%;
	padding: 1em;
	box-sizing: border-box;
	border-bottom: 1px solid var(--color-font-r);
}
.company_profile dd{
	margin: 0;
	width: 80%;
	padding: 1em;
	box-sizing: border-box;
	border-bottom: 1px solid var(--color-font-r);
}
.company_profile dt::before{
	content: '・';
	color: var(--color-font-r);
	display: inline-block;
	margin-right: 1em;
}
@media screen and (max-width: 480px){
	.company_profile dt{
		width: 30%;
	}
	.company_profile dd{
		width: 70%;
	}
	.company_profile dt::before{
		margin-right: 0.2em;
	}
}
.map{
	margin: 2em 0;
}

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

                    SDGs

=================================================================== */
.sdgs_icon{
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 50px;
}
.sdgs_icon li{
	width: 20%;
}
#sdgs h3{
	border-bottom: 1px solid var(--color-font-r);
}
#sdgs h3::before{
	content: '・';
	color: var(--color-font-r);
	display: inline-block;
}
#sdgs h3.hstyle-c{
	text-align: center;
}
#sdgs h3.hstyle-c::before{
	content: '';
}
#sdgs .bg_beige_box{
	background: #e4d6b1;
	padding: 4em;
	box-sizing: border-box;
}
@media only screen and (max-width: 480px){
	#sdgs .bg_beige_box{
		padding: 2em;
	}
}


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

                    サービス内容　service

=================================================================== */
#service h3{
	border-bottom: 1px solid #fff;
}
#service h3::before{
	content: '・';
	color: var(--color-font-r);
	display: inline-block;
}
#service h3.hstyle-bd{
	border: none;
}
#service h3.hstyle-bd::before{
	content: '';
}
.performance_bk{
	background: #fff;
	padding: 2em;
	box-sizing: border-box;
	margin-bottom: 3em;
}
.performance_bk h4{
	font-size: 2.0rem;
	text-align: center;
	margin-bottom: 1em;
}
.performance_bk .before{
	background:  var(--color-bg-gray);
	padding: 2em;
	box-sizing: border-box;
	margin-bottom: 1em;
}
.performance_bk .before img{
	margin: 0 auto;
	display: block;
}
.performance_bk .before h5{
	font-size: 1.6rem;
	color: var(--color-font-r);
	border-bottom: 1px solid #333;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
.performance_bk .after{
	background:  #fff;
	border: 1px solid var(--color-bg-gray);
	padding: 2em;
	box-sizing: border-box;
}
.performance_bk .after h5{
	font-size: 1.6rem;
	color: var(--color-font-r);
	border-bottom: 1px solid var(--color-bg-gray);
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
@media only screen and (max-width: 480px){
	.performance_bk{
		padding: 1em;
		margin-bottom: 2em;
	}
	.performance_bk h4{
		font-size: 1.8rem;
	}
}
.faq_bk{
	margin-bottom: 3em;
}
.faq_bk dl{
	background: var(--color-bg-gray);
	padding: 2em;
	box-sizing: border-box;
	margin-bottom: 1em;
}
.faq_bk dl dt{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
	font-size: 2.0rem;
	border-bottom: 1px solid #000;
}
.faq_bk dl dt::before{
	content: 'Q';
	color: var(--color-font-r);
	display: inline-block;
	margin-right: 0.5em;
}
@media only screen and (max-width: 480px){
	.faq_bk dl dt{
		font-size: 1.6rem;
	}
}

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

                    プライバシーポリシー

=================================================================== */
.privacy{
	padding: 3em 0;
}
.privacy h2{
	border-bottom: 1px solid var(--color-font-r);
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝, YuMincho, serif, sans-serif ;
	font-size: 2.0rem;
	text-align: left;
}
/* ===================================================================

                    サイトマップ　sitemap

=================================================================== */
.sitemap-conts {
	width: 90%;
	margin: 0 auto;
	padding: 50px 0;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.sitemap-conts ul li {
    font-size: 1.9rem;
    margin-bottom: 15px;
}
.sitemap-conts ul li a {
    text-decoration: underline;
}
@media(max-width:480px){
    .sitemap-conts ul {
        width: 100%;
    }
    .sitemap-conts ul li {
        font-size: 1.4rem;
    }
}
/* ===================================================================

                    お問い合わせ　contact

=================================================================== */
.wrap_form01 {
	max-width: 770px;
	width: 90%;
	margin: 0 auto;
    padding: 3em 0;
}

.wrap_form01.p-none{
	padding: 1em 0 0;
}

.font_form01 h2{
	text-align: center;
    font-size: 1.8em;
    padding: 0 0 0.6em;
}


.font_form01 p{
	text-align: center;
}

.form01 {
	border-collapse: collapse;
    empty-cells: show;
    font-size: 1.6rem;
	width: 100%;
}
.form01 th {
    font-size: 14px;
    width: 22%;
    border-bottom: solid 1px #d6d6d6;
    padding: 10px 0 10px 15px;
    font-weight: normal;
}
.form01 td {
    font-size: 14px;
	line-height: 300%;
    border-bottom: solid 1px #d6d6d6;
    padding: 10px 5px;
}


.submit-btn{
	text-align: center;
	width* 100%;
}

.submit-btn button[type="submit"]{
    background: #040000;
    width: 60%;
    max-width: 550px;
    min-width: 220px;
    margin: 30px auto;
    display: block;
    border: 1px #000 solid;
    text-align: center;
    padding: 5px;
    color: #fff;
    transition: all 0.4s ease;
	font-family: inherit;
}

.submit-btn button[type="submit"]{
	position: relative;
    text-decoration: none;
    color: #d7a133;
    font-size: clamp(13px, 1.8vw, 16px);
    line-height: 1.1;
    border: 1px solid #333;
    display: inline-block;
    width: 200px;
    text-align: left;
    background-color: #fff;
    padding: 0.5em 2em;
}

.submit-btn button[type="submit"]::after{
	content: '';
    position: absolute;
    display: block;
    width: 31px;
    height: 28px;
    background-image: url(../images/icon_allow-s.svg);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
    top: 0.1em;
    right: 0.2em;
    border-left: 1px solid var(--color-main);
}


.contact_privacy-Box {
	border: 1px solid #8d8d8d;
    padding: 25px;
    border-radius: 5px;
}
.contact_privacy-Box a {
	text-decoration: underline;
}
@media only screen and (max-width: 767px){
	.form01 th, .form01 td {
    	width: 100%;
    	display: block;
    	border-top: none;
	}
	
	.form01 th {
    border-bottom: none; 
    padding: 10px 0 0 0;
    font-weight: normal;
}
	
	.form01 td {
    border-bottom: none;
		padding: 10px 0;
}
}

.mwform-checkbox-field label {
    display: inline-block;
}
.mw_wp_form .horizontal-item {
    margin-left: 10px;
	display: block;
}
.required-srt {
    font-size: 8pt !important;
    padding: 3px 5px;
    background: #ce0000;
    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] {

	padding: 1.3rem;
    box-sizing: border-box;
}



