@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP&family=Cormorant+Infant&display=swap');


body,div,h1,p,dl,dt,dd,ul,li,section{margin:0;padding:0;color:#111;}
section{display:block;}
body{position:relative;overflow:hidden;overflow-y:auto;font-size:87.5%;font-family:'Noto Sans JP', sans-serif;line-height:1.8;text-align:center;}
input,
select,
button,
textarea
{
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;

    margin: 0;
    padding: 0;

    vertical-align: middle;

    border: none;
    border-radius: 0;
    background-color: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
button
{
    font-family: inherit;
    font-weight: inherit;

    display: block;

    width: 100%;
    margin: 0;
    padding: 0;

    cursor: pointer;
    vertical-align: top;

    color: inherit;
    outline: none;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
h1{font-weight:normal;text-align:center;line-height:1.4;}
ul{list-style-type:none;}
a{color:#472d0c;text-decoration:none;-webkit-transition:0.5s;transition:0.5s;}
a:hover{text-decoration:underline;}
.inner{margin:0 15px;}
@media screen and (min-width:768px){
.inner{margin:0 10px;}
}
@media screen and (min-width:960px){
.inner{width:940px;margin:0 auto;}
}
.intro_title{padding:50px 0 20px;}
.intro_title_j{margin-bottom:20px;color:#472d0c;font-size:23px;line-height:1.4;}
.intro_title_j span {font-size: 20px; display: block; margin-bottom: 10px;}
@media screen and (min-width:768px){
.intro_title{padding:95px 0 55px;}
.intro_title_j{font-size:30px;}
}
.sec{padding-bottom:100px;}
@media screen and (min-width: 768px){
.w620{max-width:620px;margin-left:auto;margin-right:auto;}
}
.mb70{margin-bottom:70px!important;}
.internal_link{border-top:2px solid #e2d3aa;border-bottom:2px solid #e2d3aa;padding-bottom:15px;}
.internal_link li{display:inline-block;}
.internal_link.narrow li{padding-left:3%;padding-right:3%;}
.internal_link li a{display:block;padding-top:15px;}




/*----------------------------------------
	よくあるご質問：セクションレイアウト
----------------------------------------*/
.p-faqSection
{
    margin-top: 60px;
}

.p-faqSection__title
{
    font-size: 20px;
    font-weight: 500;

    margin-bottom: 30px;
    margin-bottom: min(30 / 390 * 100vw, 30px);

    text-align: center;
}

.p-faqSection__back
{
    font-size: 13px;
    margin-top: 30px;

    text-align: right;
}

.p-faqSection__back a
{
    text-decoration: none;
}

.p-faqSection__back a::after
{
    font-size: .8em;

    content: ' ▲';
}

@media only screen and (max-width: 767px)
{
    .p-faqSection__back
    {
        margin-top: 20px;
        margin-top: min(20 / 390 * 100vw, 20px);
    }
}
/*----------------------------------------
	よくあるご質問
----------------------------------------*/
/* FAQエリア（Footer上）
-------------------------*/
.p-faqArea
{
    padding-top: 120px;
    padding-bottom: 100px;

    text-align: center;

    color: #fff;
    background: #c8cbd3;
}

@media only screen and (max-width: 767px) {
    .p-faqArea
    {
        padding-top: 60px;
        padding-top: min(60 / 390 * 100vw, 60px);
        padding-bottom: 50px;
        padding-bottom: min(50 / 390 * 100vw, 50px);
    }
}
.p-faqArea__title
{
    /* font-size: 2rem;
    font-size: min(20 / 390 * 100vw, 20px); */
}

.p-faqArea__body
{
    margin-top: 50px;
}

@media only screen and (max-width: 767px)
{
    .p-faqArea__body
    {
        margin-top: 30px;
        margin-top: min(30 / 390 * 100vw, 30px);
    }
}
.p-faqArea__btn
{
    margin-top: 60px;
}

@media only screen and (max-width: 767px)
{
    .p-faqArea__btn
    {
        margin-top: 40px;
        margin-top: min(40 / 390 * 100vw, 40px);
    }
}
/* FAQ
-------------------------*/
.p-faq
{
    font-size: 15px;

    text-align: left;

    color: #7e6b6b;
}

.p-faq__item
{
    margin-top: 20px;
    margin-top: min(20 / 390 * 100vw, 20px);

    background: #fff;
}

.p-faq__title
{
    position: relative;

    padding: 30px 50px 30px 35px;

    text-align: left;

    background: #f7f7f7;
}

@media only screen and (max-width: 767px)
{
    .p-faq__title
    {
        padding: 20px 40px 20px 20px;
        padding-top: min(20 / 390 * 100vw, 20px);
        padding-right: min(40 / 390 * 100vw, 40px);
        padding-bottom: min(20 / 390 * 100vw, 20px);
        padding-left: min(20 / 390 * 100vw, 20px);
    }
}
.p-faq__title::before,
.p-faq__title::after
{
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;

    display: block;

    width: 20px;
    width: min(20 / 390 * 100vw, 20px);
    height: 0;
    margin: auto;

    content: '';
    transition: -webkit-transform .3s;
    transition:         transform .3s;
    transition:         transform .3s, -webkit-transform .3s;

    border-top: 1px solid;
}

@media only screen and (max-width: 767px)
{
    .p-faq__title::before,
    .p-faq__title::after
    {
        right: min(20 / 390 * 100vw, 20px);
    }
}
.p-faq__title::after
{
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

.p-faq__title[aria-expanded=true]::after
{
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.p-faq__body
{
    line-height: 1.8;

    display: none;

    padding: 30px 30px 60px;
}

@media only screen and (max-width: 767px)
{
    .p-faq__body
    {
        padding: 20px 30px;
        padding-top: min(20 / 390 * 100vw, 20px);
        padding-right: min(30 / 390 * 100vw, 30px);
        padding-bottom: min(20 / 390 * 100vw, 20px);
        padding-left: min(30 / 390 * 100vw, 30px);
    }
}
/*FAQページ用スタイル*/
.p-faqSection .p-faq__title
{
    background: #f2f2f2;
}

.p-faqSection .p-faq__body
{
    background: #fcfcfc;
}

/*ご参列者様衣裳*/
.text_weddingattire {
    margin-top: 40px;
}
.list_weddingattire {
    margin: 0 0 50px 0;
    text-align: left;
    display: flex;
    justify-content: center;
}
.list_weddingattire li:not(:first-child) {
    margin-top: 20px;
}
.list_weddingattire a {
    text-decoration: underline;
}
.btn_center{
	margin: 20px auto;
}
.btn{
	display: block;
	padding: 3% 2%;
	border:#deae51 2px solid;
	background: #fff;
	font-size: 20px;
	line-height: 1.5;
    max-width: 260px;
    margin: auto;
}
.btn:hover{
	text-decoration: none;
	background: #deae51;
	background-color: rgba( 222, 174, 81, 0.1 );
	border:#fff 2px solid;
	opacity:0.5;
}
@media screen and (min-width: 768px){
	.btn{
		
		
		padding: 10px 30px;
	}
}
.f13{ font-size: 13px !important;}

/* Footer
-------------------------------*/
#footer{
	padding: 15px 10px;
	margin:0 auto 70px;
}

.footer_notloggedin{
	margin-bottom: 0!important;
}
.footer_logo{
	display: block;
	width: 150px;
	height: 30px;
	margin: 0 auto 30px;
	background: url(/common/images/logo_full.png) no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	text-indent: -9999px;
}
.footer_link{
	margin-top: 50px;
	margin-bottom: -50px;
}
.footer_link li{
	display: inline;
	padding: 0 10px;
	font-size: 12px;
}
.footer_link a{
	color: #f6f0e8;
}
.mt10 {
    margin-top: 10px;
}
.f16 {
    font-size: 16px!important;
}