/* ------------------------------------------------------
content
------------------------------------------------------ */
.pages #header #toggle-menu.reverse_color .hamburger span {
    background: var(--black-color);
}

.pages #header #toggle-menu.active .hamburger span {
    background: var(--white-color);
}

.pages #header #toggle-menu.reverse_color .toggle_ttl {
    color: var(--black-color);
}

.pages #header #toggle-menu.active .toggle_ttl {
    color: var(--white-color);
}

.pages #content .section:not(:last-child) {
    padding: 0 0px 55px 0;
}

.pages #content .section .section {
    padding-top: 30px;
}

.pages #content .section p:last-child {
    margin-bottom: 0;
}

/* ------------------------------------------------------
h3 h4 h5 h6
------------------------------------------------------ */
.pages h3.pages_mainttl {
    font-size: 15px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 40px;
}

.pages h3.pages_mainttl span {
    display: block;
    font-family: var(--en-font);
    font-size: 38px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.pages h4,
.pages h5,
.pages h6 {
    font-weight: 700;
}

/* ------------------------------------------------------
p_mainvisual
------------------------------------------------------ */
.pages #p_mv {
    width: 100%;
    height: 550px;
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.pages #p_mv::before {
    position: absolute;
    content: '';
    background: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.pages #p_mv .mv_title {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--white-color);
}

.pages #p_mv .mv_title .mv_en {
    display: block;
    font-family: var(--EB-Garamond-font);
    font-size: 80px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 11px;
}

/* ------------------------------------------------------
table
------------------------------------------------------ */
.pages table {
    margin-bottom: 35px;
}

.pages table td,
.pages table th {
    border-bottom: 1px solid #E6E6E6;
}

.pages table tr:first-child th,
.pages table tr:first-child td {
    border-top: 1px solid #E6E6E6;
}

.pages table tr:last-child th,
.pages table tr:last-child td {
    border-bottom: 0;
}

.pages table th {
    font-family: var(--jp-title-font);
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    padding: 28px 15px 30px;
}

.pages table td {
    padding: 18px 15px 19px;
}

.pages table.tb_block th {
    width: 20%;
}

.pages table tr.th_top th {
    vertical-align: top;
}

.pages table.td_top td {
    vertical-align: top;
}

.pages table.td_center td {
    text-align: center;
}

.pages table.tb_fix {
    table-layout: fixed;
}

.pages #content table:last-child {
    margin-bottom: 0;
}

/*-----txt_note-----*/
.pages .txt_note {
    display: none;
}

.pages .txt_bold {
    font-weight: bold;
}

/* ------------------------------------------------------
under list
------------------------------------------------------ */
.pages .list01 li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list01 li::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 3px;
    background: #1e3c72;
    top: 9px;
    left: 0;
}

.pages .list_check li {
    margin-bottom: 22px;
    padding-left: 35px;
    position: relative;
}

.pages .list_check li::before {
    position: absolute;
    content: "";
    width: 7px;
    height: 12px;
    border: solid #1e3c72;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    display: inline-block;
    top: 8px;
    left: 0;
}

.pages .list01:last-child,
.pages .list01 li:last-child,
.pages .list_check:last-child,
.pages .list_check li:last-child {
    margin-bottom: 0px;
}

/* ------------------------------------------------------
under frame
------------------------------------------------------ */
.pages .frame01 {
    background: rgba(255, 211, 216, 0.3);
    padding: 25px 30px 25px;
    margin: 0 auto 30px;
    border-radius: 10px;
    box-sizing: border-box;
}

.pages .frame01:last-child {
    margin: 0 auto;
}

/* ------------------------------------------------------
under_step
------------------------------------------------------ */
.pages .under_step dl {
    margin-bottom: 60px;
}

.pages .under_step dl:last-child {
    margin-bottom: 0px;
}

.pages .under_step dl dt {
    font-size: 18px;
    color: #fff;
    background: #e06277;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 2px solid #e06277;
    padding: 10px 20px 5px;
    box-sizing: border-box;
}

.pages .under_step dl dt span {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    margin-right: 5px;
}

.pages .under_step dl dd {
    display: flex;
    align-items: center;
    border: 2px solid #e06277;
    padding: 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.pages .under_step dl:nth-child(odd) dd {
    flex-direction: row-reverse;
}

.pages .under_step dl dd .step_img {
    flex-shrink: 0;
    padding-left: 40px;
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

.pages .under_step dl:nth-child(even) dd .step_img {
    padding: 0 40px 0 0;
}

/* ------------------------------------------------------
qa_dl
------------------------------------------------------ */
.pages .qa_dl dl {
    padding-left: 80px;
    padding-bottom: 60px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.pages .qa_dl dl:after {
    position: absolute;
    z-index: -1;
    left: 25px;
    top: 0;
    height: 100%;
    width: 1px;
    content: '';
    display: block;
    border-left: rgba(119, 119, 119, 0.30) 1px dotted;
}

.pages .qa_dl dl:last-child {
    padding-bottom: 0;
}

.pages .qa_dl dl dt,
.pages .qa_dl dl dd {
    position: inherit;
    z-index: 1;
}

.pages .qa_dl dl dt span,
.pages .qa_dl dl dd span {
    position: absolute;
    z-index: 1;
    left: -80px;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    font-size: 18px;
}

.pages .qa_dl dl dt {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #00478A;
    min-height: 50px;
    display: flex;
    align-items: center;
    line-height: 1.4em;
}

.pages .qa_dl dl dd {
    padding: 30px;
    background: rgba(109, 178, 216, 0.15);
}

/* ------------------------------------------------------
under_bnr
------------------------------------------------------ */
.pages .under_bnr_full {
    background: url(../images/under_btn_bg.jpg) no-repeat center;
    background-size: cover;
    width: 700px;
    height: 150px;
    border-radius: 8px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
    margin: 0 auto;
    transition: all 0.25s linear;
}

.pages .under_bnr_full a {
    font-size: 18px;
    line-height: 1.6;
    color: #fff;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 .5em;
}

/* ------------------------------------------------------
others
------------------------------------------------------ */
.pages .center {
    margin-bottom: 35px;
}

.pages .image_l {
    margin: 0 40px 15px 0;
}

.pages .image_r {
    margin: 0 0 15px 40px;
}

.pages .a_hover:hover {
    text-decoration: none;
}

/* ------------------------------------------------------
faq
------------------------------------------------------ */
.pages .p_faq #p_mv {
    background-image: url(../images/faq/faq_mv.jpg);
}

.pages .p_faq #faq_info {
    padding: 94px 0 92px;
}

.pages .p_faq #faq_info .inner {
    max-width: calc(1000px + 6%);
}

.pages .p_faq .faq_info_txt {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 65px;
}

.pages .p_faq .faq_list dl {
    border-bottom: 1px solid #ccc;
}

.pages .p_faq .faq_list dl:first-child {
    border-top: 1px solid #ccc;
}

.pages .p_faq .faq_list dl dt {
    display: flex;
    align-items: center;
    font-family: var(--jp-title-font);
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.85;
    color: #00A45C;
    text-align: justify;
    padding: 39px 80px 40px 31px;
    position: relative;
    cursor: pointer;
}

