@charset "UTF-8";

/*
Theme Name: HAMADORI COAST
Theme URI: https://hamadori-coast.com
Description: 
*/

/*!
 * ress.css • v5.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[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}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;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}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-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-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}

:root {
	--H-color: #FF73AA;
	--H-cat-tri-color: #FF73AA transparent transparent transparent;
	--H-background-color: #FF73AA;
	--H-transparent-color: rgba(255, 115, 170, 0.6);
	--O-color: #6EC744;
	--O-cat-tri-color: #6EC744 transparent transparent transparent;
	--O-background-color: #6EC744;
	--O-transparent-color: rgba(110, 199, 68, 0.6);
	--P-color: #F09B1E;
	--P-cat-tri-color: #F09B1E transparent transparent transparent;
	--P-background-color: #F09B1E;
	--P-transparent-color: rgba(240, 155, 30, 0.6);
	--E-color: #20A3E4;
	--E-cat-tri-color: #20A3E4 transparent transparent transparent;
	--E-background-color: #20A3E4;
	--E-transparent-color: rgba(32, 163, 228, 0.6);
}

html {
	font-size: 15px;
}
body {
	padding-top: 98px;
	background: #fff;
	color: #333;
	font-family: sans-serif;
	font-weight: 500;
	line-height: 1.1;
}
html[lang="en"] body {
	font-family: 'Noto Sans', sans-serif;
	letter-spacing: 0.25px;
}
html[lang="zh-TW"] body {
	font-family: 'Noto Sans TC', 'Noto Sans', sans-serif;
	letter-spacing: 0.5px;
}
strong {
	font-weight: 700;
}
select, input, textarea { color: #333; background: #fff; }
input, textarea, button { -webkit-appearance: none; }
button { line-height: 1.1; }
a { color: #000; transition: all .1s ease; }
a:hover { color: #666; }
a:hover img { opacity: 0.75; filter: alpha(opacity=75); transition: all .1s ease; }
figure { line-height: 0; }
figcaption { line-height: 1.1; }
.disabled { opacity: 0.3; -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); filter: grayscale(100%); }
.center,
.has-text-align-center { text-align: center; }
.clearfix:after { content: ""; display: block; clear: both; }

::-webkit-input-placeholder { color: #999 }
::-moz-placeholder { color: #999 }
:-ms-input-placeholder { color: #999 }
::-ms-input-placeholder { color: #999 }
::placeholder { color: #999 }

::-moz-selection {background: #333; color: #fff; text-shadow: none; }
::selection {background: #333; color: #fff; text-shadow: none; }
input::-moz-selection, textarea::-moz-selection{ color:#fff }
input::selection,textarea::selection{ color:#fff }

.category-h { color: var(--H-color) }
.category-o { color: var(--O-color) }
.category-p { color: var(--P-color) }
.category-e { color: var(--E-color) }

.area-soma { color: var(--H-color) }
.area-futaba { color: var(--O-color) }
.area-iwaki { color: var(--P-color) }
.h2-b { color: #005AB4; }

.post-tags {
	display: flex;
	flex-wrap: wrap;
	margin-top: 10px !important;
	gap: 15px;
	font-size: 1rem !important;
	list-style: none;
	line-height: 1 !important;
}
.post-tags li {
	min-height: 0 !important;
	padding: 0 !important;
}
.post-tags a {
	display: inline-block;
	padding: 0 10px;
	background: #000;
	border-radius: 20px;
	color: #fff !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
}
.post-tags a:hover {
	background: #666;
}

span.sp-br {
	display: inline !important;
}

div.btn, p.btn { margin: 20px 0 }
.btn-see-more { margin-top: 1rem }
.btn-center { text-align: center }
.btn-right { text-align: right }
a.btn,
.btn-see-more a,
span.btn {
	display: inline-block;
	padding: 0 11px;
	border-radius: 20px;
	box-shadow: 0 0 0 1px #000 inset;
	line-height: 21px;
	text-decoration: none;
}
.btn-see-more a {
	font-size: 1rem;
}
a.btn:hover,
.btn-see-more a:hover,
span.btn:hover {
	box-shadow: 0 0 0 1px #666 inset;
}
a.btn-plus,
.btn-see-more a,
span.btn-plus {
	position: relative;
	padding-right: 30px;
}
a.btn-plus:before,
a.btn-plus:after,
.btn-see-more a:before,
.btn-see-more a:after,
span.btn-plus:before,
span.btn-plus:after {
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	width: 13px;
	height: 1px;
	background: #000;
}
a.btn-plus:hover::before,
a.btn-plus:hover::after,
.btn-see-more a:hover::before,
.btn-see-more a:hover::after,
span.btn-plus:hover::before,
span.btn-plus:hover::after {
	background: #666;
}
a.btn-plus:after,
.btn-see-more a:after,
span.btn-plus:after {
	top: 4px;
	right: 16px;
	width: 1px;
	height: 13px;
}

input[type="text"],
input[type="email"],
textarea {
	padding: 8px 10px;
	border: 1px solid #000;
	border-radius: 0;
	font-size: 16px;
	line-height: 1.3;
}
.wpforms-container .wpforms-field {
	display: flex;
	margin: 1.2rem 0;
	line-height: 1.2;
}
.wpforms-container .wpforms-field label {
	width: 180px;
	min-width: 180px;
}
.wpforms-container .wpforms-submit {
	padding: 0 30px;
	border: 1px solid #000;
	color: #000;
	line-height: 60px;
	transition: all .1s ease;
}
.wpforms-container .wpforms-submit:hover {
	background: #eee;
}
.wpforms-container .wpforms-submit-container {
	text-align: center;
}
.wpforms-container .wpforms-required-label {
	color: transparent !important;
}
.wpforms-container .wpforms-required-label:after {
	content: '(Required)';
	display: block;
	color: #d00 !important;
	font-size: 12px;
}
.wpforms-container label.wpforms-error {
	position: absolute;
	bottom: -1rem;
	right: 0;
	width: auto !important;
	font-size: 0.9rem !important;
	text-align: right;
}
.wp-block-columns {
	gap: 20px;
}
.wpforms-container .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern) {
	overflow-x: visible !important;
}



/* header
-------------------------------------------------------------------------------*/
header {
	position: -webkit-fixed;
	position: fixed;
	z-index: 102;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 30px;
	background: #fff;
	border-bottom: 1px solid #000;
	line-height: 0;
}
header ul {
	list-style: none;
}
header label {
	cursor: pointer;
}
.header-nav nav,
.header-nav-lang {
	display: flex;
}
.header-nav nav,
.header-nav-lang {
	gap: 15px;
}

