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

html{
margin-top: 0 !important;
}

/*/--------------------------------------------------------------------------/*/
/* ===== RESET ===== */
/*/--------------------------------------------------------------------------/*/
ul,ol{
list-style-type: none;
}

section{
padding:0;
}

section:nth-child(even){
background:#fff;
}

section h3{
font-size:160%;
color:#000;
margin:0;
text-align: center;
}

/*/--------------------------------------------------------------------------/*/
/* ===== COMMON ===== */
/*/--------------------------------------------------------------------------/*/
section{
padding:60px 0;
}

section .inner{
max-width:1000px;
margin:auto;
}

section .ttl{
font-size:120%;
margin-bottom:30px;
}

section .ttl span{
display:block;
font-family: 'Cardo', serif;
font-size:300%;
margin-bottom:8px;
}

section .read{
font-size:140%;
text-align:center;
margin-bottom:30px;
}

/*/--------------------------------------------------------------------------/*/
/* ===== H2 ===== */
/*/--------------------------------------------------------------------------/*/

article h2{
position: relative;
display:flex;
justify-content:flex-end;
align-items:center;
width:100%;
height:1080px;
max-height: 100vh;
background:url(images//mainimage.webp) center center / cover no-repeat;
}

article h2 > img{
max-width:min(49.08vw, 638px);
margin-right:min(10vw, 192px);
filter:drop-shadow(-1px 2px 10px rgba(0,0,0,0.8));
}

article h2 a{
position: absolute;
right:8vh;
bottom:8vh;
display:block;
width: min(36.923vw, 480px);
}

article h2 a img{
width: 100%;
}


/*****
SECTION 06
gallery
**/

#gallery{
background-color: #e0e6db;
padding:7em 0;
position: relative;
overflow: hidden;
}

#gallery .wrapper{
max-width: 100%;
}

#gallery .title{
width: 100%;
max-width: 1260px;
margin: 0 auto 2%;
box-sizing: border-box;
position: relative;
}

#gallery h3{
color: #040000;
text-align: center;
font-size: min(4.195801vw, 60px);
font-feature-settings: initial;
font-family: 'Julius Sans One', serif;
}

#gallery .arrows{
width: 12%;
display: flex;
justify-content: space-between;
position: absolute;
top: 50%;
right: 10%;
}

#gallery .swiper-button-prev,
#gallery .swiper-button-next{
position: relative;
display: inline-block;
}

#gallery .swiper-button-prev::after{
	content: "";
}

#gallery .swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 0 !important;
}

#gallery .swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 0 !important;
}

#gallery .swiper-button-prev::before{
	content: "";
    position: absolute;
    left: 0;
    bottom: 50%;
    display: inline-block;
    border-left: 1px solid #040000;
	border-bottom: 1px solid #040000;
	width: 1.5vw;
    height: 1.5vw;
    transform: rotate(50deg);
    transform-origin: left bottom;
}

#gallery .swiper-button-next::after{
	content: "";
}

#gallery .swiper-button-next::before{
	content: "";
    position: absolute;
    right: 0;
    bottom: 50%;
    display: inline-block;
    border-right: 1px solid #040000;
	border-bottom: 1px solid #040000;
	width: 1.5vw;
    height: 1.5vw;
    transform: rotate(-50deg);
    transform-origin: right bottom;
}




#gallery ul{
	list-style: none;
}

#gallery .slick-slide {
    margin: 0 20px !important;
}

#gallery li{
	background-color: #FFF;
}

#gallery a{
	text-decoration: none;
	height: 100%;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

#gallery .thumb{
	width: 100%;
	height: 27.65vw;
	cursor: pointer;
}

#gallery .thumb img{
object-fit: cover;
	width: 100%;
	height: 100%;
}

#gallery .link{
	text-align: center;
    margin-top: 4%;
}

