/* View Small */

html {
	min-height: 100vh;
	font-size: 25px !important;
}
body {
	min-width: 600px;
	min-height: 100vh;
	font-size: 25px !important;
	line-height: 1.8em;
	overflow-wrap: anywhere;
}
.section {
    margin: 0 auto 5em auto;
}
.block:not(:last-of-type) {
    margin-bottom: 3em;
}
.inner {
	padding: 0 45px;
	padding: 0 50px;
	min-width: 600px;
	min-width: 0;
	max-width: 100%;
}
.only_mobile {
	display: block;
}
.only_mobile.inline {
	display: inline-block;
}
.only_pc,
.only_pc.inline {
	display: none !important;
}
ul.disc li {
    margin-left: 1em;
    list-style: disc;
}
.nice-select:after {
    height: 8px;
    margin-top: -6px;
    width: 8px;
}

.splide__arrow {
    width: 45px;
    height: 45px;
}

.post a {
	overflow-wrap: anywhere;
}
.main,
.main_contents {
	float: none;
	width: 100% !important;
}
.side,
.side_toc {
	float: none;
	position: relative;
	top: auto;
	margin-bottom: 3em;
	width: 100% !important;
}
.side_toc h2.title {
	display: none !important;
}
.side_toc {
	padding: 1.5em;
	background: #fff;
	border-radius: 6px;
}
.side_toc h3 {
	margin-bottom: 1em;
	font-size: 1.2em;
	font-weight: 500;
}
.side_toc li:not(:last-of-type) {
    margin-bottom: 0.5em;
}
.main.righter,
.side.righter {
	float: none !important;
}
.main.lefter,
.side.lefter {
	float: none !important;
}
h2.title {
    font-size: 1.8em;
    font-size: 1.6em;
}
h2.title .title_small {
	margin-top: 0;
}
h2.title .title_small.inline,
h3.title .title_small.inline {
    display: block;
    margin-top: 0;
    margin-left: 0;
    transform: none;
}
h2.title .title_ja {
    font-size: 0.6em;
}
h2.title .title_en small {
    font-size: 70%;
}
h3.title {
	margin-bottom: 1em;
    font-size: 1.35em;
	font-size: 1.15em;
}
h3.title .title_small {
	margin-top: 0.3em;
}
h3.title .title_en {
	font-size: 0.9rem;
}
h3.title.w_symbol {
	font-size: 1.5em;
}
h4.title {
	font-size: 1.1em;
	line-height: 1.5em;
}
h5.title {
	line-height: 1.5em;
}
#page_heading.exist_category h2.title .title_en {
    font-size: 0.6em;
    line-height: 1.5em;
}

#error_404 {
	padding: 8em 0 0 0;
}
.alt_page {
	margin: 5em 0 5em 0;
	text-align: center;
}
.alt_page_pane {
	display: block;
}
.alt_page_pane h5 a {
	font-size: 1em;
	line-height: 1.6em;
	text-decoration: none;
}
.alt_page_pane h4 {
	font-size: 0.7em !important;
	text-align: center;
}


.heading {
	margin-bottom: 2em;
}
.heading h3.title {
    line-height: 1.2em;
}
.heading h3.title .title_small {
	font-size: 0.57em;
	font-size: 0.5em;
	letter-spacing: 0;
    line-height: 1.2em;
}
#home_readings .heading h3.title .title_en {
	margin-bottom: 0;
    font-size: 0.9em;
	letter-spacing: 0.01em;
}
.heading h3.title .title_ja {
    font-size: 0.6em;
    line-height: 1.2em;
    letter-spacing: 0;
}
.heading .more p a {
	margin-top: 3px;
	margin-top: 5px;
	padding: 0.85em 1.35em 0.9em 1.35em;
	font-size: 0.9em;
}
.summary p,
p.summary {
    font-size: 1.1em !important;
    line-height: 2em !important;
	font-size: 1.05em !important;
    line-height: 1.9em !important;
}

/** More **/

.more {
    margin-top: 2em;
}
.more p a {
	padding: 1em 1.7em 1.08em 1.8em;
	padding: 1em 1.7em 1.05em 1.8em;
	font-size: 0.9em;
	letter-spacing: 0;
}
.more p a:hover {
    padding: 1em 1.7em 1.08em 1.8em;
    padding: 1em 1.7em 1.05em 1.8em;
}
.more p a:hover::before {
	opacity: 0;
}

