/*
Theme Name: Lightning Child Sample
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/
/* ---------------------------------------- リセット ---------------------------------------- */
table th, table td, ul, .widget ul, .site-body, .container, .container-lg, .container-md, .container-sm, .container-xl, .site-header--layout--nav-float .site-header-logo, .device-mobile ul.global-nav-list>li {padding: 0;}
.container, .container-lg, .container-md, .container-sm, .container-xl, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {max-width: initial;}
figure, h2, figure+h1, figure+h2, figure+h3, dt, aside, .widget, .wp-block-table, blockquote, dl, iframe, ol, p, ul, li, .widget li, .site-footer-copyright p, .site-header--layout--nav-float .site-header-logo, dl+h1, dl+h2, dl+h3, dl+h4, dl+h5, dl+h6, ol+h1, ol+h2, ol+h3, ol+h4, ol+h5, ol+h6, p+h1, p+h2, p+h3, p+h4, p+h5, p+h6, table+h1, table+h2, table+h3, table+h4, table+h5, table+h6, ul+h1, ul+h2, ul+h3, ul+h4, ul+h5, ul+h6 {margin: 0;}
h2, h3, h4, h5, h6 {margin: 0;}
body .is-layout-flex {gap: initial;}
.container.site-footer-copyright p:nth-child(2) {display: none;}
a, li a, p a, div a {text-decoration: none;}
ul, ol {
	padding: 0;
	list-style: none;
}
figure img {width: 100%;}
footer.site-footer div.row>div:nth-child(1), footer.site-footer div.row>div:nth-child(2), div#breadcrumb, body.post-name-top 
div.page-header, a#page_top {display: none;}
/* ---------------------------------------- PCでの非表示など ---------------------------------------- */
div#fv_sp_container, div#vk-mobile-nav-menu-btn, br.sp, div.appealslider_sp {display: none;}
a[href^="tel:"] {
	pointer-events: none;
	display: inline-block;
}
/* ---------------------------------------- フォント ---------------------------------------- */
body, body footer, a, body p, label {
	font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP 500", serif;
	font-weight: 500;
	font-style: normal;
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 1.8;
	color: #3D3935;
}
b {font-weight: bold;}
p {margin-bottom: 1.2em!important;}
h3.concept_title, h3.appeal_title {
    font-size: 22px;
	font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.06em;
	margin-bottom: 32px !important;
}
h3.appeal_title {font-size: 22px;}
p.concept_text {
    line-height: 2;
    margin-bottom: 2em !important;
}
h3.title_box {margin-bottom: 40px!important;}
h3.title_box span {
    display: block;
    text-align: center;
    line-height: 1;
	margin-bottom: 0;
}
h3.title_box span.title_en {margin-bottom: 4px;}
h3.title_box span.title_ja {opacity: 0.8;}
.title_en, h1.page-header-title {
	font-family: "Libre Baskerville", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 38px;
}
.title_ja {
	font-weight: 400;
	font-size: 14px;
	color: #686869;
}
p.text_small {
    font-size: 12px;
    line-height: 1.6;
}
.white {color: #fff;}
.bold_ja {font-weight: bold;}
h3.ccsw_title {
    font-size: 18px;
	font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.04em;
	margin-bottom: 32px !important;
}
body, body footer {background-color: #fff;}
footer div.container.site-footer-copyright p {
	font-size: 12px;
	text-align: right;
}
/* ---------------------------------------- ボタン ---------------------------------------- */
div.fixedbtn_container {
	display: block;
	position: fixed;
	top: 140px;
	right: 0;
	z-index: 2000;
	box-shadow: 1px 1px 8px rgba(61, 57, 53, 0.1);
}
a.fixedbtn_cm {
    display: flex;
	flex-direction: column;
    background-color: #CEB4A9;
	border: 1px solid #CEB4A9;
    padding: 1.4em;
    border-radius: 4px 0 0 0;
	align-items: center;
	min-height: 200px;
}
a.fixedbtn_contact {
    display: flex;
	flex-direction: column;
    background-color: #fff;
	border: 1px solid #CEB4A9;
    padding: 1.4em;
    border-radius: 0 0 0 4px;
	align-items: center;
	min-height: 180px;
}
span.fixedbtn_contact_text, span.fixedbtn_cm_text {
	writing-mode: vertical-rl;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.1em;
}
div.fixedbtn_container img {
    width: 16px;
    margin-bottom: 0.5em;
}
a.backtotopbtn {
    display: block;
    height: 8.85px;
    width: 20px;
    padding: 10px;
    background: center / contain no-repeat url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/arrow_top.png");
    margin: 80px 40px 20px auto;
}
/* ---------------------------------------- ホバー ---------------------------------------- */
a:hover {
	text-decoration: none;
	color: inherit;
}
a.ctabtn_contact:hover {
    background-color: #CEB4A9;
    transition: .4s;
}
/* ---------------------------------------- ヘッダー ---------------------------------------- */
body.post-name-top header#site-header {position: fixed;}
body.post-name-top h1.site-header-logo, body.post-name-top div.site-header-logo {display: none;}
header#site-header {
    box-shadow: none;
}
div#site-header-container {
    height: 100%;
    position: relative;
	flex-direction: column;
	gap: 2em;
}
h1.site-header-logo, div.site-header-logo {
    position: relative;
}
div.site-header-logo a {
    margin: 0 auto;
}
h1.site-header-logo a picture, div.site-header-logo a picture , div.site-header-logo a img {
    width: 200px;
    display: block;
	max-height: inherit;
}
nav#global-nav {
    position: relative;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-color: #DAD9D6;
	padding: 2em 0;
	height: 74px;
}
nav#global-nav a {
    padding: 0 1em;
}
header#site-header a strong.global-nav-name {
	font-family: "Libre Baskerville", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
	color: #3D3935;
}
/* ---------------------------------------- FV ---------------------------------------- */
div#fv_pc_container {
    height: calc(100vh - 74px);
    position: relative;
    width: 100%;
	margin-top: 74px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
