/* 固定ページ共通 */

/* TCDのページヘッダーを非表示 */
.p-page-header {
  display: none;
}

/* ヘッダーが消えた分の余白確保 */
.l-contents {
  margin-top: 80px;
}

/* フォーム要素にも TCD のフォント変数を適用 */
body input,
body select,
body textarea,
body button {
  font-family: "Times New Roman", Times, "Yu Mincho", "游明朝", "游明朝体", "Hiragino Mincho Pro", serif !important;
}

@media screen and (max-width: 767px){
	/* ヘッダーが消えた分の余白確保 */
	.l-contents {
  margin-top: 40px !important;
}
	.l-primary {
  margin-bottom: 120px !important;
}
}

html body {
	color: #36220B;
}

/* ------------------------------
   Link Button
-------------------------------- */
.p-entry__body .link-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	max-width: 340px;
	max-height: 82px;
	padding: 30px;
	background: #36220B;
	color: #FFFFFF;
	font-size: 24px;
	font-weight: bold;
	border-radius: 4px;
	transition: .2s;
}

.link-button:hover {
	opacity: .6;
}

.link-button__icon {
	width: 36px;
}

/* ==============================
  page first view　area
================================ */
.main-title-area {
	position: relative;
	padding-top: 60vh;
	margin-bottom: 80px;
}

@media (max-width: 768px) {
	.main-title-area {
		padding-top: calc(40vh + 40px);
	}
}

.main-title-area::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 60vh;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	content: ""
}

@media (max-width: 768px) {
	.main-title-area::before {
		top: -1px;
		height: 40vh;
	}
}

@media (max-width: 1110px) and (min-width: 768px) {
	.main-title-area::before {
		top: -1px;
	}
}

.main-title-area::after {
	display: block;
	position: absolute;
	top: calc(60vh - 179px);
	left: 0;
	width: 100%;
	height: 180px;
	background: url("http://2026040612024765x34c.conohawing.com/wp-content/uploads/2026/05/curve_light-beige_1-1.png") no-repeat center;
	background-size: 100% 100%;
	content: ""
}

@media (max-width: 768px) {
	.main-title-area::after {
		top: calc(40vh - 179px);
		background-size: contain;
        background-position: bottom;
	}
}

@media (max-width: 1110px) and (min-width: 768px) {
	.main-title-area::after {
		background-size: contain;
        background-position: bottom;
	}
}


/* ==============================
   main Title
================================ */
.footprint{
  width: 30px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  background: url('/wp-content/uploads/2026/04/icon_footprint_brown.png') no-repeat center / contain;
}

@media (max-width: 768px) {
	.footprint{
		width: 24px;
		height: 24px;
	}
}

.sub-ttl{
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  width: 100%;
  height: auto;
}

.sub-ttl_text{
  font-size: 24px !important;
  color: #907A44;
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
	.sub-ttl_text{
		font-size: 20px !important;
	}
}

.page_ttl{
  font-size: 60px !important;
  text-align: center;
  color: #36220B;	
}

@media (max-width: 768px) {
	.page_ttl{
		font-size: 36px !important;
		margin-bottom: 20px !important;
	}
}

/* ==============================
   下線付き見出し
================================ */
.line-heading {
    padding-bottom: 20px;
    margin-bottom: 30px !important;
    font-size: 24px !important;
    color: #907A44;
    border-bottom: solid 1px #907A44;
}

@media (max-width: 768px) {
    .line-heading {
        font-size: 20px !important;
    }
}

/*黒字バージョン*/
.line-heading.black {
	color: #36220B;
}

/* ==============================
   アイコン付き見出し
================================ */
.l-main .icon-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 30px;
	font-size: 24px;
	font-weight: bold;
	color: #36220B;
}

@media (max-width: 768px) {
    .l-main .icon-heading {
        margin-bottom: 20px;
        font-size: 18px;
    }
}

.icon-heading img {
	width: 24px;
	vertical-align: sub;
}

/* ==============================
   tag
================================ */
.tag {
	padding: 8px 20px;
	border-radius: 4px;
	text-align: center;
	background: #36220B;
	color: #FFFFFF;
	line-height: 1.5 !important;
	display: inline;
}

/*パターン：オリーブ*/
.tag.olive {
	background: #907A44;
}

.tag_wrap {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.tag_wrap.left {
	justify-content: flex-start;
}


/* ==============================
   ページタイトル下概要部分
================================ */
.overview-box {
    margin: 80px 0 120px 0;
    text-align: center;
}

/*概要部分見出し*/
.overview__heading {
    margin-bottom: 30px !important;
    font-size: 30px !important;
    color: #907A44;
}

@media (max-width: 768px) {
    .overview__heading {
        font-size: 20px !important;
    }
}

/*概要部分テキスト*/
.overview__text{
	line-height: 1.8 !important;
}

.new-line {
    display: none;
}

@media (max-width: 768px) {
    .new-line {
        display: block;
    }
}

/* ==============================
   見出し付きボックス
================================ */
.label-title-box {
    position: relative;
    border: 4px solid #FFFFFF;
}

.label-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0 1em;
    font-size: 24px !important;
    color: #36220B;
    background: #F7F5F2;
	word-break: keep-all;
}

@media (max-width: 768px) {
	.label-title {
    font-size: 18px !important;		
	}
}

.label-title::before {
	display: block;
	position: absolute;
	top: -30px;
	left: 50%;
	width: 80px;
	height: 40px;
	transform: translate(-50%, -50%);
	background: url("http://2026040612024765x34c.conohawing.com/wp-content/uploads/2026/05/illust_accent.png") no-repeat center / contain;
	content: "";
}

.label-title__content {
    padding: 40px;
}

@media (max-width: 768px) {
	.label-title__content {
    padding: 30px 20px 30px 20px;
}
}