/** Button **/

.button {
    margin-top: 2em;
}
.buttons .button {
    float: none;
    margin-top: 1.5em;
	margin-right: auto;
}
.button p {
	display: block;
	width: fit-content;
}
.button p a {
	display: block;
    padding: 1em 1.6em 1.1em 3.8em;
    line-height: 1.2em;
}
.button a::before {
	left: 30px !important;
	width: 30px !important;
	height: 30px !important;
}
.button.external_link a {
    padding-left: 3em;
    padding-left: 3.8em;
}
.button.external_link a::before {
	width: 28px !important;
	height: 28px !important;
}

/** Tabs **/

.tabs li,
.tabs_link li a {
	padding: 1.2em 0;
    font-size: 0.9em;
    font-size: 0.85em;
	line-height: 1.5em;
}
.tabs_link li {
	padding: 0;
}
.tabs ul {
    padding: 0;
}


/* Menu Switch */

#menu_switch {
	position: fixed;
	top: 20px;
	top: 25px;
	right: 35px;
	padding-bottom: 30px;
	z-index: 10010;
}
#menu_switch p {
	position: relative;
	width: 50px;
	height: 20px;
}
.menu_switch_bar {
	display: block;
	position: absolute;
	width: 40px;
	height: 3px;
	background: #000;
	border-radius: 20px;
	transition: all 200ms ease-in-out;
}
#menu_switch_top {
	top: 0;
	right: 0;
}
#menu_switch_bottom {
	bottom: 0;
	left: 0;
}
#menu_switch::before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	content: 'MENU';
	font-size: 0.7em;
	font-weight: 500;
	line-height: 1.2em;
	letter-spacing: 0.05em;
	width: max-content;
}
.expanded #menu_switch::before {
	content: 'CLOSE';
}
.expanded .menu_switch_bar {
	width: 50px;
}
.expanded #menu_switch_top {
	top: 9px;
	transform: rotate(36deg);
}
.expanded #menu_switch_bottom {
	bottom: 9px;
	transform: rotate(-36deg);
}


/* Tags */

.tags_block {
    float: none;
    margin-right: 0;
    width: 100%;
}
.tag_list:not(:last-of-type) {
	margin-bottom: 0.5em;
	margin-bottom: 0.35em;
}
.tag_list h4 {
	width: 4.5rem;
}
.tag_list ul {
	margin-top: -2px;
	width: calc(100% - 4.5rem);
	font-size: 1em;
	font-size: 0.9em;
}
.tag_list li {
    margin-right: 0.6em;
    margin-bottom: 0.7em;
}
.tag_list li:last-of-type {
    margin-right: 0;
}
.tag_list li a {
	padding: 0.75em 0.85em;
	border-radius: 9px;
}

/* Slide Pane */

.slide_pane_text {
	padding: 1em 0.5em;
}
.slide_pane_text h5 {
	padding-left: 40px;
	padding-left: 30px;
	font-size: 0.85em;
}
.slide_pane_text h5::before {
	width: 30px;
	width: 20px;
	height: 14px;
}
.slide_pane_text h4 {
    margin-bottom: 0.5em;
    font-size: 1.08em;
    font-size: 0.9em;
}
.slide_pane_text li {
	font-size: 0.8em;
	word-break: break-all;
	overflow-wrap: anywhere;
}

/* Map */

.gm-style-iw-chr button {
    width: 40px !important;
    height: 40px !important;
}
.gm-style-iw-chr span {
	width: 28px !important;
	height: 28px !important;
}


/* Header */

#header {
	margin-bottom: 3em !important;
	height: 150px;
	background: none;
}
.page_home #header {
	margin-bottom: 20px !important;
}
.fixed #header {
	height: 110px;
	background: none;
}
#header .inner {
	padding: 14px 35px 30px 35px;
}
#header_logo h1 {
	width: 300px;
}
#header_logo h2 {
	font-size: 0.75em;
}