.pages .p_faq .faq_list dl dt::before {
    position: absolute;
    content: '';
    background: url(../images/common/icon_arr_down.png) no-repeat;
    background-size: 100% auto;
    width: 28px;
    height: 19px;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
}

.pages .p_faq .faq_list dl dt.open::before {
    transform: translateY(-50%) rotate(180deg);
}

.pages .p_faq .faq_list dl dt span {
    font-family: var(--Inter-font);
    font-size: 32px;
    font-weight: 400;
    color: #fff;
    text-transform: uppercase;
    width: 70px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #00A45C;
    border-radius: 50%;
    padding: 2px 0 0;
    margin-right: 38px;
    flex-shrink: 0;
}

.pages .p_faq .faq_list dl dd {
    display: none;
    padding: 0 0 43px 140px;
}

.pages .p_faq .faq_list dl dd p {
    line-height: 2.27;
    text-align: justify;
}

.pages .p_faq .faq_list dl dd p:not(:last-child) {
    margin-bottom: 34px;
}

/* ------------------------------------------------------
news
------------------------------------------------------ */
.pages .p_news #p_mv {
    background-image: url(../images/news/news_mv.jpg);
}

.pages .p_news #news_filter {
    padding: 130px 0 115px;
}

.pages .p_news #news_filter .inner {
    width: 100%;
    max-width: 830px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 0;
    margin: 0 auto;
}

.pages .p_news #news_filter .archive_select {
    width: 100%;
    max-width: 385px;
    height: 40px;
    display: flex;
    margin: 0 15px 15px;
    overflow: hidden;
    position: relative;
}

.pages .p_news #news_filter .archive_select::before,
.pages .p_news #news_filter .archive_select::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.pages .p_news #news_filter .archive_select::before {
    width: 40px;
    height: 40px;
    background: #00A45C;
    top: 0;
    right: 0;
}

.pages .p_news #news_filter .archive_select::after {
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    top: 47%;
    right: 12px;
    transform: translate(-50%, -50%) rotate(45deg);
}

.pages .p_news #news_filter .archive_select select {
    width: 100%;
    height: 100%;
    display: block;
    font-size: 13px;
    line-height: 1.8;
    font-weight: 400;
    color: #b3b3b3;
    white-space: normal;
    border: 1px solid #999;
    background: #fff;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    padding: 0 54px 0 15px;
}

.pages .p_news .news_list {
    display: flex;
    flex-wrap: wrap;
}

.pages .p_news .news_list li {
    width: calc(100% / 4);
    border: 1px solid #ccc;
    border-top: 0;
    border-left: 0;
}

.pages .p_news .news_list li a {
    display: block;
    transition: all .5s;
}

.pages .p_news .news_list li .news_image {
    width: 100%;
    height: 25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.pages .p_news .news_list li .news_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center;
    transition: all .5s;
}

.pages .p_news .news_list li .news_component {
    padding: 18px 25px 34px;
}

.pages .p_news .news_list li .news_cate {
    font-size: 14px;
    font-weight: 700;
    color: #B3B3B3;
    margin: 0 0 3px -5px;
}

.pages .p_news .news_list li .news_ttl {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.78;
    text-align: justify;
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    height: calc(1em * 1.78 * 2);
    margin-bottom: 10px;
}

.pages .p_news .news_list li .news_date {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    z-index: 2;
}

.pages .p_news .news_list li .news_date::before {
    content: '';
    height: 1px;
    background-color: #999;
    margin-right: 21px;
    flex-grow: 1;
    position: relative;
    top: 1px;
}

.pages .p_news .newsboard {
    background: #F2F5ED;
    padding: 120px 3% 150px;
    margin: 100px 0 0;
}

.pages .p_news .newsboard .inner {
    max-width: 1000px;
    background: var(--white-color);
    padding: 92px 100px 136px;
}

.pages .p_news .newsboard .n_media {
    border-bottom: 1px solid #999;
    padding: 0 0 61px;
    margin-bottom: 45px;
}

.pages .p_news .newsboard .n_media_contents dt {
    font-size: 15px;
    font-weight: 700;
    color: #B3B3B3;
    margin-bottom: 35px;
}

.pages .p_news .newsboard .n_media_contents dt .n_cate {
    margin-left: 5px;
}

.pages .p_news .newsboard .n_media_contents dd {
    font-family: var(--jp-title-font);
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 0;
}

.pages .p_news .newsboard .contents_detail p {
    line-height: 2.27;
}

.pages .p_news .newsboard .contents_detail p:not(:last-child) {
    margin-bottom: 42px;
}

.pages .p_news .newsboard .contents_detail .hasimg {
    line-height: 0;
}

.pages .p_news .newsboard .contents_detail ul li,
.pages .p_news .newsboard .contents_detail ol li {
    line-height: 2.27;
    list-style: inherit;
    margin-left: 15px;
}

.pages .p_news .newsboard .news_back {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 118px 0 0;
}

.pages .p_news .newsboard .news_back li:not(.special-btn) {
    font-size: 14px;
    font-weight: 300;
    margin-top: -9px;
}

.pages .p_news .newsboard .news_back li:not(.special-btn) a {
    color: #b3b3b3;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    transition: all .3s ease;
}

.pages .p_news .newsboard .news_back li:not(.special-btn) a i {
    display: inline-block;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 39px;
    height: 11px;
    position: relative;
    top: -4px;
}

.pages .p_news .newsboard .news_back li.prev-btn {
    margin-right: 200px;
}

.pages .p_news .newsboard .news_back li.prev-btn a i {
    background-image: url(../images/news/news_prev_ico.svg);
    margin-right: 15px;
}

.pages .p_news .newsboard .news_back li.next-btn {
    margin-left: 200px;
}

.pages .p_news .newsboard .news_back li.next-btn a i {
    background-image: url(../images/news/news_next_ico.svg);
    margin-left: 15px;
}

/* ------------------------------------------------------
REQUEST DOCUMENTS - RESERVATION
------------------------------------------------------ */
.pages#contact01 .p_contact #p_mv {
    background-image: url(../images/contact/contact01_mv.jpg);
}

.pages .p_contact #contact_info {
    padding: 104px 0 96px;
}

.pages .p_contact #contact_info .inner {
    max-width: calc(900px + 6%);
}

.pages .p_contact .contact_request_ttl {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
}

.pages .p_contact .contact_request_txt p {
    text-align: justify;
}

.pages .p_contact .contact_request_txt p:not(:last-child) {
    margin-bottom: 38px;
}

.pages .p_contact #contact_form {
    background: #F2F5ED;
    padding: 100px 3%;
}

.pages .p_contact #contact_form .inner {
    max-width: 1000px;
    background: var(--white-color);
    padding: 86px 100px 115px;
}

.pages .p_contact #contact_form .required {
    color: #FF0000;
}

.pages .p_contact #contact_form .contact_form_txt {
    line-height: 2.53;
    text-align: center;
    margin-bottom: 48px;
}

.pages .p_contact #contact_form .tb_contact {
    margin-bottom: 40px;
}

.pages .p_contact #contact_form .tb_contact .required {
    margin-left: 3px;
}

.pages .p_contact #contact_form table.tb_contact th {
    width: 26.9%;
}

.pages .p_contact #contact_form table.tb_contact td {
    font-size: 13px;
    font-weight: 300;
}