#header-menu-toggle {
	position: absolute;
	top: -50px;
}
#header-menu-toggle-button {
	position: relative;
	display: block;
	width: 33px;
	height: 33px;
	text-indent: -9999px;
	z-index: 101;
	background: url(common/images/icn-menu.png) no-repeat 0 0 ;
	background-size: contain;
}
#header-menu-toggle:checked ~ #header-menu-toggle-button {
	background: url(common/images/icn-menu-close.png) no-repeat 0 0 ;
	background-size: contain;
}
.header-menu-wrap {
	position: -webkit-fixed;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.95);
	line-height: 1;
	transition: opacity .2s ease;
	overflow: hidden;
}
#header-menu-toggle ~ .header-menu-wrap {
	height: 0;
	padding: 0;
	opacity: 0;
}
#header-menu-toggle:checked ~ .header-menu-wrap {
	height: 100%;
	opacity: 1;
}
.header-nav-global {
	font-size: 1.33rem;
	font-weight: 400;
}
.header-nav-global a {
	display: block;
	padding: 15px;
	background: transparent;
	text-decoration: none;
	transition: all .1s ease;
}
.header-nav-global a:hover {
	background: #BFBFBF;
	color: #fff;
}
.header-nav-global li.nav-main-content {
	font-size: 2rem;
}
.header-nav-global .header-nav-category,
.post-category span[class^="category-"],
.main-archive span[class^="category-"] {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 3px;
	text-indent: -9999px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 0 0;
}
.main-archive span[class^="category-"] {
	width: 50px;
	height: 50px;
}
.header-nav-category.category-h,
.post-category .category-h,
.main-archive .category-h { background-image: url(common/images/category-h-icn.png) }
.header-nav-category.category-o,
.post-category .category-o,
.main-archive .category-o { background-image: url(common/images/category-o-icn.png) }
.header-nav-category.category-p,
.post-category .category-p,
.main-archive .category-p { background-image: url(common/images/category-p-icn.png) }
.header-nav-category.category-e,
.post-category .category-e,
.main-archive .category-e { background-image: url(common/images/category-e-icn.png) }
a:hover .header-nav-category.category-h { background-image: url(common/images/category-h-icn-on.png) }
a:hover .header-nav-category.category-o { background-image: url(common/images/category-o-icn-on.png) }
a:hover .header-nav-category.category-p { background-image: url(common/images/category-p-icn-on.png) }
a:hover .header-nav-category.category-e { background-image: url(common/images/category-e-icn-on.png) }
.header-nav-global a > strong > span {
	display: block;
}
.header-nav-global span[lang="zh-TW"] {
	margin-top: 5px;
	padding-left: 35px;
	font-size: 1.33rem;
}

