@charset "UTF-8";
/* CSS Document */

body{
	overflow-x: hidden;
}
body #Container > .bg{
	font-family: 'YakuHanMP_Noto','Noto Serif JP', serif;
	font-weight: 500;
	line-height: 2;
	font-size: 18px;
	letter-spacing: normal;
}

img{
	border: 0;
    vertical-align: bottom;
	max-width: 100%;
}
*:focus {
  outline: none;
}
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

.dpc{
	display: block;
}
.dsp{
	display: none;
}
.flex{
	display: flex;
	justify-content: space-between;
}

#Container{
	width: 100%;
	text-align: center;
}

#Container .WrapTop {
	text-align: left;
	width: 980px;
    margin: 0 auto;
}
#Container > .bg{
	background: #fff;
}
#mainvisual{
	width: 100%;
	margin: 0 auto;
}

#mainvisual img{
	width: 100%;
}

nav.top_nav{
	width: 1020px;
	margin: 0 auto; 
}

nav.top_nav ul{
	align-items: center;
	height: 70px;
}
nav.top_nav ul a{
	display: block;
}
section > .inner{
	width: 980px;
	margin: 0 auto;
}


/*section 01

*/
section.sec01{
	background: url("../../image/bg_pattern_1.jpg") repeat;
}
section.sec01 .top-txt{
	position: relative;
	padding: 70px 0 140px;
	background: url("../../image/sec01_bg.png") no-repeat;
	background-size: cover;
	overflow: hidden;
}
section.sec01 .top-txt::before{
	content: '';
	display: inline-block;
	position: absolute;
	bottom: -160px;
	right: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background: url("../../image/bg_pattern_1.jpg") repeat;
	border-radius: 1920px 1920px 0 0 / 300px 300px 0 0;
	margin: 16px -300px;
    padding: 80px 300px;
    min-height: 60px;
    text-align: center;
}
section.sec01 .top-txt .ttl{
	max-width: 1116px;
	margin: 0 auto 30px;
}
section.sec01 .top-txt .txt{
	font-weight: 400;
	color: #fff;
	letter-spacing: 1px;
}

section.sec01 .lineUp{
	padding: 50px 0 120px;
}

section.sec01 .lineUp .ttl{
	margin-bottom: 60px;
}
section.sec01 .lineUp .flex{
	justify-content: center;
}
section.sec01 .lineUp .flex > div.item{
	width: 460px;
	padding: 50px 50px 60px;
	background: url("../../image/sec01_bg02.png") no-repeat center top;
	background-size: contain;
	box-sizing: border-box;
}
section.sec01 .lineUp .flex > div:first-child{
	margin-right: 60px;
}
section.sec01 .lineUp .flex > div.item .name{
	margin-bottom: 20px;
}
section.sec01 .lineUp .flex > div.item .product{
	margin-bottom: 5px;
}
section.sec01 .lineUp .flex > div.item .txt{
	margin-bottom: 15px;
	line-height: 1.8;
}

/*ヒストリーページ*/

div.history{
	position: relative;
	width: 100%;
	border-top: solid 4px #6d5800;
	border-bottom: solid 4px #6d5800;
}
div.history::before{
	content: '';
	display: inline-block;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 4px;
	width: 100%;
	height: 2px;
	z-index: 1;
	background: #6d5800;
}
div.history::after{
	content: '';
	display: inline-block;
	position: absolute;
	right: 0;
	left: 0;
	top: 4px;
	width: 100%;
	height: 2px;
	background: #6d5800;
}
div.history > .bg{
	display: flex;
	position: relative;
	background: url("../../image/history_bg.png") no-repeat;
	background-size: cover;
}
div.history > .bg::before{
	content: '';
	display: inline-block;
	position: absolute;
	right: 0;
	left: 0;
	top: -67px;
	width: 382px;
	height: 119px;
	z-index: 1;
	margin: 0 auto;
	background: url("../../image/history_img01.png") no-repeat;
}
div.history > .bg .inner{
	width: 522px;
	margin: 0 auto;
}
div.history .inner .ttl{
	position: relative;
	padding-top: 85px;
	margin-bottom: 15px;
}
div.history .inner .txt{
	color: #350700;
	margin-bottom: 20px;
}
div.history .inner .btn{
	padding-bottom: 60px;
}
div.history .inner .ttl::before{
	content: '';
	display: inline-block;
	position: absolute;
	left: -400px;
	top: -20px;
	width: 352px;
	height: 423px;
	z-index: 2;
	background: url("../../image/history_img02.png") no-repeat;
}
div.history .inner .ttl::after{
	content: '';
	display: inline-block;
	position: absolute;
	right: -400px;
	top: -20px;
	width: 355px;
	height: 419px;
	z-index: 2;
	background: url("../../image/history_img03.png") no-repeat;
}