.pages .p_contact #contact_form input[type='checkbox'] {
    width: 12px;
    height: 12px;
    position: relative;
    top: 1px;
    margin-right: 6px;
}

.pages .p_contact #contact_form input[type='radio'] {
    position: relative;
    top: 1px;
}

.pages .p_contact #contact_form .mwform-checkbox-field label,
.pages .p_contact #contact_form .mwform-radio-field label {
    font-weight: 300;
}

.pages .p_contact #contact_form .wedding_date td {
    padding: 19px 15px 9px;
}

.pages .p_contact #contact_form .wedding_date td p,
.pages .p_contact #contact_form .calendar_option td p {
    display: inline-block;
    margin: 0 20px 10px 0;
}

.pages .p_contact #contact_form .wedding_date td p:last-child {
    margin-right: 0;
}

.pages .p_contact #contact_form .calendar {
    display: block;
    width: 100%;
    max-width: 250px;
    height: 40px;
    position: relative;
}

.pages .p_contact #contact_form .calendar::before {
    position: absolute;
    content: '';
    background: url(../images/common/icon_calendar.svg) no-repeat;
    background-size: 100% auto;
    width: 18px;
    height: 20px;
    top: 50%;
    right: 11px;
    transform: translateY(-50%);
    pointer-events: none;
}

.pages .ui-datepicker th {
    padding: 0.7em 0.3em;
    text-align: center;
    font-weight: bold;
}

.pages .ui-datepicker td {
    padding: 1px;
}

.pages .p_contact #contact_form .hasDatepicker {
    font-family: var(--jp-font);
    color: var(--main-color);
    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    width: 100%;
    height: 100%;
    border: 1px solid #C8C8C8;
    padding: 8px 11px 10px;
}

.pages .p_contact #contact_form .wedding_date select,
.pages .p_contact #contact_form .calendar_option select {
    height: 40px;
    font-family: var(--jp-font);
    color: var(--main-color);
    font-size: 16px;
    border: 1px solid #C8C8C8;
    padding: 0 10px;
}

.pages .p_contact #contact_form .input_custom,
.pages .p_contact #contact_form .txt_custom {
    font-family: var(--jp-font);
    color: var(--main-color);
    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    width: 100%;
    max-width: 550px;
    border: 1px solid #C8C8C8;
    padding: 8px 11px 10px;
}

.pages .p_contact #contact_form .input_custom {
    height: 40px;
}

.pages .p_contact #contact_form .txt_custom {
    height: 200px;
    resize: none;
}

.pages .p_contact #contact_form input::placeholder {
    font-size: 12px;
    font-weight: 400;
    color: #C8C8C8;
}

.pages .p_contact #contact_form table.tb_contact .dflex {
    display: flex;
}

.pages .p_contact #contact_form .select_option {
    width: 100%;
    max-width: 250px;
    height: 40px;
    position: relative;
}

.pages .p_contact #contact_form .select_option::after {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    border-bottom: 2px solid #ccc;
    border-right: 2px solid #ccc;
    top: 47%;
    right: 12px;
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
}

.pages .p_contact #contact_form .select_option select {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.8;
    color: #ccc;
    border: 1px solid #C8C8C8;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    padding: 0 40px 0 15px;
}

.pages .p_contact #contact_form .select_option select option:not(:first-child) {
    color: #5A5A5A;
}

.pages#contact01 .p_contact #contact_form .season td {
    padding-bottom: 9px;
}

.pages#contact01 .p_contact #contact_form .desired_time {
    display: flex;
}

.pages#contact01 .p_contact #contact_form .desired_time li {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    position: relative;
}

.pages#contact01 .p_contact #contact_form .desired_time li:first-child {
    margin-right: 17px;
}

.pages#contact01 .p_contact #contact_form .desired_time li .input_custom {
    max-width: 240px;
}

.pages#contact01 .p_contact #contact_form .desired_time li .sub_txt {
    margin-left: 6px;
    flex-shrink: 0;
}

.pages#contact01 .p_contact #contact_form .desired_time li .error {
    position: absolute;
    bottom: -18px;
    left: 0;
}

.pages .p_contact #contact_form .season .horizontal-item,
.pages .p_contact #contact_form .desired_time .horizontal-item {
    display: inline-block;
    margin: 0 21px 0 0;
}

.pages .p_contact #contact_form .season .horizontal-item:nth-child(4) {
    margin-right: 0;
}

.pages .p_contact #contact_form .accommodation .horizontal-item {
    margin: 0 36px 0 0;
}

.pages .p_contact #contact_form .desired_plan {
    display: flex;
    flex-wrap: wrap;
    padding: 11px 0 5px;
}

.pages .p_contact #contact_form .desired_plan span {
    width: 50%;
    margin: 0 0 10px 0;
}

.pages .p_contact #contact_form .contact_note {
    display: block;
    line-height: 1.69;
    padding-top: 3px;
}

.pages .p_contact #contact_form .privacy_policy {
    line-height: 2.15;
    margin-top: 7px;
}

.pages .p_contact #contact_form .accept_box {
    width: 100%;
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #1da283 0%, #23a481 3%, #8dbf5f 49%, #f4d03f 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    position: relative;
}

.pages .p_contact #contact_form .accept_box input[type='checkbox'] {
    top: auto;
    margin-right: 9px;
}

.pages .p_contact #contact_form .accept_box .mwform-checkbox-field {
    width: 100%;
    height: 100%;
}

.pages .p_contact #contact_form .accept_box .mwform-checkbox-field label {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    cursor: pointer;
}

.pages .p_contact #contact_form .accept_box .error {
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 400;
    margin: 0 0;
}

.pages .p_contact #contact_form .btn_submit {
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--jp-title-font);
    font-size: 16px;
    font-weight: 500;
    margin-top: 81px;
    position: relative;
}

.pages .p_contact #contact_form .btn_submit > span {
    width: 100%;
    max-width: 139px;
    height: 21px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.pages .p_contact #contact_form .btn_submit > span::after {
    position: relative;
    content: '';
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat;
    background-size: 100% auto;
    width: 8px;
    height: 12px;
    top: 1px;
}

.pages .p_contact #contact_form .btn_submit input {
    width: 100%;
    height: 100%;
    color: transparent;
    background: none;
    border: 0;
    position: relative;
    cursor: pointer;
}

.pages .p_contact #contact_form .btn_submit .wobble {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    overflow: hidden;
}

.pages .p_contact #contact_form .btn_submit .wobble .word {
    height: 100%;
    display: inline-block;
    overflow: hidden;
}

.pages .p_contact #contact_form .btn_submit .wobble .char {
    height: 100%;
    display: inline-block;
    overflow: hidden;
    color: transparent;
}

.pages .p_contact #contact_form .btn_submit .wobble .char::before,
.pages .p_contact #contact_form .btn_submit .wobble .char::after {
    top: -9px;
    visibility: visible;
    transition: all .18s ease;
    transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
}

.pages .p_contact #contact_form .btn_submit .wobble .char::before {
    color: #00a45c;
    transform: translateY(20px);
    transition-delay: calc(0.02s * (var(--char-index)));
}

.pages .p_contact #contact_form .btn_submit .wobble .char::after {
    color: var(--main-color);
}

