/*===============================
  Base
===============================*/
html {
	font-size: 10px;
	height: 100%;
}
body {
	color: black;
	line-height: 1.5;
	font-family: 'Noto Sans JP', YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: normal;
	height: 100%;
	font-size: 1.6rem;
}
a {
	color: black;
	text-decoration: none;
}
a:hover {
	color: black;
	text-decoration: none;
}
h1, h2, h3, h4, h5 {
	line-height: 1.5;
	letter-spacing: 0.04em;
}
p, li, a {
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/*===============================
  Clear
===============================*/
img {
	border: 0;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
ol, ul {
	list-style: none!important;
}
* {
	margin: 0;
	padding: 0;
}


/*===============================
common
===============================*/

.wrapper {
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.main {
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
.cream {
	background: #f1f1f1;
}
.wrapper {
	min-width: 1131px;
	}
.main_inner {
	max-width: 1131px;
	margin: 0 auto;
	}

/*===============================
top-header
===============================*/
.header_logo{
		width: 100%;
	height: auto;
	}
.header_top {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.header_top_share{
		display: -webkit-flex;
		display: flex;
	}
	.header_top_title img{
		width: 100%;
		height: auto;
	}
.header_top_share li div span {
	vertical-align: top!important;
}


	.header_logo{
		padding-top: 5px;
	}
.header_top {
	position: absolute;
	left: 0;
	top: 0px;
	width: 100%;
	padding: 22px 5.85%;
	z-index: 9999;
	background-color: #FFF;
}
.header_top_title {
	width: 320px;
}
.header_top_share {
	margin-top: 11px;
}
.header_top_share li {
	margin-left: 8px;
	height: 20px;
}

	
	
	.sp {
		display:none;
	}


.main {
    width:100%;
	background-color: #e9e5e2;
}

/*===============================
footer
===============================*/
.footer{
		position: relative;
		background: #f1f1ec;
	}
	.footer_flex{
		position: relative;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	.footer_ul li a{
		text-decoration: none!important;
		color: #373733!important;
	}
	.footer_page p a{
		text-decoration: none!important;
		color: #373733!important;
		padding-left: 25px;
	}
	.footer_page p{
		background: url("../image/page_up.png") 0 center / 18px 13px no-repeat;
		display: block;
		content: "";
		position: absolute;
		left: 0;
		top: 0;
	}
	.copyright{
		font-size: 1.0rem;
		text-align: center;
		background: #373733;
		padding: 8px 0;
		font-weight: normal;
	}
	.copyright h3{
		color: #fff;
		font-weight: 400;
	}
	.footer_page{
		position: relative;
		text-align: right;
	}

	.footer{
		padding: 25px 5.85%;
	}
	.footer_ul{
		width: 60%;
	}
	.footer_ul li{
		float: left;
		padding-right: 6.18%;
	}
	.footer_ul li a{
		font-size: 1.4rem;
	}
	.footer_page p a{
		font-size: 1.4rem;
	}
	.footer_page{
		width: 128px;
	}
	.copyright{
		margin-bottom: 0px;
	}
	.pre .copyright{
		margin-bottom: 0px;
	}




/*===============================
  Base
===============================*/
.mincho {
    font-family: 'Noto Serif JP', serif;
}
img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
ul::after {
    display: none;
}
.wrapper {
    min-width: 1200px;
}
.main_inner {
    max-width: 1200px;
    margin: 0 auto;
}
a {
    transition: 0.4s;
}
a.al:hover {
    opacity: 0.85;
    filter: alpha(opacity=85);
    -ms-filter: "alpha(opacity=85)";
}
.d-flex {
    display: flex;
}
.f-wrap {
    flex-wrap: wrap;
}
.just-center {
    justify-content: center;
}
.just-between {
    justify-content: space-between;
}
.just-end {
    justify-content: flex-end;
}
.align-center {
    align-items: center;
}


/*===============================
top-header
===============================*/
.header_top {
    position: static;
    padding: 0;
    height: 152px;
}
.header_top_title {
    width: 365px;
}
.header_logo{
    padding-top: 0;
}
.header_top .hnav ul li {
    font-size: 1.3rem;
    margin-left: 42px;
}
.header_top .hnav ul li a {
    color: #595757;
    padding: 5px 0;
    letter-spacing: 0.25em;
}
.header_top .hnav ul li a:hover {
    text-decoration: underline;
}
.header_top .hnav ul li:nth-child(1) a {
    background: url("../image/hicon1.png") left center no-repeat;
    background-size: 26px auto;
    padding-left: 38px;
}
.header_top .hnav ul li:nth-child(2) a {
    background: url("../image/hicon2.png") left center no-repeat;
    background-size: 27px auto;
    padding-left: 39px;
}  
.header_top .hnav ul li:nth-child(3) a {
    background: url("../image/hicon3.png") left center no-repeat;
    background-size: 28px auto;
    padding-left: 40px;
} 


/*===============================
main
===============================*/
.main {
	background-color: #4A4A4A;
}


/*===============================
mainvisual
===============================*/
.mainvisual .swiper-horizontal > .swiper-pagination-bullets,
.mainvisual .swiper-pagination-bullets.swiper-pagination-horizontal,
.mainvisual .swiper-pagination-custom,
.mainvisual .swiper-pagination-fraction {
    bottom: 30px;
}
.mainvisual .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.mainvisual .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 14px;
}
.mainvisual .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    background: #fff;
}
.mainvisual .swiper-pagination-bullet-active {
    background: #fff;
}


/*===============================
.cont1
===============================*/
.cont1 {
	padding: 100px 0 215px;
    background: url("../image/cont1_bg.png") center top no-repeat #000;
    background-size: cover;
    color: #fff;
}
.cont1 .d-flex {
	position: relative;
}
.cont1 h1 {
    width: 703px;
    padding-bottom: 95px;
}
.cont1 p {
    font-size: 1.8rem;
    padding-bottom: 2em;
    line-height: 1.944;
}
.cont1 .con {
    width: 50%;
}
.cont1 .con .img {
    display: none;
}
.cont1 .photo {
    width: 694px;
    position: absolute;
    right: -150px;
}


/*===============================
.gallery
===============================*/
.gallery {
    background-color: #000;
    padding-bottom: 100px;
}
.gallery h2 {
    width: 216px;
    padding-bottom: 60px;
}
.gallery .mySwiper2 {
    width: 855px;
    margin: 0 auto 45px;
}
.gallery .swiper-cont {
    position: relative;
}
.gallery .mySwiper {
    height: 295px;
}
.gallery .mySwiper .swiper-slide {
    cursor: pointer;
    height: auto;
}
.gallery .mySwiper .swiper-slide-thumb-active img {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=50)";
}  
.gallery .swiper-cont .swiper-button-next,
.gallery .swiper-cont .swiper-button-prev {
    color: #ccc;
    left: -50px;
}
.gallery .swiper-cont .swiper-button-next {
    left: auto;
    right: -50px;
}


/*===============================
.solution
===============================*/
.solution {
    padding: 110px 0 100px;
    color: #fff;
}
.solution h2 {
    width: 256px;
    padding-bottom: 55px;
}
.solution h3 {
    width: 697px;
    padding-bottom: 55px;
}
.solution ul li {
    width: 32.5%;
    position: relative;
}
.solution ul li h4 {
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.3;
    padding: 15px 0 20px;
}
.solution ul li p {
    line-height: 1.625;
}
.solution ul li .btn {
    font-size: 1.4rem;
    padding-top: 15px;
}
.solution ul li .btn a {
    color: #fff;
    background: url("../image/solution_icon.png") left center no-repeat;
    background-size: 20px auto;
    padding: 5px 0 5px 25px;
}
.solution ul li .img {
    width: 75px;
    position: absolute;
    right: 0;
    top: 307px;
}


/*===============================
.cont2

===============================*/
.cont2 {
    background-color: #292929;
    padding: 100px 0 95px;
    color: #fff;
}
.cont2 ul {
    width: 1064px;
    margin: 0 auto 60px;
}
.cont2 ul li {
    width: 45.8%;
}
.cont2 ul li h4 {
    width: 130px;
    font-size: 1.8rem;
    background-color: #E15380;
    text-align: center;
    padding: 2px 0 7px;
    margin: 0 auto;
    box-sizing: border-box;
}
.cont2 ul li:nth-child(1) h5 {
    width: 266px;
    margin: 25px auto 20px;
}
.cont2 ul li:nth-child(2) h5 {
    width: 143px;
    margin: 15px auto;
}
.cont2 ul li p {
    font-size: 1.8rem;
    line-height: 1.45;
    padding-top: 18px;
}
.cont2 .btn {
    width: 710px;
    margin: 0 auto;
    font-size: 2.2rem;
}
.cont2 .btn a {
    display: block;
    width: 100%;
    padding: 30px 0;
    color: #fff;
    background-color: #E15380;
    text-align: center;
}
.cont2 .btn a span {
    background: url("../image/cont2_icon1.png") right center no-repeat;
    background-size: 12px auto;
    padding-right: 26px;
}


/*===============================
.designer
===============================*/
.designer {
    background-color: #000;
    border-top: 1px solid #fff;
    padding: 80px 0 110px;
    color: #fff;
    position: relative;
}
.designer .tit {
    width: 50%;
}
.designer .tit h2 {
    width: 267px;
    padding-bottom: 50px;
}
.designer .tit h3 {
    width: 577px;
    position: relative;
    z-index: 2;
}
.designer .tit .img {
    width: 723px;
    position: absolute;
    left: 0;
    bottom: 0;
}
.designer .con {
    width: 40.25%;
    margin-top: 30px;
}
.designer .con ul li {
    width: 48%;
    margin-bottom: 16px;
}
.designer .con p {
    line-height: 1.875;
}
.designer .con .btn1 {
    font-size: 1.4rem;
    display: flex;
    justify-content: flex-end;
    padding: 5px 0 70px;
}
.designer .con .btn1 a {
    display: block;
    width: 155px;
    border: 1px solid #B2B2B2;
    color: #fff;
    padding: 10px 0 10px 12px;
    background: url("../image/designer_icon1.png") 93% center no-repeat;
    background-size: 12px auto;
    letter-spacing: normal;
}
.designer .con .btn2 {
    font-size: 2.2rem;
}
.designer .con .btn2 a {
    display: block;
    width: 100%;
    color: #fff;
    background-color: #E06C00;
    padding: 19px 0 19px 130px;
    line-height: 1.3;
}
.designer .con .btn2 a span {
    display: inline-block;
    background: url("../image/designer_icon2.png") right center no-repeat;
    background-size: 12px auto;
    padding-right: 32px;
}


/*===============================
fnav
===============================*/
.fnav {
    display: none;
}
   
    