#gallery .link a{
	display: inline-block;
    color: #040000;
	font-size: min(1.3986vw, 20px);
	font-feature-settings:initial;
	padding: 0 5%;
	background-color: #fff;
	border: #231815 1px solid;
	border-radius: 30px;
	transition: all 0.2s ease-in-out;
}

#gallery .link a:hover{
    background-color: #040000;
	color: #fff;
}



@media screen and (min-width:1431px) {

#gallery h3{
font-size: 60px;
}

#gallery p{
font-size: 20px;
}

}

@media screen and (max-width:750px) {

#gallery{
padding: 6.66% 0 12% 0;
}

#gallery .wrapper{
padding: 0;
}

#gallery .arrows{
width: 50%;
margin: 0 auto 10vw;
position: inherit;
left: 0;
}

#gallery .swiper-button-prev,
#gallery .swiper-button-next{
width: 17.6vw;
border-bottom: 1px solid #040000;
}

#gallery .swiper-button-prev::before{
    left: 0;
    bottom: 0;
    border-bottom: none;
	width: auto;
	height: 4vw;
	transform: rotate(50deg);
}

#gallery .swiper-button-next::before{
    right: 0;
    bottom: 0;
    border-bottom: none;
	width: auto;
	height: 4vw;
	transform: rotate(-50deg);
}


#gallery h3{
font-size: 8.2666vw;
text-align: center;
padding: 0 0 0.7em;
}

#gallery .slick-slide {
margin: 0 3vw !important;
}

#gallery h3{
font-size:4vw;
}

#gallery .content div {
    margin: 3.5vw auto;
}

#gallery .content p {
font-size: 2.66666vw;
}

#gallery .thumb{
width: 100%;
height: 89.6vw;
}

#gallery .link {
    margin-top: 6vw;
}

#gallery .link a {
    font-size: 2.66666vw;
    padding: 0 9vw;
	border-radius: 90px;
}

}


/*/--------------------------------------------------------------------------/*/
/* ===== SECTION ===== */
/*/--------------------------------------------------------------------------/*/
.top_banner{
position:relative;
top:-140px;
left:0;
height:0;
float:right;
}

.top_banner:hover{
opacity:0.8;
}

.top_banner img{
width:260px;
margin-right:20px;
}

#s1{
padding-bottom:0;
}

#s1 h3{
line-height:1.8;
font-size:280%;
letter-spacing:0.1em;
margin-bottom:40px;
}

#s1 h3 .note{
display:block;
font-size:64.3%;
}

#s1 h3 .title{
display:block;
margin-top:20px;
}

#s1 h3 .sp-br{
display:none;
}

#s1 p{
font-size:140%;
text-align:center;
line-height:2.6;
margin-bottom:80px;
}

#s1 h4{
font-size:280%;
text-align:center;
color:#207f47;
margin:0 auto 20px;
}

#s1 h4 span{
position:relative;
padding:0 25px;
}

#s1 h4 span::before{
content:'';
display:block;
position:absolute;
top:0;
left:0;
width:17px;
height:26px;
background:url(images//recommend_ttl_img01.png);
}

#s1 h4 span::after{
content:'';
display:block;
position:absolute;
top:0;
right:0;
width:17px;
height:26px;
background:url(images//recommend_ttl_img02.png);
}

#s1 .recommend{
display:block;
margin: 0 auto 60px;
}

#s1 .photo{
width:100%;
}

#s2{
background:#f2f2f2;
}

#s2 .inner{
width: auto;
max-width: 1040px;
padding:0 20px;
box-sizing:border-box;
}

#s2 .plan_box{
display:flex;
justify-content:space-between;
background:#fff;
border:1px solid #bbb;
margin-bottom:30px;
padding:10px;
box-sizing:border-box;
}

#s2 .plan_box:nth-child(even){
flex-direction: row-reverse;
}

#s2 .plan_box:last-child{
margin-bottom:0;
}

#s2 .plan_box .image{
width:49%;
}

#s2 .plan_box .image img{
width:100%;
}

#s2 .plan_box .info{
width:49%;
}