.pages .p_contact #contact_form .btn_submit .send_txt,
.pages .p_contact #contact_form .mw_wp_form_confirm .contact_form_txt,
.pages .p_contact #contact_form .mw_wp_form_confirm .select_option::after,
.pages .p_contact #contact_form .mw_wp_form_confirm .calendar::before,
.pages .p_contact #contact_form .mw_wp_form_confirm .contact_note,
.pages .p_contact #contact_form .mw_wp_form_confirm .accept_box,
.pages .p_contact #contact_form .mw_wp_form_confirm .btn_submit .confirm_txt {
    display: none;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .select_option {
    max-width: 100%;
    height: auto;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .wedding_date td {
    padding-top: 9px;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .wedding_date td p,
.pages .p_contact #contact_form .mw_wp_form_confirm .calendar_option td p {
    height: auto;
    line-height: 2.15;
    margin: 0 20px 0 0;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .calendar {
    width: auto;
    max-width: 100%;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .desired_plan,
.pages .p_contact #contact_form .mw_wp_form_confirm .request_plan {
    line-height: 2.15;
    padding: 5px 0;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .btn_submit > span {
    max-width: 88px;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .btn_submit .send_txt {
    display: block;
}

.pages .p_contact #contact_form .cont_thank_msg {
    text-align: center;
}

.pages .p_contact #contact_form .cont_thank_msg h4 {
    font-size: 24px;
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-bottom: 35px;
}

.pages .p_contact #contact_form .cont_thank_msg .btn_primary {
    line-height: 2.5;
    margin: 50px auto 0;
}

.pages .p_contact #contact_form .cont_thank_msg .btn_primary a {
    font-family: var(--jp-title-font);
}

.pages#contact02 .p_contact #p_mv {
    background-image: url(../images/contact/contact02_mv.jpg);
}

.pages .p_contact #contact_form .calendar_option th {
    vertical-align: top;
}

.pages .p_contact #contact_form .calendar_option td {
    padding: 18px 15px 3px;
}

.pages .p_contact #contact_form .calendar_option .error {
    position: absolute;
    top: -23px;
    left: 0;
    font-size: 11px;
}

.pages .p_contact #contact_form .request_plan {
    display: flex;
    flex-wrap: wrap;
    padding: 11px 0 5px;
}

.pages .p_contact #contact_form .request_plan span {
    width: 50%;
    margin: 0 0 10px 0;
}

.pages .p_contact #contact_form .mw_wp_form_confirm .calendar_option td {
    padding-top: 0;
}

/* ------------------------------------------------------
COMPANY
------------------------------------------------------ */
.pages .p_company #p_mv {
    background-image: url(../images/company/company_mv.jpg);
}

.pages .p_company #company_profile {
    background: #F2F5ED;
    padding: 96px 0 146px;
}

.pages .p_company #company_profile .inner {
    max-width: calc(1000px + 6%);
}

.pages .p_company #company_profile .pages_mainttl {
    margin-bottom: 77px;
}

.pages .p_company #company_profile .tb_block {
    border-top: 3px solid #ccc;
    border-bottom: 3px solid #ccc;
}

.pages .p_company #company_profile .tb_block th,
.pages .p_company #company_profile .tb_block td {
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 2.125;
    border-bottom-color: #ccc;
    padding: 27px 19px 28px;
}

.pages .p_company #company_profile .tb_block th {
    width: 21%;
    font-family: var(--jp-font);
    font-weight: 700;
    vertical-align: top;
}

.pages .p_company #company_profile .tb_block td p {
    line-height: 2.125;
}

.pages .p_company #company_profile .tb_block td p img:not(:last-child) {
    margin-right: 5px;
}

.pages .p_company #company_access {
    padding: 96px 0 0;
}

.pages .p_company #company_access .pages_mainttl {
    margin-bottom: 70px;
}

.pages .p_company #company_access .access_map iframe {
    width: 100%;
    height: 800px;
}

/* ------------------------------------------------------
WEDDING STYLE
------------------------------------------------------ */
.pages .p_style #p_mv {
    background-image: url(../images/style/style_mv.jpg);
}

.pages .p_style #style_intro {
    padding: 95px 0 150px;
}

.pages .p_style #style_intro h3 {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0.1em;
    text-align: center;
}

.pages .p_style #style_intro .section {
    max-width: 900px;
    margin: 0 auto;
}

.pages .p_style #style_wedding .style_tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    padding: 0 3%;
    margin-bottom: -15px;
}

.pages .p_style #style_wedding .style_tab li {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0.1em;
    margin: 0 23px 15px;
}

.pages .p_style #style_wedding .style_tab li a {
    color: #b3b3b3;
    position: relative;
    transition: all .3s ease;
}

.pages .p_style #style_wedding .style_tab li.active a {
    color: #5a5a5a;
}

.pages .p_style #style_wedding .style_tab li a::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #5a5a5a;
    position: absolute;
    left: 0;
    bottom: -6px;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
}

.pages .p_style #style_wedding .style_tab li.active a::after {
    opacity: 1;
    visibility: visible;
}

.pages .p_style #style_wedding .style_list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 115px;
}

.pages .p_style #style_wedding .style_list li {
    width: 50%;
    height: 33.333vw;
}

.pages .p_style #style_wedding .style_list li a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.pages .p_style #style_wedding .style_list li a::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    transition: all 2s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
}

.pages .p_style #style_wedding .style_list li figure {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pages .p_style #style_wedding .style_list li figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center;
    transition: all 1s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.pages .p_style #style_wedding .style_list li h4 {
    width: 100%;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    background: #fff;
    font-family: var(--jp-title-font);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 17px 20px 18px;
}

.pages .p_style #style_wedding .style_list li h4 .en {
    display: block;
    font-family: var(--en-font);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-top: 3px;
}

.pages .p_style #style_mv {
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
    position: relative;
}

.pages .p_style #style_mv .mv_title {
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90vw;
    font-family: var(--jp-title-font);
    font-size: 30px;
    font-weight: 500;
    text-align: center;
    opacity: 0;
    z-index: 2;
}

.pages .p_style #style_mv .mv_title span {
    display: inline-block;
    letter-spacing: 0.1em;
    background: var(--white-color);
    padding: 0 14px 2px;
}

.pages .p_style #style_mv .mv_title.active {
    top: 50%;
    opacity: 1;
    transition: .8s cubic-bezier(0, .6, .2, 1), opacity .8s linear;
}

.pages .p_style #style_mv .mv_photo {
    width: 100%;
    height: 100%;
    opacity: 0;
}

.pages .p_style #style_mv .mv_photo.active {
    opacity: 1;
    transition: opacity .8s linear;
}

.pages .p_style #style_mv .mv_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.style_detail .p_style #content {
    margin-bottom: 67px;
}

.pages .p_style #content .details_block {
    padding: 95px 0 0;
}

.pages .p_style #content .details_block .block_cont_ttl {
    font-family: var(--jp-title-font);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 61px;
}

.pages .p_style #content .details_block .details_frame {
    max-width: 900px;
    margin: 0 auto 110px;
}

.pages .p_style #content .details_block .details_img {
    width: 100%;
    height: 700px;
    line-height: 0;
    margin-bottom: 56px;
}

.pages .p_style #content .details_block .details_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pages .p_style #content .details_block .details_frame .section {
    padding: 0;
    margin-top: 37px;
}