/*section 02

*/

section.sec02{
	overflow-x: hidden;
	padding-bottom: 120px;
	background: url(../../image/bg_pattern_1.jpg) repeat;
}
section.sec02 .inner > .ttl{
	margin-bottom: 60px;
}

section.sec02 .point-area .flex{
	position: inherit;
}
section.sec02 .point-area > div{
	margin-bottom: 90px;
}
section.sec02 .point-area > div:last-of-type{
	margin-bottom: 155px;
}
section.sec02 .point-area .inner{
	position: relative;
}
section.sec02 .point-area .inner::before{
	position: absolute;
	content: '';
	display: inline-block;
	right: 270px;
	top: 25px;
	width: 100vw;
	height: 100%;
	z-index: 0;
	background: #fff;
}
section.sec02 .point-area .right .inner::before{
	right: inherit;
	left: 304px;
}
section.sec02 .point-area .exp{
	min-width: 502px;
	text-align: left;
}
section.sec02 .point-area .num{
	margin-bottom: 20px;
}
section.sec02 .point-area .ttl{
	font-size: 22px;
	margin-bottom: 20px;
	font-weight: bold;
}
section.sec02 .point-area .ttl span{
	font-size: 32px;
	color: #c18f19;
	padding: 0 2px;
	letter-spacing: 1px;
}
section.sec02 .point-area .txt{
	font-size: 18px;
	line-height: 1.8;
	padding-bottom: 25px;
}
section.sec02 .point-area .txt span.red{
	color: #b52121;
}

section.sec02 .point-area .point01 .flex{
	align-items: flex-end;
}
section.sec02 .point-area .point01 .txt{
	width: 555px;
}
section.sec02 .point-area .point01 .img{
	padding-left: 50px;
}

section.sec02 .point-area .point02 .flex{
	align-items: center;
}
section.sec02 .point-area .point02 .txt{
	width: 500px;
}
section.sec02 .point-area .point02 .img{
	padding: 0 70px 0 50px;
}

section.sec02 .point-area .point03 .flex{
	align-items: flex-end;
}
section.sec02 .point-area .point03 .txt{
	width: 540px;
}
section.sec02 .point-area .point03 .img{
	position: relative;
	top: 30px;
	padding: 0 0 0 60px;
}

section.sec02 .point-area .point04 .flex{
	align-items: center;
}
section.sec02 .point-area .point04 .txt{
	width: 490px;
}
section.sec02 .point-area .point04 .img{
	padding: 30px 40px 0 0;
}
section.sec02 .mariage > .ttl{
	margin-bottom: 50px;
}
section.sec02 .mariage .flex .item{
	width: 460px;
}
section.sec02 .mariage .flex .item .img{
	position: relative;
	bottom: -6px;
}

section.sec02 .mariage .flex .item .exp{
	background: url("../../image/sec02_m_bg.png") no-repeat;
}
section.sec02 .mariage .flex .item .exp .ttl{
	position: relative;
	font-size: 26px;
	padding: 50px 0;
	letter-spacing: 0.1em;
}
section.sec02 .mariage .flex .item .exp .ttl::after{
	position: absolute;
	content: '';
	display: inline-block;
	top: 110px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 147px;
	height: 11px;
	z-index: 0;
	background: url("../../image/sec02_m_shape.png") no-repeat;
	background-size: contain;
}
section.sec02 .mariage .flex .item .exp .ttl span{
	color: #c18f19;
}
section.sec02 .mariage .flex .item .exp .txt{
	text-align: left;
	padding: 0 50px 50px;
	letter-spacing: 0.5px;
}