#s2 .plan_box h3{
position:relative;
height:60px;
line-height:60px;
font-size:280%;
text-align:left;
color:#207f47;
background:#f2fff2;
padding-left:80px;
}

#s2 .plan_box h3::before{
content:'';
display:block;
position:absolute;
top:0;
left:0;
width:60px;
height:60px;
z-index:1;
}

#s2 .plan_box:first-child h3::before{
background:url(images//plan_ttl_img01.png) center center / contain no-repeat;
}

#s2 .plan_box:nth-child(2) h3::before{
background:url(images//plan_ttl_img02.png) center center / contain no-repeat;
}

#s2 .plan_box:nth-child(3) h3::before{
background:url(images//plan_ttl_img03.png) center center / contain no-repeat;
}

#s2 .plan_box .price{
display:inline-block;
float:right;
position:relative;
margin: 0.3em 0;
font-family: 'Cardo', hnmasp, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:440%;
text-align:right;
}

#s2 .plan_box .price .yen{
font-size:63.63%;
margin-right:6px;
}

#s2 .plan_box .price .tax{
font-size:36.36%;
}

#s2 .plan_box .price::before{
content:'Price';
display:block;
position:absolute;
top:50%;
left:-5.5em;
line-height:1.2;
font-size:41%;
color:#fff;
background:#f4bb1d;
padding:0 8px;
transform:translateY(-50%);
}

#s2 .plan_box .price::after{
content:'';
display:block;
position:absolute;
bottom:10px;
left:0;
width:100%;
height:3px;
background:url(images//plan_price_line_img.png) repeat-x;
}

#s2 .plan_box .included{
clear:both;
position:relative;
width:100%;
border:1px solid #e5e5e5;
padding:14px 8px;
box-sizing:border-box;
}

#s2 .plan_box .included::before{
content:'';
display:block;
position:absolute;
top:50%;
left:50%;
width:calc(100% - 8px);
height:calc(100% - 8px);
border:1px solid #e5e5e5;
transform:translate(-50%,-50%);
}

#s2 .plan_box .included .ttl{
font-size:140%;
font-weight:bold;
text-align:center;
margin-bottom:10px;
}

#s2 .plan_box ul{
display:flex;
justify-content:space-between;
}

#s2 .plan_box ul li{
width:24.5%;
text-align:center;
}

#s2 .plan_box ul img{
margin-bottom:8px;
}

#s2 .plan_box ul p{
font-size:140%;
font-weight:bold;
text-align:center;
}

#s2 .plan_box ul span{
display:block;
line-height:1.2;
font-size:84.6%;
font-weight:normal;
}

#s3{
overflow:hidden;
background:url(images//location_bg.jpg) center center / cover no-repeat;
}

#s3 .location{
text-align:center;
text-shadow: 1px 1px 0 #fff;
background:#fff url(images//location_bg03.webp) center center / cover no-repeat;
margin-bottom:4px;
padding:40px 0;
}

#s3 .location h3{
font-size:237.5%;
margin-bottom:30px;
}

#s3 .location p{
line-height:2.1;
font-size:140%;
text-align:center;
}

#s3 .note{
position:relative;
float:right;
font-size:110%;
padding-left:1em;
}

#s3 .note::before{
content:'※';
display:block;
position:absolute;
top:0;
left:0;
}










#s4{
background:#fff8e5;
}

#s4 ul{
display:flex;
flex-wrap: wrap;
justify-content:center;
}

#s4 li{
box-sizing: border-box;
width:23%;
text-align:center;
background:#fff;
border:1px solid #dcdcdc;
margin:1%;
padding:10px;
}


#s4 li img{
margin-bottom:18px;
}

#s4 h4{
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size:140%;
margin-bottom:10px;
}


#s4 p{
font-size:120%;
text-align:center;
margin-bottom:10px;
}

#s4 p span{
position:relative;
}

#s4 p span::before, #s4 p span::after{
content:'';
display:block;
position:absolute;
top:50%;
left:0;
width:100%;
height:1px;
background:#f00;
}