div#fv_pc_container figure {
    position: relative;
    width: 100%;
    height: 100%;
}
div#fv_pc_container video {
    object-fit: cover;
    position: absolute;
    width: 100%;
    height: 100%;
}
/* ---------------------------------------- コンセプト（導入部分） ---------------------------------------- */
section#introduction_container {
    width: 864px;
    margin: 0 auto;
    text-align: center;
	padding: 60px 0 0;
}
section#introduction_container picture {
    display: block;
    width: 400px;
    max-width: 71.2vw;
    margin-bottom: 6em;
}
div.concept_bg {
    background-color: rgba(218, 217, 214, .6);
    width: 100vw;
    margin-left: calc((100% - 100vw) / 2) !important;
    padding: 60px 0;
}
/* ---------------------------------------- 魅力 ---------------------------------------- */
section#appeal_container2, section#appeal_container3 {margin-top: 80px;}
div.appeal_flex {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
}
figure.appeal_flexbox, div.appeal_flexbox {flex: 50%;}
div.appeal_flexbox.textbox_right {
	padding-top: 2em;
    padding-left: 50px;
	padding-right: calc((100% - 1200px) / 2);
}
div.appeal_flexbox.textbox_left {
	padding-top: 24px;
    padding-left: calc((100% - 1200px) / 2);
	padding-right: 50px;
}
p.appeal_number {
	font-family: "Libre Baskerville", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", serif;
	font-weight: 400;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.04em;
	color: #DAD9D6;
	margin-bottom: 8px !important;
	position: relative;
}
h3.appeal_title {margin-bottom: 1em !important;}
div.textbox_right p.appeal_number::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    width: 60px;
    background-color: rgba(61, 57, 53, 0.5);
    top: 50%;
    left: -80px;
}
div.textbox_left p.appeal_number::before {
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    width: 60px;
    background-color: rgba(61, 57, 53, 0.5);
    top: 50%;
    right: -80px;
}
/* スライダー */
div.pgc-sgb-cb.appealslider_pc {min-height: 200px;}
div.pgc-sgb-cb.appealslider_sp img {width: 100% !important;}
div.pgc-sgb-cb.appealslider_sp .pgcsimplygalleryblock-slider-main-wrap.pgc-image {padding: 0 !important;}
div.appealslider_sp div.pgcsimplygalleryblock-slider-collection div.pgcsimplygalleryblock-slider-content div.pgcsimplygalleryblock-slider-next-prev-navi.prev, div.appealslider_sp div.pgcsimplygalleryblock-slider-collection div.pgcsimplygalleryblock-slider-content div.pgcsimplygalleryblock-slider-next-prev-navi.next {
    transform: translate(0, -50%);
    top: 50%;
    width: 40px;
    height: 40px;
}
/* ---------------------------------------- GALLERY ---------------------------------------- */
section#gallery_container {
    padding-top: 120px;
    padding-bottom: 80px;
    width: 864px;
    margin: 0 auto;
}
/* ---------------------------------------- FLOW ---------------------------------------- */
section#flow_container {
    background-color: #CEB4A9;
    margin: 0 auto;
    padding-top: 60px;
    padding-bottom: 90px;
}
section#flow_container h3.title_box span {color: #fff;}
li.flow_list {
    display: block;
    width: 400px;
    margin: 0 auto 10px;
    background-color: #fff;
    border-radius: 2px;
    padding-left: 52px;
    padding-top: 14px;
    padding-bottom: 14px;
	padding-right: 12px;
	position: relative;
}
ol {counter-reset: listnum;}
ol.flow_list_container li::before, ol.cm_flowlist_container li::before {
    counter-increment: listnum;
    content: counter(listnum, decimal-leading-zero);
    position: absolute;
    left: 8px;
    top: 17px;
    font-family: "Libre Baskerville", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", serif;
    font-weight: 400;
    font-size: 20px;
    color: #CEB4A9;
    line-height: 1;
    letter-spacing: 0.04em;
}
p.flow_contents, p.cm_flow_contents {
    margin: 0 !important;
	position: relative;
}
p.flow_contents::before {
    content: "";
    display: inline-block;
    background-color: #DAD9D6;
    width: 1.4px;
    height: 22px;
    position: absolute;
    left: -10px;
    top: 2px;
}
li.flow_list p.text_small {
	margin-top: 8px;
	margin-bottom: 0 !important;
}
/* ---------------------------------------- CONTACT ---------------------------------------- */
section#contact_container {
    text-align: center;
    padding-top: 120px;
    padding-bottom: 120px;
	background: linear-gradient(rgba(61, 57, 53, 0.7), rgba(61, 57, 53, 0.7)), url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/icsapporo-wedding_ctapc_01.jpg");
	background-size: cover;
	background-position: center bottom;
}
a.ctabtn_contact {
    display: block;
    width: 400px;
    margin: 0 auto;
    background-color: #fff;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    font-size: 18px;
    line-height: 1;
    position: relative;
	border-radius: 2px;
}
a.ctabtn_contact::after {
    content: "";
    background: center / contain no-repeat url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/arrow_right.png");
    display: block;
    height: 20px;
	width: 8.5px;
    position: absolute;
    top: 50%;
	left: auto;
    right: 20px;
    transform: translate(0, -50%);
}
p.cta_text {
    font-size: 16px;
    margin-bottom: 32px !important;
}
/* ---------------------------------------- WEDDING PLANNING ---------------------------------------- */
section#weddingplanning_container {padding-top: 120px;}
div.weddingplanning_flex {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
	width: 1200px;
}
.weddingplanning_flexbox {flex: 50%;}
div.weddingplanning_flexbox.weddingplanning_textbox {
    padding-top: 20px;
    padding-left: 40px;
}
dl.ccsw_info_container>div {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
	gap: 24px;
	margin-bottom: 10px;
}
dl.ccsw_info_container>div>dt {
    width: 90px;
	min-width: 90px;
    font-weight: 400;
}
dl.ccsw_info_container {
    border-left: 4px solid #CEB4A9;
    padding-left: 24px;
	margin-top: 60px;
}
ul.ccsw_link_list>li>a {
    display: block;
    position: relative;
    width: fit-content;
    padding: 4px 10px;
    padding-right: 16px;
    line-height: 1;
	margin-bottom: 0 !important;
}
ul.ccsw_link_list>li>a::after {
    content: "";
    background: center / contain no-repeat url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/arrow_upright_icblack.png");
    width: 8px;
    height: 8px;
    position: absolute;
    right: 0;
    top: 54%;
    transform: translate(0, -50%);
    padding-left: 8px;
}
/* ---------------------------------------- ACCESS ---------------------------------------- */
section#access_container {padding-top: 120px;}
div.access_flex {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
	width: 864px;
}
div.access_flexbox.access_textbox {flex: 1;}
div.access_flexbox.access_map {width: 50%;}
div.access_textbox {
    padding-left: 40px;
    padding-top: 10px;
}
p.venue_name {
    font-size: 16px;
	font-weight: bold;
    margin-bottom: 24px !important;
    line-height: 1;
}
dl.venue_info_container>div {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
}
dl.venue_info_container>div>dt {
    width: 64px;
	min-width: 64px;
    font-weight: 400;
}
dl.venue_info_container>div {margin-bottom: 10px;}
a.venue_link {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: -10px!important;
}
div.access_map, div.access_map>iframe {
    width: 100%;
    aspect-ratio: 3 / 2;
}
/* ---------------------------------------- フッター ---------------------------------------- */
footer.site-footer {
    background-color: #DAD9D6;
    padding: 40px;
}
nav.footer-nav, ul#menu-footer_gnav>li {padding: 0;}
ul#menu-footer_gnav a {
	font-family: "Libre Baskerville", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
	padding: 0 1em;
	width: fit-content;
}
ul#menu-footer_gnav {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
}
ul#menu-footer_gnav li:first-child {margin-left: -10px;}
nav.footer-nav {margin-bottom: 60px;}
div.container.site-footer-content>div {justify-content: flex-end;}
div.footer_venue_container {text-align: right;}
div.footer_venue_container a {display: block;}
a.logo_link img {width: 248px;}
a.text_small {
    font-size: 12px;
    line-height: 1;
    margin-top: 12px;
    margin-bottom: 32px;
    position: relative;
	padding-right: 16px;
}
a.text_small::after {
    content: "";
    background: center / contain no-repeat url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/arrow_upright_icblack.png");
    width: 8px;
    height: 8px;
    position: absolute;
    right: 0;
    top: 54%;
    transform: translate(0, -50%);
    padding-left: 8px;
}
/* ---------------------------------------- CONTACTページ ---------------------------------------- */
/* ヘッダー */
body:not(.home) header#site-header a strong.global-nav-name {color: #3D3935;}
/* body:not(.home) header#site-header picture img {opacity: 0;} */
body:not(.home) header#site-header picture {
	width: 200px;
	aspect-ratio: 200 / 143;