.pages .p_style #content .details_block .details_frame .section p,
.pages .p_style #content .details_block .details_frame .section ul li,
.pages .p_style #content .details_block .details_frame .section ol li,
.pages .p_style #content .details_block .details_frame .section a {
    line-height: 2.53;
}

.pages .p_style #content .details_block .details_frame .section a {
    text-decoration: underline;
}

.pages .p_style #content .details_block .details_frame .section ul li,
.pages .p_style #content .details_block .details_frame .section ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .p_style #content .details_block .details_overview {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    position: relative;
    padding-bottom: 298px;
}

.pages .p_style #content .details_block .details_overview .details_overview_frame {
    width: 100%;
    max-width: 520px;
    height: 100%;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #F2F5ED;
    padding: 40px 50px;
    position: relative;
    z-index: 2;
}

.pages .p_style #content .details_block .details_overview .overview_image {
    position: absolute;
    top: 100px;
    left: 0;
    width: 100%;
    max-width: 900px;
    height: 600px;
}

.pages .p_style #content .details_block .details_overview .overview_slider_item {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.pages .p_style #content .details_block .details_overview .overview_slider_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

.pages .p_style #content .details_block .details_overview .overview_title {
    font-family: var(--jp-title-font);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.9;
    margin-bottom: 33px;
}

.pages .p_style #content .details_block .details_overview .overview_txt p,
.pages .p_style #content .details_block .details_overview .overview_txt ul li,
.pages .p_style #content .details_block .details_overview .overview_txt ol li,
.pages .p_style #content .details_block .details_overview .overview_txt a {
    line-height: 2.53;
    text-align: justify;
}

.pages .p_style #content .details_block .details_overview .overview_txt a {
    text-decoration: underline;
}

.pages .p_style #content .details_block .details_overview .overview_txt ul li,
.pages .p_style #content .details_block .details_overview .overview_txt ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .p_style #content .details_block .details_slider {
    width: calc(100% - 100px);
    position: relative;
    padding-bottom: 74px;
    margin: 92px 0 0 auto;
}

.pages .p_style #content .details_block .details_slider:not(:last-child) {
    margin-bottom: 72px;
}

.pages .p_style #content .details_block .details_slider .slide_item {
    width: auto;
    height: 620px;
    margin: 0 10px;
}

.pages .p_style #content .details_block .details_slider .slide_item img {
    width: auto;
    height: 100%;
    object-fit: cover;
}

.pages .p_style #content .details_block .slick-arrow {
    position: absolute;
    bottom: -68px;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 10px;
    height: 11px;
    z-index: 5;
}

.pages .p_style #content .details_block .slick-arrow.slick-prev {
    background-image: url(../images/common/icon_arr_prev.png);
    left: 0;
}

.pages .p_style #content .details_block .slick-arrow.slick-next {
    background-image: url(../images/common/icon_arr_next.png);
    left: 52px;
}

.pages .p_style #content .details_block .slick-counter {
    position: absolute;
    bottom: -71px;
    left: 84px;
    font-size: 13px;
}

.pages .p_style #content .details_block .slick-counter span {
    margin: 0 3px;
}

.pages .p_style #content .details_block .slider-progress {
    position: absolute;
    bottom: 11px;
    left: 150px;
    width: 120px;
    height: 1px;
    background: #E6E6E6;
    overflow: hidden;
}

.pages .p_style #content .details_block .slider-progress .progress {
    width: 100%;
    height: 1px;
    background: var(--main-color);
    transform: translateX(-100%);
    transition: all .3s ease;
}

.pages .p_style .style_video {
    width: 100%;
    max-width: calc(800px + 6%);
    height: 450px;
    padding: 0 3%;
    margin: 0 auto;
}

.pages .p_style .style_video iframe {
    width: 100%;
    height: 100%;
}

.style_detail .p_style .btn_primary {
    margin-top: 93px;
}

@keyframes showblock {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* ------------------------------------------------------
CONCEPT
------------------------------------------------------ */
.pages .p_concept #p_mv {
    background-image: url(../images/concept/concept_mv.jpg);
}

.pages .p_concept #concept_intro {
    background: var(--white-color);
    padding: 92px 0 154px;
}

.pages .p_concept #concept_intro h3 {
    font-family: var(--jp-title-font);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.71;
    text-align: center;
    padding: 0 3%;
    margin-bottom: 79px;
}

.pages .p_concept #concept_intro .concept_intro_gallery {
    height: 350px;
    margin-bottom: 88px;
}

.pages .p_concept #concept_intro .concept_intro_gallery .slick-list,
.pages .p_concept #concept_intro .concept_intro_gallery .slick-track {
    height: 100%;
}

.pages .p_concept #concept_intro .concept_intro_txt {
    width: 100%;
    max-width: calc(900px + 6%);
    padding: 0 3%;
    margin: 0 auto;
}

.pages .p_concept #concept_intro .concept_intro_txt p {
    text-align: justify;
}

.pages .p_concept #concept_intro .concept_intro_txt p:not(:last-child) {
    margin-bottom: 38px;
}

.pages .p_concept #concept_present {
    overflow: hidden;
}

.pages .p_concept #concept_present .card {
    height: 120vh;
    color: var(--white-color);
    position: relative;
}

.pages .p_concept #concept_present .ser1 {
    margin-top: 300px;
}

.pages .p_concept #concept_present .ser3 {
    margin-bottom: 300px;
}

.pages .p_concept #concept_present .card .inner {
    width: 100%;
    max-width: calc(900px + 6%);
    padding: 0 3%;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.pages .p_concept #concept_present .card h4 {
    display: flex;
    align-items: center;
    font-family: var(--jp-title-font);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.95;
    margin-bottom: 40px;
}

.pages .p_concept #concept_present .card h4 span {
    letter-spacing: 0.05em;
    padding-top: 15px;
    margin-left: 38px;
}

.pages .p_concept #concept_present .ser2 h4 span {
    padding-top: 26px;
}

.pages .p_concept #concept_present .ser3 h4 span {
    padding-top: 30px;
}

.pages .p_concept #concept_present .card .concept_present_txt {
    font-size: 16px;
}

.pages .p_concept #concept_present .card .concept_present_txt p {
    line-height: 3;
    text-align: justify;
}

.pages .p_concept #concept_present .card p:not(:last-child) {
    margin-bottom: 38px;
}

.pages .p_concept #concept_present .present_photo {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
}

.pages .p_concept #concept_present .present_photo .item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition: opacity 1s cubic-bezier(.39, .575, .565, 1), transform 0s cubic-bezier(.39, .575, .565, 1) 2s;
    transform: scale(1.025);
}

.pages .p_concept #concept_present .present_photo .item::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    top: 0;
    left: 0;
    transition: opacity 1s cubic-bezier(.39, .575, .565, 1);
    opacity: 0;
}

.pages .p_concept #concept_present .present_photo .item.is-active::before {
    transition-delay: .8s;
    opacity: 1;
}

.pages .p_concept #concept_present .present_photo .item.is-active {
    opacity: 1;
    transition: opacity 1s cubic-bezier(.39, .575, .565, 1), transform 2s cubic-bezier(.39, .575, .565, 1);
    transform: scale(1);
}

.pages .p_concept #concept_present .present_photo .present1 {
    background-image: url(../images/concept/concept_present01.jpg);
}

