@charset "utf-8";
/*
Theme Name: whispersofjapan
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Lora:ital,wght@0,400..700;1,400..700&family=Noto+Serif+JP:wght@200..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');


/*reset*/
/*******************************************************************/
html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}audio:not([controls]){display:none;height:0}hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield;appearance:textfield}[type=search]::-webkit-search-cancel,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button;appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;;-webkit-appearance:none;appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}img{width:auto;max-width:100%;height:auto;border-style:none;vertical-align:middle}i{vertical-align:middle}progress{vertical-align:baseline}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}ul,ol{list-style:none}i,em{font-style:normal}
a { color: #222; transition: all .2s ease-out; text-decoration: none; outline: none;}
a:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); opacity: 0.6;}
*:focus { outline: none;}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) { img { image-rendering: -webkit-optimize-contrast;}}


/*LAYOUT*/
/*******************************************************************/
html { font-size: 62.5%;}
body { -webkit-text-size-adjust: 100%; -webkit-overflow-scrolling: touch; background: #D5D3CF; font-family: "Lora", "Noto Serif JP", serif; font-optical-sizing: auto; font-size: 1.4rem; color: #222;}
#container { position: relative; width: 100%; overflow: clip; opacity: 0;}
#container.is-show { opacity: 1; transition: opacity 1100ms;}
h1, h2, h3, h4, h5, h6, .wp-block-button a, #count, .overview dd, .tour .day { font-family: "Cormorant Garamond", serif; font-weight: 500; letter-spacing: -0.03em; line-height: 1.2;}
.sans, .site { font-family: "Plus Jakarta Sans", sans-serif;}
.jp { font-family: "Noto Serif JP", serif; font-weight: 400;}


/*HEADER*/
/*******************************************************************/
#logo img { max-width: 246px;}
#nav { display: flex; flex-direction: column; align-items: center; padding: 40px 30px; color: #FFF;}
#nav a { color: #FFF;}
.menu { display: grid; gap: 24px; margin-bottom: 40px; font-size: 1.8rem; line-height: 1;}
.menu span { font-size: 1.2rem;}
#nav .wp-block-button { margin-top: 0;}
#nav .wp-block-button a { border-color: #FFF; font-size: 1.7rem; color: #222;}
#nav .wp-block-button a::before { background: #F4F2EC;}
#nav .wp-block-button a.mail::after { right: 16px; background-image: url(img/common/mail.svg);}
#nav .wp-block-button a:hover { color: #FFF;}
#nav .wp-block-button a.mail:hover::after { background-image: url(img/common/mail_w.svg);}
@media only screen and (min-width: 1024px){
	#logo { position: fixed; top: 50%; left: 0; transform: translateY(-50%); width: calc((100% - 500px) / 2); text-align: center;}
	#nav { position: fixed; top: 50%; right: calc((100% - 500px) / 4); transform: translate(50%, -50%); width: 257px; background: rgba(0,0,0,.6); z-index: 500;}
	#nav .sns { margin: 0;}
}
@media only screen and (max-width: 1023px){
	#logo { padding: 16px; z-index: 100;}
	#logo img { width: 50%;}
	#nav { position: fixed; top: 0; right: -100%; justify-content: center; width: 100%; height: 100svh; padding: 40px 30px; background: rgba(0,0,0,.95); z-index: 500; transition: 1.6s cubic-bezier(.19,1,.22,1);}
	#open { position: fixed; top: 16px; right: 16px; width: 28px; height: 19px; z-index: 1000; cursor: pointer; pointer-events: auto; z-index: 1000;}
	#open span { position: absolute; left: 0; display: block; width: 28px; height: 2px; background: #B98546; transition: .2s linear;}
	#open span:nth-child(1) { top: 0;}
	#open span:nth-child(2) { top: 8px;}
	#open span:nth-child(3) { top: 16px;}
	.open #open span:nth-child(1) { top: 8px; transform: rotate(135deg); background-color: #FFF;}
	.open #open span:nth-child(2) { transform: scale(0); background-color: #FFF;}
	.open #open span:nth-child(3) { top: 8px; transform: rotate(-135deg); background-color: #FFF;}
	.open #nav { pointer-events: auto; right: 0; opacity: 1;}
}


/*FOOTER*/
/*******************************************************************/
#footer { position: relative; clear: both; max-width: 500px; margin: 0 auto; text-align: center; color: #FFF;}
#footer a { color: #FFF;}
#planning { padding: 40px 30px 60px; background: #E6DAC1; color: #222;}
#planning h2 { margin-bottom: 0.5em; font-size: clamp(3.4rem,5vw,5rem);}
#planning .wp-block-button a::before { background: linear-gradient(-27deg, rgba(185, 133, 70, 1) 0%, rgba(216, 176, 96, 1) 100%);}
#info { padding: 40px 30px 60px; background: url(img/common/footer.jpg) center no-repeat; background-size: cover;}
#info .logo img { max-width: 238px;}
.sns { display: flex; justify-content: center; align-items: center; margin: 20px 0;}
.sns li:not(:first-child) { margin-left: 24px; padding-left: 24px; border-left: 1px solid rgba(255,255,255,.51);}
.sitemap { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 20px; margin-top: 20px; font-size: clamp(1.2rem,1.6vw,1.6rem);}
.site { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 20px; margin: 20px 0; font-size: 1.1rem;}
#bg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #222; overflow: hidden; z-index: -10;}
#bg .swiper-slide-active .swiper-img, #bg .swiper-slide-duplicate-active .swiper-img, #bg .swiper-slide-prev .swiper-img { animation: zoomUp 7s linear 0s normal both;}
#bg .swiper-slide { height: auto;}
#bg .swiper-slide .swiper-img { width: 100%; height: 100%;}
#bg .swiper-slide img { width: 100%; height: 100%; object-fit: cover;}
@keyframes zoomUp { 0% { transform: scale(1); } 100% { transform: scale(1.15); }}
@media only screen and (max-width: 1023px){
	#bg .swiper-wrapper { display: none;}
}


/*CONTENTS*/
/*******************************************************************/
#main { max-width: 500px; margin: 0 auto; background: #F5F2EA;}
article { position: relative;}
section { position: relative; padding: 40px 30px;}
h1 { margin-bottom: 0.5em; font-size: clamp(3.2rem,4vw,4rem);}
h2 { margin-bottom: 0.5em; font-size: clamp(3.2rem,4vw,4rem);}
h3 { margin-bottom: 0.5em; font-size: clamp(2.4rem,3vw,3rem);}
h4 { margin-bottom: 0.5em; font-size: clamp(1.8rem,2vw,2rem);}
* + h2, * + h3, * + h4, * + .wp-block-list, * + .wp-block-table , * + .wp-block-buttons, * + .wp-block-image, * + .wp-block-gallery { margin-top: 1.5em;}
p { line-height: 1.8;}
p:not(:last-child) { margin-bottom: 1em;}
h2 > .jp, h3 > .jp, p > .jp { display: inline-block; margin: 0.5em 0;}
figure { position: relative;}
ul { margin: 0; line-height: 1.8;}
.ul { display: grid; gap: 1em; margin-left: 1.5em; list-style: disc;}
ol { display: grid; gap: 1em; margin-left: 2em; line-height: 1.8; list-style: decimal;}
.center { text-align: center;}
.right { text-align: right;}
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px;}
.wp-block-button { width: 100%; margin-top: 30px; text-align: center;}
.wp-block-button a { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; max-width: 316px; margin-left: auto; margin-right: auto; padding: 1em; background: linear-gradient(-27deg, rgba(216, 176, 96, 1) 0%, rgba(185, 133, 70, 1) 100%); border: 1px solid #EEDBB6; font-size: clamp(2.2rem,2.4vw,2.4rem); font-weight: 400; letter-spacing: 0; color: #FFF; z-index: 0; overflow: hidden;}
.wp-block-button a::before { content: ""; position: absolute; background: linear-gradient(-25deg,rgba(129, 105, 76, 1) 0%, rgba(185, 145, 64, 1) 100%); inset: 0; z-index: -1; transition: opacity .3s ease-out;}
.wp-block-button a:hover { border-color: #D8B060; opacity: 1;}
.wp-block-button a:hover::before { opacity: 0;}
.wp-block-button a.mail::after { content: ""; position: absolute; top: 50%; right: 30px; transform: translateY(-50%); width: 10px; height: 10px; background: url(img/common/mail_w.svg) center no-repeat; transition: .3s ease-out;}
.wp-block-button a.more { border-radius: 48px; color: #81694C;}
.wp-block-button a.more::before { background: #FAF9F4;}
.wp-block-button a.more::after { content: ""; position: absolute; top: 50%; right: 30px; transform: translateY(-50%); width: 12px; height: 12px; background: url(img/common/plus.svg) center no-repeat; transition: .3s ease-out;}
.wp-block-button a.more:hover { color: #FFF;}
.wp-block-button a.more:hover::after { transform-origin: center; transform: translateY(-50%) rotate(180deg) scale(0.8); background-image: url(img/common/plus_w.svg);}
ul.wp-block-list { display: grid; gap: 0.5em; margin-left: 1.5em; list-style: disc;}
ol.wp-block-list { display: grid; gap: 0.5em; margin-left: 1.5em; list-style: decimal;}
.wp-block-table th { text-align: left; vertical-align: top; border: none; border-bottom: 1px solid #81694C; font-weight: 400;}
.wp-block-table td { text-align: left; vertical-align: top; border: none; border-bottom: 1px solid #D1D1D1;}
.bg-white { background: rgba(255,255,255,.4)}
.fs12 { font-size: clamp(1rem,1.2vw,1.2rem);}
.fs16 { font-size: clamp(1.4rem,1.6vw,1.6rem);}
.fs18 { font-size: clamp(1.6rem,1.8vw,1.8rem);}
.fs20 { font-size: clamp(1.8rem,2vw,2rem);}
.fs24 { font-size: clamp(2rem,2.4vw,2.4rem);}
.fs30 { font-size: clamp(2.4rem,3vw,3rem);}
.leftbar { position: relative; padding-left: 40px;}
.leftbar::before { content: ''; position: absolute; top: 0.5em; left: 0; width: 30px; height: 1px; background: #222;}
.underbar { border-bottom: 1px solid #222;}
.sp { display: none;}
.animated { opacity: 0; filter: blur(5px); transform: translateY(1.5rem);}
.fadeInUp { opacity: 1; filter: blur(0); transform: translateY(0); transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); transition-duration: 1300ms; transition-property: opacity, filter, transform;}
.mask { position: relative; width: 100%; transition: clip-path 1s cubic-bezier(.19,1,.22,1); clip-path: inset(100% 0 0 0); overflow: hidden;}
.mask.inview { clip-path: inset(0 0 0 0);}


/*TOP*/
#mv { background: url(img/top/mv.jpg) center no-repeat; background-size: cover;}
#mv section { display: flex; flex-direction: column; height: 85svh; color: #FFF;}
#mv p { margin-bottom: auto; font-size: clamp(1.6rem,2.2vw,2.2rem);}
#tour #search { padding-top: 0;}
#search .searchlist { display: flex; flex-wrap: wrap; gap: 5px;}
#search .searchlist label { display: inline-block; cursor: pointer;}
#search .searchlist input[type="checkbox"] { display: none;}
#search .searchlist input[type="checkbox"] ~ span { display: flex; justify-content: center; align-items: center; width: 100%; padding: 6px 12px; background: #FFF; border: 1px solid #E2DDD0; border-radius: 24px; font-size: clamp(1.2rem,1.4vw,1.4rem); cursor: pointer; transition: .2s ease-out;}
#search .searchlist input[type="checkbox"]:checked ~ span { background: #E2DDD0;}
#searchbox { display: flex; flex-direction: column; gap: 10px;}
#searchbox h3 { position: relative; display: inline-block; padding-right: 30px; cursor: pointer; user-select: none;}
#searchbox h3::after { content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 16px; height: 9px; background: url(img/common/select.svg) center no-repeat; transition: transform 0.3s ease;}
#searchbox h3.open::after { transform: translateY(-50%) rotate(180deg);}
#searchbox .searchlist { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease;}
#searchbox .searchlist.open { max-height: 500px;}
#searchbox .searchlist input[type="checkbox"] { display: none;}
#searchbox .searchlist input[type="checkbox"] + span { position: relative; display: inline-block; padding: 8px 0 8px 25px; line-height: 1; cursor: pointer;}
#searchbox .searchlist input[type="checkbox"] + span::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 18px; height: 18px; background: #FFF; border: 1px solid #E2DDD0; border-radius: 3px;}
#searchbox .searchlist input[type="checkbox"] + span::after { content: ''; position: absolute; top: 50%; left: 4px; transform: translateY(-50%); width: 10px; height: 10px; background: #81694C; border-radius: 2px; opacity: 0;}
#searchbox .searchlist input[type="checkbox"]:checked + span::before { border-color: #E2DDD0;}
#searchbox .searchlist input[type="checkbox"]:checked + span::after { opacity: 1;}
#searchbox .searchlist button { position: relative; display: inline-block; min-width: 4em; padding: 8px 0 8px 25px; text-align: left; line-height: 1; cursor: pointer;}
#searchbox .searchlist button::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 18px; height: 18px; background: #FFF; border: 1px solid #E2DDD0; border-radius: 50%;}
#searchbox .searchlist button::after { content: ''; position: absolute; top: 50%; left: 4px; transform: translateY(-50%); width: 10px; height: 10px; background: #81694C; border-radius: 50%; opacity: 0;}
#searchbox .searchlist button.current::before { border-color: #E2DDD0;}
#searchbox .searchlist button.current::after { opacity: 1;}
#searchbox select { margin-left: auto; padding: 12px 48px 12px 12px; background: #FFF url("img/common/select.svg") right 16px center no-repeat; border-radius: 3px; font-size: clamp(1.4rem,1.8vw,1.8rem); color: #777;}
#searchbox button[type="submit"] { position: relative; display: block; width: 100%; margin-top: 20px; padding: 8px; text-align: center; background: linear-gradient(-25deg,rgba(129, 105, 76, 1) 0%, rgba(185, 145, 64, 1) 100%); font-size: clamp(1.8rem,2.4vw,2.4rem); color: #FFF;}
#tourlist #searchbox { flex-direction: row; justify-content: space-between;}
#tourlist #searchbox label { display: block;}
#tourlist #count { margin-left: -30px; margin-right: -30px; padding: 10px 30px; background: #81694C; color: #FFF;}
#bloglist .searchlist { display: flex; flex-wrap: wrap; gap: 5px;}
#bloglist .searchlist[data-group="genre"] { display: grid; grid-template-columns: repeat(2,1fr);}
#bloglist .searchlist[data-group="time"] input[type="checkbox"] + span { min-width: 4em;}
#bloglist .list { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px;}
#bloglist .list .contents { padding: 15px; background: #FFF;}
#bloglist .list .contents p { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;}
.searchlist.season label { min-width: 4em;}
#results { padding-top: 0;}
#results .wp-block-button { margin-top: 0;}
#count { display: flex; align-items: flex-end; gap: 4px; margin-bottom: 1em; font-size: 2rem; line-height: 1;}
#count i { font-size: 3rem; font-style: normal;}
.list > li { width: 100%; padding-bottom: 30px;}
.list > li a { display: flex; flex-direction: column; height: 100%;}
.list > li a:hover { opacity: 1;}
.list figure { padding-top: calc(240 / 440 * 100%); background: #CCC url(img/common/logo.png) center no-repeat; background-size: 50% auto;}
.list figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.list .contents { flex: 1; padding: 30px; background: #FAF9F4; font-size: clamp(1.1rem,1.3vw,1.3rem);}
.list .contents h3 { margin-top: 0;}
.list .overview { gap: 15px; margin: 10px 0; padding: 10px 0; border-top: 1px solid #E2DDD0; border-bottom: 1px solid #E2DDD0;}
.list .swiper-slide { padding-top: calc(220 / 380 * 100%); background: #DDD; overflow: hidden;}
.list .swiper-slide img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.tag { display: flex; flex-wrap: wrap; gap: 5px;}
.tag li { padding: 6px 12px; background: #FFF; border: 1px solid #E2DDD0; border-radius: 24px; font-size: clamp(1.2rem,1.4vw,1.4rem);}
.prof { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 15px; margin-bottom: 10px;}
.prof figure { width: 40px; height: 40px; border-radius: 50%; background: #DDD; overflow: hidden;}
.prof figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.prof .name { font-size: clamp(1.1rem,1.3vw,1.3rem); line-height: 1.4; color: #777;}
.highlight { margin-top: 20px; padding-top: 20px; border-top: 1px solid #E2DDD0;}
.highlight li { position: relative; padding-left: 1.5em;}
.highlight li::before { content: '・'; position: absolute; top: 0; left: 0;}
.why { display: grid; gap: 30px;}
.why li { display: grid; grid-template-columns: 20% 1fr; gap: 20px;}
#clients { overflow: hidden;}
.clients { overflow: visible;}
.clients .swiper-slide { display: flex; width: 92%; height: auto;}
.clients .contents { padding: 30px; border: 1px solid #E2DDD0;}
.clients .name { display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 20px; margin-bottom: 20px;}
.clients h3 { margin: 0;}
.clients p { font-size: clamp(1.1rem,1.3vw,1.3rem);}


/*PAGE*/
#title { display: flex; align-items: center; min-height: 300px; padding: 30px 60px; background-color: #E6DAC1; background-position: center; background-repeat: no-repeat; background-size: cover; color: #FFF;}
#title.title-text { min-height: initial; padding: 40px 30px; color: #222;}
#title.title-text h1 { font-size: clamp(2.4rem,3vw,3rem);}
#title.title-text h1 span { font-size: clamp(1.2rem,1.4vw,1.4rem);}
.title-about { background-image: url(img/about/title.jpg);}
.title-contact { background-image: url(img/contact/title.jpg);}
.title-partners { background-image: url(img/partners/title.jpg);}
.title-blog { background-image: url(img/blog/title.jpg);}
.title-tour { background-image: url(img/tour/title.jpg);}
#title h1 { margin: 0; font-size: clamp(4rem,5.5vw,5.5rem); line-height: 1;}
#title h1 span { font-size: clamp(2rem,3.5vw,3.5rem);}

#singletitle figure { position: relative; padding-top: calc(380 / 500 * 100%); background: #E6DAC1 url(img/common/logo.png) center no-repeat; background-size: 70% auto;}
#singletitle figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
#singletitle h1 { margin: 0; font-size: clamp(4rem,5.5vw,5.5rem); line-height: 1;}
.singletitle { padding: 30px;}
.singletitle .prof { margin-bottom: 1em;}
.overview { display: flex; justify-content: center; gap: 30px; margin: 30px 0;}
.overview .separate { align-self: center; display: block; width: 1px; min-width: 1px; height: 70px; background-image: repeating-linear-gradient(180deg, #000000, #000000 3px, transparent 3px, transparent 7px); background-position: left top; background-repeat: repeat-y; background-size: 1px 100%;}
.overview dl { position: relative; display: flex; flex-direction: column; align-items: center;}
.overview dl.time { flex-direction: column-reverse; gap: 0.3em;}
.overview dt { font-size: clamp(1rem,1.3vw,1.3rem);}
.overview dd { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; text-align: center; font-size: clamp(2.5rem,3.5vw,3.5rem); line-height: 1;}
.overview dd span { font-size: clamp(1rem,1.3vw,1.3rem);}
.tourhighlight li { position: relative; padding-left: 20px; padding-bottom: 20px; background-image: repeating-linear-gradient(90deg, #cccccc, #cccccc 2px, transparent 2px, transparent 6px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; font-size: clamp(1.5rem,1.8vw,1.8rem);}
.tourhighlight li:not(:last-child) { margin-bottom: 20px;}
.tourhighlight li::before { content: ''; position: absolute; top: 0; left: 0; transform-origin: left top; transform: rotate(45deg) translate(50%,50%); width: 10px; height: 10px; background: #B5AC92;}
.slider { position: relative; margin: 30px -10px 0; padding: 0 20px; overflow: hidden;}
.swiper-button-prev { left: -5px;}
.swiper-button-next { right: -5px;}
.swiper-button-prev, .swiper-button-next { color: #B5AC92;}
.swiper-button-next:after, .swiper-button-prev:after { font-size: 20px; font-weight: 700;}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled { opacity: 0;}
.tour { position: relative; display: grid; grid-template-columns: 16% 78%; align-items: flex-start; gap: 6%; margin-bottom: 30px;}
.tour::before { content: ''; position: absolute; top: 0; left: 8%; width: 2px; height: 100%; background-image: repeating-linear-gradient(180deg, #eee9db, #eee9db 5px, transparent 5px, transparent 10px); background-position: left top; background-repeat: repeat-y; background-size: 2px 100%; z-index: -1;}
.tour .day { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; font-size: clamp(1.6rem,2.6vw,2.6rem); line-height: 0.8; white-space: nowrap; z-index: 0;}
.tour .day span { font-size: clamp(2.2rem,3.2vw,3.2rem);}
.tour .day::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; padding-top: 100%; background: #EEE9DB; border-radius: 50%; z-index: -1;}
.tour .contents { padding: 30px 20px; background: #FFF; border-radius: 10px;}

.form { font-size: clamp(1.6rem,1.8vw,1.8rem);}
.form dl { margin-bottom: 30px;}
.form dt { margin: 20px 0 10px;}
.form input[type="text"], .form input[type="tel"], .form input[type="email"], .form input[type="date"], .form input[type="number"], .form input[type="url"] { display: inline-block; width: 100%; padding: 12px; background: #FFF; border: none; border-radius: 3px; vertical-align: middle;}
.form select { width: 100%; padding: 12px 48px 12px 12px; background: #FFF url("img/common/select.svg") right 16px center no-repeat; border-radius: 3px;}
.form textarea { width: 100%; min-height: 180px; padding: 12px; background: #FFF; border-radius: 3px;}
.form label { display: block;}
.form label + dd { margin-top: 10px;}
.form input[type="checkbox"] { display: none;}
.form input[type="checkbox"] + span { position: relative; display: inline-block; padding: 8px 0 8px 30px; line-height: 1; cursor: pointer;}
.form input[type="checkbox"] + span::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 20px; height: 20px; background: #FFF; border-radius: 3px;}
.form input[type="checkbox"] + span::after { content: ''; position: absolute; top: 50%; left: 4px; transform: translateY(-50%) rotate(-45deg); width: 12px; height: 5px; border-left: 2px solid #FFF; border-bottom: 2px solid #FFF;}
.form input[type="checkbox"]:checked + span::before { background: #222;}
.form input[type="checkbox"]:checked + span::after { border-color: #FFF;}
.form input[type="radio"] { display: none;}
.form input[type="radio"] + span { position: relative; display: inline-block; padding: 8px 0 8px 30px; line-height: 1; cursor: pointer;}
.form input[type="radio"] + span::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 20px; height: 20px; background: #FFF; border-radius: 3px;}
.form input[type="radio"] + span::after { content: ''; position: absolute; top: 50%; left: 4px; transform: translateY(-50%) rotate(-45deg); width: 12px; height: 5px; border-left: 2px solid #FFF; border-bottom: 2px solid #FFF;}
.form input[type="radio"]:checked + span::before { background: #222;}
.form input[type="radio"]:checked + span::after { border-color: #FFF;}
.form .vshort { width: 10%;}
.form .short { width: 30%;}
.form .middle { width: 60%;}
.form .long { width: 75%;}
.form .col { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 20px 0;}
.form .col > dt { margin: 0;}
.form h3 + .col, .form dt + .col, .form dd > .col { margin-top: 0;}
.form .number-input { display: flex; align-items: center; text-align: center; gap: 5px;}
.form .number-input button { font-size: clamp(2rem,2.4vw,2.4rem); font-weight: 700;}
.form input[type="number"].quantity { width: 70px; text-align: center;}
.form ::-webkit-input-placeholder { font-weight: 400; color: #CCCCCC;}
.form ::-moz-placeholder { font-weight: 400; color: #CCCCCC;}
.form :-ms-input-placeholder { font-weight: 400; color: #CCCCCC;}
.form a { text-decoration: underline;}
.indent { padding-left: 30px;}
.must { margin-left: 16px; padding: 2px 8px; background: #707070; border-radius: 3px; font-size: 1.3rem; font-weight: 500; color: #FFF; white-space: nowrap;}
.submit { margin: 40px 0; text-align: center;}
.submit input[type='submit'] { position: relative; display: inline-block; width: 100%; max-width: 220px; padding: 16px 40px; text-align: center; background: linear-gradient(-25deg,rgba(129, 105, 76, 1) 0%, rgba(185, 145, 64, 1) 100%); font-size: 2.4rem; color: #FFF;}
.submit input[type='submit'].disabled { background: #999;}
.submit input[type='submit']:not(.disabled):hover { opacity: 0.7;}
.submit input[type='button'] { display: inline-block; margin: 0 16px; padding: 24px 80px; background: #999; border-radius: 6px; font-weight: 700; color: #FFF;}
.confirm { margin-top: 32px;}
.confirm .confirm-hide { display: none;}
.wpcf7-list-item { display: block; margin: 0;}
.wpcf7-spinner { display: block; margin: 8px auto;}
.mw_wp_form .horizontal-item + .horizontal-item { margin: 0;}
.tab { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-bottom: 20px;}
.tab li { padding: 16px; text-align: center; background: #ECE9E1; border: 1px solid #FFF; font-size: calc(1.8rem,2.4vw,2.4rem); color: #FFF; cursor: pointer;}
.tab li.current { background-color: #B5AC92; border-color: #B5AC92;}
.tabcontents .tabcontent:nth-child(2) { display: none;}

#map { width: 100% !important; height: 400px !important;}
#blog .singletitle { padding-bottom: 0;}




@media only screen and (max-width: 1023px){
.sp { display: block;}
.pc { display: none;}
}





@media print {
#container { width: 1024px;}
}