#s4 p span::before{
margin-top:-3px;
}


#s4 p span::after{
margin-top:1px;
}

#s4 .option_btn{
display:block;
width:120px;
height:24px;
line-height:24px;
font-size:120%;
color:#fff;
background:#207f47;
margin:auto;
}

#s5{
width:100%;
background:#fbf7f2;
background:linear-gradient(180deg,#fbf7f2 0%,#fbf7f2 50%,#f3ece2 50%,#f3ece2 100%);
padding:0;
}

#s5 .dress{
position:relative;
width:100%;
height:500px;
background:url(images//dress_bg01.jpg) center center / cover no-repeat;
}

#s5 h3{
font-size:120%;
text-align:left;
margin-bottom:20px;
}

#s5 h3 span{
display:block;
font-family: 'Cardo', serif;
font-size:250%;
}

#s5 p{
font-family: hnmasp, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:140%;
}

#s5 .txt{
position:absolute;
top:50%;
left:0;
width:360px;
font-weight:bold;
background:#fff;
padding:34px 26px;
box-shadow: 3px 3px 8px #ddd;
box-sizing:border-box;
transform:translateY(-50%);
}

#s5 .kimono{
position:relative;
width:100%;
height:500px;
background:url(images//dress_bg02.jpg) center center / cover no-repeat;
}

#s5 .kimono .txt{
left:auto;
right:3px;
}

#s6 .point_box{
display:flex;
background:#fbf7f2;
margin-bottom:30px;
}

#s6 .point_box:nth-child(odd){
flex-direction: row-reverse;
}

#s6 .point_box:last-child{
margin-bottom:0;
}

#s6 .image{
width:50%;
}

#s6 .image img{
width: 100%;
}

#s6 .info{
width:50%;
padding:20px;
box-sizing:border-box;
}

#s6 .info h3{
position:relative;
line-height:1.3;
font-size:240%;
text-align:left;
margin-bottom:30px;
padding-left:60px;
}

#s6 .info h3::before{
content:'';
display:block;
position:absolute;
top:0;
left:0;
width:50px;
height:50px;
}

#s6 .point_box:first-child h3::before{
background:url(images//point_icon01.png) center center / contain no-repeat;
}

#s6 .point_box:nth-child(2) h3::before{
background:url(images//point_icon02.png) center center / contain no-repeat;
}

#s6 .point_box:nth-child(3) h3::before{
background:url(images//point_icon03.png) center center / contain no-repeat;
}

#s6 .point_box:nth-child(4) h3::before{
background:url(images//point_icon04.png) center center / contain no-repeat;
}

#s6 .info h3 span{
display:block;
font-family: 'Cardo', serif;
font-size:83.3%;
}

#s6 .info p{
font-size:140%;
}

#s7{
background:#edffee;
}

#s7 .inner{
padding:0 20px;
}

#s7 ul{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}

#s7 ul li{
width:24%;
margin-bottom:16px;
}

#s7 ul li:nth-last-child(-n+4){
margin-bottom:0;
}

#s7 ul li img{
width:100%;
}

#s8 h3{
text-shadow: -1px 1px 0 #FFF;
margin: 0 0 20px 0;
text-align: center;
font-size: 350%;
font-weight: normal;
}

#s8 img{
width: 60px;
}

#s9 .inner{
padding:0 20px;
}

#s9 ol{
margin-bottom:60px;
}

#s9 li{
display:flex;
background:#fff;
border:1px solid #111;
margin-bottom:20px;
}

#s9 li:last-child{
margin-bottom:0;
}

#s9 li .title{
width:200px;
}

#s9 li .title span{
display:block;
font-family: 'Cardo', serif;
width:100%;
height:40px;
line-height:40px;
font-size:200%;
text-align:center;
color:#fff;
background:#207f47;
margin-bottom:20px;
}

#s9 li .title h4{
font-size:260%;
font-weight:normal;
text-align:center;
}