.pages .p_concept #concept_present .present_photo .present2 {
    background-image: url(../images/concept/concept_present02.jpg);
}

.pages .p_concept #concept_present .present_photo .present3 {
    background-image: url(../images/concept/concept_present03.jpg);
}

.pages .p_concept #concept_special {
    text-align: center;
    background: #F2F5ED;
    padding: 130px 0 140px;
}

.pages .p_concept #concept_special h3 {
    font-family: var(--jp-title-font);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.71;
    text-align: center;
    margin-bottom: 54px;
}

.pages .p_concept #concept_special .concept_special_photo {
    margin-bottom: 65px;
}

.pages .p_concept #concept_special .concept_special_photo span {
    display: block;
    margin-top: -37px;
}

.pages .p_concept #concept_special .concept_special_txt p {
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 2.375;
}

.pages .p_concept #concept_special .concept_special_txt p:not(:last-child) {
    margin-bottom: 38px;
}

.pages .p_concept #concept_special .concept_special_txt .txt_break {
    display: none;
}

/* ------------------------------------------------------
DRESS SHOP
------------------------------------------------------ */
.pages .p_dressshop #p_mv {
    background-image: url(../images/dressshop/dressshop_mv.jpg);
}

.pages #dress_intro {
    padding: 94px 0 93px;
}

.pages #dress_intro h3 {
    font-family: var(--jp-title-font);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 49px;
}

.pages #dress_intro .section {
    max-width: 900px;
    margin: 0 auto;
}

.pages #dress_info {
    display: none;
    background: #f2f5ed;
    padding: 107px 0 118px;
}

.pages #dress_info .dress_info_focus:not(:last-child) {
    margin-bottom: 50px;
}

.pages #dress_info h3 {
    font-family: var(--jp-title-font);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
}

.pages #dress_info .info_block {
    display: flex;
    justify-content: center;
    margin: 69px 0 67px;
}

.pages #dress_info .info_block .info_img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    max-width: 900px;
    position: relative;
}

.pages #dress_info .info_block .info_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}

.pages #dress_info .info_block .info_img:nth-child(2) {
    object-position: left;
}

.pages #dress_info .info_block .info_img .info_tag {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 300px;
    height: 50px;
    background: #a68b62;
    color: #fff;
    font-family: var(--jp-title-font);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: absolute;
    top: 0;
    left: 0;
}

.pages #dress_info .info_cont {
    max-width: 900px;
    margin: 0 auto;
}

.pages #dress_info .info_cont .section {
    padding: 0;
    margin-bottom: 51px;
}

.pages #dress_info .info_frame {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.pages #dress_info .info_frame dl {
    display: flex;
    width: calc(50% - 20px);
    border-top: 1px solid #cccccc;
    padding: 32px 0 33px;
}

.pages #dress_info .info_frame dt {
    width: 97px;
    font-family: var(--jp-title-font);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    flex-shrink: 0;
    padding: 0 13px;
}

.pages #dress_info .info_frame dd {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.71;
}

.pages #dress_info .info_frame dd p,
.pages #dress_info .info_frame dd ul li,
.pages #dress_info .info_frame dd ol li {
    line-height: 1.71;
}

.pages #dress_info .info_frame dd ul li,
.pages #dress_info .info_frame dd ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages #dress_info .info_frame dl:last-child,
.pages #dress_info .info_frame dl:nth-last-child(2) {
    border-bottom: 1px solid #cccccc;
}

.pages #dress_info .btn_primary {
    margin-top: 73px;
}

.pages #dressshop_list {
    padding: 150px 0 100px;
}

.pages #dressshop_list article {
    max-width: 1800px;
    display: flex;
    align-items: center;
    margin: 0 auto;
}

.pages #dressshop_list article:nth-child(odd) {
    flex-direction: row-reverse;
}

.pages #dressshop_list article figure {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    max-width: 900px;
    height: 500px;
    flex-shrink: 0;
    position: relative;
    line-height: 0;
    overflow: hidden;
}

.pages #dressshop_list article figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}

.pages #dressshop_list article .dress_tag {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 300px;
    height: 50px;
    background: #a68b62;
    color: #fff;
    font-family: var(--jp-title-font);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: absolute;
    top: 0;
    left: 0;
}

.pages #dressshop_list .dress_frame {
    max-width: 520px;
    padding-top: 12px;
    margin: 0 auto 0 80px;
}

.pages #dressshop_list article:nth-child(even) .dress_frame {
    margin: 0 80px 0 auto;
}

.pages #dressshop_list article:nth-child(even) figure img {
    object-position: left;
}

.pages #dressshop_list .dress_frame h4 {
    font-family: var(--jp-title-font);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 34px;
}

.pages #dressshop_list .dress_frame .section {
    padding: 0;
}

.pages #dressshop_list .dress_frame .section p {
    line-height: 2.13;
    text-align: justify;
}

.pages #dressshop_list .dress_frame .section ul li,
.pages #dressshop_list .dress_frame .section ol li {
    line-height: 2.13;
    list-style: inherit;
    margin-left: 15px;
}

.pages #dressshop_list .dress_frame .btn_primary {
    text-align: left;
    margin-top: 30px;
}

/* ------------------------------------------------------
VOICE
------------------------------------------------------ */
.pages .p_voice #p_mv {
    background-image: url(../images/voice/voice_mv.jpg);
}

.pages .p_voice #voice_intro {
    padding: 95px 0 109px;
}

.pages .p_voice #voice_intro .voice_intro_txt {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2.4;
    text-align: center;
}

.pages .p_voice .review_wrap {
    background: #F2F5ED;
    padding: 100px 0 149px;
}

.pages .p_voice .review_list {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}

.pages .p_voice .review_list dl {
    width: 100%;
    max-width: 580px;
    background: #fff;
    box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
    padding: 24px 40px 44px;
}

.pages .p_voice .review_list dl dt {
    font-family: var(--jp-title-font);
    font-size: 22px;
    font-weight: 600;
    color: #00A45C;
    border-bottom: 1px solid #ccc;
    padding: 0 0 15px;
    margin-bottom: 17px;
}

.pages .p_voice .review_list dl dt span {
    letter-spacing: 0.05em;
}

.pages .p_voice .review_list dl dt .voice_date {
    margin-right: 13px;
}

.pages .p_voice .review_list dl dd {
    font-size: 14px;
    font-weight: 300;
}

.pages .p_voice .review_list dl dd p,
.pages .p_voice .review_list dl dd ul li,
.pages .p_voice .review_list dl dd ol li {
    line-height: 2;
}

.pages .p_voice .review_list dl dd ul li,
.pages .p_voice .review_list dl dd ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .p_voice .review_list dl dd p:not(:last-child) {
    margin-bottom: 28px;
}

.pages .p_voice .wp-pagenavi {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    margin-top: 70px;
}

.pages .p_voice .wp-pagenavi span,
.pages .p_voice .wp-pagenavi a {
    font-family: var(--EB-Garamond-font);
    font-size: 28px;
    font-weight: 700;
    width: 43px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 0;
    padding: 0 0 2px;
    margin: 0 5px 10px;
    position: relative;
}

.pages .p_voice .wp-pagenavi a,
.pages .p_voice .wp-pagenavi a:link,
.pages .p_voice .wp-pagenavi a:visited {
    transition: all .25s ease;
    position: relative;
}