/* 	display: block;
	opacity: 1; */
}
/* ヘッダータイトル */
div.page-header-inner {
    margin-top: 80px;
    margin-bottom: 40px;
    text-align: left;
    width: 864px;
}
h1.page-header-title {
    border-bottom: 1px solid #CEB4A9;
    line-height: 1;
    padding-bottom: 6px;
}
/* そのほか */
div.contactpage_form_container {
    width: 90.4vw;
	max-width: 864px;
    margin: 0 auto 140px;
}
p.contactpage_toptext {
    margin-bottom: 40px!important;
    text-align: left;
	width: 90.4vw;
	margin: 0 auto;
}
p.contactpage_requiredtext {margin-bottom: 2em;}
p.contactpage_requiredtext span.required {margin: 0;}
div.contactform_contents {
    display: flex;
    gap: 20px;
}
div.contactform_contents>dt {width: 160px;}
div.contactform_contents>dd {flex: 1;}
div.privacypolicy_box {
    height: 240px;
    overflow-y: scroll;
    padding: 20px;
    background-color: #EEE;
    text-align: justify;
	border: 2px solid #EEE;
}
div.privacypolicy_box>p {margin-bottom: 1em;}
div.privacypolicy_box>div>ul, div.privacypolicy_box>div>ol, div.privacypolicy_box>p {margin-bottom: 2em;}
span.required {margin-left: 0.5em;}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
    font-size: 14px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 500;
	margin-bottom: 24px;
	text-align: left;
}
dt.contactform_contents_title p, dt.contactform_contents_title p label {margin-bottom: 0.5em!important;}
div.submit_container {text-align: center;}
div.submit_container p {
    display: flex;
    flex-direction: column;
}
input#submit {
    font-size: 16px;
    border: none;
    font-family: inherit;
    letter-spacing: 0.08em;
    padding: 16px 80px;
    border-radius: 0;
    background-color: #CEB4A9;
    margin: 40px auto 0;
    font-weight: 400;
	color: #3D3935;
}
div.privacypolicy_container>p {text-align: center;}
p.privacypolicy_title {
    font-size: 16px;
    margin-bottom: 8px;
}
div.privacypolicy_container>p:not(.privacypolicy_title) {margin-top: 20px;}
span.wpcf7-not-valid-tip {
    margin-top: -24px;
    margin-bottom: 24px;
}
h2.pp_title {
    text-align: center;
    font-size: 16px;
    margin-bottom: 2em;
}
div.privacypolicy_box ol{
	position: relative;
	list-style: none;
	counter-reset: listnum;
}
div.privacypolicy_box ol.num>li {padding-left: 20px;}
div.privacypolicy_box ol.num_kakko>li {padding-left: 22px;}
div.privacypolicy_box ol.num>li::before {
    counter-increment: listnum;
    content: counter(listnum) ".";
    position: absolute;
    left: 0;
}
div.privacypolicy_box ol.num_kakko>li::before {
    counter-increment: listnum;
    content: "(" counter(listnum) ")";
    position: absolute;
    left: 0;
}
div.contactform_inner p.text_small {text-align: center;}
.wpcf7 form.sent .wpcf7-response-output {
    border: 4px solid #CEB4A9;
    padding: 20px;
}
/* reCAPTCHA */
p.googlerecaptcha_text, p.googlerecaptcha_text a {
    font-size: 11px;
    text-align: center;
    color: #777;
    margin-bottom: 0 !important;
}
.grecaptcha-badge { visibility: hidden; }
/* 20250417追加：お電話・LINEでのお問い合わせ */
div#tel_container {
    width: 90.4vw;
	max-width: 864px;
    margin: 0 auto 20px;
    background-color: rgba(206, 180, 169, 0.4);
    padding: 32px 4.8vw 20px;
	text-align: center;
}
h2.tel_title {
    font-size: 16px;
	font-weight: 400;
    margin-bottom: 2em !important;
	border-bottom: 1px solid #fff;
	padding-bottom: 1em;
	line-height: 1;
}
a.tel_number {
    font-size: 24px;
    display: block;
    margin-bottom: 1em;
    line-height: 1;
}
div#tel_container p, div#tel_container a.border_bottom {font-size: 12px;}
p.business_hours {margin-bottom: 2em!important;}
div#tel_container p:not(.business_hours) {
    text-align: left;
    opacity: 0.7;
}
div#line_container {
	width: 90.4vw;
	max-width: 864px;
	margin: 0 auto 80px;
	padding: 32px 4.8vw 20px;
	border: 1px solid #06c755;
	text-align: center;
}
h2.line_title {
    font-size: 16px;
	font-weight: 400;
    margin-bottom: 2em !important;
	border-bottom: 1px solid #06c755;
	padding-bottom: 1em;
	line-height: 1;
}
img.contactpage_lineqr {
    width: 140px;
    margin-bottom: 20px;
}
a.contactpage_linebtn {
	display: block;
	width: 100%;
	max-width: 400px;
	padding: 24px 40px;
	background-color: #06c755;
	color: #fff;
	position: relative;
	border-radius: 2px;
}
a.contactpage_linebtn::after {
    content: "";
    background: center / contain no-repeat url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/arrow_upright_white.png");
    width: 10px;
    height: 10px;
    position: absolute;
    right: 30%;
    top: 51%;
    transform: translate(0, -50%);
}
div#line_container p, div#line_container a.border_bottom {
	margin-top: 2em!important;
	font-size: 12px;
	text-align: left;
	opacity: 0.7;
}
div#contactformtext_container {
    width: 90.4vw;
	max-width: 864px;
    margin: 0 auto;
}
h2.contactform_title {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 16px;
	padding-bottom: 16px;
	line-height: 1;
	border-bottom: 1px solid #CEB4A9;
}
/* ---------------------------------------- 20250530追加：オンライン相談会ページ ---------------------------------------- */
body.post-name-consultation-meeting .page-header {
    background: center / cover no-repeat url(https://jrhotels-obihiro.ccsw.jp/wp-content/uploads/2025/05/north-weddimg_onlinemeeting_toppc01.jpg);
    aspect-ratio: 4 / 1;
    width: 100%;
}
body.post-name-consultation-meeting .page-header h1 {display: none;}
body.post-name-consultation-meeting .site-body {
    width: 90.4vw;
    max-width: 864px;
    margin: 0 auto;
}
div.cm_pagetitle_container {
    background-color: #CEB4A9;
    width: 100vw;
    margin-left: calc((100% - 100vw) / 2);
    padding: 24px 0;
	text-align: center;
}
div.cm_pagetitle_container>h2, div.cm_pagetitle_container>p {
    max-width: 90.4vw;
    margin: 0 auto;
}
div#cm_detail_container, div#cm_closing_container, div#cm_specialgift_container {
	background-color: #CEB4A9;
	width: 100vw;
	margin-left: calc((100% - 100vw) / 2);
	padding: 60px 0;
}
div.cm_pagetitle_container p {
	margin-bottom: 8px !important;
	line-height: 1.4;
}
div.cm_pagetitle_container h2 {
    font-size: 28px;
	line-height: 1.4;
}
p.cm_title {
	font-size: 20px;
	text-align: center;
	margin-bottom: 40px!important;
}
div.cm_introduction_container {
    padding: 60px 0;
}
p.onayami {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 1em !important;
}
div.cm_introduction_container p:not(.onayami) {
    line-height: 2.4;
    margin-top: 2em;
    margin-bottom: 0 !important;
}
div.cm_introduction_container p, div#cm_specialgift_container {
    text-align: center;
}
dl.cm_detail_list {
    background-color: #fff;
    width: 540px;
    max-width: 90.4vw;
    margin: 0 auto;
    padding: 2em;
}
dl.cm_detail_list>div {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 0.6em;
    margin-bottom: 0.6em;
    border-bottom: 1px solid #CEB4A9;
}
dl.cm_detail_list>div>dt {
	width: 64px;
	min-width: 64px;
	font-weight: 400;
}
li.cm_flow_list {
    display: block;
    width: 400px;
	max-width: 90.4vw;
    margin: 0 auto 10px;
    background-color: #CEB4A9;
    border-radius: 2px;
    padding-left: 52px;
    padding-top: 14px;
    padding-bottom: 14px;
	padding-right: 12px;
	position: relative;
}
p.cm_flow_contents::before {
    content: "";
    display: inline-block;
    background-color: #fff;
    width: 1.6px;
    height: 22px;
    position: absolute;
    left: -10px;
    top: 2px;
}
div#cm_specialgift_container p, div#cm_specialgift_container div {
    max-width: 90.4vw;
    margin: 0 auto;
}
div#cm_faq_container, div#cm_specialgift_container,div#cm_flow_container {
    padding: 60px 0;
}
div.specialgift_bg {
    background-color: #fff;
    border-radius: 20px;
    padding: 20px;
	width: 864px;
	max-width: 90.4vw;
}
p.specialgift {
    font-size: 16px;
    font-weight: 600;
}
dl.cm_faq_list>div {
    border-radius: 20px;
    border: 2px dashed #CEB4A9;
    padding: 20px;
    margin-bottom: 1em;
}
dl.cm_faq_list>div>dt{
	border-bottom: 1px solid #CEB4A9;
	padding-bottom: 0.6em;
}
dl.cm_faq_list>div>dd {
    padding-top: 0.6em;
}
figure.cm_img, div.cm_closing_text {
    width: 90.4vw;
    max-width: 864px;
    text-align: center;
}
div.cm_closing_text p {
    margin-top: 40px;
    margin-bottom: 40px !important;
    line-height: 2.4;
}
body.post-name-consultation-meeting a.ctabtn_contact:hover {background-color: rgba(255, 255, 255, 0.6);}
/* ---------------------------------------- 20250721追加：フェア・相談会ページ ---------------------------------------- */
#fair_container1, #fair_container2, #fair_container3 {
    width: 90.4vw;
    max-width: 864px;
    margin: 0 auto 20px;
    padding: 32px 4.8vw;
    box-shadow: 2px 2px 8px rgba(61, 57, 53, .14);
    border-radius: 20px;
}
#cb1, #cb2, #cb3 {
	display: none;
}
.more_btn1, .more_btn2, .more_btn3, a.fairpage_toonline{
	display: block;
	margin: 1em auto 0;
	padding: 8px 16px;
	border: 1px solid #3D3935;
	cursor: pointer;
	text-align: center;
	position: relative;
}
#cb1 ~ .more_btn1::before, #cb2 ~ .more_btn2::before,  #cb3 ~ .more_btn3::before {
	content: "続きを読む";
}
#cb1:checked ~ .more_btn1::before, #cb2:checked ~ .more_btn2::before,  #cb3:checked ~ .more_btn3::before {
	content: "閉じる";
}
.more_wrap1, .more_wrap2, .more_wrap3 {
	display: none;
}
#cb1:checked ~ .more_wrap1, #cb2:checked ~ .more_wrap2, #cb3:checked ~ .more_wrap3 {
	display: block;
}
/* テキスト装飾 */
a.border_bottom {
	border-bottom:1px solid #3D3935;
	font-weight: bold;
	padding: 0 0.2em;
}
h2.fair_title {
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 0.4em;
}
p.past_fair {
    margin-top: 1em;
    margin-bottom: 1em !important;
}
div.fair_title_container {
    border-bottom: 1px solid #CEB4A9;
    margin-bottom: 2em;
	padding-bottom: 1em;
}
h3.fair_subtitle {
	font-size: 18px;
	background-color: rgba(206, 180, 169, 0.4);
	padding: 0.2em 1em;
	margin-top: 1em;
	margin-bottom: 1em!important;
}
a.fairpage_toonline::after {
    content: "";
    background: center / contain no-repeat url("https://wedding-ic-sapporo.ccsw.jp/wp-content/uploads/2025/09/arrow_right.png");
    display: block;
    height: 20px;
    width: 8.5px;
    position: absolute;
    top: 50%;
    left: auto;
    right: 20px;
    transform: translate(0, -50%);
}
/* フェア２つ目非表示 */
div#fair_container2 {display: none;}
/* フェア終了後の注釈　表示・非表示 */
#fair_container1 p.past_fair {display: none;}
#fair_container2 p.past_fair {display: none;}
#fair_container3 p.past_fair {display: none;}
/* ---------------------------------------- 20250915追加：ティザーページ ---------------------------------------- */
body.page-id-385 header#site-header, body.page-id-385 div.page-header, body.page-id-385 div.fixedbtn_container, body.page-id-385 footer.site-footer nav.footer-nav, body.page-id-385 div.container.site-footer-content {display: none;}
body.page-id-385 footer.site-footer {padding: 40px 4.8vw 40px;}
body.page-id-385 div.container.site-footer-copyright p {text-align: center;}
div.teaser_fv {
	width: 100vw;
	height: 100vh;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
div.teaser_fv_inner {z-index: 10;}
div.teaser_fv>figure {
    position: absolute;
    z-index: 1;
    filter: grayscale(1);
	width: 100%;
	height: 100%;
}
div.teaser_fv>figure.teaser_fvsp {display: none;}
div.teaser_fv>figure>video {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
div.teaser_fv_logobox {
	background-color: #fff;
	padding: 2.4vw;
	width: fit-content;
	margin-bottom: 4em;
}
div.teaser_fv_logobox picture {
    width: 320px;
    max-width: 71.2vw;
    display: block;
}
p.teaser_fv_textbox {
	display: block;
	text-align: center;
	padding: 0 10px;
	font-size: 20px;
	width: fit-content;
	margin: 0 auto;
	margin-bottom: 0.5em !important;
	color: #fff;
	text-shadow: 2px 2px 8px rgba(61, 57, 53);
}
div.teaser_maincontainer {
    width: 90.4vw;
    max-width: 864px;
    margin: 80px auto 120px;
}
div.teaser_maincontainer p {text-align: center;}
div.teaser_maincontainer p:not(.producedby) {
	font-size: 16px;
	line-height: 2.6;
}
p.date {
	margin: 2.8em auto;
	width: fit-content;
	background-color: #CEB4A9;
	padding: 2px 1em;
	color: #fff;
	letter-spacing: 0.1em;
	margin-bottom: 3.2em!important;
}
p.producedby {margin-top: 2.8em;}
p.producedby picture {margin-left: 1.2em;}
div.teaser_maincontainer h2 {
    font-size: 28px;
    line-height: 1.4;
    margin-bottom: 1em;
}
/* スクロールダウン */
div#teaser div.scrolldown {
	position: relative;
	left: 50%;
	height: 50px;
	margin-top: 4em;
}
div#teaser div.scrolldown span {
	position: absolute;
	left: -19px;
	top: -20px;
	color: #fff;
	font-size: 1rem;
}
div#teaser div.scrolldown::after {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 40px;
	background: #fff;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}