#header_menu {
	display: none;
}
#menu {
	position: fixed;
	top: 0;
	left: 0;
	padding: 150px 50px;
	padding: 85px 50px;
	width: 100%;
	height: 100%;
	background: #fdbf25;
	background: #fff;
	z-index: 10000;
	overflow-y: scroll;
}
#menu_logo {
	margin-bottom: 4.5em;
	margin-bottom: 3em;
	text-align: center;
}
#menu_logo h1 {
	position: relative;
	margin: 0 auto 2.5em auto;
	margin-bottom: 1.5em;
	width: 250px;
	width: 300px;
}
#menu_logo h1 a {
	position: relative;
	z-index: 1;
}
#menu_logo h1::before {
	position: absolute;
    left: -35px;
    top: -45px;
    width: 140px;
    height: 140px;
    content: '';
    background: url(../images/common/symbol_yellow.png) no-repeat center / cover;
    z-index: 0;
}
#menu_logo h2 {
	margin-bottom: 0.8em;
	font-size: 0.85em;
	font-weight: 500;
	line-height: 1.8em;
	letter-spacing: 0.125em;
}
#menu_logo .button p {
	margin: 0 auto;
}
.menu_category {
	margin-bottom: 2.5em;
}
.menu_category h4 {
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.2em;
}
#menu_roads h4,
#menu_collection .heading {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #eee;
}
.menu_category li {
	float: left;
	width: 48%;
}
.menu_category li a {
	position: relative;
	font-size: 1.1em;
	text-decoration: none;
}
.menu_category li:nth-of-type(even) {
	float: right;
}
.menu_category li:nth-of-type(2n + 1) {
	clear: both;
}
.menu_category li:nth-last-of-type(n + 3) {
	margin-bottom: 0.5em;
}
#menu_roads li a {
	padding-left: 50px;
}
#menu_roads li a::before {
	position: absolute;
	left: 0;
	top: 50%;
	content: '';
	width: 30px;
    height: 15px;
	border-radius: 200px;
	background: #aaa;
	overflow: hidden;
	transform: translateY(-50%);
}
#menu_collection .heading h4 {
	float: left;
	margin-top: 7px;
}
#menu_collection_all {
	float: right;
}
#menu_collection_all a {
	display: inline-block;
	padding-bottom: 0.35em;
	text-decoration: none;
	line-height: 1.2em;
	border-bottom: solid 3px #111;
}
#menu_contact a {
	display: block;
	padding: 1em;
	color: #fff !important;
	background: #111;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	border-radius: 8px;
	text-align: center;
	text-decoration: none;
}
#menu_contact span {
	display: inline-block;
	vertical-align: middle;
}
.menu_contact_icon {
	margin-right: 0.5em;
	width: 40px;
	height: 40px;
}
.menu_contact_icon img {
	display: block;
}


.gm-style .gm-style-iw-c {
	padding: 27px;
}
.gm-style-iw-chr {
	right: 12px;
	top: 12px;
}
._marker_comment {
	padding-bottom: 15px;
}
.infowindow {
	padding-top: 24px;
	padding-right: 0;
	min-width: 480px;
	max-width: 480px;
}
.infowindow .marker_text {
	width: calc(100% - 175px);
}
.infowindow .thumbnail {
	width: 150px;
	margin-right: 24px;
	border-radius: 6px;
}
.infowindow h4 {
	padding-top: 33px;
	font-size: 1rem;
}
.infowindow .marker_tags {
	font-size: 0.8rem;
}
.infowindow h4::before {
	top: 2px;
	width: 36px;
	height: 16px;
}
.infowindow_road p {
	font-size: 0.8rem;
}


/* Home */

/** Hero **/

#home_map {
	margin-bottom: 2.5em !important;
}
#home_map_embed {
	margin-left: 35px;
	width: calc(100% - 70px) !important;
	height: calc(100vh - 300px) !important;
	min-height: 800px;
	max-height: 1000px;
	border-radius: 20px;
}
#home_map_legend {
	display: none;
}

/** Tags **/

#home_tags .inner {
	padding: 0;
}
#home_tags h3.title {
	padding-left: 75px;
}
#home_tags h3.title::before {
	width: 50px;
	height: 50px;
}
#home_tags_pane {
	padding: 2.5em 50px;
	border-radius: 0;
}

/** Updated **/

#home_updated {
	margin-bottom: 1.5em;
}
#home_updated_slides {
	padding-right: 200px;
}


/* About */

#about_page .heading {
	margin-bottom: 0;
}
#about_page img {
	max-width: 300px !important;
}


/* Category */