.header-nav-global .nav-bottom {
	position: relative;
	display: inline-block;
	font-size: 1.2rem;
}
.header-nav-global .nav-bottom::before {
	content: '';
	position: absolute;
	top: 16px;
	left: -3px;
	display: block;
	width: 1px;
	height: 1.2rem;
	background: #666;
}
.header-nav-global .nav-bottom.nav-bottom-policy::before {
	display: none;
}
.header-nav-global .nav-bottom a {
	color: #666;
}
.header-nav-global .nav-bottom a:hover {
	color: #fff;
}



/* keyvisual
-------------------------------------------------------------------------------*/
.keyvisual {
	position: relative;
	z-index: 1;
}
.keyvisual > img,
.keyvisual > video {
	position: relative;
	width: 100%;
	height: 56.25vw;
	object-fit: cover;
	z-index: 1;
}
#player {
	position: relative;
	width: 100%;
	height: 56.25vw;
	z-index: 1;
}
.keyvisual figcaption {
	position: absolute;
	z-index: 102;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	filter: drop-shadow(0 0 2px rgba(0,0,0,.2));
}
.keyvisual figcaption .btn-full-video {
	position: absolute;
	z-index: 105;
	bottom: 50px;
	right: 20px;
}
.keyvisual figcaption h1 img {
	max-width: 33vw;
}
.player-wrap {
	overflow: hidden;
}
.player-wrap #player {
	margin-top: -10px;
	margin-bottom: -10px;
}




/* main
-------------------------------------------------------------------------------*/
main {
	width: 810px;
	max-width: 100%;
	margin: 0 auto 80px;
	padding: 0 15px;
}

.section-home-message {
	margin-top: 90px;
}
.section-home-message h2 {
	margin-bottom: 30px;
	font-size: 4.66rem;
	text-align: center;
	line-height: 1;
}
.section-home-message h2 > span[lang] {
	display: block;
}
.section-home-message h2 > span[lang="zh-TW"] {
	margin-top: 15px;
	font-size: 2.66rem;
}
.section-home-message p {
	font-size: 1.33rem;
	font-weight: 700;
	line-height: 2;
	text-align: center;
}
.home-category-nav {
	display: flex;
	gap: 20px;
	list-style: none;
}
.home-category-nav > li {
	width: 100%;
}
.home-category-nav a {
	display: block;
	/* aspect-ratio: 1/1; */
	padding-top: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	line-height: 0;
	text-indent: -9999px;
}
.home-category-nav .category-h a { background-image: url(common/images/category-h.png) }
.home-category-nav .category-o a { background-image: url(common/images/category-o.png) }
.home-category-nav .category-p a { background-image: url(common/images/category-p.png) }
.home-category-nav .category-e a { background-image: url(common/images/category-e.png) }
#category-human-connections h2:first-letter,
#category-human-connections h2 span[lang="en"]:first-letter { color: var(--H-color) }
#category-on-the-road h2:first-letter,
#category-on-the-road h2 span[lang="en"]:first-letter { color: var(--O-color) }
#category-places-of-interest h2:first-letter,
#category-places-of-interest h2 span[lang="en"]:first-letter { color: var(--P-color) }
#category-enjoying-hamadori h2:first-letter,
#category-enjoying-hamadori h2 span[lang="en"]:first-letter { color: var(--E-color) }
.section-category {
	margin-top: 90px;
	overflow: hidden;
}
.section-category h2 {
	font-size: 4.66rem;
}
.section-category h2 > span[lang] {
	display: block;
}
.section-category h2 > span[lang="zh-TW"] {
	margin-top: 15px;
	font-size: 2.66rem;
}
.section-category dl {
	position: relative;
	height: 0;
	overflow: hidden;
}
.section-category input[name="home-category"] {
	position: absolute;
	top: -100px;
}
.section-category input[data-select="select-h"]:checked ~ dl#category-human-connections,
.section-category input[data-select="select-o"]:checked ~ dl#category-on-the-road,
.section-category input[data-select="select-p"]:checked ~ dl#category-places-of-interest,
.section-category input[data-select="select-e"]:checked ~ dl#category-enjoying-hamadori {
	height: auto;
}