/*section 03

*/
div.pt_bg{
	background: url("../../image/bg_pattern_2.jpg") repeat;
}
section.sec03{
	padding: 110px 0 75px;
}
section.sec03 > .inner > .ttl{
	margin-bottom: 80px;
}
section.sec03 .product-blc{
	text-align: left;
}
section.sec03 .thema{
	position: relative;
	text-align: left;
	background: #e3f1e9;
	margin-bottom: 40px;
}
section.sec03 .b02 .thema{
	background: #f7f9d1;
}
section.sec03 .thema::after{
	position: absolute;
	content: '';
	display: inline-block;
	right: 130px;
	bottom: -27px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 29px 13.5px 0 13.5px;
	border-color: #e3f1e9 transparent transparent transparent;
}
section.sec03 .b02 .thema::after{
	border-color: #f7f9d1 transparent transparent transparent;
}
section.sec03 .product-blc .thema .name{
	position: relative;
	display: inline-block;
	font-size: 20px;
	padding: 0 15px 0 25px;
	font-weight: bold;
	color: #fff;
	z-index: 1;
}
section.sec03 .product-blc.b01{
	margin-bottom: 70px;
}
section.sec03 .product-blc.b02{
	margin-bottom: 80px;
}
section.sec03 .product-blc.b01 .thema .name{
	background: #00754a;
}
section.sec03 .product-blc.b02 .thema .name{
	background: #909200;
}
section.sec03 .product-blc.b01 .thema .name::before{
    transform: skewX(-25deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0;
    right: -10px;
    z-index: -1;
    background-color:#00754a;
	width: 100%;
}
section.sec03 .product-blc.b02 .thema .name::before{
    transform: skewX(-25deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0;
    right: -10px;
    z-index: -1;
    background-color:#909200;
	width: 100%;
}
section.sec03 .product-blc .thema .flex{
	padding: 35px 0 40px;
	justify-content: center;
	align-items: center;
}
section.sec03 .product-blc .thema .flex > div:first-of-type{
	margin-right: 40px;
}



section.sec03 .product-blc .txt{
	width: 630px;
	font-weight: 400;
	line-height: 1.8;
}
section.sec03 .product-blc.b02 .txt{
	width: 620px;
}
section.sec03 .product-blc .txt p{
	margin-bottom: 18px;
}

section.pagetop{
	text-align: right;
	border-bottom: solid 2px #41210f;
}

/*ヒミツバナー*/
.bnr_himitu{
	margin-bottom: 140px;
	text-align: center;
}
.bnr_himitu a{
	display: inline-block;
}

/*フローティングバナー*/
.floating_bnr{
	display: none;
	position: fixed;
	z-index:9999;
	right: 20px;
	bottom: 20px;
	text-align: right;
}
.floating_bnr .close_btn{
	width: 28px;
	margin: 0 0 0 auto;
	position: relative;
	right: 0;
	top: 5px;
	cursor: pointer;
}


@media screen and (max-width: 750px){
	
body #Container > .bg{
	font-size: 3.7333vw
}

.dpc{
	display: none;
}
.dsp{
	display: block;
}
	
#Container .WrapTop {
	width: 100%;
}
	
	nav.top_nav{
		position: relative;
		width: 100%;
	}
	
	nav.top_nav::after{
		position: absolute;
		content: '';
		display: inline-block;
		width: 100vw;
		height: 1px;
		background: #e5f1ed;
		top: 12vw;
		left: 0;
		right: 0;
		margin: auto 0;
	}
	nav.top_nav::before{
		position: absolute;
		content: '';
		display: inline-block;
		width: 100vw;
		height: 1px;
		background: #e5f1ed;
		top: 24vw;
		left: 0;
		right: 0;
		margin: auto 0;
	}
	
	nav.top_nav ul{
		padding: 0 2vw;
		justify-content: center;
		flex-wrap: wrap;
		height: auto;
	}
	nav.top_nav ul a{
		display: inherit;
	}
	nav.top_nav ul>li{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 12vw;
		line-height: 8vw;
		width: 50%;
		box-sizing: border-box;
	}
	nav.top_nav ul>li:nth-of-type(odd){
		border-right: 1px solid #e5f1ed;
	}
	nav.top_nav ul>li:first-of-type img{
		width: 24vw;
	}
	nav.top_nav ul>li:nth-of-type(2) img{
		width: 32vw;
	}
	nav.top_nav ul>li:nth-of-type(3) img{
		width: 37.8vw;
	}
	nav.top_nav ul>li:nth-of-type(4) img{
		width: 27.4vw;
	}
	nav.top_nav ul>li:nth-of-type(5) img{
		width: 24.8vw;
	}
	nav.top_nav ul>li:nth-of-type(6) img{
		width: 36vw;
	}
	
	section.sec01 .top-txt {
    position: relative;
    padding: 16vw 0 17vw;
    background: url(../../image/sec01_bg_sp.png) no-repeat;
    background-size: cover;
    overflow: hidden;
}
	section.sec01 .top-txt .ttl{
		width: 87.46vw;
		margin: 0 auto 8vw;
	}
	section.sec01 .top-txt .txt{
		padding: 0 6.3vw;
		letter-spacing: normal;
	}
	section.sec01 .top-txt::before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: -33vw;
    right: 0;
    left: 0;
    width: 100%;
    height: 5vw;
    background: url(../../image/bg_pattern_1.jpg) repeat;
    border-radius: 100% 100% 0 0 / 300px 300px 0 0;
    margin: 16px -300px;
    padding: 10vw 300px;
    min-height: 60px;
    text-align: center;
}
	section > .inner{
		width: 100%;
		padding: 0 6.66vw;
		box-sizing: border-box;
	}
	section.sec01 .lineUp {
    padding: 11vw 0 0;
}
	section.sec01 .lineUp .ttl {
		width: 54.8vw;
		margin: 0 auto 13.3vw;
}
	section.sec01 .lineUp .flex{
		display: block;
	}
	section.sec01 .lineUp .flex > div:first-child{
		margin-right: 0;
	}
	section.sec01 .lineUp .flex > div.item {
    width: 100%;
    padding: 9.33vw 4.6vw 10vw;
    background: url(../../image/sec01_bg02_sp.png) no-repeat center top;
    background-size: contain;
    box-sizing: border-box;
}
	section.sec01 .lineUp .flex > div.item.i01{
		margin-bottom: 8vw;
	}
	section.sec01 .lineUp .flex > div.item.i02{
		margin-bottom:0;
	}
	section.sec01 .lineUp .flex > div.item.i01 .name {
		width: 34vw;
		margin: 0 auto 4vw;
	}
	section.sec01 .lineUp .flex > div.item.i02 .name {
		width: 58.8vw;
		margin: 0 auto 4vw;
	}
	section.sec01 .lineUp .flex > div.item .product {
		width: 57.866vw;
		margin: 0 auto 3vw;
	}
	section.sec01 .lineUp .flex > div.item .txt{
		margin-bottom: 3.5vw;
	}
	section.sec01 .lineUp .flex > div.item .btn{
		width: 65.333vw;
		margin: 0 auto;
	}
	div.history > .bg {
		background: url(../../image/history_bg_sp.png) no-repeat;
		background-size: cover;
	}
	div.history > .bg::before {
		top: -11.3vw;
		width: 68.53vw;
		height: 21vw;
		background: url(../../image/history_img01_sp.png) no-repeat;
		background-size: contain;
	}
	div.history > .bg .inner{
		width: 100%;
	}
	div.history .inner .ttl {
		position: relative;
		width: 44.93vw;
		padding-top: 13.33vw;
		margin: 0 auto 4vw;
	}
	div.history .inner .ttl::before {
		left: -27.5vw;
		top: 13vw;
		width: 23.866vw;
		height: 53.6vw;
		z-index: 2;
		background: url(../../image/history_img02_sp.png) no-repeat;
		background-size: contain;
	}
	div.history .inner .ttl::after {
		right: -28vw;
		top: 13vw;
		width: 22.66vw;
		height: 53.06vw;
		background: url(../../image/history_img03_sp.png) no-repeat;
		background-size: contain;
	}
	div.history .inner .txt{
		margin-bottom: 3vw;
	}
	div.history .inner .btn{
		width: 73.33vw;
		margin: 0 auto;
		padding-bottom: 12vw;
	}
	section.sec02{
		padding: 15vw 0 17vw;
	}
	section.sec02 .inner > .ttl{
		width: 74vw;
		margin: 0 auto 13.33vw;
	}
	section.sec02 .point-area > div{
		margin-bottom: 8vw;
	}
	section.sec02 .point-area .inner::before {
		right: 0;
		top: 5%;
		width: 100vw;
		height: 68%;
		z-index: 0;
		background: #fff;
	}
	section.sec02 .point-area .left .flex{
		display: block;
	}
	section.sec02 .point-area .exp{
		min-width: auto;
	}
	section.sec02 .point-area .num{
		width: 18.66vw;
		margin: 0 auto 4vw 0;
	}
	section.sec02 .point-area .ttl{
		font-size: 4.36vw;
		margin-bottom: 4vw;
		line-height: 1.5;
	}
	section.sec02 .point-area .ttl span{
		font-size: 5.866vw;
		padding: 0 1px;
	}
	section.sec02 .point-area .txt {
		font-size: 3.733vw;
		padding-bottom: 3vw;
	}
	section.sec02 .point-area .point01 .txt,section.sec02 .point-area .point03 .txt{
		width: 92%;
	}
	section.sec02 .point-area .point01 .img{
		padding: 0 7vw 0 3vw;
	}
	section.sec02 .point-area .right .inner::before {
		right: inherit;
		left: 0;
		top: 6.5%;
		height: 62%;
	}
	section.sec02 .point-area .right .flex{
		padding-left: 7vw;
	}
	section.sec02 .point-area .point02 .flex,section.sec02 .point-area .point04 .flex{
		flex-wrap: wrap;
    	flex-direction: column-reverse;
	}
	section.sec02 .point-area .point02 .txt,section.sec02 .point-area .point04 .txt{
		width: 100%;
	}
	section.sec02 .point-area .point02 .img{
		padding: 0 3vw 0 0;
	}
	section.sec02 .point-area .point03 .img {
		position: initial;
		width: 92%;
		padding: 0;
	}
	section.sec02 .point-area .point04 .img {
		padding: 0;
	}
	
	section.sec02 .point-area .point04.right .inner::before{
		height: 71%;
		top: 6%;
	}
	section.sec02 .point-area > div:last-of-type{
		margin-bottom: 14.66vw;
	}
	section.sec02 .mariage > .ttl{
		margin-bottom: 8vw;
	}
	section.sec02 .mariage .flex{
		display: block;
	}
	section.sec02 .mariage .flex .item{
		width: 100%;
	}
	section.sec02 .mariage .flex .item:first-of-type{
		margin-bottom: 5vw;
	}
	section.sec02 .mariage .flex .item .img{
		bottom: -2vw;
	}
	section.sec02 .mariage .flex .item .exp {
		background: url(../../image/sec02_m_bg_sp.png) no-repeat;
		background-size: contain;
	}
	section.sec02 .mariage .flex .item .exp .ttl{
		font-size: 5.866vw;
		padding: 6vw 0;
	}
	section.sec02 .mariage .flex .item .exp .ttl::after {
		top: 18.5vw;
		width: 27.2vw;
		height: 2vw;
		background: url(../../image/sec02_m_shape_sp.png) no-repeat;
		background-size: contain;
	}
	section.sec02 .mariage .flex .item .exp .txt {
		text-align: left;
		padding: 0 9vw 10vw;
	}
	section.sec03{
		padding: 13.333vw 0 9.33vw;
	}
	section.sec03 > .inner > .ttl{
		width: 60vw;
		margin: 0 auto 9.5vw;
	}
	section.sec03 .thema{
		margin-bottom: 9vw;
	}
	section.sec03 .product-blc .thema .name {
		font-size: 3.733vw;
		padding: 0 3vw 0 4vw;
	}
	section.sec03 .product-blc.b01 .thema .name::before{
		right: -2vw;
	}
	section.sec03 .product-blc .thema .flex{
		display: block;
		padding: 6vw 0 9vw;
	}
	section.sec03 .product-blc .thema .flex > div:first-of-type{
		width: 53.3vw;
		margin: 0 auto 6vw;
	}
	section.sec03 .product-blc.b01 .thema .flex > div:last-of-type{
		width: 61.6vw;
		margin: 0 auto;
	}
	section.sec03 .thema::after {
		right: 0;
		left: 0;
		bottom: -18px;
		margin: 0 auto;
		width: 0;
		height: 0;
		border-style: solid;
	}
	
	section.sec03 .product-blc > .flex{
    	flex-direction: column-reverse;
	}
	section.sec03 .product-blc.b01 > .flex .img{
		width: 52.533vw;
		margin: 0 auto 6.6vw;
	}
	section.sec03 .product-blc .txt {
		width: 100%;
		line-height: 1.6;
	}
	section.sec03 .product-blc .txt p {
		margin-bottom: 4vw;
	}
	section.sec03 .product-blc.b01{
		margin-bottom: 9vw;
	}

	section.sec03 .product-blc.b02 .thema .flex > div:last-of-type{
		width: 49.3vw;
		margin: 0 auto;
	}
	section.sec03 .product-blc.b02 > .flex .img{
		width: 59.466vw;
		margin: 0 auto 6.6vw 8vw;
	}
	section.sec03 .product-blc.b02 .txt{
		width: 100%;
	}
	section.sec03 .product-blc.b02{
		margin-bottom: 8vw;
	}
	
	section.pagetop{
		padding-bottom: 6vw;
		border: none;
	}

	section.pagetop a{
		width: 30vw;
		margin: 0 auto;
		display: block;
	}
	.bnr_himitu{
		margin-bottom: 26vw;
	}
	.bnr_himitu a{
		width: 86vw;
	}

.floating_bnr{
	width: 100vw;
	right: 0;
	bottom: 3vw;
}
.floating_bnr .close_btn{
	width: 4vw;
	position: relative;
	right: 2vw;
	top: 5vw;
	cursor: pointer;
}

	
	
	
	
	
	
	
	
}




