#s9 li .txt{
line-height:2.3;
font-size:140%;
border-left:1px solid #111;
padding:30px 40px;
}

#s9 li .u-lh1{
line-height:1.4;
}

#s9 .banner{
text-align:center;
}

#s10{
background:#fff8e5;
}

#s10 .inner{
max-width:840px;
}

#s10 h4{
border-bottom:2px solid #111;
margin-bottom:10px;
font-size: 160%;
}

#s10 ul{
margin-bottom:26px;
}

#s10 ul:last-of-type{
margin-bottom:0;
}

#s10 li{
font-size:140%;
border-bottom:1px solid #dadada;
}

#s10 dt{
position:relative;
cursor:pointer;
padding:12px 30px 12px 30px;
}

#s10 dt::before{
font-family: 'Cardo', serif;
content:'Q.';
display:block;
position:absolute;
top:6px;
left:0;
font-size:160%;
font-weight:bold;
color:#207f47;
margin-right:8px;
}

#s10 dt::after{
content:url(images//faq_icon01.png);
display:block;
position:absolute;
top:12px;
right:0;
}

#s10 dt.is-opened::after{
content:url(images//faq_icon02.png);
}

#s10 dd{
position:relative;
margin-left:20px;
padding:12px 30px 24px 30px;
}

#s10 dd::before{
font-family: 'Cardo', serif;
content:'A.';
display:block;
position:absolute;
top:6px;
left:0;
font-size:160%;
font-weight:bold;
color:#f4bb1d;
margin-right:8px;
}

#s11 .contact {
font-size: 200%;
font-weight: bold;
font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
margin-bottom:50px;
text-align: center;
}
#s11 .contact img {
width: 360px;
height: auto;
margin: 10px 3px;
}
#s11 .banner{
text-align:center;
}

img.sp{
display: none;
}

@media screen and (max-width: 750px) {

/*/--------------------------------------------------------------------------/*/
/* ===== PHOTO WEDDING ===== */
/*/--------------------------------------------------------------------------/*/

section{
padding:30px 0;
}

section .inner{
width:100% !important;
padding:0 10px;
box-sizing:border-box;
}

section .ttl{
margin-bottom:20px;
}

section .ttl span{
font-size:266.6%;
margin-bottom:0;
}

section .read{
margin-bottom:10px;
}

article h2{
overflow:visible;
position:relative;
background-position: 40% 50%;
height:80vh;
}

article h2 > img{
width: 84%;
max-width: 84%;
margin: auto;
}

article h2 a{
right:auto;
bottom:6vh;
left: 50%;
transform: translateX(-50%);
width: 70vw;
}




article h2 .insta-kinen{
position:absolute;
right:0;
left:0;
bottom:190px;
width:86%;
max-width:100%;
height:auto;
margin:auto;
}

article h2 .main-logo{
position:absolute;
right:0;
left:0;
bottom:-30px;
height:220px;
margin:auto;
z-index:1;
}

.top_banner{
position:static;
top:0;
width:100%;
height:auto;
float:none;
}

.top_banner img{
display:block;
width:calc(100% - 20px);
margin:20px auto;
}

#s1{
padding-bottom:0;
}

#s1 h3{
line-height:1.6;
font-size:6vw;
letter-spacing:0;
margin-bottom:20px;
padding:0 10px;
}

#s1 h3 .sp-br{
display:block;
}

#s1 h3 br{
display:none;
}

#s1 p{
line-height:1.6;
font-size:2.6vw;
margin-bottom:20px;
padding:0 10px;
}

#s1 h4{
font-size:5vw;
}

#s1 h4 span::before, #s1 h4 span::after{
width:15px;
height:23px;
}

#s1 .recommend{
width:100%;
margin-bottom:20px;
}

#s1 .recommend.sp,
#s1 .photo.sp{
display: block;
}

#s1 .recommend:not(.sp),
#s1 .photo:not(.sp){
display: none;
}