.section-category .home-category-nav a {
	position: relative;
}
.section-category .home-category-nav a:hover {
	opacity: 0.75;
}
.section-category .home-category-nav li a:before {
	content: '';
	position: absolute;
	bottom: -19px;
	left: calc( 50% - 15px );
	display: none;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 15px 0 15px;
}
.section-category .home-category-nav li.category-h a:before { border-color: var(--H-cat-tri-color); }
.section-category .home-category-nav li.category-o a:before { border-color: var(--O-cat-tri-color); }
.section-category .home-category-nav li.category-p a:before { border-color: var(--P-cat-tri-color); }
.section-category .home-category-nav li.category-e a:before { border-color: var(--E-cat-tri-color); }

.section-category [data-select="select-h"]:checked ~ .home-category-nav li.category-h a:before,
.section-category [data-select="select-o"]:checked ~ .home-category-nav li.category-o a:before,
.section-category [data-select="select-p"]:checked ~ .home-category-nav li.category-p a:before,
.section-category [data-select="select-e"]:checked ~ .home-category-nav li.category-e a:before {
	display: block;
}

.section-category h2 {
	margin: 60px 0 40px;
	font-size: 4.66rem;
	line-height: 1;
	text-align: center;
}
.section-category .summary {
	font-size: 1.33rem;
	line-height: 2;
	text-align: center;
}
.home-category-posts {
	list-style: none;
}
.home-category-posts figure {
	margin: 0;
}
.home-category-posts img {
	width: 100%;
	object-fit: cover;
}
.home-category-posts {
	margin-top: 60px;
}
.home-category-posts a {
	display: block;
}
.section-category dl p.btn {
	padding: 0 30px;
}
.coming-soon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eee;
}

.section-banner-news {
	display: flex;
	gap: 20px;
	margin-top: 40px;
}
.section-banner-news > * {
	width: 100%;
}
.section-banner img {
	width: 100%;
}
.section-news {
	padding: 10px 20px;
	box-shadow: 0 0 0 1px #000;
}
.section-news h2 {
	font-size: 1.33rem;
}
.section-news ul {
	margin-top: 5px;
	line-height: 1.5;
	list-style: none;
}
.section-news dt,
.section-news dd {
	display: inline;
}
.section-news dt {
	margin-right: 0.5em;
}

.section-partners,
.section-related {
	margin-top: 80px;
}
.section-partners h2,
.section-related h2 {
	margin-bottom: 20px;
	font-size: 1.33rem;
	text-align: center;
}
.slide-list {
	list-style: none;
}
.slide-list li {
	padding: 0 15px;
	min-height: 100px;
}
.slide-list img {
	width: 100%;
	height: auto;
}
.slide-wrap {
	padding: 0 5px;
}
.slide-list {
	position: relative;
}
.slick-arrow {
	position: absolute;
	top: calc( 50% - 10px );
	
	width: 20px;
	height: 20px;
	padding-top: 20px;
	overflow: hidden;
	background: url(common/images/icn-arrow.png) no-repeat 0 0;
	background-size: 100% 100%;
}
.slick-prev {
	left: -25px;
	transform: rotate(-90deg);
}
.slick-next {
	right: -25px;
	transform: rotate(90deg);
}
.section-related a {
	text-decoration: none;
}
.section-related h3,
.section-related p {
	font-size: 1.33rem;
	line-height: 1.5;
}
.section-related h3 {
	margin-top: 15px;
}