.pages .p_voice .wp-pagenavi .current {
    color: #fff;
    background: #00A45C;
    position: relative;
}

.pages .p_voice .wp-pagenavi a.previouspostslink,
.pages .p_voice .wp-pagenavi a.nextpostslink {
    background: url(../images/voice/voice_icon01.png) no-repeat center;
    background-size: 100% auto;
    width: 18px;
    border: 0;
    color: transparent;
}

.pages .p_voice .wp-pagenavi a.previouspostslink {
    transform: rotate(-180deg);
    margin-right: 11px;
}

.pages .p_voice .wp-pagenavi a.nextpostslink {
    margin-left: 11px;
}

.pages .p_voice .wp-pagenavi a.previouspostslink:hover,
.pages .p_voice .wp-pagenavi a.nextpostslink:hover {
    color: transparent;
}

.pages .p_voice .wp-pagenavi .pages {
    font-family: var(--en-font);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
    width: auto;
    background: none;
    border: 0;
    padding: 0 3px 0 0;
    margin-right: 11px;
}

.pages .p_voice .wp-pagenavi .first,
.pages .p_voice .wp-pagenavi .last {
    display: none;
}

.pages .p_voice #voice_form {
    padding: 100px 3% 149px;
}

.pages .p_voice #voice_form .inner {
    max-width: 1000px;
    background: var(--white-color);
    padding: 86px 100px 115px;
}

.pages .p_voice #voice_form .contact_form_txt {
    line-height: 2.53;
    text-align: center;
    margin-bottom: 48px;
}

.pages .p_voice #voice_form table.tb_contact th {
    width: 26.9%;
    line-height: 1.71;
    padding-top: 27px;
}

.pages .p_voice #voice_form table.tb_contact td {
    font-size: 13px;
    font-weight: 300;
    line-height: 2.15;
    padding-top: 19px;
}

.pages .p_voice #voice_form .input_custom,
.pages .p_voice #voice_form .txt_custom {
    font-family: var(--jp-font);
    color: var(--main-color);
    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    width: 100%;
    max-width: 550px;
    border: 1px solid #C8C8C8;
    padding: 8px 11px 10px;
}

.pages .p_voice #voice_form .input_custom {
    height: 40px;
}

.pages .p_voice #voice_form .txt_custom {
    height: 200px;
    resize: none;
}

.pages .p_voice #voice_form .privacy_policy {
    line-height: 2.15;
    margin-top: 7px;
}

.pages .p_voice #voice_form .accept_box {
    width: 100%;
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #1da283 0%, #23a481 3%, #8dbf5f 49%, #f4d03f 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    position: relative;
}

.pages .p_voice #voice_form .accept_box .mwform-checkbox-field {
    width: 100%;
    height: 100%;
}

.pages .p_voice #voice_form .accept_box .mwform-checkbox-field label {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    cursor: pointer;
}

.pages .p_voice #voice_form .accept_box .error {
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 400;
    margin: 0 0;
}

.pages .p_voice #voice_form .btn_submit {
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--jp-title-font);
    font-size: 16px;
    font-weight: 500;
    margin-top: 81px;
    position: relative;
}

.pages .p_voice #voice_form .btn_submit > span {
    width: 100%;
    max-width: 139px;
    height: 21px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.pages .p_voice #voice_form .btn_submit > span::after {
    position: relative;
    content: '';
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat;
    background-size: 100% auto;
    width: 8px;
    height: 12px;
    top: 1px;
}

.pages .p_voice #voice_form .btn_submit input {
    width: 100%;
    height: 100%;
    color: transparent;
    background: none;
    border: 0;
    position: relative;
    cursor: pointer;
}

.pages .p_voice #voice_form .btn_submit .wobble {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    overflow: hidden;
}

.pages .p_voice #voice_form .btn_submit .wobble .word {
    height: 100%;
    display: inline-block;
    overflow: hidden;
}

.pages .p_voice #voice_form .btn_submit .wobble .char {
    height: 100%;
    display: inline-block;
    overflow: hidden;
    color: transparent;
}

.pages .p_voice #voice_form .btn_submit .wobble .char::before,
.pages .p_voice #voice_form .btn_submit .wobble .char::after {
    top: -9px;
    visibility: visible;
    transition: all .18s ease;
    transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
}

.pages .p_voice #voice_form .btn_submit .wobble .char::before {
    color: #00a45c;
    transform: translateY(20px);
    transition-delay: calc(0.02s * (var(--char-index)));
}

.pages .p_voice #voice_form .btn_submit .wobble .char::after {
    color: var(--main-color);
}

.pages .p_voice #voice_form .btn_submit .send_txt,
.pages .p_voice #voice_form .mw_wp_form_confirm .accept_box,
.pages .p_voice #voice_form .mw_wp_form_confirm .btn_submit .confirm_txt {
    display: none;
}

.pages .p_voice #voice_form .mw_wp_form_confirm .btn_submit > span {
    max-width: 88px;
}

.pages .p_voice #voice_form .mw_wp_form_confirm .btn_submit .send_txt {
    display: block;
}

.pages .p_voice #voice_form .mw_wp_form_confirm .privacy_policy {
    margin-top: 0;
}

.pages .p_voice #voice_form .cont_thank_msg {
    text-align: center;
}

.pages .p_voice #voice_form .cont_thank_msg h4 {
    font-size: 24px;
    line-height: 1.75;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-bottom: 35px;
}

.pages .p_voice #voice_form .cont_thank_msg .btn_primary {
    line-height: 2.5;
    margin: 50px auto 0;
}

.pages .p_voice #voice_form .cont_thank_msg .btn_primary a {
    font-family: var(--jp-title-font);
}

/* ------------------------------------------------------
PARTY REPORT
------------------------------------------------------ */
.pages .p_report #p_mv {
    background-image: url(../images/report/report_mv.jpg);
}

.pages .p_report #report_intro {
    padding: 96px 0 95px;
}

.pages .p_report #report_intro .inner {
    max-width: calc(900px + 6%);
}

.pages .p_report #report_intro h3 {
    font-family: var(--jp-title-font);
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 50px;
}

.pages .p_report #report_intro .section p:not(:last-child) {
    margin-bottom: 38px;
}

.pages .p_report .report_cate {
    padding: 0 0 102px;
}

.pages .p_report .report_cate_list {
    width: 100%;
    max-width: 1240px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
}

.pages .p_report .report_cate_list li {
    width: 100%;
    max-width: 220px;
    height: 220px;
    margin: 0 14px 28px;
}

.pages .p_report .report_cate_list li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 50%;
    position: relative;
}

.pages .p_report .report_cate_list li.season a {
    background-image: url(../images/report/season.jpg);
}

.pages .p_report .report_cate_list li.id9 a {
    background-image: url(../images/report/season_spring.jpg);
}

.pages .p_report .report_cate_list li.id10 a {
    background-image: url(../images/report/season_summer.jpg);
}

.pages .p_report .report_cate_list li.id11 a {
    background-image: url(../images/report/season_autumn.jpg);
}

.pages .p_report .report_cate_list li.id12 a {
    background-image: url(../images/report/season_winter.jpg);
}

.pages .p_report .report_cate_list li a::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(0, 0, 0, 1);
    top: 0;
    left: 0;
    opacity: .5;
    transition: all .3s ease;
}