#road_category h2.title {
	margin-bottom: 0;
}
#road_map_embed {
	height: 400px;
	height: 600px;
	border-bottom: none;
	border-radius: 15px 15px 0 0;
}
#road_map .summary {
    position: relative;
    left: auto;
    top: auto;
    padding: 1.5em;
    width: 100%;
    height: auto;
    font-size: 1.1em !important;
    background: none;
	border: 1px solid #ccc;
	border-top: none;
	border-radius: 0 0 15px 15px;
}
.wo_map .road_post_pane {
	margin: 0;
	width: 31%;
}
.road_post_pane:nth-of-type(7n + 1) {
	clear: none !important;
}
.wo_map .road_post_pane:nth-of-type(7n + 1) {
    clear: none !important;
}
.wo_map .road_post_pane:nth-of-type(4n) {
	margin-right: 0;
}
.wo_map .road_post_pane:nth-of-type(3n - 1) {
	margin: 0 3.5% !important;
}
.road_post_pane:nth-of-type(3n + 1) {
	clear: both !important;
}
.road_post_pane:nth-last-of-type(n + 4) {
	margin-bottom: 1.25em;
}
.road_post_text h4.title {
	padding-left: 30px;
	font-size: 0.75em;
}
.road_post_text h4.title::before {
	top: 8px;
}
.w_present::before {
	right: 10px;
    top: 10px;
    width: 50px;
    height: 50px;
}
#post_updated .w_present::before {
	top: 20px;
	right: 20px;
}

#tags_list h2.title {
	margin-bottom: 1em;
}
#tags_list h2.title .labeled {
	padding: 0.5em 1em;
}
.tags_post_pane {
	margin: 0;
	width: 31%;
}
.tags_post_pane:nth-of-type(7n + 1) {
	clear: none;
}
.tags_post_pane:nth-of-type(3n - 1) {
	margin: 0 3.5%;
}
.tags_post_pane:nth-of-type(3n + 1) {
	clear: both;
}
.tags_post_pane:nth-last-of-type(n + 3) {
	margin-bottom: 1em;
}
.tags_post_text h4.title {
    padding-left: 30px;
	font-size: 0.75em;
}
.tags_post_text h4.title::before {
    top: 7px;
    width: 22px;
    height: 11px;
}

/* Single */

#content_heading {
	margin-bottom: 2.5em;
	height: auto;
}
#post_single .heading {
	margin-bottom: 1.5em;
}
#post_single h2.title {
	float: none;
	margin-bottom: 1em;
    padding-left: 65px;
    line-height: 1.5em;
}
#post_single h2.title::before {
    top: 20px;
	transform: none;
    width: 44px;
    height: 20px;
}
.heading h2.title .post_num {
    display: block;
    margin-top: 0.8em;
    margin-left: 0;
}
.heading h3.post_road {
	float: none;
}
#post_image_main {
	float: none;
	width: 100%;
	height: 400px;
	height: 460px;
}
#post_present_switch .post_present_thumbnail {
    margin-right: 15px;
    width: 50px;
    height: 50px;
}
#post_present_switch .label {
    padding-right: 20px;
    line-height: 50px;
    font-size: 0.85em;
}
#post_map {
	float: none;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0;
	width: 100%;
	height: 400px;
	height: 320px;
}
#post_tags {
	padding: 1.8em 1.5em 1.25em 1.5em;
	padding: 1.5em 1.4em 0.85em 1.4em;
}
#post_tags ul {
	padding-left: 75px;
}
#post_tags ul::before {
	top: 0;
    width: 50px;
    height: 50px;
}
#post_tags li {
	font-size: 1em;
	margin-right: 0.5em;
	margin-bottom: 0.8em;
}
#post_tags li a {
    padding: 0.5em 0.65em;
}
#post_summary {
    float: none;
    padding: 15px 0 15px 74px;
	margin-bottom: 3em;
    width: 100%;
    min-height: 0;
}
#post_summary::before {
	left: 0;
	width: 33px;
}
#post_summary h3.title {
    margin-bottom: 0.5em;
}
#post_summary h4 {
    margin-bottom: 0.5em;
}
#post_present {
    margin-top: 1.25em;
    padding-top: 1.3em;
}
#post_meta {
    float: none;
    padding-left: 0;
    width: 100%;
    min-height: 0;
    border-left: none;
}
#post_data dt {
    float: left;
	clear: both;
    width: 10em;
    width: 8em;
	line-height: 1.6em;
}
#post_data dt:not(:first-of-type) {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
#post_data dd {
	margin-bottom: 0.8em;
	padding-bottom: 0.8em;
	padding-left: 11em;
	padding-left: 9em;
	border-bottom: 1px solid #eee;
}
#post_related .post_related_pane {
	margin: 0;
	width: 31%;
}
#post_related .post_related_pane:nth-of-type(7n) {
	margin-right: 0;
}
#post_related .post_related_pane:nth-of-type(7n + 1) {
	clear: none;
}
#post_related .post_related_pane:nth-of-type(3n - 1) {
	margin: 0 3.5%;
}
#post_related .post_related_pane:nth-of-type(3n + 1) {
	clear: both;
}
#post_related .post_related_pane:nth-last-of-type(n + 3) {
	margin-bottom: 1em;
}