/* article
-------------------------------------------------------------------------------*/
article,
.main-archive {
	padding-top: 80px;
	font-size: 1.33rem;
	line-height: 2;
}
article > * + *,
article .post-detail > * + * {
	margin-top: 50px;
}
article figure {
	line-height: 1;
}
article figure img {
	width: 100%;
	height: auto;
}
article figcaption {
	margin-top: 20px;
	font-size: 1rem;
	line-height: 1.15;
	text-align: center;
}
.post-category {
	padding-bottom: 5px;
	font-size: 2rem;
	font-weight: 700;
	border-bottom: 1px solid #000;
	line-height: 1;
}
body.category_human .post-category { border-color: var(--H-color) }
body.category_road .post-category { border-color: var(--O-color) }
body.category_place .post-category { border-color: var(--P-color) }
body.category_enjoying .post-category { border-color: var(--E-color) }
.post-category span[lang="zh-TW"] {
	margin-left: 5px;
	font-size: 1rem;
}
.post-summary {
	text-align: center;
}
.post-summary .post-tags {
	justify-content: center;
}
article h1 {
	font-size: 4rem;
	line-height: 1.16;
}
.post-place-name {
	margin: 30px 0 20px;
	font-size: 2rem;
	line-height: 1.16;
}
article h2 {
	font-size: 1.8rem;
	line-height: 1.3;
	text-align: center;
}
body.category_human .post-place-data h3 { border-color: var(--H-color); color: var(--H-color); }
body.category_road .post-place-data h3 { border-color: var(--O-color); color: var(--O-color); }
body.category_place .post-place-data h3 { border-color: var(--P-color); color: var(--P-color); }
body.category_enjoying .post-place-data h3 { border-color: var(--E-color); color: var(--E-color); }

body.page_about h1,
body.page_vr h1 {
	color: #005AB4;
}
body.page article > * + *,
body.page article .post-detail > * + * {
	margin-top: 35px;
}
body.page article h1 {
	font-size: 4.66rem;
}
body.page article h2 {
	font-size: 3.333rem;
}
article .place-summary {
	margin-top: 10px !important;
	line-height: 1.5;
}
.wp-block-column figure {
	margin: 0;
}
body.page article h2.external-link-title {
	font-size: 2rem;
}
.external-link {
	margin-top: 10px !important;
	border-top: 1px solid #000;
	border-color: var(--E-color);
	list-style: none;
	text-align: center;
}
.external-link > li {
	border-bottom: 1px solid #000;
	border-color: var(--E-color);
}
.external-link a {
	text-decoration: none;
}

body.page article > h2 + *,
body.page article .post-detail > h2 + *,
body.page article > h3 + *,
body.page article .post-detail > h3 + * {
	margin-top: 0.3rem;
}
body.page_policy article h2 {
	font-size: 2.3rem;
	text-align: left;
}
body.page_policy article h3 {
	font-size: 1.4rem;
}

article .btn-start figure img {
	width: 120px;
}
body.page_vr article h2 {
	font-size: 2.666rem;
}
body.page_vr article h3 {
	font-size: 2rem;
}

body.single-post.category_road h1 {
	color: var(--O-color);
}
.post-cover {
	width: 100vw;
	margin-left: calc( (100% - 100vw) / 2 );
}
.road-day {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 127px;
	padding-bottom: 10px;
	background: url(common/images/fig-day.png) no-repeat center center;
	background-size: contain;
	font-size: 4rem;
}
.road-arrow {
	margin: 0 !important;
	padding: 40px 0 60px !important;
	background: url(common/images/fig-arrow.png) no-repeat center center;
	background-size: contain;
	font-weight: 700;
	line-height: 1.5;
}
.road-group {
	margin: 0 !important;
	padding: 30px !important;
	background: url(common/images/fig-frame.png) no-repeat 0 0;
	background-size: 100% 100%;
}
.road-group h3 {
	margin: 1.2em 0 1em !important;
	color: var(--O-color);
	font-size: 2rem;
	line-height: 1.5;
	text-align: center;
}
.road-end {
	margin-top: 10px !important;
	padding: 75px 0 0 0 !important;
	background: url(common/images/fig-arrow-end.png) no-repeat center top;
	background-size: auto 75px;
	color: var(--O-color);
	font-size: 2.8rem;
	line-height: 1.5;
	text-align: center;
}