@keyframes pathmove {
	0% {
		height: 0;
		top: 0;
		opacity: 0;
	}
	30% {
		height: 40px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 100px;
		opacity: 1;
	}
}
/* スクロールダウンここまで */
@media(max-width: 768px){
	p.teaser_fv_textbox {font-size: 18px;}
	div.teaser_maincontainer h2 {font-size: 24px;}
}
@media(max-width: 430px){
	div.teaser_fv {height: 100svh;}
	div.teaser_fv_inner {z-index: 10;}
	div.teaser_fv>figure.teaser_fvsp {display: block;}
	div.teaser_fv>figure.teaser_fvpc {display: none;}
	p.producedby picture {margin-left: 0;}
	div.teaser_fv_logobox {
		padding: 0;
		margin-bottom: 2em;
	}
}
/* ---------------------------------------- ティザーページここまで ---------------------------------------- */
/* ---------------------------------------- IC札幌HPで不要なものを非表示 ---------------------------------------- */
div#vk-mobile-nav-menu-btn {
    display: none;
}
/* ---------------------------------------- 1280px以下 ---------------------------------------- */
@media(max-width: 1280px){
	/* ---------------------------------------- 1200pxを90.4vwに、864pxはそのまま ---------------------------------------- */
/* 	h2.maincopy {left: 4.8vw;} */
	div.weddingplanning_flex {width: 90.4vw;}
	div.appeal_flexbox.textbox_right {padding-right: 4.8vw;}
	div.appeal_flexbox.textbox_left {padding-left: 4.8vw;}
	div.appeal_flexbox.textbox_right, div.appeal_flexbox.textbox_left {padding-top: 2em;}
	h1.site-header-logo a picture, div.site-header-logo a picture, a.logo_link img, header#site-header.headerColorScroll picture, body:not(.home) header#site-header picture {width: 200px;}
	h2.maincopy {font-size: 26px;}
	h3.concept_title {font-size: 22px;}
	h3.appeal_title {font-size: 20px;}
	.title_en, h1.page-header-title {font-size: 40px;}
}
/* ---------------------------------------- 1080px以下 ---------------------------------------- */
@media(max-width: 1080px){
	/* ---------------------------------------- gnavを非表示に。864pxを90.4vwに ---------------------------------------- */
	div.weddingplanning_flexbox.weddingplanning_textbox, div.access_textbox {
		padding-top: 0px;
		padding-left: 32px;
	}
	h3.ccsw_title {margin-bottom: 1em !important;}
	dl.ccsw_info_container {margin-top: 40px;}
	section#appeal_container1, section#appeal_container2 {margin-bottom: 32px;}
	h2.maincopy {font-size: 24px;}
	h3.concept_title {font-size: 20px;}
	.title_en, h1.page-header-title {font-size: 34px;}
	div.contactpage_form_container, div.page-header-inner, section#introduction_container, section#gallery_container, div.access_flex {width: 90.4vw;}
}
/* ---------------------------------------- 991px以下 ---------------------------------------- */
@media(max-width: 991px){
	/* ---------------------------------------- gnavを非表示に。スマホ用メニューを表示。 ---------------------------------------- */
	div#site-header-container {display: flex;}
	nav#global-nav {display: block;}
	div.site-header-logo a {
		display: block;
		width: fit-content;
		margin: 0 auto;
	}
/* 	div#vk-mobile-nav-menu-btn {
		top: 21.5px;
		right: 4.8vw;
		border: none;
		background-color: transparent;
		background: center / contain no-repeat url("https://jrhotels-obihiro.ccsw.jp/wp-content/uploads/2025/06/icon_humburger_white.png");
		width: 27px;
		height: 28px;
	} */
	body:not(.home) div#vk-mobile-nav-menu-btn {background: center / contain no-repeat url(https://jrhotels-obihiro.ccsw.jp/wp-content/uploads/2025/06/icon_humburger_black.png);}
	div#vk-mobile-nav {
		opacity: 0;
		padding: 80px 4.8vw;
		min-height: 100vh;
		background-color: rgba(255, 255, 255, .95);
	}
	.vk-mobile-nav.vk-mobile-nav-right-in {transition: all .4s ease-out;}
	div#vk-mobile-nav.vk-mobile-nav-open {opacity: 1;}
	div#vk-mobile-nav-menu-btn.menu-open, div#vk-mobile-nav-menu-btn.menu-open.headerColorScroll, body:not(.home) div#vk-mobile-nav-menu-btn.menu-open, body:not(.home) div#vk-mobile-nav-menu-btn.menu-open.headerColorScroll {
		background-color: transparent;
		background: center / contain no-repeat url("https://jrhotels-obihiro.ccsw.jp/wp-content/uploads/2025/06/icon_close_black.png");
	}
	/* モバイルメニュー */
	div.vk-mobile-nav nav.vk-mobile-nav-menu-outer {margin-bottom: 40px;}
	.vk-mobile-nav .widget_nav_menu ul li a, .vk-mobile-nav nav ul li a {
		color: #3D3935;
		border: none;
	}
	ul#menu-mobile_gnav>li>a {
		padding: 0;
		padding-top: 0.4em;
		padding-bottom: 0.6em;
		font-family: "Libre Baskerville", "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", serif;
		font-weight: 400;
		font-style: normal;
		font-size: 16px;
		line-height: 1;
		letter-spacing: 0;
	}
	.vk-mobile-nav nav>ul {border: none;}
	li#menu-item-292 a::after {
		content: "トップページ";
		display: block;
	}
	li#menu-item-293 a::after {
		content: "コンセプトと魅力";
		display: block;
	}
	li#menu-item-294 a::after {
		content: "ギャラリー";
		display: block;
	}
	li#menu-item-295 a::after {
		content: "当日までの流れ";
		display: block;
	}
	li#menu-item-296 a::after {
		content: "プロデュースチーム";
		display: block;
	}
	li#menu-item-297 a::after {
		content: "アクセス";
		display: block;
	}
	li#menu-item-298 a::after {
		content: "お問い合わせ";
		display: block;
	}
	ul#menu-mobile_gnav>li>a::after {
		font-family: "游明朝", "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP 500", serif;
		font-weight: 500;
		font-style: normal;
		font-size: 12px;
		letter-spacing: 0.04em;
		line-height: 1;
		margin-top: 2px;
		opacity: 0.5;
	}
	/* オンライン相談会ボタン */
	a.mobile_gnav_btn_cm {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #CEB4A9;
		border-radius: 4px;
		padding-top: 24px;
		padding-bottom: 24px;
	}
	a.mobile_gnav_btn_cm picture {height: 16px;}
	a.mobile_gnav_btn_cm img {
		display: block;
		width: 16px;
		margin-right: 0.5em;
	}	
}
/* ---------------------------------------- 768px以下 ---------------------------------------- */
@media(max-width: 768px){
	/* タブレット以下で電話を掛けられるように */
	a[href^="tel:"]{
		pointer-events: auto;
	}
	/* ---------------------------------------- スマホ用に1列に。左右の余白を4.8vwに。コンテンツ間の余白をスマホ用に。 ---------------------------------------- */
/* 	h1.site-header-logo, div.site-header-logo {top: 24px;} */
	nav#global-nav {display: none;}
	div.appeal_flex, div.weddingplanning_flex, div.access_flex {
		flex-direction: column;
	}
	section#appeal_container2 div.appeal_flex {
		flex-direction: column-reverse;
	}
	div.appeal_flexbox.textbox_right, div.appeal_flexbox.textbox_left {
        padding: 2em 4.8vw;
        width: 480px;
        margin: 0 auto;
    }
	div.weddingplanning_flexbox.weddingplanning_textbox, div.access_textbox {
		padding-top: 32px;
		padding-left: 0;
		width: 100%;
	}
	div.textbox_right p.appeal_number::before, div.textbox_left p.appeal_number::before {
		content: "";
		display: block;
		position: absolute;
		height: 1px;
		width: calc((100vw - 400px) / 2 - 10px);
		background-color: rgba(61, 57, 53, 0.5);
		top: 50%;
		left: calc((400px - 100vw) / 2);
	}
	div.access_flexbox.access_map {width: 100%;}