/* Collection */

#collection_list .heading h2.title {
	margin-bottom: 0;
}
.collection_post_pane {
	margin: 0;
	width: 31%;
}
.collection_post_pane:nth-of-type(7n) {
	margin-right: 0 !important;
}
.collection_post_pane:nth-of-type(7n + 1) {
	clear: none !important;
}
.collection_post_pane:nth-of-type(3n - 1) {
	margin: 0 3.5% !important;
}
.collection_post_pane:nth-of-type(3n + 1) {
	clear: both !important;
}
.collection_post_pane:nth-last-of-type(n + 3) {
	margin-bottom: 1em !important;
}
.collection_post_text h4.title {
    padding-left: 35px;
}
.collection_post_text h4.title::before {
    top: 7px;
    width: 22px;
    height: 11px;
}

/* Socks */

#offer h5 {
	width: max-content;
}
#offer h4 {
	margin-bottom: 1.2em;
}
#offer h3.title {
	font-size: 1.5em;
}
#offer_message_text .button {
	margin-top: 1.5em;
}
#offer_message_text .button p {
	margin: 0 auto;
}

/* Contact */

#contact_page .heading h2.title {
	margin-bottom: 0;
}
#contact_page .summary {
	margin-bottom: 5em;
}
#form li {
	font-size: 25px;
}
.form h5.title {
	/* font-size: 1rem !important; */
}
.form h6 {
	margin-bottom: 0.5em;
	/* font-size: 1.08em; */
}
.form h6 .note {
	display: block;
	margin-left: 0;
	font-size: 0.8rem;
	line-height: 1.6em;
}
.form h6 .label {
	display: inline-block !important;
	line-height: 1.6em;
}
.form h6 .label.only_pc {
	display: none !important;
}
.form .wpcf7-file {
	font-size: 1.15em;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="password"],
.form input[type="number"],
.form textarea {
	padding: 0.45em 0.6em;
	font-size: 31px !important;
}
.form input[type="checkbox"] {
	width: 25px;
	height: 25px;
}
#form_disclaimer li {
    padding-left: 65px;
    padding-left: 45px;
    text-indent: -32px;
	line-height: 1.5em;
}
#form_disclaimer li:not(:last-of-type) {
    margin-bottom: 0.5em;
}

/* Sent */

#sent_page .heading h2.title {
	margin-bottom: 0;
}
#sent_page .content p br {
	display: none;
}
#sent_direct {
	padding: 2em;
	margin-top: 3.5em;
}
.sent_direct_banner {
	float: none;
	margin-bottom: 1.5em;
	width: 100%;
}
.sent_direct_text {
	float: none;
	width: 100%;
}
.sent_direct_text dt {
	width: 5em;
}
.sent_direct_text dd {
	padding-left: 6em;
}


/* Footer */

#footer {
    margin: 3em 0 0 0;
}
#footer .inner {
	padding-top: 3em;
	padding-bottom: 3em;
}
#footer_logo {
	margin-bottom: 3em;
}
#footer_logo h1 {
	margin-bottom: 2em;
	width: 350px;
}
#footer_logo h2 {
	font-size: 0.95em;
	line-height: 1.8em;
}
#banner {
	margin-bottom: 3em;
}
#banner li {
	margin: 0;
	width: 32%;
}
#banner li:nth-of-type(3n - 1) {
	margin: 0 2%;
}
#banner li:nth-of-type(3n + 1) {
	clear: both;
}
#banner li:nth-last-of-type(n + 4) {
	margin-bottom: 1em;
}
#copyright {
    font-size: 0.7em;
    line-height: 1.5em;
}