/* archive
-------------------------------------------------------------------------------*/
.main-archive h1 {
	margin-bottom: 40px;
	font-size: 3.33rem;
	line-height: 1;
}
.main-archive h1 span {
	display: block;
}
.main-archive h1 span[lang="zh-TW"] {
	margin-top: 10px;
	font-size: 2rem;
}
.main-archive h1,
.main-archive .description {
	text-align: center;
}
ul.archive {
	margin-top: 35px;
	list-style: none;
}
ul.archive a {
	text-decoration: none;
}
ul.archive > li {
	position: relative;
}
ul.archive > li + li {
	margin-top: 20px;
}
ul.archive img {
	width: 100px;
	height: 100px;
	object-fit: cover;
}
ul.archive figure {
	display: flex;
}
ul.archive figure > span {
	width: 100px;
	min-width: 100px;
	margin-right: 20px;
}
ul.archive figcaption {
	width: 100%;
	padding: 8px 0 35px;
	font-size: 1rem;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
body.category-human ul.archive figcaption { border-color: var(--H-color) }
body.category-road ul.archive figcaption { border-color: var(--O-color) }
body.category-place ul.archive figcaption { border-color: var(--P-color) }
body.category-enjoying ul.archive figcaption { border-color: var(--E-color) }
ul.archive h2 {
	font-size: 1.33rem;
}
ul.archive div.btn,
ul.archive p.btn {
	position: absolute;
	right: 0;
	bottom: 10px;
	margin: 0;
}



/* footer
-------------------------------------------------------------------------------*/
footer {
	position: relative;
	margin-top: 80px;
	padding: 40px 0 25px;
	border-top: 1px solid #000;
}
.pagetop {
	position: absolute;
	top: -50px;
	right: 40px;
}
.pagetop a {
	display: block;
	width: 20px;
	height: 20px;
	padding-top: 20px;
	overflow: hidden;
	background: url(common/images/icn-arrow.png) no-repeat 0 0;
	background-size: 100% 100%;
}
.footer-inner {
	width: 810px;
	max-width: 100%;
	margin: 0 auto 80px;
	padding: 0 15px;
}
footer ul {
	list-style: none;
}
footer a {
	text-decoration: none;
}
footer nav ul {
	display: flex;
	border-left: 1px solid #000;
	line-height: 1.5;
}
footer nav ul li {
	display: flex;
	align-items: center;
	width: 100%;
	border-right: 1px solid #000;
	text-align: center;
}
footer nav ul li a {
	width: 100%;
}
footer nav ul li a span {
	display: block;
}
.copyright {
	margin-top: 40px;
	font-size: 0.66rem;
	text-align: center;
}



/* Media queries
-------------------------------------------------------------------------------*/
@media screen and (min-width: 767.0001px) {

.home-category-posts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 20px;
	grid-row-gap: 20px;
	align-items: start;
}
.home-category-posts > li:nth-child(1) { grid-area: 1 / 1 / 3 / 3; }
.home-category-posts > li:nth-child(2) { grid-area: 1 / 3 / 2 / 4; }
.home-category-posts > li:nth-child(3) { grid-area: 1 / 4 / 2 / 5; }
.home-category-posts > li:nth-child(4) { grid-area: 2 / 3 / 3 / 5; }
#category-on-the-road .home-category-posts > li:nth-child(2) { grid-area: 1 / 3 / 3 / 5; }

/* .home-category-posts > li:nth-child(1) a,
.home-category-posts > li:nth-child(2) a,
.home-category-posts > li:nth-child(3) a,
.home-category-posts > li:nth-child(1) img,
.home-category-posts > li:nth-child(2) img,
.home-category-posts > li:nth-child(3) img,
.home-category-posts > li:nth-child(1) span.coming-soon,
.home-category-posts > li:nth-child(2) span.coming-soon,
.home-category-posts > li:nth-child(3) span.coming-soon {
	aspect-ratio: 1/1;
}
.home-category-posts > li:nth-child(4) a,
.home-category-posts > li:nth-child(4) img,
.home-category-posts > li:nth-child(4) span.coming-soon {
	aspect-ratio: 380/180;
}
.home-category-posts figure {
	position: relative;
} */

.home-category-posts > li {
	position: relative;
	padding-top: 100%;
}
.home-category-posts > li:nth-child(4) {
	padding-top: calc( 100% * 180/380 );
}
.home-category-posts a,
.home-category-posts figure,
.home-category-posts img,
.home-category-posts li > span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.home-category-posts img {
	object-fit: cover;
}

.home-category-posts figcaption {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity .2s ease;
}
.home-category-posts a:hover figcaption {
	opacity: 1;
}
.home-category-posts a:hover img {
	opacity: 1;
}
#category-human-connections .home-category-posts figcaption { background: var(--H-transparent-color); }
#category-on-the-road .home-category-posts figcaption { background: var(--O-transparent-color); }
#category-places-of-interest .home-category-posts figcaption { background: var(--P-transparent-color); }
#category-enjoying-hamadori .home-category-posts figcaption { background: var(--E-transparent-color); }

.home-category-posts figcaption > span {
	position: absolute;
	top: 20px;
	left: 20px;
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	width: calc( 100% - 40px );
	height: calc( 100% - 40px );
	padding: 10px;
	box-shadow: 0 0 0 2px #fff inset;
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
}
.home-category-posts > li:nth-child(1) figcaption > span {
	font-size: 1.66rem;
}
.home-category-posts > li:nth-child(1) figcaption > span > * {
	width: 75%;
}
.home-category-posts figcaption > span h3 {
	margin-bottom: 5px;
}
.home-category-posts figcaption > span h3 + p {
	padding-top: 5px;
	border-top: 2px solid rgba(255,255,255,.5);
}
.home-category-posts > li:nth-child(1) figcaption > span h3,
#category-on-the-road .home-category-posts > li:nth-child(2) figcaption > span h3 {
	font-size: 2rem;
}

}