/*見出し付きボックス アイコン付き*/
.icon-title .label-title::before {
	display: none;
}

.title-icon {
	position: relative;
	width: 80px;
	height: 80px;
	margin: auto;
	margin-bottom: 40px;
	border-radius: 80px;
	background: #D5C69E;
}

@media (max-width: 768px) {
	.title-icon {
	position: relative;
	width: 60px;
	height: 60px;
}
}

.l-main .label-title .title-icon img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 30px;
}

.label-title-box.icon-title .label-title {
	top: 40px;
	background: transparent;
	transform: translate(-50%, -45%);
}

.label-title-box.icon-title .label-title__content {
	padding-top: 140px;
}

@media (max-width: 768px) {
	.label-title-box.icon-title .label-title__content {
	padding-top: 120px;
}
}

/* ==============================
   波型ボックス
================================ */
.wave-box {
	position: relative;
    padding: 80px 0 160px;
    background: #EBEAE1;
}

.wave-box::before {
    content: "";
    position: absolute;
    top: -180px;
    left: 0;
    width: 100%;
    height: 180px;
    background-image: url(/wp-content/uploads/2026/04/curve_beige_1.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    pointer-events: none;
}

@media (max-width: 768px) {
	.wave-box::before {
		top: 0;
        background-size: contain;
        background-position: bottom;
        transform: translateY(-100%);
	}
}

@media (max-width: 1110px) and (min-width: 768px) {
	.wave-box::before {
		top: 0;
        background-size: contain;
        background-position: bottom;
        transform: translateY(-100%);
	}
}

/*波型ボックス 白バージョン*/
.wave-box.white {
    padding-bottom: 0;
    background: #F7F5F2;
}

.wave-box.white::before {
	background-image: url("https://2026040612024765x34c.conohawing.com/wp-content/uploads/2026/05/curve_light-beige_1-1.png");
}

/* ==============================
   補足用テキスト
================================ */
/*通常テキスト用*/
.supplement p:not(:last-child) {
	 margin-bottom: 20px!important;
}

/*通常テキスト 余白広め*/
.supplement.margin p:not(:last-child) {
	 margin-bottom: 30px!important;
	line-height: 1.8;
}

/*グレーテキスト用*/
.supplement.gray p {
	color: #36220B99;
}

.supplement.gray p:not(:last-child) {
    margin-bottom: 16px!important;
}

/* ==============================
   白抜きリスト
================================ */
.outline-list {
    background: #F7F5F2;
}

.outline-list-item {
    display: flex;
    justify-content: space-between;
	align-items: center;
    padding: 20px;
    border-bottom: solid 1px #DBD9CC;
    font-size: 20px;
    color: #36220B;
    line-height: 1.5 !important;
}

@media (max-width: 768px) {
	.outline-list-item {
		font-size: 14px;
	}
}

.outline-list-item:last-child {
	border-bottom: none;
}

/*リスト間余白*/
.outline-list-wrapper + .outline-list-wrapper {
    margin-top: 30px;
}

/*白抜きリスト用見出し*/
.outline-list-heading {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: bold;
}

/*金額などの値用太字*/
.outline-value {
    font-weight: bold;
}

/*文字が小さいバージョン*/
.outline-list.small-text .outline-list-item {
    font-size: 16px;
}

/* ==============================
   リスト用補足テキスト
================================ */
.list-note {
    padding-left: 8px;
    font-size: 16px;
    color: #36220B99;
}

@media (max-width: 768px) {
    .list-note {
        display: block;
        padding-left: 0;
    }
}

/* ==============================
   ご予約方法
================================ */
.l-primary .p-entry__body .reservation__list {
	margin-top: 40px;
}

.reservation__item:not(:last-child) {
	margin-bottom: 24px;
}

.reservation__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-height: 124px;
	padding: 37px 30px;
	background: #EBEAE1;
	border-radius: 4px;
	font-size: 20px;
	font-weight: bold;
	transition: .2s;
}

@media (max-width: 768px) {
	.reservation__link {
		gap: 10px;
		max-height: none;
		padding: 16px;
		font-size: 18px;
	}
}

.reservation__link:hover {
	opacity: .6;
}


/*無効状態用*/
.reservation__link.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.reservation__link.is-disabled:hover {
  opacity: 0.5;
}

.reservation__icon-text {
	display: flex;
	align-items: center;
	gap: 20px;
	line-height: 1.5;
}

@media (max-width: 768px) {
	.reservation__icon-text {
		gap: 10px;
	}
}

.reservation__tel {
	display: block;
	margin-top: 10px;
	font-size: 24px;
}

@media (max-width: 768px) {
	.reservation__tel {
		font-size: 18px;
	}
}

@media (max-width: 768px) {
	.reservation__medium-font{
		font-size: 14px;
	}	
}

.reservation__small-font {
	font-size: 20px;
	font-weight: normal;
}

@media (max-width: 768px) {
	.reservation__small-font {
		display: block;
		font-size: 12px;
	}
}

.reservation__icon {
	flex-shrink: 0;
	position: relative;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	background: #D5C69E;
}

@media (max-width: 768px) {
	.reservation__icon {
		width: 40px;
		height: 40px;	
	}
}

.l-main .reservation__icon-text .reservation__icon img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 20px;
}

@media (max-width: 768px) {
	.l-main .reservation__icon-text .reservation__icon img {
		width: 18px;
	}
}

.reservation__arrow {
	display: flex;
	width: 20px;
	flex-shrink: 0;
}

@media (max-width: 768px) {
	.reservation__arrow {
		width: 12px;
	}
}

.reservation__text{
	color: #36220B;
}

.reservation-description{
	line-height: 1.8 !important;
}


.grecaptcha-badge {
  visibility: hidden;
}