.pages .p_report .report_cate_list li span {
    font-family: var(--jp-title-font);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 1;
}

.pages .p_report .report_cate_list li span > span {
    display: block;
    font-family: var(--en-font);
    font-size: 26px;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.pages .p_report .report_cate_list li.active a::before {
    background: rgba(0, 164, 92, 1);
    opacity: .75 !important;
}

.pages .p_report #report_information {
    padding: 0 0 28px;
}

.pages .p_report .report_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}

.pages .p_report .report_list .report_card {
    width: calc(100% / 3);
    height: 24vw;
    position: relative;
}

.pages .p_report .report_list .report_card::before {
    position: absolute;
    content: '';
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    bottom: -1px;
    left: -1px;
    pointer-events: none;
    z-index: 1;
}

.pages .p_report .report_list .report_card:last-child::before {
    border-right: 0;
}

.pages .p_report .report_list .report_card a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    cursor: pointer;
    overflow: hidden;
}

.pages .p_report .report_list .report_card a::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #ffffff 0%, #000000 100%);
    top: 100%;
    left: 0;
    visibility: hidden;
    opacity: 0;
    mix-blend-mode: multiply;
    transition: all .45s ease;
}

.pages .p_report .report_list .report_card figure {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
}

.pages .p_report .report_list .report_card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

.pages .p_report .report_list .report_card .card_component {
    position: absolute;
    bottom: 21px;
    left: 0;
    width: 100%;
    color: #fff;
    padding: 0 22px;
}

.pages .p_report .report_list .report_card .card_title {
    font-family: var(--jp-title-font);
    font-size: 20px;
}

.pages .p_report .report_list .report_card .card_txt {
    font-weight: 300;
    line-height: 2.2;
}

.pages .p_report .report_list .report_card .card_title,
.pages .p_report .report_list .report_card .card_txt {
    position: relative;
    top: 80px;
    transition-property: top, opacity;
    transition-duration: 0.3s;
    transition-delay: 0s;
    visibility: hidden;
    opacity: 0;
}

.pages .p_report .report_list .report_card a:hover::before,
.pages .p_report .report_list .report_card a:hover .card_title,
.pages .p_report .report_list .report_card a:hover .card_txt {
    visibility: visible;
    opacity: 1;
}

.pages .p_report .report_list .report_card a:hover::before {
    top: 0;
}

.pages .p_report .report_list .report_card a:hover .card_title {
    top: 0;
    transition-delay: 0.15s;
}

.pages .p_report .report_list .report_card a:hover .card_txt {
    top: 0;
    transition-delay: 0.25s;
}

.pages .p_report .wp-pagenavi {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    margin-top: 109px;
}

.pages .p_report .wp-pagenavi span,
.pages .p_report .wp-pagenavi a {
    font-family: var(--EB-Garamond-font);
    font-size: 28px;
    font-weight: 700;
    width: 43px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #fff;
    border: 0;
    padding: 0 0 2px;
    margin: 0 5px 10px;
    position: relative;
}

.pages .p_report .wp-pagenavi a,
.pages .p_report .wp-pagenavi a:link,
.pages .p_report .wp-pagenavi a:visited {
    transition: all .25s ease;
    position: relative;
}

.pages .p_report .wp-pagenavi .current {
    color: #fff;
    background: #00A45C;
    position: relative;
}

.pages .p_report .wp-pagenavi a.previouspostslink,
.pages .p_report .wp-pagenavi a.nextpostslink {
    background: url(../images/voice/voice_icon01.png) no-repeat center;
    background-size: 100% auto;
    width: 18px;
    border: 0;
    color: transparent;
}

.pages .p_report .wp-pagenavi a.previouspostslink {
    transform: rotate(-180deg);
    margin-right: 11px;
}

.pages .p_report .wp-pagenavi a.nextpostslink {
    margin-left: 11px;
}

.pages .p_report .wp-pagenavi a.previouspostslink:hover,
.pages .p_report .wp-pagenavi a.nextpostslink:hover {
    color: transparent;
}

.pages .p_report .wp-pagenavi .pages {
    font-family: var(--en-font);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.05em;
    width: auto;
    background: none;
    border: 0;
    padding: 0 3px 0 0;
    margin-right: 11px;
}

.pages .p_report .wp-pagenavi .first,
.pages .p_report .wp-pagenavi .last {
    display: none;
}

.pages .p_report #report_contents {
    padding: 96px 0 50px;
}

.pages .p_report #report_contents .report_title {
    text-align: center;
    margin-bottom: 53px;
}

.pages .p_report #report_contents .report_title h3 {
    font-family: var(--jp-title-font);
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 22px;
}

.pages .p_report #report_contents .report_title .wedding_information {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.1em;
}

.pages .p_report #report_contents .main_photo {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 56px;
}

.pages .p_report #report_contents .main_photo img {
    width: 100%;
    flex-shrink: 0;
}

.pages .p_report #report_contents .main_description {
    width: 100%;
    max-width: 900px;
    margin: 0 auto 112px;
}

.pages .p_report #report_contents .main_description ul li,
.pages .p_report #report_contents .main_description ol li {
    list-style: inherit;
    margin-left: 15px;
}

.pages .p_report #report_contents .report_gallery {
    width: 100%;
    max-width: calc(1200px + 6%);
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-flow: dense;
    grid-auto-rows: minmax(min-content, 253px);
    grid-gap: 30px;
    padding: 0 3%;
    margin: 0 auto 93px;
}

.pages .p_report #report_contents .report_gallery .item {
    min-width: 1px;
    min-height: 1px;
    grid-column: span 2;
    width: 100%;
    overflow: hidden;
}

.pages .p_report #report_contents .report_gallery .w2col {
    grid-column: span 4;
    grid-row: span 2;
}

.pages .p_report #report_contents .report_gallery .horizontal_img {
    grid-column: span 2;
}

.pages .p_report #report_contents .report_gallery .vertical_img {
    grid-row: span 2;
}

.pages .p_report #report_contents .report_gallery a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    position: relative;
    overflow: hidden;
}

.pages .p_report #report_contents .report_gallery a::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    top: 0;
    left: 0;
    z-index: 1;
    transition: all 2s cubic-bezier(0.25, 0.8, 0.25, 1);
    opacity: 0;
    pointer-events: none;
}

.pages .p_report #report_contents .report_gallery a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
    transform-origin: center;
    transition: all 1s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* ------------------------------------------------------
Privacy Policy
------------------------------------------------------ */
#privacypolicy_info {
    background: #F2F5ED;
    padding: 96px 0 146px;
}
#privacypolicy_info .inner {
	max-width: calc(1000px + 6%);
}
section#privacypolicy_info h4 {
    font-family: var(--jp-title-font);
    font-size: 20px;
    padding: 10px 0;
    border-bottom: 1px solid #dadada;
    margin-bottom: 8px;
}
section#privacypolicy_info li {
    line-height: 2.0;
}
/* MOZZILLA CSS */
@-moz-document url-prefix() {
    .pages .p_contact #contact_form input[type="checkbox"] {
        top: -1px;
    }
}

/* IE CSS */
@media screen\0 {}

/* EDGE 12+ CSS */
@supports (-ms-ime-align:auto) {}