@media screen and (max-width: 767px) {

html {
	font-size: 12px;
}
body {
	padding-top: 54px;
}
.post-tags {
	gap: 5px !important;
}
.post-tags a {
	padding: 0 5px;
	font-size: 0.833rem;
	line-height: 1.3rem !important;
}
span.sp-br {
	display: block !important;
}
header {
	padding: 15px 15px 15px 13px;
}
header h1 img,
.header-nav-lang img {
	height: 24px;
	width: auto;
}
header h1 img {
	max-width: calc( 100vw - 205px );
}
.header-nav-lang {
	gap: 8px;
}
.keyvisual > img,
.keyvisual > video {
	width: 100%;
	height: 60vh
}
#header-menu-toggle-button {
	width: 24px;
	height: 24px;
}
.header-nav-global {
	font-size: 1.833rem;
}
.header-nav-global .header-nav-category {
	vertical-align: 30%;
}
.header-nav-global span[lang="zh-TW"] {
	margin-top: 3px;
}

main {
	margin-bottom: 35px;
}
.section-home-message {
	margin-top: 24px;
}
.section-home-message h2 {
	font-size: 3rem;
}
.section-home-message p {
	font-size: 1rem;
	font-weight: 500;
}
.section-category {
	margin-top: 35px;
}
.home-category-nav {
	gap: 12px;
}
.section-category .home-category-nav li a:before {
	bottom: -11px;
	left: calc( 50% - 9px );
	border-width: 12px 9px 0 9px;
}
.section-category h2 {
	margin: 25px 0;
	font-size: 2rem;
}
.section-category h2 > span[lang="zh-TW"] {
	margin-top: 10px;
	font-size: 1.9rem;
}
.section-category .summary {
	font-size: 1rem;
}
.home-category-posts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 35px;
	padding: 0 30px;
}
.home-category-posts > li { width: 100% }
.home-category-posts > li:nth-child(2),
.home-category-posts > li:nth-child(3) { width: calc( 50% - 6px ) }

#category-on-the-road .home-category-posts > li:nth-child(2) { width: 100% }

/* .home-category-posts img,
.home-category-posts span.coming-soon {
	aspect-ratio: 1/1;
}
.home-category-posts > li:nth-child(4) span.coming-soon {
	aspect-ratio: 380/180;
} */