#s2 .plan_box{
display:block;
margin-bottom:20px;
padding:8px;
}

#s2 .plan_box .image, #s2 .plan_box .info{
width:100%;
}

#s2 .plan_box .image{
margin-bottom:8px;
}

#s2 .plan_box h3{
height:50px;
line-height:50px;
font-size:6.5vw;
padding-left:60px;
}

#s2 .plan_box h3::before, #s2 .plan_box h3::after{
width:50px;
height:50px;
}

#s2 .plan_box h3::after{
background-size:contain;
}

#s2 .plan_box .price{
font-size:9vw;
letter-spacing: 0.06em;
}

#s2 .plan_box .price::before{
left:-6em;
font-size:33.3%;
padding:4px 3px 4px 8px;
}

#s2 .plan_box .price .yen{
font-size:61.1%;
}

#s2 .plan_box .price .tax{
font-size:33.3%;
}

#s2 .plan_box .included{
padding:10px;
}

#s2 .plan_box .included .ttl{
font-size: 1.7em;
}

#s2 .plan_box ul{
display:block;
font-size: 1.7em;
}

#s2 .plan_box ul li{
position:relative;
width:100%;
min-height:36px;
text-align:left;
margin-bottom:8px;
}

#s2 .plan_box ul img, #s2 .plan_box ul p{
text-align:left;
font-size:100%;
}

#s2 .plan_box ul p{
margin-left:68px;
}

#s2 .plan_box ul img{
position:absolute;
top:50%;
left:32px;
width::auto;
height:36px;
transform:translate(-50%,-50%);
}

#s2 .plan_box ul p br{
display:none;
}

#s2 .plan_box ul p .sp-br{
display:block;
}

#s3 .location{
background-image:none;
padding:20px 10px;
}

#s3 .location h3{
font-size:150%;
margin-bottom:20px;
}

#s3 .note{
float:none;
}

#s4 li{
width:48%;
box-sizing:border-box;
}

#s4 li span{
margin-left:0;
}

#s5{
background:#fbf7f2;
}

#s5 img{
width:100%;
}

#s5 .dress, #s5 .kimono{
height:auto;
background:none;
}

#s5 .dress{
margin-bottom:20px;
}

#s5 h3{
margin-bottom:10px;
}

#s5 .txt{
position:static;
top:0;
left:0;
width:100%;
padding:10px;
box-shadow:none;
transform:translateY(0);
}

#s6 .point_box{
display:block;
margin-bottom:20px;
}

#s6 .point_box:last-child{
margin-bottom:0;
}

#s6 .image{
width:100%;
}

#s6 .image img{
width:100%;
}

#s6 .info{
width:100%;
padding:10px;
}

#s6 .info h3{
font-size:5.5vw;
margin-bottom:8px;
}

#s6 .info h3::before{
width:44px;
height:44px;
}

#s6 .info h3 span{
font-size:70%;
}

#s7 ul li{
width:49%;
margin-bottom:8px;
}

#s7 ul li:nth-last-child(-n+4){
margin-bottom: 8px;
}

#s7 ul li:nth-last-child(-n+2){
margin-bottom:0;
}

#s8{
padding-bottom:0;
}

#s8 h3{
font-size:5vw;
letter-spacing: 0;
}

#s8 h3 img{
width: 10vw;
}

#s9 ol{
margin-bottom:30px;
}

#s9 li{
display:block;
}

#s9 li .title{
width:auto;
}

#s9 li .title span{
margin-bottom:8px;
}

#s9 .banner img{
width:100%;
}

#s9 li .title h4{
font-size:150%;
}

#s9 li .txt{
line-height:1.6;
border-left:none;
padding:8px;
}

#s10 dd{
padding-right:8px;
}


#s11 .contact{
margin-bottom:20px;
}

#s11 .contact img{
display: block;
max-width: 95%;
margin: 18px auto 0;
}

#s11 .banner{
padding:0 8px;
}

#s11 .banner img{
width:100%;
}
}