/* 	header#site-header {
		padding-left: 4.8vw;
		padding-right: 0;
	} */
	section#introduction_container {padding: 40px 0 0;}
	section#gallery_container {
		padding-top: 80px;
		padding-bottom: 60px;
	}
	section#flow_container {
		padding-top: 40px;
		padding-bottom: 60px;
	}
	section#contact_container {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	section#weddingplanning_container, section#access_container {padding-top: 80px;}
	/* フッター */
	ul#menu-footer_gnav {
		flex-direction: column;
		gap: 10px;
	}
	ul#menu-footer_gnav li {margin-left: -10px;}
	footer.site-footer {padding: 40px 4.8vw;}
	/* CONTACTページ */
	div.contactform_contents {
		flex-direction: column;
		gap: 0;
	}
	div.contactform_contents>dd>p {margin-bottom: 0 !important;}
	div.contactpage_form_container {margin: 0 auto 80px;}
}
/* ---------------------------------------- 430px以下 ---------------------------------------- */
@media(max-width: 430px){
	/* ---------------------------------------- スマホ用のフォントサイズ ---------------------------------------- */
	div#fv_pc_container, img.contactpage_lineqr, body.post-name-top header#site-header {display:none;}
	div.page-header-inner {margin-top: 40px;}
	div#fv_sp_container {
		display: flex;
		height: 100svh;
		position: relative;
		width: 100%;
		overflow: hidden;
		align-items: center;
		justify-content: center;
	}
	br.sp {display: block;}
	section#introduction_container picture {margin-bottom: 4em;}
	h3.concept_title {font-size: 18px;}
	/* スライダー */
	div.pgc-sgb-cb.appealslider_sp {min-height: 120px;}
	div.appealslider_pc {display: none;}
	div.appealslider_sp {display: block;}
	section#appeal_container2, section#appeal_container3 {margin-top: 0;}
	/* スライダーここまで */
	.title_en, h1.page-header-title {font-size: 26px;}
	.title_ja {font-size: 13px;}
	h3.ccsw_title {font-size: 16px;}
	p.venue_name {font-size: 15px;}
	a.ctabtn_contact {
		font-size: 16px;
		width: 90.4vw;
	}
	h1.site-header-logo a picture, div.site-header-logo a picture, a.logo_link img, header#site-header.headerColorScroll picture, body:not(.home) header#site-header picture {
		width: 150px;
		margin: 0 auto;
	}
	div.fixedbtn_container {
		display: flex;
		flex-direction: row;
		position: fixed;
		top: auto;
		bottom: 20px;
		right: auto;
		left: 2.4vw;
		width: 95.2vw;
		height: 60px;
		z-index: 2000;
		box-shadow: 1px 1px 8px rgba(61, 57, 53, 0.1);
	}
	a.fixedbtn_cm {
		display: flex;
		flex-direction: row;
		background-color: #CEB4A9;
		border: 1px solid #CEB4A9;
		padding: 1em;
		border-radius: 4px 0 0 4px;
		align-items: center;
		justify-content: center;
		min-height: auto;
		width: 50%;
	}
	a.fixedbtn_contact {
		display: flex;
		flex-direction: row;
		background-color: #fff;
		border: 1px solid #CEB4A9;
		padding: 1em;
		border-radius: 0 4px 4px 0;
		align-items: center;
		justify-content: center;
		min-height: auto;
		width: 50%;
	}
	a.fixedbtn_contact picture, a.fixedbtn_cm picture {
		display: flex;
		align-items: center;
	}
	span.fixedbtn_contact_text, span.fixedbtn_cm_text {
		writing-mode: inherit;
		letter-spacing: 0.04em;
	}
	div.fixedbtn_container img {
		margin-bottom: 0;
		margin-right: 0.5em;
	}
	div.appeal_flexbox.textbox_right, div.appeal_flexbox.textbox_left {
        padding: 2em 4.8vw;
        width: 100%;
    }
	div.textbox_right p.appeal_number::before, div.textbox_left p.appeal_number::before {
        width: calc(4.8vw - 8px);
        top: 50%;
        left: -4.8vw;
    }
	li.flow_list {width: 90.4vw;}
	ul#menu-footer_gnav {gap: 16px;}
	footer.site-footer {padding: 40px 4.8vw 100px;}
	a.backtotopbtn {margin: 80px 4.8vw 20px auto;}
	/* 	20250530追加：オンライン相談会ページ */
	body.post-name-consultation-meeting .page-header {
		background: center / cover no-repeat url(https://jrhotels-obihiro.ccsw.jp/wp-content/uploads/2025/05/north-weddimg_onlinemeeting_topsp01.jpg);
		aspect-ratio: 3 / 2;
		width: 100%;
	}
	div.cm_pagetitle_container h2 {font-size: 22px;}
	div.cm_introduction_container p {text-align: left;}
	p.onayami {font-size: 14px;}
	div.cm_introduction_container {padding: 40px 0;}
	div#cm_detail_container, div#cm_closing_container, div#cm_specialgift_container, div#cm_faq_container, div#cm_specialgift_container, div#cm_flow_container {padding: 40px 0;}
	p.cm_title {
		font-size: 18px;
		margin-bottom: 32px !important;
	}
	div.specialgift_bg p.text_small {text-align: left;}
	/* 20250721追加：フェア・相談会ページ */
	h2.fair_title {font-size: 18px;}
	h3.fair_subtitle {font-size: 16px;}
}
/* ---------------------------------------- 360px以下 ---------------------------------------- */
@media(max-width: 360px){
	a.fixedbtn_cm, a.fixedbtn_contact {
		padding: 0.5em;
	}
	span.fixedbtn_contact_text, span.fixedbtn_cm_text {
		font-size: 13px;
		letter-spacing: 0.04em;
	}
	div.fixedbtn_container img {
		width: 14px;
		margin-bottom: 0;
		margin-right: 0.5em;
	}
}
/* ---------------------------------------- 320px以下 ---------------------------------------- */
@media(max-width: 320px){
	h2.maincopy {font-size: 18px;}
	h3.concept_title, h3.appeal_title {font-size: 17px;}
	body, body footer, a, body p, label {font-size: 13px;}
	p.cta_text {font-size: 14px;}
	a.ctabtn_contact, h3.ccsw_title {font-size: 15px;}
	dl.ccsw_info_container {padding-left: 13px;}
	dl.ccsw_info_container {gap: 13px;}
	div.cm_pagetitle_container h2 {font-size: 20px;}
	h2.fair_title {font-size: 18px;}
}