.home-category-posts li figure > span {
	position: relative;
	display: block;
	padding-top: 100%;
	line-height: 0;
}
.home-category-posts li:nth-child(4) figure > span {
	padding-top: calc( 100% * 180/380 );
}
.home-category-posts > li > span.coming-soon {
	position: relative;
	padding-top: 100%;
}
.home-category-posts > li:nth-child(4) > span.coming-soon {
	padding-top: calc( 100% * 180/380 );
}
.home-category-posts > li > span.coming-soon > span {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.home-category-posts li figure > span > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.home-category-posts a {
	text-decoration: none;
}
.home-category-posts figcaption {
	padding-top: 8px;
}
.home-category-posts figcaption h3,
.home-category-posts figcaption p {
	display: inline;
	font-size: 0.833rem;
	font-weight: 700;
}
.home-category-posts figcaption h3 + p:before {
	content: '/';
	margin: 0 0.5em 0 0.1em;
}
.section-banner-news {
	display: block;
	margin: 15px -15px 0 -15px;
}
.banner-vr {
	display: block;
	height: 0;
	padding-top: 64px;
	overflow: hidden;
	background: #005AB4 url(common/images/banner-vr-sp.png) no-repeat center center;
	background-size: contain;
	line-height: 1;
}
.section-news {
	margin-top: 24px;
	text-align: center;
}
.section-partners {
	margin-top: 35px;
}
.section-partners ul {
	padding: 0 10px;
}
.section-partners li {
	padding: 0 5px;
}
.slick-prev {
	left: -12px;
}
.slick-next {
	right: -12px;
}
.post-category span[class^="category-"] {
	width: 16px;
	height: 16px;
	margin-right: 2px;
	vertical-align: 10%;
}
.main-archive span[class^="category-"] {
	width: 30px;
	height: 30px;
	vertical-align: 10%;
}

article,
.main-archive {
	padding-top: 25px;
	font-size: 1rem;
}
article > * + *,
article .post-detail > * + * {
	margin-top: 30px;
}
article .post-summary,
.post-place-name {
	margin-top: 25px;
}
article h1,
.main-archive h1 {
	font-size: 2rem;
}
.main-archive h1 {
	margin-bottom: 25px;
}
.post-category {
	font-size: 1.2rem;
}
.post-place-name {
	font-size: 1.5rem;
}
.section-related {
	margin-top: 35px;
}
.section-related h2 {
	margin-bottom: 10px;
}
.section-related h3,
.section-related p {
	font-size: 1rem;
}
.section-related h3 {
	margin-top: 10px;
}

ul.archive {
	margin-top: 25px;
}
ul.archive figure > span {
	margin-right: 10px;
}
.main-archive h1 span[lang="zh-TW"] {
	margin-top: 5px;
	font-size: 1.5rem;
}

body.page article h1 {
	font-size: 3rem;
}
body.page article h2 {
	font-size: 2rem;
}
body.page article h2.external-link-title {
	font-size: 1.5rem;
}
body.page article > * + *,
body.page article .post-detail > * + * {
	margin-top: 25px;
}
body.page article > * + h2,
body.page article .post-detail > * + h2 {
	margin-top: 30px;
}

.keyvisual {
	margin: 0;
	padding-bottom: 30px;
}
.keyvisual figcaption {
	padding-bottom: 20px;
}
.keyvisual figcaption .btn-full-video {
	bottom: 0;
	right: 10px;
}

.pagetop {
	display: none;
}
footer {
	margin-top: 35px;
	padding: 12px 0;
}
footer nav {
	display: none;
}
.footer-inner {
	margin: 0;
}
.copyright {
	margin-top: 0;
}

}


@media screen and (max-width: 480px) {

body.page_contact header {
	/* position: absolute; */
}
#wpadminbar {
	display: none !important;
}
.wpforms-container .wpforms-field {
	display: block;
	margin: 2rem 0 !important;
	padding: 0 !important;
}
.wpforms-container .wpforms-form .wpforms-field>* {
	width: 100%;
}
.wpforms-container .wpforms-field label {
	margin-bottom: 5px;
}
.wpforms-container label.wpforms-error {
	position: static;
	margin-top: 3px;
}
.wpforms-container .wpforms-required-label:after {
	display: inline;
}

}


@media screen and (max-width: 320px) {

.header-nav-global {
	font-size: 1.5rem;
}

}
