/*
Template: businesspress
Theme Name: TERANISHI
Author: codebase
Version: 1.0
*/

/* Root
   This values are used for adjusting headings size (not for body size) */
html {
	font-size: 85%;
	overflow-x: hidden;
}
html:lang(ja) {
	font-size: 68%;
}
@media screen and (min-width: 782px) {
	html {
		font-size: 92.5%;
	}
	html:lang(ja) {
		font-size: 74%;
	}
}
@media screen and (min-width: 980px) {
	html {
		font-size: 100%;
	}
	html:lang(ja) {
		font-size: 80%;
	}
}

/* Base */
body {
	color: #444;
	font-family: "Helvetica", "Arial", sans-serif;
	font-size: 18px;
	line-height: 1.6;
	word-wrap: break-word;
}
body:lang(ja) {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}
::selection {
	background-color: #def;
}
@media screen and (min-width: 782px) {
	body {
		font-size: 19px;
	}
	body:lang(ja) {
		font-size: 16px;
	}
}
@media screen and (min-width: 980px) {
	body {
		font-size: 20px;
	}
	body:lang(ja) {
		font-size: 17px;
	}
}

/* Heading */
h1, h2, h3, h4, h5, h6, .site-title {
	clear: both;
	color: #111;
	font-weight: 700;
	line-height: 1.5;
}
h1 {
	font-size: 2.5rem;
	margin-bottom: 1em;
	margin-top: 2em;
}
h2 {
	font-size: 1.75rem;
	margin-bottom: 1.5em;
	margin-top: 3em;
}
h3 {
	font-size: 1.5rem;
	margin-bottom: 1em;
	margin-top: 2.5em;
}
h4 {
	font-size: 1.25rem;
	margin-bottom: 1em;
	margin-top: 2em;
}
h5 {
	font-size: 1.125rem;
	margin-bottom: 0.5em;
	margin-top: 1.5em;
}
h6 {
	font-size: 1rem;
	margin-bottom: 0.5em;
	margin-top: 1em;
}
/* Link */
a {
	color: #4693f5;
	text-decoration: underline;
	transition: all .15s ease-in-out;
}
a:hover {
	color: #639af6;
}
cite a, cite a {
	text-decoration: none;
}

/* Text */
p {
	margin: 0 0 1.8em;
}
b, strong {
	font-weight: 700;
}
dfn, em, i {
	font-style: italic;
}
q {
	quotes: "" "";
}
cite {
	border-bottom: dotted 1px #999;
	font-style: normal;
}
code, kbd, tt, var {
	background-color: #f4f5f6;
	color: #666;
	font-family: Consolas, "Courier New", monospace;
	font-size: 90%;
}
abbr, acronym {
	border-bottom: 1px dotted #999;
	cursor: help;
}
mark, ins {
	background: linear-gradient( transparent 70%, #ffff66 70% );
	text-decoration: none;
}
ins.adsbygoogle {
	background-color: transparent;
}

/* List */
ul, ol {
	margin: 0 0 1.8em 1.5em;
	padding: 0;
}
li > ul,
li > ol {
	margin-bottom: 0;
}
dl {
	margin: 0;
}
dt {
	font-weight: 600;
	margin-bottom: 0.5em;
}
dd {
	margin: 0 0 1.8em 1.5em;
}

/* Table */
table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 90%;
	margin: 0 0 1.8em;
	width: 100%;
}
caption {
	margin-bottom: 0.6em;
}
table th, table td {
	border: solid 1px #eee;
	padding: 1em 1.2em;
}
th {
	background-color: #f4f5f6;
	font-weight: 600;
	text-align: left;
}

/* Elements */
blockquote {
	color: #666;
	margin: 0 0 2em;
	padding: 12px 0 0 44px !important;
	position: relative;
}
blockquote:before {
	color: #ddd;
	content: "\201C";
	font-family: Georgia, serif;
	font-size: 84px;
	left: -5px;
	line-height: 1;
	position: absolute;
	top: -5px;
}
blockquote p {
	margin-bottom: 0.8em;
}
blockquote cite {
	font-size: 90%;
}
address {
	margin: 0 0 1.8em;
	font-style: normal;
}
pre {
	background-color: #f4f5f6;
	color: #666;
	font-family: Consolas, "Courier New", monospace;
	font-size: 90%;
	line-height: 1.4;
	margin: 0 0 1.7em;
	max-width: 100%;
	overflow: auto;
	padding: 1.5em;
	word-wrap: normal;
}
hr {
	background-color: #eee;
	border: 0;
	height: 2px;
	margin: 1.8em auto;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	max-width: 100px;
}

/* Media */
img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}
figure {
	margin: 0;
}
embed,
iframe,
object {
	max-width: 100%;
}

/* Form */
button,
input,
input[type="search"],
select,
textarea {
	background-color: #fff;
	box-sizing: border-box;
	line-height: 1.6;
	max-width: 100%;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background-color: #333;
	border: none;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font-size: 90%;
	line-height: 1;
	padding: 1.1em 1.5em;
	text-transform: uppercase;
	transition: .3s ease-in-out;
}
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	background-color: #555;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	border: solid 1px #e6e6e6;
	color: #777;
	margin-top: 0.6em;
	padding: 0.6em;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	color: #444;
}
input[type="file"] {
	margin-top: 0.6em;
}
select {
	border: solid 1px #e6e6e6;
	margin-top: 0.6em;
	padding: 0.6em;
}
textarea {
	max-width: 720px;
	width: 100%;
}


/* Repeatable Patterns
------------------------------------------------------------ */

/* Alignments */
.aligncenter,
.alignleft,
.alignright {
	margin-bottom: 1.8em;
}
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Caption */
.wp-caption {
	color: #999;
	font-size: 90%;
	margin-bottom: 1.8em;
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0.4em auto 0;
}
.wp-caption-text {
	text-align: center;
}
.wp-caption .wp-caption-text {
	margin: 0.8em 0;
}

/* WP Smiley */
.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Text meant only for screen readers */
.hide-blogname .site-title,
.hide-blogdescription .site-description,
.hide-date .posted-on,
.hide-author .byline,
.hide-comments-number .comments-link,
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}
.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #eee;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
	clip: auto !important;
	color: #06c;
	display: block;
	font-size: 14px;
	font-weight: 600;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar */
}

/* Clearing */
.clear:before,
.clear:after,
.top-bar-content:before,
.top-bar-content:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.nav-links:before,
.nav-links:after,
.widget:before,
.widget:after,
.sticky-sidebar:before,
.sticky-sidebar:after,
.site-bottom-content:before,
.site-bottom-content:after {
	content: "";
	display: table;
}
.clear:after,
.top-bar-content:after,
.entry-content:after,
.comment-content:after,
.nav-links:after,
.widget:after,
.sticky-sidebar:after,
.site-bottom-content:after {
	clear: both;
}


/* Layout
------------------------------------------------------------ */

/* Base */
body {
	background-color: #fff;
}
.top-bar-content,
.main-header-content,
.featured-entry-content,
.home-header-content,
.jumbotron-content,
.site-content,
.container-content,
.footer-widget-content,
.site-bottom-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 720px;
	padding-left: 20px;
	padding-right: 20px;
}
.container-content {
	padding-left: 30px;
	padding-right: 30px;
}
.site-header {
	border-bottom: solid 1px #eee;
	margin-bottom: 5rem;
}
.main-header {
	padding-bottom: 15px;
	padding-top: 15px;
}
.main-header-content {
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.content-area {
	margin-bottom: 6rem;
}
.page-header {
	margin-bottom: 5rem;
}
.hentry {
	margin-bottom: 7rem;
}
.single .hentry {
	margin-bottom: 5rem;
}
.page .hentry {
	margin-bottom: 0;
}
.widget {
	margin-bottom: 4rem;
}
.footer-widget-area {
	border-top: solid 1px #eee;
	padding-bottom: 2rem;
	padding-top: 6rem;
}
.site-bottom {
	border-top: solid 1px #eee;
	padding-bottom: 2rem;
	padding-top: 3rem;
}
.has-sidebar .sidebar-area {
	border-top: none;
	padding-top: 0;
	width: 26.78%;
}
@media screen and (min-width: 782px) {
	.top-bar-content,
	.main-header-content,
	.home-header-content,
	.jumbotron-content,
	.featured-entry-content,
	.site-content,
	.footer-widget-content,
	.site-bottom-content {
		padding-left: 40px;
		padding-right: 40px;
	}
	.container-content {
		padding-left: 50px;
		padding-right: 50px;
	}
	.top-bar-content,
	.main-header-content,
	.home-header-content,
	.site-bottom-content {
		max-width: 1120px;
	}
	.main-header {
		padding-bottom: 35px;
		padding-top: 30px;
	}
	.top-bar-main,
	.footer-social-link {
		float: left;
	}
	.header-social-link,
	.footer-navigation {
		float: right;
	}
}
@media screen and (min-width: 980px) {
	.jumbotron-content,
	.three-column .site-content,
	.has-sidebar .site-content,
	.footer-widget-content {
		max-width: 1120px;
	}
	.main-header-content {
		flex-wrap: wrap;
	}
	.has-sidebar .site-content {
		display: flex;
		justify-content: space-between;
	}
	.has-sidebar .content-area {
		width: 64.28%;
	}
	.sticky-sidebar {
		position: -webkit-sticky;
		position: sticky;
		top: 120px;
	}
	.sticky-sidebar .widget:last-child {
		margin-bottom: 0;
		padding-bottom: 90px;
	}
	.footer-widget-wrapper {
		margin-left: -30px;
		margin-right: -30px;
	}
	.footer-widget-wrapper {
		display: flex;
		flex-wrap: wrap;
	}
	.footer-widget {
		box-sizing: border-box;
		width: 25%;
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* Top Bar */
.top-bar {
	background-color: #f4f5f6;
	border-bottom: solid 1px #eee;
	line-height: 32px;
	padding-bottom: 5px;
	padding-top: 5px;
}
.top-bar-main {
	color: #888;
	font-size: 80%;
	list-style: none;
	margin-bottom: 0;
	margin-left: 0;
}
.top-bar-main a {
	color: inherit;
	text-decoration: none;
}
.top-bar-main a:hover {
	color: #111;
}
.top-bar-main li {
	display: inline-block;
	margin-bottom: 0;
	margin-right: 16px;
	vertical-align: middle;
}
.top-bar-main li:last-child {
	margin-right: 0;
}
.top-bar-main li:before {
	color: #999;
	display: inline-block;
	font: normal 16px/1 FontAwesome;
	-webkit-font-smoothing: antialiased;
	margin-right: 5px;
	position: relative;
	top: 1px;
	vertical-align: middle;
}
.top-bar-main li.top-bar-main-phone:before {
	content: "\f10b";
	font-size: 170%;
}
.top-bar-main li.top-bar-main-contact:before {
	content: "\f003";
	font-size: 110%;
}
.top-bar-main li.top-bar-main-access:before {
	content: "\f041";
	font-size: 135%;
}
.top-bar .header-social-link {
	display: none;
}
@media screen and (min-width: 782px) {
	.top-bar {
		padding-bottom: 0px;
		padding-top: 3px;
	}
	.top-bar-main li {
		margin-right: 24px;
	}
	.top-bar-main li:before {
		margin-right: 8px;
		top: -2px;
	}
	.top-bar .header-social-link {
		display: block;
	}
}

/* Featured Area
------------------------------------------------------------ */

/* Jumbotron */
.jumbotron {
	background-color: #333;
	background-position: center;
	background-size: cover;
}
.jumbotron-overlay {
	background-color: rgba( 0, 0, 0 , 0.4 );
}
.jumbotron-content {
	padding-bottom: 60px;
	padding-top: 60px;
	text-align: center;
}
.jumbotron-title {
	color: #fff;
	font-size: 2.25rem;
	letter-spacing: -0.03em;
	margin-bottom: 0;
	margin-top: 0;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
@media screen and (min-width: 782px) {
	.jumbotron-title {
		font-size: 2.5rem;
	}
	.jumbotron-content {
		padding-bottom: 90px;
		padding-top: 90px;
	}
}
@media screen and (min-width: 980px) {
	.jumbotron-content {
		padding-bottom: 105px;
		padding-top: 105px;
	}
}

/* Home Header */
.home-header {
	background-color: #333;
	background-position: center;
	background-size: cover;
}
.home-header-overlay {
	background-color: rgba( 0, 0, 0 , 0.4 );
}
.home-header-content {
	padding-bottom: 75px;
	padding-top: 75px;
	text-align: left;
}
.home-header-title {
	color: #fff;
	font-size: 2.5rem;
	letter-spacing: -0.03em;
	margin-bottom: 0;
	margin-top: 0;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.home-header-text {
	color: rgba( 255, 255, 255, 0.9 );
	font-size: 105%;
	margin-top: 28px;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.home-header-button {
	font-size: 95%;
}
.home-header-button a {
	border-radius: 25px;
	color: #fff;
	display: inline-block;
	font-weight: 600;
	margin-top: 30px;
	text-decoration: none;
}
a.home-header-button-main {
	background-color: #4693f5;
	margin-right: 16px;
	padding: 12px 25px;
}
a.home-header-button-main:hover {
	color: #fff;
}
a.home-header-button-sub {
	border: solid 2px #fff;
	padding: 10px 23px;
}
a.home-header-button-sub:hover {
	background-color: #fff;
	color: #111;
}
@media screen and (min-width: 782px) {
	.home-header-content {
		padding-bottom: 105px;
		padding-top: 105px;
	}
}
@media screen and (min-width: 980px) {
	.home-header-content {
		padding-bottom: 135px;
		padding-top: 135px;
	}
	.home-header-title {
		font-size: 3rem;
	}
}

/* Featured Post */
.featured-post {
	overflow: hidden;
}
.featured-post,
.featured-entry {
	height: 225px;
}
.featured-entry {
	background-color: #333;
	background-position: center;
	background-size: cover;
}
.featured-entry-overlay {
	align-items: center;
	background-color: rgba( 0, 0, 0 , 0.4 );
	display: flex;
	height: 100%;
	width: 100%;
}
.featured-entry-content {
	text-align: center;
	padding-left: 40px;
	padding-right: 40px;
}
.featured-entry-title {
	color: #fff;
	font-size: 1.75rem;
	letter-spacing: -0.03em;
	margin-bottom: 0;
	margin-top: 0;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.featured-entry-category {
	text-transform: uppercase;
}
.featured-entry-category,
.featured-entry-date {
	color: rgba( 255, 255, 255, 0.8 );
	display: none;
	font-size: 90%;
	margin-bottom: 12px;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.featured-entry-title a,
.featured-entry-category a,
.featured-entry-date a {
	color: inherit;
	text-decoration: none;
}
.featured-entry-title a:hover,
.featured-entry-category a:hover,
.featured-entry-date a:hover {
	color: #fff;
}
.slick-loading .slick-list {
	background: #fff url('images/ajax-loader.gif') center center no-repeat;
}
.slick-prev,
.slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 30px;
	height: 30px;
	padding: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	text-shadow: none;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	background: transparent;
	outline: none;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: .25;
}
.slick-prev:before,
.slick-next:before {
	font-family: FontAwesome;
	font-size: 30px;
	line-height: 1;
	opacity: .75;
	color: white;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: .15s ease-in-out;
}
.slick-prev {
	left: 5px;
	z-index: 9999;
}
[dir='rtl'] .slick-prev {
	right: 5px;
	left: auto;
}
.slick-prev:before {
	content: '\f104';
}
[dir='rtl'] .slick-prev:before {
	content: '\f105';
}
.slick-next {
	right: 5px;
}
[dir='rtl'] .slick-next {
	right: auto;
	left: 5px;
}
.slick-next:before {
	content: '\f105';
}
[dir='rtl'] .slick-next:before {
	content: '\f104';
}
.slick-dots {
	bottom: 12px;
	list-style: none;
	margin: 0;
	position: absolute;
	text-align: center;
	width: 100%;
}
.slick-dots li {
	border-radius: 50%;
	box-shadow: 0px 1px 1px rgba( 255, 255, 255, 0.4 ), 0px 1px 1px rgba( 0, 0, 0, 0.2 ) inset;
	display: inline-block;
	height: 12px;
	margin-left: 5px;
	margin-right: 5px;
	width: 12px;
}
.slick-dots li button {
	background: #000;
	border: solid 2px #000;
	border-radius: 50%;
	color: transparent;
	display: block;
	font-size: 0;
	height: 12px;
	line-height: 0;
	outline: none;
	width: 12px;
	opacity: 0.4;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
	opacity: 0.75;
}
.slick-dots li.slick-active button {
	background: #fff;
	opacity: 0.8;
}
@media screen and (min-width: 601px) {
	.featured-post,
	.featured-entry {
		height: 275px;
	}
	.featured-entry-title {
		font-size: 2.25rem;
	}
	.featured-entry-content {
		padding-left: 70px;
		padding-right: 70px;
	}
	.slick-prev,
	.slick-next {
		width: 40px;
		height: 40px;
	}
	.slick-prev:before,
	.slick-next:before {
		font-size: 40px;
	}
	.slick-prev {
		left: 15px;
	}
	[dir='rtl'] .slick-prev {
		right: 15px;
		left: auto;
	}
	.slick-next {
		right: 15px;
	}
	[dir='rtl'] .slick-next {
		right: auto;
		left: 15px;
	}
	.slick-dots {
		bottom: 24px;
	}
	.slick-dots li {
		height: 18px;
		width: 18px;
	}
	.slick-dots li button {
		border: solid 4px #000;
		height: 18px;
		width: 18px;
	}
}
@media screen and (min-width: 782px) {
	.featured-post,
	.featured-entry {
		height: 350px;
	}
	.featured-entry-title {
		font-size: 2.5rem;
		margin-bottom: 12px;
	}
	.featured-entry-category,
	.featured-entry-date {
		display: block;
	}
}
@media screen and (min-width: 980px) {
	.featured-post,
	.featured-entry {
		height: 400px;
	}
}


/* Content
------------------------------------------------------------ */

/* Category */
.cat-links {
	font-size: 90%;
	margin-bottom: 1rem;
	text-transform: uppercase;
}
.cat-links a {
	text-decoration: none;
}
.category-sep {
	color: #ccc;
	font-size: 80%;
	margin-left: 5px;
	margin-right: 5px;
	position: relative;
	top: -0.1em;
}

/* Entry Header */
.entry-header {
	margin-bottom: 4rem;
}
.no-sidebar .entry-header {
	text-align: center;
}
.entry-title {
	font-size: 2.25rem;
	letter-spacing: -0.03em;
	margin-bottom: 0;
	margin-top: 0;
}
.entry-title a {
	color: inherit;
	text-decoration: none;
}
@media screen and (min-width: 782px) {
	.entry-title {
		font-size: 2.5rem;
	}
}

/* Entry Meta */
.entry-meta {
	color: #999;
	font-size: 90%;
	margin-top: 1rem;
}
.entry-meta a {
	color: inherit;
	text-decoration: none;
}
.entry-meta a:hover {
	color: #666;
}
.comments-sep {
	color: #ccc;
}
.byline a,
.comments-link a {
	border-bottom: solid 1px #ddd;
}

/* Featured Image */
.post-thumbnail {
	margin-bottom: 2rem;
	margin-top: 4rem;
}
.single .post-thumbnail {
	margin-left: -20px;
	margin-right: -20px;
}
.post-thumbnail img {
	width: 100%;
	transition: 0.5s ease-in-out;
}
.post-thumbnail a:hover img {
	opacity: 0.85;
}
@media screen and (min-width: 782px) {
	.single .post-thumbnail {
		margin-left: -40px;
		margin-right: -40px;
	}
}
@media screen and (min-width: 980px) {
	.single .post-thumbnail {
		margin-left: 0;
		margin-right: 0;
	}
	.no-sidebar .post-thumbnail {
		margin-left: -60px;
		margin-right: -60px;
	}
}
body.single .content {
	max-width: 1240px;
}
/* Entry Content */
.entry-content > *:first-child {
	margin-top: 0;
}
.entry-content > *:last-child {
	margin-bottom: 0;
}

/* Post Full / Post Summary */
.post-full,
.post-summary {
	margin-bottom: 4rem;
}
.post-full .hentry,
.post-summary .hentry {
	margin-bottom: 4rem;
}
.post-full:after,
.post-summary:after {
	border-bottom: 1px solid #ddd;
	content: "";
	display: block;
	width: 45px;
}
.no-sidebar .post-full:after,
.no-sidebar .post-summary:after {
	margin: auto;
}
a.continue-reading {
	text-transform: uppercase;
}

/* Post Grid */
.two-column .loop-wrapper,
.three-column .loop-wrapper {
	display: flex;
	flex-wrap: wrap;
}
.post-grid .entry-header {
	margin-bottom: 2rem;
	text-align: left;
}
.post-grid .post-thumbnail {
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
}
.post-grid .entry-title {
	font-size: 1.75rem;
}
.post-grid .entry-summary {
	color: #666;
	font-size: 90%;
}
.post-grid .entry-summary p {
	margin-bottom: 0;
}
@media screen and (min-width: 540px) {
	.post-grid .entry-title {
		font-size: 1.5rem;
	}
	.post-grid .cat-links,
	.post-grid .entry-meta {
		font-size: 85%;
	}
	.post-grid .entry-summary {
		font-size: 90%;
	}
	.post-grid {
		width: 46%;
		padding-right: 8%;
	}
	.post-grid:nth-child(even) {
		padding-right: 0;
	}
}
@media screen and (min-width: 980px) {
	.three-column .loop-wrapper {
		margin-left: -30px;
		margin-right: -30px;
	}
	.three-column .post-grid {
		box-sizing: border-box;
		width: 33.3%;
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* Post List */
.post-list .entry-header {
	margin-bottom: 2rem;
	text-align: left;
}
.post-list .post-thumbnail {
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
}
.post-list .entry-title {
	font-size: 1.75rem;
}
.post-list .entry-summary {
	color: #666;
	font-size: 90%;
}
.post-list .entry-summary p {
	margin-bottom: 0;
}
@media screen and (min-width: 540px) {
	.post-list .hentry {
		display: flex;
	}
	.post-list .post-thumbnail {
		flex-shrink: 0;
		margin-bottom: 0;
		margin-right: 5%;
		flex-basis: 35%;
	}
}

/* Entry Footer */
.tags-links {
	color: #999;
	font-size: 90%;
	margin-top: 4rem;
	text-align: center;
}
.tags-links:before {
	color: #ccc;
	content: "\f02c";
	display: inline-block;
	font: normal 18px/1 FontAwesome;
	-webkit-font-smoothing: antialiased;
	margin-right: 4px;
	position: relative;
	top: 1px;
}
.tags-links a {
	color: inherit;
	text-decoration: none;
}
.tags-links a:hover {
	color: #666;
}

/* Author Profile */
.author-profile {
	background-color: #f4f5f6;
	margin-top: 4rem;
	padding: 25px;
}
.author-profile-header {
	align-items: center;
	display: flex;
}
.author-profile-avatar {
	flex-shrink: 0;
	width: 60px;
	margin-right: 20px;
}
.author-profile-avatar img {
	border-radius: 50%;
}
.author-profile-name strong {
	font-weight: 600;
}
.author-profile-name a {
	color: inherit;
	text-decoration: none;
}
.author-profile-name a:hover {
	color: #111;
}
.author-profile-description {
	font-size: 95%;
	margin-top: 20px;
}
@media screen and (min-width: 540px) {
	.author-profile {
		padding: 45px;
	}
	.author-profile-avatar {
		width: 75px;
		margin-right: 30px;
	}
	.author-profile-description {
		margin-top: 30px;
	}
}

/* Sticky Post */
.sticky {
}
.featured {
	background-color: #111;
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	font-size: 75%;
	margin-bottom: 1rem;
	margin-right: 12px;
	padding: 4px 10px 3px;
	text-transform: uppercase;
}
.featured+.cat-links {
	display: inline-block;
}

/* Archive */
.page-title {
	font-size: 1.5rem;
	margin-bottom: 12px;
	margin-top: 0;
}
.page-content {
	margin-bottom: 5rem;
}

/* 404 */
.error-404 {
	margin-bottom: 10rem;
	margin-top: 10rem;
	text-align: center;
}
.error-404 .f404 {
	font-size: 5.0rem;
	font-weight: 700;
	color: var(--r1-navy);
}
.error-404 .page-title {
	font-size: 2.0rem;
	color: var(--r1-gold);
	font-weight: bold;
	margin-bottom: 10px;
}

/* Quote */
.wp-block-pullquote {
	padding: 12px 0;
}
.wp-block-pullquote.alignleft,
.wp-block-pullquote.alignright {
	margin-bottom: 0;
	text-align: left;
}
.wp-block-quote.is-style-large {
	margin-bottom: 2em;
}
.wp-block-quote.is-style-large p {
	font-style: normal;
}
.wp-block-quote.is-style-large cite {
	font-size: 90%;
}

/* Gallery */
.gallery {
	margin-bottom: 30px;
}
.gallery-item {
	display: inline-block;
	line-height: 1;
	text-align: center;
	vertical-align: top;
	width: 100%;
}
.gallery .gallery-caption {
	display: none;
}
.gallery-columns-2 .gallery-item {
	max-width: 50%;
}
.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
	max-width: 25%;
}
.gallery-columns-5 .gallery-item {
	max-width: 20%;
}
.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}


/* Gutenberg
------------------------------------------------------------ */

/* Base
   This section incorporates code from Atomic Blocks */
.wp-block-gallery {
	margin-left: 0;
	margin-bottom: 0.9em;
}
.wp-block-image {
	margin-bottom: 1.8em;
}
.wp-block-image figcaption {
	font-size: 90%;
	margin-top: 1em;
}
.entry-content .wp-block-gallery {
	padding-left: 0;
}
.no-sidebar .alignfull,
.no-sidebar .alignwide {
	width: 100%;
}
@media (max-width: 600px) {
	.no-sidebar .alignfull.wp-block-gallery,
	.no-sidebar .alignwide.wp-block-gallery {
		margin-left: -10px;
		margin-right: -10px;
		width: inherit;
	}
}
.no-sidebar .alignfull img,
.no-sidebar .alignwide img {
	width: 100%;
	display: block;
}
.no-sidebar .alignwide {
	max-width: none;
}
@media (min-width: 782px) {
	.no-sidebar .alignwide {
		width: 90vw;
		margin-left: calc( 50% - 90vw / 2 );
	}
}
@media (min-width: 980px) {
	.no-sidebar .alignwide {
		width: 85vw;
		margin-left: calc( 50% - 85vw / 2 );
	}
}
@media (min-width: 1160px) {
	.no-sidebar .alignwide {
		width: 1120px;
		margin-left: calc( 50% - 1120px / 2 );
	}
}
.no-sidebar .alignfull {
	width: 100vw;
	margin-left: calc( 50% - 50vw );
	max-width: none;
}
.wp-block-embed {
	margin-bottom: 1.8em;
}
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper:before {
	padding-top: 0;
}
.wp-block-cover {
	margin-bottom: 1.8em;
}
.wp-block-cover-text {
	max-width: 1120px !important;
	margin-left: auto !important;
	margin-right: auto;
	padding-left: 20px !important;
	padding-right: 20px !important;
	width: 100%;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.wp-block-media-text__content {
	margin-bottom: 1.8em;
	margin-top: 1.8em;
}
.wp-block-media-text__content > *:first-child {
	margin-top: 0;
}
.wp-block-media-text__content > *:last-child {
	margin-bottom: 0;
}

/* Columns */
@media screen and (max-width: 781px) {
	.wp-block-column {
		flex-basis: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}
.wp-block-column {
	margin-bottom: 2.7em;
	margin-top: 0.9em;
}
.wp-block-column > *:first-child {
	margin-top: 0;
}
.wp-block-column > *:last-child {
	margin-bottom: 0;
}

/* Latest Posts */
.wp-block-latest-posts {
	border-top: solid 1px #eee;
	list-style: none;
	margin-left: 0;
	padding-top: 1em;
}
.wp-block-latest-posts li {
	border-bottom: solid 1px #eee;
	margin-bottom: 1em;
	padding-bottom: 1em;
}
.wp-block-latest-posts a {
	text-decoration: none;
}
.wp-block-latest-posts__post-date {
	margin-top: 0.3em;
}

/* Button */
.wp-block-button a {
	color: #fff;
	text-decoration: none;
}
.wp-block-button a:hover {
	opacity: 0.9;
}
.wp-block-button__link {
	font-size: 100%;
	padding: 9px 24px;
}

/* Intro */
.intro {
	color: #777;
	font-size: 120%;
}

/* Sub Header */
.subheader {
	color: #4693f5;
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.6em;
	margin-top: 0;
	text-transform: uppercase;
}
.subheader+h1,
.subheader+h2,
.subheader+h3,
.subheader+h4,
.subheader+h5,
.subheader+h6 {
	margin-top: 0;
}

/* Container */
.container-wrapper {
	background-color: #f4f5f6;
	margin-bottom: 6rem;
	margin-top: 6rem;
	padding-bottom: 20px;
	padding-top: 20px;
}
.no-sidebar .container-wrapper {
	width: 100vw;
	margin-left: calc( 50% - 50vw );
	max-width: none;
	padding-bottom: 6rem;
	padding-top: 6rem;
}
.container-content > *:first-child {
	margin-top: 0;
}
.container-content > *:last-child {
	margin-bottom: 0;
}
.container-content > .wp-block-columns:last-child {
	margin-bottom: -2.7em;
}
.no-sidebar .wp-block-columns + .container-wrapper {
	margin-top: 4rem;
}


/* Navigations
------------------------------------------------------------ */

/* Pagination */
.pagination {
	color: #777;
	font-size: 90%;
	margin-bottom: 3rem;
}
.pagination a {
	color: inherit;
	text-decoration: none;
}
.pagination .page-numbers {
	display: none;
	padding: 8px 18px;
	margin-right: 6px;
}
.pagination .prev,
.pagination .next {
	display: inline-block;
}
.pagination .dots {
	padding-left: 10px;
	padding-right: 10px;
}
.pagination a.page-numbers {
	border: solid 1px #eee;
}
.pagination a.page-numbers:hover {
	border-color: #ddd;
	color: #333;
}
.pagination .current {
	background-color: #f4f5f6;
	border: solid 1px #ddd;
	color: #333;
	font-weight: 700;
}
@media screen and (min-width: 640px) {
	.pagination .page-numbers {
		display: inline-block;
	}
}

/* Page Links */
.page-links {
	color: #777;
	clear: both;
	font-size: 90%;
	margin-bottom: 3rem;
	margin-top: 4rem;
}
.page-links .page-numbers {
	background-color: #f4f5f6;
	border: solid 1px #ddd;
	color: #333;
	font-weight: 700;
	padding: 8px 16px;
	margin-left: 4px;
}
.page-links a {
	color: inherit;
	text-decoration: none;
}
.page-links a .page-numbers {
	background-color: transparent;
	border: solid 1px #eee;
	color: #777;
	font-weight: normal;
}
.page-links a .page-numbers:hover {
	border: solid 1px #ddd;
	color: #333;
}

/* Post Navigation */
.post-navigation {
	margin-top: 80px;
	margin-bottom: 0px;
}
.post-navigation a {
	color: inherit;
	text-decoration: none;
}
.post-navigation a:hover {
	color: #111;
}
.post-navigation .nav-previous {
	margin-bottom: 3rem;
}
.post-nav-title {
	color: #999;
	font-size: 80%;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
@media screen and (min-width: 640px) {
	.post-navigation .nav-previous {
		float: left;
		width: 48%;
		margin-bottom: 0;
	}
	.post-navigation .nav-next {
		float: right;
		width: 48%;
		text-align: right;
	}
}

/* Widgets
------------------------------------------------------------ */

/* Base */
.widget {
	color: #666;
	font-size: 90%;
}

/* Heading */
.widget-title {
	color: #333;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
	margin-top: 0;
	text-transform: uppercase;
}

/* Link */
.widget a {
	color: inherit;
	text-decoration: underline;
}
.widget li a {
	text-decoration: none;
}
.widget a:hover {
	color: #111;
}

/* List */
.widget ul {
	list-style: none;
	margin-bottom: 0;
	margin-left: 0;
}
.widget li {
	margin-bottom: 1em;
}
.widget ul ul {
	margin-left: 1em;
	margin-top: 1em;
}

/* Recent Posts */
.widget_recent_entries li {
	margin-bottom: 1.5em;
}
.widget_recent_entries li a {
	border-bottom: solid 1px #ddd;
}
.widget_recent_entries .post-date {
	color: #999;
	display: block;
	font-size: 90%;
	margin-top: 6px;
	text-transform: uppercase;
}

/* Recent Comments */
.widget_recent_comments li {
	margin-bottom: 1.5em;
}
.widget_recent_comments li a {
	border-bottom: solid 1px #ddd;
}

/* Search */
.widget_search input[type="search"] {
	margin-top: 0;
	max-width: 300px;
	width: 100%;
}
.widget_search .search-submit {
	display: none;
}

/* Tag Cloud */
.tagcloud a {
	background-color: #f4f5f6;
	border-radius: 3px;
	display: inline-block;
	font-size: 90% !important;
	margin-bottom: 4px;
	padding: 3px 10px;
	text-decoration: none;
	white-space: nowrap;
}
.tagcloud a:hover {
	color: #111;
}

/* Calendar */
.widget_calendar table {
	font-size: 95%;
	line-height: 36px;
	margin-bottom: 0;
	max-width: 360px;
}
.widget_calendar caption {
	text-transform: uppercase;
}
.widget_calendar td,
.widget_calendar th {
	padding: 0;
	text-align: center;
}
.widget_calendar thead th {
	padding: 2px 0;
}
.widget_calendar tbody td a {
	background-color: #f4f5f6;
	display: block;
	text-decoration: underline;
}
.widget_calendar tbody td a:hover {
	color: #111;
}
.widget_calendar tfoot td {
	border: none;
	padding-top: 10px;
}
.widget_calendar tfoot td a {
	text-decoration: underline;
	text-transform: uppercase;
}
.widget_calendar tfoot td#prev {
	text-align: left;
}
.widget_calendar tfoot td#next {
	text-align: right;
}

/* Menu */
.widget_nav_menu li a {
	border-bottom: none;
}
.widget_nav_menu .current_page_item > a,
.widget_nav_menu .current-menu-item > a {
	color: #111;
	font-weight: 700;
}

/* RSS */
.widget_rss li {
	margin-bottom: 2em;
}
.widget_rss li a {
	border-bottom: solid 1px #ddd;
}
.widget_rss .rss-date,
.widget_rss .rssSummary,
.widget_rss cite {
	color: #999;
	font-size: 90%;
}
.widget_rss .rss-date {
	display: block;
	margin-bottom: 6px;
	margin-top: 6px;
	text-transform: uppercase;
}
.widget_rss .rssSummary {
	margin-bottom: 6px;
}

/* BusinessPress Recent Posts */
.widget_businesspress_recent_posts li {
	margin-bottom: 1.5em;
}
.widget_businesspress_recent_posts li a {
	border-bottom: none;
	display: flex;
}
.recent-posts-thumbnail {
	flex-shrink: 0;
	margin-bottom: 4px;
	margin-right: 16px;
	margin-top: 4px;
	width: 80px;
}
.recent-posts-text .post-date {
	color: #999;
	display: block;
	font-size: 90%;
	margin-top: 6px;
	text-transform: uppercase;
}

/* BusinessPress Featured Posts */
.featured-widget-entry {
	background-color: #333;
	background-position: center;
	background-size: cover;
	display: block;
	height: 180px;
	margin-bottom: 15px;
}
.featured-widget-entry-overlay {
	align-items: center;
	background-color: rgba( 0, 0, 0 ,0.4 );
	display: flex;
	height: 100%;
	width: 100%;
}
.featured-widget-entry-content {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
.featured-widget-entry-title {
	color: rgba( 255, 255, 255, 0.9 );
	font-size: 1.5rem;
	margin: 0;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
.featured-widget-entry-date {
	color: rgba( 255, 255, 255, 0.8 );
	font-size: 85%;
	margin-top: 12px;
	text-shadow: 1px 1px 1px rgba( 0, 0, 0, 0.5 );
}
a.featured-widget-entry {
	text-decoration: none;
}
a.featured-widget-entry .featured-title {
	transition: 0.15s;
}
a.featured-widget-entry:hover .featured-title {
	color: #fff;
}
@media screen and (min-width: 601px) and (max-width: 979px) {
	.widget_businesspress_featured_posts {
		display: flex;
		flex-wrap: wrap;
	}
	.widget_businesspress_featured_posts .widget-title {
		width: 100%;
	}
	.featured-widget-entry {
		margin-bottom: 4%;
		margin-right: 4%;
		width: 48%;
	}
	.featured-widget-entry:nth-child(odd) {
		margin-left: 0;
		margin-right: 0;
	}
}
@media screen and (min-width: 782px) {
	.featured-widget-entry {
		margin-bottom: 15px;
	}
	.featured-widget-entry-title {
		font-size: 1.25rem;
	}
}

/* BusinessPress Profile */
.profilewidget-wrapper {
	align-items: center;
	display: flex;
	margin-bottom: 25px;
}
.profilewidget-profile {
	flex-shrink: 0;
	margin-right: 20px;
	width: 75px;
}
.profilewidget-profile img {
	border-radius: 50%;
	width: 75px;
}
.profilewidget-name {
	font-size: 110%;
}
.profilewidget-name strong {
	color: #333;
	font-weight: 600;
}
.profilewidget-link {
	margin-top: 4px;
}
.profilewidget-link.menu a {
	text-decoration: none;
}


/* Plugins
------------------------------------------------------------ */

/* Jetpack Widgets */
.widget_top-posts ul {
	counter-reset: number;
}
.widget_top-posts li {
	padding-left: 35px;
	padding-top: 12px;
	position: relative;
}
.widget_top-posts li:before {
	background-color: #f0f0f0;
	border-radius: 3px;
	color: #444;
	content: counter(number) !important;
	counter-increment: number;
	font-weight: 400;
	height: 23px;
	left: 0;
	line-height: 23px;
	position: absolute;
	text-align: center;
	text-shadow: 1px 1px 0 #fff;
	top: 13px;
	width: 23px;
}
.widgets-list-layout li {
	margin-bottom: 0 !important;
}
.widgets-list-layout .widgets-list-layout-blavatar {
	margin-right: 12px;
	width: 40px !important;
}
.widgets-list-layout-links {
	float: none !important;
	overflow: hidden;
	width: auto !important;
}
#subscribe-email input {
	margin-top: 0;
	max-width: 320px;
	padding: 0.6em !important;
	width: 100% !important;
}
.jetpack-display-remote-posts h4,
.jetpack-display-remote-posts p {
	font-size: 100% !important;
}
.jetpack-display-remote-posts h4 {
	margin-top: 25px !important;
}
.widget_jetpack_display_posts_widget img {
	margin: 12px 0;
}
.widget-grofile {
	text-align: center;
}
.widget-grofile p,
.widget-grofile h4,
.widget-grofile ul {
	text-align: left;
}
.widget-grofile h4 {
	font-size: 100%;
	font-weight: 600;
}
.grofile-meta h4 {
	font-size: 110%;
	text-align: center;
}
.grofile-thumbnail {
	border-radius: 50%;
	max-width: 200px !important;
}
ul.grofile-urls {
	margin-bottom: 1.8em;
	margin-top: 0;
}

/* Jetpack Sharing */
.sharedaddy {
	margin-top: 3rem;
}

/* Jetpack Related Posts */
#jp-relatedposts {
	margin-bottom: 2rem !important;
	margin-top: 0 !important;
	padding-top: 2rem !important;
}
#jp-relatedposts h3.jp-relatedposts-headline {
	color: #333;
	display: block !important;
	font-size: 1.2rem !important;
	float: none !important;
	letter-spacing: 0.05em;
	margin-bottom: 2rem !important;
	text-align: center;
	text-transform: uppercase;
}
#jp-relatedposts h3.jp-relatedposts-headline em:before {
	content: none !important;
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
	margin-bottom: 2rem !important;
	transition: opacity .2s ease-in-out;
}
#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post {
	opacity: 1 !important;
}
#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img {
	margin-bottom: 1rem;
}
#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
	font-size: 15px !important;
	line-height: 1.8 !important;
	margin-bottom: 12px !important;
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a {
	color: inherit !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a,
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover {
	color: #111;
	text-decoration: none !important;
}
#jp-relatedposts .jp-relatedposts-items p {
	color: #999;
	font-size: 85% !important;
	margin-bottom: 8px !important;
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context, #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date {
	opacity: 1 !important;
}
@media only screen and (max-width: 400px) {
	#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
		width: 100% !important;
		clear: both !important;
	}
}
@media only screen and (max-width: 640px) {
	#jp-relatedposts .jp-relatedposts-items-visual {
		margin-right: -20px !important; 
	}
}

/* Jetpack Stats */
#wpstats {
	display: none;
}

/* Contact Form 7 */
div.wpcf7-response-output {
	font-size: 95%;
	margin: 2em 0 1em;
	padding: 0.8em 1em;
	border: 2px solid #cf2e2e;
}
div.wpcf7-mail-sent-ok {
	border: 2px solid #00d084;
}
div.wpcf7-mail-sent-ng,
div.wpcf7-aborted {
	border: 2px solid #cf2e2e;
}
div.wpcf7-spam-blocked {
	border: 2px solid #ff6900;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
	border: 2px solid #fcb900;
}
span.wpcf7-not-valid-tip {
	color: red;
	font-size: 1.4rem;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: red;
    background: #ffffc2;
    color: red;
}
/* Disqus */
#disqus_thread {
	margin-bottom: 60px;
}


/* Print
------------------------------------------------------------ */

@media print {
	html, body {
		background: none !important;
		color: #000 !important;
		font-size: 10pt !important;
	}
	.main-header-clone,
	.drawer-hamburger,
	.featured-post,
	.widget,
	.comments-area .comment-edit-link,
	.comments-area .reply,
	.comment-respond,
	.navigation,
	.sidebar-area,
	.footer-widget-area,
	.footer-menu,
	.back-to-top {
		display: none !important;
	}
	.main-header-content,
	.site-content {
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}
	.site-bottom,
	.site-bottom a {
		color: #000;
	}
}

/*--------------------------------------------------------------*/
/* R-1 CrossFit ルート設定（font-size 62.5% = 1rem:10px） */
/*--------------------------------------------------------------*/
html,
html:lang(ja) {
	font-size: 62.5% !important; /* 1rem = 10px businesspress標準の可変ルートサイズを上書き */
}
:root {
	--r1-navy: #0A1628;
	--r1-navy-mid: #1C2B45;
	--r1-gold: #B8965A;
	--r1-gold-l: #E8D5B0;
	--r1-off: #F8F7F4;
	--r1-border: #E2DDD4;
	--r1-text: #1A1A1A;
	--r1-muted: #666560;
	--r1-sub: #999690;
	--r1-disp: 'Cormorant Garamond', serif;
}

/*--------------------------------------------------------------*/
/* セクション余白ユーティリティ（参考CSS準拠） */
/*--------------------------------------------------------------*/
.pd_std_ss {
	padding-top: 60px;
	padding-bottom: 60px;
}
.pd_std_s {
	padding-top: 90px;
	padding-bottom: 90px;
}
.pd_std {
	padding-top: 110px;
	padding-bottom: 110px;
}
.pd_std_l {
	padding-top: 140px;
	padding-bottom: 140px;
}
.pd_std.bzero,
.pd_std_s.bzero {
	padding-bottom: 0px;
}
.pd_std.tzero,
.pd_std_s.tzero {
	padding-top: 0px;
}
/* 1440 */
@media (max-width: 1440px) {
	.pd_std_ss {
		padding-top: max(4.167vw, 40px); //60px;
		padding-bottom: max(4.167vw, 40px); //60px;
	}
	.pd_std_s {
		padding-top: max(6.25vw, 60px); //90px;
		padding-bottom: max(6.25vw, 60px); //90px;
	}
	.pd_std {
		padding-top: max(7.639vw, 70px); //110px;
		padding-bottom: max(7.639vw, 70px); //110px;
	}
	.pd_std_l {
		padding-top: max(9.722vw, 80px); //140px;
		padding-bottom: max(9.722vw, 80px); //140px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 */
/*--------------------------------------------------------------*/
p.center {
	text-align: center;
}

/* pc tb sp view */
.sp_view {
	display: none;
}
.tb_view {
	display: none;
}
/* 768 */
@media (max-width: 768px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	.sp_view {
		display: block;
	}
	.sp_none {
		display: none!important;
	}
}

/*--------------------------------------------------------------*/
/* パララックス */
/*--------------------------------------------------------------*/
.mv_left,
.mv_right,
.mv_up,
.mv_down,
.mv_bk {
	position: relative;
}
.mv_left {
	opacity: 0;
	left: -40px;
}
.mv_right {
	opacity: 0;
	right: -40px;
}
.mv_up {
	opacity: 0;
	top: 40px;
}
.mv_down {
	opacity: 0;
	top: -40px;
}
.mv_fade {
	opacity: 0;
	transition: opacity 1.2s;
}
.mv_fade.cb_ani {
	opacity: 1;
}
.fade_up {
	transition-duration: 1.2s;
	transform: translate3d(0,40px,0);
	opacity: 0;
	transition-property: opacity,transform;
}
.fade_up.cb_ani {
	opacity: 1;
	transform: translateZ(0);
}
/* custom */
.custom {
	transition-duration: 1.2s;
	opacity: 0;
	transition-property: opacity,transform
}
/* c1 */
.custom.c1 {
	transform: translateY(0)!important;
}
.custom.c1.cb_ani {
	opacity: 1;
	transform: translateY(-60%)!important;
}

/*--------------------------------------------------------------*/
/* HOME：site-content の標準レイアウトを無効化 */
/*--------------------------------------------------------------*/
body.home #content.site-content,
body.page-template-front-page #content.site-content {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
/* 共通 .content ラッパー（参考CSS準拠） */
/*--------------------------------------------------------------*/
.content {
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.content.wide {
	max-width: 1560px;
}
.content.narrow {
	max-width: 840px;
}
.content.normal {
	max-width: 1240px;
}
body:not(.home) .flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
#FrontPage {
	font-family: "noto-sans-cjk-jp", "Noto Sans JP", "游ゴシック Medium", YuGothic, sans-serif;
	color: var(--r1-text);
	background: #fff;
}
#FrontPage .eng1 {
	font-family: var(--r1-disp);
	letter-spacing: .04em;
}
#FrontPage .gold_rule {
	height: 1px;
	background: var(--r1-gold);
	opacity: .3;
}
#FrontPage .more_gold {
	font-size: 1.2rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--r1-gold);
	transition: .3s ease;
}
body.is-pc #FrontPage .more_gold:hover {
	opacity: .7;
}
/* セクション見出し */
#FrontPage .sec_head {
	text-align: center;
	margin-bottom: 5rem;
}
#FrontPage .sec_head .eng1 {
	display: block;
	font-size: 6rem;
	font-weight: 300;
	color: var(--r1-navy);
	line-height: 1;
}
#FrontPage .sec_head h2 {
	font-size: 1.6rem;
	letter-spacing: .2em;
	color: var(--r1-gold);
	margin-top: .6rem;
}
#FrontPage .sec_head p.lead {
	font-size: 1.5rem;
	line-height: 2;
	color: var(--r1-muted);
	max-width: 67ch;
	margin: 2rem auto 0;
}
/* 580 */
@media (max-width: 580px) {
	#FrontPage .sec_head .eng1 {
		font-size: 4rem;
	}
	#FrontPage .sec_head h2 {
		font-size: 1.4rem;
		letter-spacing: 0em;
	}
}

/*--------------------------------------------------------------*/
/* FRONT #Mv ヒーロー（フルサイズ） */
/*--------------------------------------------------------------*/
#Mv * {
	box-sizing: border-box;
}
#Mv .flex {
	display: flex;
	min-height: 62rem;
}
#Mv ._left {
	width: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8rem 6rem;
	background: #fff;
}
#Mv ._left .eyebrow {
	font-size: 1.9rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--r1-gold);
	font-style: italic;
	margin-bottom: 1.8rem;
}
#Mv ._left h1 {
	font-size: 5.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--r1-navy);
	letter-spacing: .02em;
	margin-bottom: 2.4rem;
}
#Mv ._left p.lead {
	font-size: 1.6rem;
	line-height: 2;
	color: var(--r1-muted);
	max-width: 34ch;
	margin-bottom: 3.2rem;
}
#Mv ._left .btns {
	display: flex;
	align-items: center;
	column-gap: 2.4rem;
	row-gap: 1.2rem;
	flex-wrap: wrap;
}
#Mv a.btn_dark {
	display: inline-flex;
	align-items: center;
	column-gap: 1.2rem;
	background: var(--r1-navy);
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .08em;
	padding: 1.5rem 3.2rem;
	transition: .3s ease;
}
#Mv a.btn_dark span {
	color: var(--r1-gold);
}
body.is-pc #Mv a.btn_dark:hover {
	background: var(--r1-gold);
}
body.is-pc #Mv a.btn_dark:hover span {
	color: #fff;
}
#Mv a.btn_link {
	font-size: 1.3rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--r1-muted);
	transition: .3s ease;
}
#Mv a.btn_link:hover {
	color: var(--r1-gold);
}
#Mv ._right {
	width: 60%;
	position: relative;
	background: var(--r1-navy-mid);
	overflow: hidden;
}
#Mv ._right img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 1240 */
@media (max-width: 1240px) {
	#Mv ._left {
		padding: max(4.84vw, 4rem) max(4.84vw, 3rem);
	}
	#Mv ._left h1 {
		font-size: max(3.84vw, 3.8rem);
		//5.6rem;
	}
}
/* 768 */
@media (max-width: 768px) {
	#Mv .flex {
		flex-direction: column;
	}
	#Mv ._left,
	#Mv ._right {
		width: 100%;
	}
	#Mv ._left {
		padding: 5rem 2.4rem;
	}
	#Mv ._right {
		height: 38rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	#Mv a.btn_dark {
		column-gap: 1.0rem;
		font-size: 1.3rem;
		letter-spacing: .05em;
		padding: 1.2rem 2.0rem;
	}
}

/*--------------------------------------------------------------*/
/* FRONT #About（1440） */
/*--------------------------------------------------------------*/
#About .flex {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	column-gap: 5rem;
	row-gap: 3rem;
}
#About ._img,
#About ._txt {
	width: 50%;
}
#About ._img figure {
	width: 100%;
	aspect-ratio: 4 / 5;
	background: var(--r1-navy-mid);
	position: relative;
	overflow: hidden;
}
#About ._img figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#About ._img figure::after {
	content: '';
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	width: 3.5rem;
	height: 3.5rem;
	border-right: 1px solid var(--r1-gold);
	border-bottom: 1px solid var(--r1-gold);
	opacity: .6;
}
#About .tag {
	display: inline-block;
	font-size: 1.1rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	background: var(--r1-gold-l);
	color: #9a7b42;
	padding: .4rem 1rem;
	margin-bottom: 1.6rem;
}
#About .sec_eyebrow {
	font-size: 1.3rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--r1-gold);
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	column-gap: 1rem;
}
#About .sec_eyebrow::before {
	content: '';
	width: 2.8rem;
	height: 1px;
	background: var(--r1-gold);
}
#About ._txt h2 {
	font-family: var(--r1-disp);
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.25;
	color: var(--r1-navy);
	margin-bottom: 1.8rem;
}
#About ._txt h2 em {
	font-style: italic;
	color: var(--r1-gold);
}
#About ._txt p.body {
	font-size: 1.5rem;
	line-height: 2.1;
	color: var(--r1-muted);
}
/* 768 */
@media (max-width: 768px) {
	#About .flex {
		flex-direction: column;
	}
	#About ._img,
	#About ._txt {
		width: 100%;
	}
	#About ._txt h2 {
		font-size: 3rem;
	}
}
/*--------------------------------------------------------------*/
/* FRONT #Service 事業内容（1440） */
/*--------------------------------------------------------------*/
#Service {
	background: var(--r1-off);
}
#Service .stores {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	margin-bottom: 3rem;
}
#Service .store {
	background: #fff;
	border: 1px solid var(--r1-border);
}
#Service .store figure {
	width: 100%;
	aspect-ratio: 16 / 10;
	background: var(--r1-navy-mid);
	overflow: hidden;
}
#Service .store figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#Service .store .box {
	padding: 3rem 2.6rem;
}
#Service .store .no {
	font-family: var(--r1-disp);
	font-size: 1.4rem;
	letter-spacing: .06em;
	color: var(--r1-gold);
}
#Service .store h3 {
	font-family: var(--r1-disp);
	font-size: 2.6rem;
	font-weight: 400;
	color: var(--r1-navy);
	margin: .4rem 0 1rem;
}
#Service .store p {
	font-size: 1.4rem;
	line-height: 1.9;
	color: var(--r1-muted);
	margin-bottom: 1.8rem;
}
#Service .programs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
#Service .programs li {
	background: #fff;
	border: 1px solid var(--r1-border);
	border-left: 3px solid var(--r1-gold-l);
	padding: 2.6rem 2.2rem;
}
body.is-pc #Service .programs li:hover {
	border-left-color: var(--r1-gold);
	box-shadow: 0 6px 30px rgba(184,150,90,.12);
}
#Service .programs .icon {
	width: 4.8rem;
	height: 4.8rem;
	border: 1px solid var(--r1-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
	color: var(--r1-gold);
	margin-bottom: 1.6rem;
}
#Service .programs h3 {
	font-family: var(--r1-disp);
	font-size: 1.9rem;
	font-weight: 400;
	color: var(--r1-navy);
	margin-bottom: .8rem;
}
#Service .programs p {
	font-size: 1.4rem;
	line-height: 1.9;
	color: var(--r1-muted);
}
/* 768 */
@media (max-width: 768px) {
	#Service .stores,
	#Service .programs {
		grid-template-columns: 1fr;
	}
}
/*--------------------------------------------------------------*/
/* FRONT #Reason 選ばれる理由 */
/*--------------------------------------------------------------*/
#Reason {
	background: var(--r1-navy);
}
#Reason .sec_head .eng1 {
	color: #fff;
}
#Reason ul.grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: rgba(255,255,255,.1);
}
#Reason ul.grid li {
	background: var(--r1-navy);
	padding: 3.2rem 2.8rem;
	display: flex;
	column-gap: 2rem;
	align-items: flex-start;
}
#Reason .no {
	font-family: var(--r1-disp);
	font-size: 3.2rem;
	font-weight: 300;
	color: var(--r1-gold);
	line-height: 1;
}
#Reason h3 {
	font-size: 1.8rem;
	color: #fff;
	margin-bottom: .8rem;
}
#Reason p {
	font-size: 1.4rem;
	line-height: 1.9;
	color: rgba(255,255,255,.55);
}
/* 768 */
@media (max-width: 768px) {
	#Reason ul.grid {
		grid-template-columns: 1fr;
	}
}
/*--------------------------------------------------------------*/
/* FRONT #News お知らせ */
/*--------------------------------------------------------------*/
#News .head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 1.2rem;
	margin-bottom: 3rem;
}
#News .head .eng1 {
	display: block;
	font-size: 6rem;
	font-weight: 300;
	color: var(--r1-navy);
	line-height: 1;
}
#News .head h2 {
	font-size: 1.6rem;
	letter-spacing: .2em;
	color: var(--r1-gold);
	margin-top: .6rem;
}
#News ul.list {
	border-top: 1px solid var(--r1-border);
}
#News ul.list li a {
	display: grid;
	grid-template-columns: 12rem 9rem 1fr auto;
	align-items: center;
	column-gap: 2rem;
	padding: 2rem 1.0rem;
	border-bottom: 1px solid var(--r1-border);
	color: var(--r1-text);
	transition: .3s ease;
}
body.is-pc #News ul.list li a:hover {
	background: var(--r1-off);
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
#News .date {
	font-size: 1.8rem;
	color: var(--r1-navy);
	letter-spacing: .06em;
}
#News .cat {
	justify-self: start;
	font-size: 1.1rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: var(--r1-navy);
	color: #fff;
	padding: .3rem .8rem;
}
#News .cat.is_new {
	background: var(--r1-gold);
}
#News .ttl {
	font-size: 1.5rem;
	line-height: 1.6;
}
#News .arrow {
	font-size: 1.6rem;
	color: var(--r1-gold);
}
/* 768 */
@media (max-width: 768px) {
	#News ul.list li a {
		grid-template-columns: auto 1fr;
		row-gap: .4rem;
	}
	#News .cat,
	#News .arrow {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#News .head .eng1 {
		font-size: 4rem;
	}
}

/*--------------------------------------------------------------*/
/* FOOTER CONTACT 追加（電話・SNS） */
/*--------------------------------------------------------------*/
.site-footer .f_header .rr {
	font-family: var(--r1-disp);
}
.site-footer ul li a .tel {
	font-family: var(--r1-disp);
	font-size: 2.8rem;
	letter-spacing: .04em;
	color: var(--r1-gold-l);
	display: block;
}
.site-footer ul.foot_sns {
	display: flex;
	justify-content: center;
	column-gap: 2.4rem;
	margin-top: 2.4rem;
}
.site-footer ul.foot_sns li a {
	font-size: 1.3rem;
	letter-spacing: .08em;
	color: #fff;
	transition: .3s ease;
}
body.is-pc .site-footer ul.foot_sns li a:hover {
	color: var(--r1-gold);
}
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/* R-1 セクション内リセット（標準テーマの余白・リストを打ち消し） */
/*--------------------------------------------------------------*/
#r1-header h1,
#r1-header h2,
#r1-header ul,
#r1-header li,
#r1-header p,
#r1-footer h1,
#r1-footer h2,
#r1-footer ul,
#r1-footer li,
#r1-footer p,
#r1-footer dl,
#r1-footer dt,
#r1-footer dd,
#r1-footer address,
#FrontPage h1,
#FrontPage h2,
#FrontPage h3,
#FrontPage ul,
#FrontPage ol,
#FrontPage li,
#FrontPage p {
	margin: 0;
	padding: 0;
}
#r1-header ul,
#r1-footer ul,
#FrontPage ul,
#r1-header ol,
#FrontPage ol {
	list-style: none;
}
#r1-footer dd {
	margin: 0;
}
#r1-footer address {
	font-style: normal;
}
/* グローバルメニュー：wp_nav_menu 出力を左揃え・横並びに強制 */
#r1-header .main-navigation ul {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}
/* R-1 リンク共通（下線リセット） */
/*--------------------------------------------------------------*/
#r1-header a,
#r1-footer a,
#FrontPage a {
	text-decoration: none;
}
/* is-pc が付かない環境でも hover を効かせるフォールバック */
@media (hover: hover) {
	#r1-header .main-navigation a:hover {
		color: var(--r1-navy);
		border-bottom-color: var(--r1-gold);
	}
	#r1-header .r1-hd-btn:hover {
		opacity: .85;
	}
	#r1-footer .r1-foot-col a:hover {
		color: var(--r1-gold);
	}
	#r1-footer .r1-contact-btns li:first-child a:hover {
		opacity: .85;
	}
	#FrontPage .more_gold:hover {
		opacity: .7;
	}
	#Service .programs li:hover {
		border-left-color: var(--r1-gold);
		box-shadow: 0 6px 30px rgba(184,150,90,.12);
	}
	#News ul.list li a:hover {
		background: var(--r1-off);
	}
}
/* R-1 #r1-header ヘッダー */
/*--------------------------------------------------------------*/
#r1-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	border-top: 4px solid var(--r1-gold);
	border-bottom: 1px solid var(--r1-border);
}
#r1-header .r1-hd-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 8rem;
	padding: 0 3rem;
}
#r1-header .r1-logo {
	font-family: var(--r1-disp);
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: .14em;
	color: var(--r1-navy);
	text-transform: uppercase;
	line-height: 1;
}
#r1-header .r1-logo .site-description {
	display: block;
	font-size: .9rem;
	letter-spacing: .22em;
	color: var(--r1-gold);
	font-family: "Noto Sans JP", sans-serif;
	margin-top: .4rem;
}
#r1-header .main-navigation {
	margin-left: auto;
}
#r1-header .main-navigation ul {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
#r1-header .main-navigation li {
	margin: 0;
}
#r1-header .main-navigation a {
	display: block;
	padding: 0 1.4rem;
	height: 8rem;
	line-height: 8rem;
	font-size: 1.3rem;
	letter-spacing: .08em;
	color: var(--r1-muted);
	border-bottom: 2px solid transparent;
	transition: .3s ease;
}
body.is-pc #r1-header .main-navigation a:hover,
#r1-header .main-navigation .current-menu-item > a,
#r1-header .main-navigation .current_page_item > a {
	color: var(--r1-navy);
	border-bottom-color: var(--r1-gold);
}
#r1-header .r1-hd-btn {
	flex-shrink: 0;
	background: var(--r1-gold);
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: .08em;
	padding: 1.1rem 2rem;
	margin-left: 1.6rem;
	transition: .3s ease;
}
body.is-pc #r1-header .r1-hd-btn:hover {
	opacity: .85;
}
#r1-header .r1-burger {
	display: none;
	flex-direction: column;
	row-gap: .5rem;
	background: none;
	border: none;
	cursor: pointer;
	padding: .8rem;
}
#r1-header .r1-burger span {
	display: block;
	width: 2.4rem;
	height: 2px;
	background: var(--r1-navy);
}
/* drawer */
#r1-header .r1-drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(10,22,40,.5);
	z-index: 200;
	display: none;
}
#r1-header .r1-drawer-overlay.is-open {
	display: block;
}
#r1-header .r1-drawer {
	position: absolute;
	top: 0;
	right: 0;
	width: 78%;
	max-width: 34rem;
	height: 100%;
	background: #fff;
	padding: 2.5rem 2rem;
}
#r1-header .r1-drawer-close {
	display: block;
	margin-left: auto;
	margin-bottom: 1rem;
	background: none;
	border: none;
	font-size: 2.4rem;
	color: var(--r1-navy);
	cursor: pointer;
	line-height: 1;
}
#r1-header .r1-drawer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#r1-header .r1-drawer a {
	display: block;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--r1-border);
	color: var(--r1-navy);
	font-size: 1.5rem;
	letter-spacing: .08em;
}
/* 下層ページヘッダー */
.r1-pagehead {
	background: #fff;
	padding: 5rem 0;
	border-bottom: 1px solid var(--r1-border);
	text-align: center;
}
.r1-pagehead .eng1 {
	display: block;
	font-family: var(--r1-disp);
	font-size: 1.6rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--r1-gold);
}
.r1-pagehead h1 {
	font-family: var(--r1-disp);
	font-size: 3.6rem;
	font-weight: 300;
	color: var(--r1-navy);
	margin-top: .4rem;
}
/* 940 */
@media (max-width: 940px) {
	#r1-header .main-navigation,
	#r1-header .r1-hd-btn {
		display: none;
	}
	#r1-header .r1-burger {
		display: flex;
	}
}
/* 580 */
@media (max-width: 580px) {
	.r1-pagehead h1 {
		font-size: 2.8rem;
	}
	#r1-header .r1-hd-inner {
		padding: 0 1.6rem;
		height: 6.4rem;
	}
	#r1-header .r1-logo {
		font-size: 2rem;
	}
}
/*--------------------------------------------------------------*/
/* R-1 #r1-footer フッター */
/*--------------------------------------------------------------*/
#r1-footer {
	background: var(--r1-navy);
	color: #fff;
}
#r1-footer .content {
	max-width: 1440px;
}
#r1-footer .r1-contact {
	border-bottom: 1px solid rgba(255,255,255,.08);
	text-align: center;
	padding: 6rem 0;
}
#r1-footer .r1-contact .f_header .rr {
	font-family: var(--r1-disp);
	font-size: 5rem;
	font-weight: 300;
	letter-spacing: .08em;
	color: #fff;
	line-height: 1;
}
#r1-footer .r1-contact .f_header .jp {
	display: block;
	font-size: 1.3rem;
	letter-spacing: .2em;
	color: var(--r1-gold);
	margin-top: .6rem;
}
#r1-footer .r1-contact-btns {
	list-style: none;
	margin: 3rem auto;
	padding: 0;
	max-width: 52rem;
	display: flex;
	flex-direction: column;
	row-gap: 1.2rem;
}
#r1-footer .r1-contact-btns li a {
	display: block;
	padding: 1.6rem;
	font-size: 1.5rem;
	letter-spacing: .08em;
}
#r1-footer .r1-contact-btns li a span.tel::before {
	content: "\f095";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	margin-right: 6px;
	vertical-align: middle;
	font-size: 77%;
}
#r1-footer .r1-contact-btns li:first-child a {
	background: var(--r1-gold);
	color: #fff;
	transition: .3s ease;
}
#r1-footer .r1-contact-btns li:nth-child(2) a {
	transition: .3s ease;
}
#r1-footer .r1-contact-btns li:nth-child(2) a:hover {
	background: #172944;
}
body.is-pc #r1-footer .r1-contact-btns li:first-child a:hover {
	opacity: .85;
}
#r1-footer .r1-contact-btns li:last-child a {
	border: 1px solid rgba(255,255,255,.3);
	color: #fff;
}
#r1-footer .r1-contact-btns .txt {
	display: block;
	font-size: 1.4rem;
}
#r1-footer .r1-contact-btns .tel {
	font-family: var(--r1-disp);
	font-size: 2.8rem;
	letter-spacing: .04em;
	color: var(--r1-gold-l);
}
#r1-footer .r1-contact address dl {
	color: rgba(255,255,255,.6);
	font-size: 1.4rem;
	line-height: 2;
}
#r1-footer .r1-contact address dt {
	font-weight: 700;
	color: #fff;
	font-size: 1.7rem;
	letter-spacing: .06em;
	margin-bottom: .6em;
}
#r1-footer .r1-foot-main .content {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 3rem;
	padding-top: 5rem;
	padding-bottom: 3rem;
}
#r1-footer .r1-foot-logo {
	font-family: var(--r1-disp);
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: .14em;
	color: #fff;
	display: block;
}
#r1-footer .r1-foot-logo img {
	filter: drop-shadow(3px 3px 1px rgba(0,0,0,0.7));
}
#r1-footer .r1-foot-logo small {
	display: block;
	font-size: .9rem;
	letter-spacing: .2em;
	color: var(--r1-gold);
	font-family: "Noto Sans JP", sans-serif;
}
#r1-footer .r1-foot-brand p {
	font-size: 1.3rem;
	line-height: 1.9;
	color: rgba(255,255,255,.45);
	margin-top: 1.4rem;
	max-width: 26ch;
}
#r1-footer .r1-foot-col > p {
	font-family: var(--r1-disp);
	font-size: 1.4rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--r1-gold);
	margin-bottom: 1.4rem;
	padding-bottom: .8rem;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
#r1-footer .r1-foot-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	row-gap: .9rem;
}
#r1-footer .r1-foot-col a {
	font-size: 1.3rem;
	color: rgba(255,255,255,.5);
	transition: .3s ease;
}
body.is-pc #r1-footer .r1-foot-col a:hover {
	color: var(--r1-gold);
}
#r1-footer .r1-foot-bottom .content {
	padding: 1.6rem 20px;
	border-top: 1px solid rgba(255,255,255,.08);
}
#r1-footer .r1-foot-bottom p {
	font-size: 1.1rem;
	color: rgba(255,255,255,.3);
	letter-spacing: .06em;
}
/* 768 */
@media (max-width: 768px) {
	#r1-footer .r1-foot-main .content {
		grid-template-columns: 1fr 1fr;
	}
}
/* 580 */
@media (max-width: 580px) {
	#r1-footer .r1-contact {
		padding: 4rem 0;
	}
	#r1-footer .r1-foot-main .content {
		grid-template-columns: 1fr;
	}
	#r1-footer .r1-contact .f_header .rr {
		font-size: 4rem;
	}
}

/*--------------------------------------------------------------*/
/* 下層ページ 共通（ページヘッダー／本文 entry-content） */
/*--------------------------------------------------------------*/
/* ページヘッダー */
#r1-header .r1-pagehead {
	text-align: center;
	padding: 8rem 0;
	border-bottom: 1px solid var(--r1-border);
}
#r1-header .r1-pagehead .eng1 {
	display: block;
	font-size: 1.3rem;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--r1-gold);
	margin-bottom: 1.4rem;
}
#r1-header .r1-pagehead h1 {
	font-family: "Noto Serif JP", serif;
	font-size: 4rem;
	font-weight: 400;
	color: var(--r1-navy);
	letter-spacing: .08em;
	line-height: 1.2;
}
/* 580 */
@media (max-width: 580px) {
	#r1-header .r1-pagehead {
		padding: 5rem 0;
	}
	#r1-header .r1-pagehead h1 {
		font-size: 3.2rem;
	}
}

/* 本文 entry-content（全下層ページ共通） */
.pd_std.first {
	padding-bottom: 0;
}
.pd_std.alt {
	background: var(--r1-off);
}
.entry-content {
	font-size: 1.6rem;
	line-height: 2;
	color: #444;
}
.entry-content p {
	margin: 0;
}
.entry-content > * + * {
	margin-top: 2.4rem;
}
.entry-content h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	font-weight: 400;
	color: var(--r1-navy);
	text-align: center;
	letter-spacing: .06em;
	margin-top: 7rem;
	padding-bottom: 2rem;
	position: relative;
}
.entry-content h2:first-child {
	margin-top: 0;
}
.entry-content h2::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 4rem;
	height: 2px;
	background: var(--r1-gold);
}
.entry-content h2 + p.catch {
	margin-top: 2.8rem;
}
.entry-content h2 .en {
	display: block;
	font-family: var(--r1-disp);
	font-size: 1.6rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--r1-gold);
	margin-bottom: 1rem;
}
.entry-content p.catch {
	font-size: 1.7rem;
	line-height: 2;
	color: #555;
}
.entry-content p.catch.center {
	text-align: center;
	max-width: 40em;
	margin-left: auto;
	margin-right: auto;
}
.entry-content strong {
	font-weight: 700;
	color: var(--r1-navy);
}
.entry-content a:not(.btn) {
	color: #9a7b42;
	text-decoration: underline;
	text-underline-offset: .3em;
}
.entry-content ul:not(.stores_full) {
	padding-left: 0;
	list-style: none;
}
.entry-content ul:not(.stores_full) > li {
	position: relative;
	padding-left: 2rem;
}
.entry-content ul:not(.stores_full) > li::before {
	content: '';
	position: absolute;
	left: .2rem;
	top: 1.2rem;
	width: .7rem;
	height: .7rem;
	background: var(--r1-gold);
}
.entry-content ul:not(.stores_full) > li + li {
	margin-top: 1rem;
}
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.5rem;
}
.entry-content table th,
.entry-content table td {
	border-bottom: 1px solid var(--r1-border);
	padding: 1.6rem 1rem;
	text-align: left;
	vertical-align: top;
}
.entry-content table th {
	width: 28%;
	color: var(--r1-navy);
	font-weight: 500;
	background: var(--r1-off);
}
.entry-content img {
	width: 100%;
}
.entry-content .lp_cta {
	text-align: center;
	margin-top: 7rem;
}
.entry-content .lp_cta a {
	display: inline-block;
	background: var(--r1-navy);
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .08em;
	padding: 1.7rem 4.4rem;
	transition: .3s ease;
}
body.is-pc .entry-content .lp_cta a:hover {
	background: var(--r1-gold);
}
/* 580 */
@media (max-width: 580px) {
	.entry-content h2 {
		font-size: 2.2rem;
	}
}

/*--------------------------------------------------------------*/
/* 運営事業 */
/*--------------------------------------------------------------*/
body.business .content {
	max-width: 1040px;
}
body.business ul {
	list-style: none;
	margin: 0;
}
body.business .entry-content ul.stores_full {
	list-style: none;
	padding: 0;
	margin-top: 6rem;
	display: flex;
	flex-direction: column;
	row-gap: 10rem;
}
body.business .entry-content ul.stores_full > li {
	margin: 0;
	border: 1px solid var(--r1-border);
	background: #fff;
	overflow: hidden;
}
body.business .stores_full figure.st_hero {
	margin: 0;
	aspect-ratio: 281 / 177;
	overflow: hidden;
	background: var(--r1-navy-mid);
}
body.business .stores_full figure.st_hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.business .st_lower {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
}
body.business .st_body {
	padding: 3.8rem 3.6rem;
}
body.business .st_en {
	font-family: var(--r1-disp);
	font-size: 1.4rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--r1-gold);
}
body.business .st_jp {
	font-family: "Noto Serif JP", serif;
	font-size: 2.4rem;
	font-weight: 500;
	color: var(--r1-navy);
	margin: .4rem 0 1.8rem;
	padding: 0;
	border: none;
	line-height: 1.4;
}
body.business .st_lead {
	font-size: 1.45rem;
	line-height: 1.95;
	color: var(--r1-muted);
	margin-bottom: 2.6rem;
}
body.business .st_meta {
	margin-bottom: 2.6rem;
}
body.business .st_meta .row {
	display: flex;
	column-gap: 1.4rem;
	padding: 1.2rem 0;
	border-bottom: 1px solid #F0EDE7;
}
body.business .st_meta .row:first-child {
	border-top: 1px solid #F0EDE7;
}
body.business .st_meta dt {
	flex-shrink: 0;
	width: 4.5em;
	font-size: 1.2rem;
	letter-spacing: .1em;
	color: var(--r1-gold);
	font-weight: 500;
	padding-top: .3rem;
}
body.business .st_meta dd {
	margin: 0;
	font-size: 1.45rem;
	color: var(--r1-text);
	line-height: 1.7;
}
body.business .st_links {
	display: flex;
	column-gap: 1.2rem;
	row-gap: 1.2rem;
	flex-wrap: wrap;
}
body.business .st_links a {
	display: inline-flex;
	align-items: center;
	column-gap: .7rem;
	font-size: 1.3rem;
	letter-spacing: .06em;
	padding: 1.2rem 2.2rem;
	border: 1px solid var(--r1-navy);
	color: var(--r1-navy);
	text-decoration: none;
	transition: .3s ease;
}
body.is-pc.business .st_links a:hover {
	background: var(--r1-navy);
	color: #fff;
}
body.business .st_links a.ig {
	border-color: var(--r1-gold);
	color: #9a7b42;
}
body.is-pc.business .st_links a.ig:hover {
	background: var(--r1-gold);
	color: #fff;
}
body.business .st_map {
	position: relative;
	min-height: 36rem;
	background: #EDEAE3;
}
body.business .st_map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/* 事業の特徴 */
body.business p.toku.catch {
	margin-bottom: 40px;
}
/* 768 */
@media (max-width: 768px) {
	body.business .st_lower {
		grid-template-columns: 1fr;
	}
	body.business .st_map {
		min-height: 28rem;
	}
}

/*--------------------------------------------------------------*/
/* 会社概要ページ専用（body.about｜MESSAGE／HISTORY／ACCESS） */
/*--------------------------------------------------------------*/
/* セクション枠 */
body.about .pd_std.first {
	padding-bottom: 0;
}
body.about .content {
	max-width: 940px;
}
/* MESSAGE */
body.about .msg {
	display: grid;
	grid-template-columns: 0.8fr 1.4fr;
	column-gap: 6rem;
	align-items: start;
	margin-top: 4.5rem;
}
body.about .msg_img {
	aspect-ratio: 3 / 4;
	background: var(--r1-navy-mid);
	overflow: hidden;
}
body.about .msg_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.about .msg_lead {
	font-family: "Noto Serif JP", serif;
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.9;
	color: var(--r1-navy);
	letter-spacing: .02em;
	margin-bottom: 2.4rem;
}
body.about .msg_body p {
	font-size: 1.5rem;
	line-height: 2.1;
	color: #555;
}
body.about .msg_body p.msg_sign {
	text-align: right;
}
body.about .msg_body p + p {
	margin-top: 1.8rem;
}
body.about .msg_sign {
	margin-top: 3rem;
	font-size: 1.4rem;
	color: var(--r1-navy);
}
body.about .msg_sign strong {
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 500;
	margin-left: .8rem;
	letter-spacing: .04em;
}
/* 768 */
@media (max-width: 768px) {
	#message p.img img {
		max-width: 320px;
		width: 60%;
		margin: 0 auto;
		display: block;
	}
	#message p.msg_sign {
		text-align: center;
	}
}

/* COMPANY */
#company .content {
	max-width: 740px;
}
body.about table tr:nth-child(1) th,
body.about table tr:nth-child(1) td {
	border-top: none;
}
body.about table th,
body.about table td {
	border-left: none;
	border-right: none;
}
/* HISTORY */
body.about .history {
	list-style: none;
	margin: 4.5rem auto 0;
	padding: 0;
	max-width: 760px;
}
body.about .history li {
	display: grid;
	grid-template-columns: 11rem 1fr;
	column-gap: 2.4rem;
	padding: 2.4rem 0;
	border-top: 1px solid var(--r1-border);
}
body.about .history li:last-child {
	border-bottom: 1px solid var(--r1-border);
}
body.about .history li::before {
	content: none;
}
body.about .history .year {
	font-family: var(--r1-disp);
	font-size: 2.4rem;
	color: var(--r1-gold);
	line-height: 1.2;
}
body.about .history .ev h4 {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--r1-navy);
	margin-top: 0;
	margin-bottom: .4rem;
}
body.about .history .ev p {
	font-size: 1.4rem;
	color: var(--r1-muted);
	line-height: 1.8;
}
/* ACCESS */
#access .content {
	max-width: 1240px;
}
body.about .access {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	margin-top: 4.5rem;
	border: 1px solid var(--r1-border);
}
body.about .access_info {
	padding: 4rem 3.4rem;
	background: #fff;
}
body.about .access_info dl > div {
	display: flex;
	column-gap: 1.4rem;
	padding: 1.4rem 0;
	border-bottom: 1px solid #F0EDE7;
}
body.about .access_info dl > div:first-child {
	padding-top: 0;
}
body.about .access_info dt {
	flex-shrink: 0;
	width: 5em;
	font-size: 1.2rem;
	letter-spacing: .1em;
	color: var(--r1-gold);
	font-weight: 500;
	padding-top: .3rem;
}
body.about .access_info dd {
	font-size: 1.45rem;
	color: var(--r1-text);
	line-height: 1.8;
	margin: 0;
}
body.about .access_map {
	position: relative;
	min-height: 38rem;
	background: #EDEAE3;
}
body.about .access_map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/* 768 */
@media (max-width: 768px) {
	body.about .lp_sec {
		padding: 6rem 0;
	}
	body.about .msg {
		grid-template-columns: 1fr;
		row-gap: 3rem;
	}
	body.about .msg_img {
		aspect-ratio: 4 / 3;
	}
	body.about .history li {
		grid-template-columns: 8rem 1fr;
		column-gap: 1.4rem;
	}
	body.about .access {
		grid-template-columns: 1fr;
	}
}

/*--------------------------------------------------------------*/
/* 採用情報ページ専用（body.recruit｜選考フロー） */
/*--------------------------------------------------------------*/
body.recruit .content {
	max-width: 940px;
}
/* table */
body.recruit table.rec_tbl {
	margin-top: 4.5rem;
}
body.recruit table.rec_tbl td.no_recruit {
	text-align: center;
	padding: 80px 0;
	background: #fdfff5;
	border-color: var(--r1-gold);
}
body.recruit .flow {
	list-style: none;
	counter-reset: flow;
	margin: 4.5rem auto 0;
	padding: 0;
	max-width: 760px;
}
body.recruit .flow li {
	counter-increment: flow;
	display: grid;
	grid-template-columns: 7rem 1fr;
	column-gap: 2.4rem;
	margin-top: 0!important;
	padding-left: 0;
	padding-bottom: 3.4rem;
	position: relative;
}
body.recruit .flow li:not(:last-child)::after {
	content: '';
	position: absolute;
	left: 3.5rem;
	top: 7rem;
	bottom: 0;
	width: 1px;
	background: var(--r1-border);
	transform: translateX(-50%);
}
body.recruit .flow li::before {
	content: none;
}
body.recruit .flow .no {
	width: 7rem;
	height: 7rem;
	border: 1px solid var(--r1-gold);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #fff;
}
body.recruit .flow .no small {
	font-family: var(--r1-disp);
	font-size: 1.4rem;
	text-transform: uppercase;
	color: var(--r1-gold);
	line-height: 1.2;
}
body.recruit .flow .no span {
	font-family: var(--r1-disp);
	font-size: 2.4rem;
	color: var(--r1-navy);
	line-height: 1;
}
body.recruit .flow .ev {
	padding-top: 1rem;
}
body.recruit .flow .ev h4 {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--r1-navy);
	margin: 0;
	margin-bottom: .6rem;
}
body.recruit .flow .ev p {
	font-size: 1.45rem;
	color: var(--r1-muted);
	line-height: 1.9;
}
body.recruit table.senkou_tbl {
	margin-top: 50px;
}
body.recruit table.senkou_tbl th,
body.recruit table.senkou_tbl td {
	border-top: none;
	border-left: none;
	border-right: none;
}
/* 768 */
@media (max-width: 768px) {
	body.recruit .flow li:not(:last-child)::after {
		content: none;
	}
	body.recruit .flow li {
		grid-template-columns: 5.4rem 1fr;
		column-gap: 1.6rem;
	}
	body.recruit .flow li:not(:last-child)::before {
		left: 2.7rem;
	}
	body.recruit .flow .no {
		width: 5.4rem;
		height: 5.4rem;
	}
	body.recruit .flow .no span {
		font-size: 1.9rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* table */
	body.recruit table.rec_tbl tr th,
	body.recruit table.rec_tbl tr td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	body.recruit table.rec_tbl tr th {
		padding-top: 10px;
		padding-bottom: 10px;
		border-bottom: none;
	}
	body.recruit table.rec_tbl tr:not(:last-child) td {
		border-bottom: none;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ専用（body.contact｜連絡先／フォーム） */
/*--------------------------------------------------------------*/
body.contact .content {
	max-width: 880px;
}
/* 電話パネル */
body.contact .con_tel {
	margin: 4.5rem auto 0;
	max-width: 560px;
	border: 1px solid var(--r1-border);
	text-align: center;
	padding: 3.6rem 2rem;
}
body.contact .con_tel .lbl {
	font-size: 1.3rem;
	letter-spacing: .1em;
	color: var(--r1-muted);
}
body.contact .con_tel .num {
	display: inline-block;
	font-family: var(--r1-disp);
	font-size: 4.2rem;
	color: var(--r1-navy);
	line-height: 1.1;
	letter-spacing: .02em;
	margin: .6rem 0 .8rem;
	text-decoration: none;
}
body.contact .con_tel .num::before {
	content: "\f095";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	margin-right: 6px;
	vertical-align: middle;
	font-size: 70%;
}
body.contact .con_tel .hours {
	font-size: 1.35rem;
	color: var(--r1-muted);
	letter-spacing: .04em;
}
/* フォーム */
body.contact .form {
	margin-top: 4rem;
}
body.contact .form_note {
	text-align: center;
	font-size: 1.4rem;
	color: var(--r1-muted);
	margin-bottom: 3rem;
}
body.contact .form_note span.red {
	color: red;
}
body.contact .form_row {
	display: grid;
	grid-template-columns: 13em 1fr;
	column-gap: 2rem;
	padding: 2.4rem 0;
	border-bottom: 1px solid var(--r1-border);
	align-items: start;
}
body.contact .form_row:first-of-type {
	border-top: 1px solid var(--r1-border);
}
body.contact .form_row dt {
	font-size: 1.45rem;
	font-weight: 500;
	color: var(--r1-navy);
	padding-top: 1.2rem;
	display: flex;
	align-items: center;
	column-gap: .8rem;
	row-gap: .4rem;
	flex-wrap: wrap;
}
body.contact .form_row .req {
	font-size: 1rem;
	letter-spacing: .08em;
	background: var(--r1-gold);
	color: #fff;
	padding: .3rem .7rem;
	line-height: 1;
}
body.contact .form_row .opt {
	font-size: 1rem;
	letter-spacing: .08em;
	border: 1px solid #D8D2C7;
	color: var(--r1-sub);
	padding: .3rem .7rem;
	line-height: 1;
}
body.contact .form_row dd {
	margin: 0;
}
body.contact .form input[type=text],
body.contact .form input[type=email],
body.contact .form input[type=tel],
body.contact .form textarea,
body.contact .form select {
	width: 100%;
	font-family: inherit;
	font-size: 1.5rem;
	color: var(--r1-text);
	background: #fff;
	border: 1px solid #D8D2C7;
	padding: 1.2rem 1.4rem;
	transition: border-color .2s, box-shadow .2s;
}
body.contact .form textarea {
	line-height: 1.8;
	resize: vertical;
	vertical-align: bottom;
}
body.contact .form input:focus,
body.contact .form textarea:focus,
body.contact .form select:focus {
	outline: none;
	border-color: var(--r1-gold);
	box-shadow: 0 0 0 3px rgba(184,150,90,.12);
}
body.contact .form input::placeholder,
body.contact .form textarea::placeholder {
	color: #B7B2A8;
}
body.contact .select_wrap {
	position: relative;
}
body.contact .select_wrap::after {
	content: '';
	position: absolute;
	right: 1.6rem;
	top: 50%;
	width: .9rem;
	height: .9rem;
	border-right: 1px solid var(--r1-muted);
	border-bottom: 1px solid var(--r1-muted);
	transform: translateY(-65%) rotate(45deg);
	pointer-events: none;
}
body.contact .form select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 4rem;
}
body.contact .form_privacy {
	text-align: center;
	margin-top: 3.4rem;
	font-size: 1.45rem;
	color: #444;
}
body.contact .form_privacy label {
	display: inline-flex;
	align-items: center;
	column-gap: 1rem;
	cursor: pointer;
}
body.contact .form_privacy input {
	width: 1.8rem;
	height: 1.8rem;
	accent-color: var(--r1-gold);
}
body.contact .form_privacy a {
	color: #9a7b42;
	text-decoration: underline;
	text-underline-offset: .3em;
}
body.contact .form_submit {
	text-align: center;
	margin-top: 3rem;
	position: relative;
}
body.contact .form_submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
body.contact .form_submit button {
	font-family: inherit;
	display: inline-flex;
	align-items: center;
	column-gap: 1rem;
	background: var(--r1-navy);
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 1.5rem;
	letter-spacing: .08em;
	padding: 1.8rem 6rem;
	transition: .3s ease;
}
body.contact .form_submit button span {
	color: var(--r1-gold);
	transition: color .3s ease;
}
body.is-pc.contact .form_submit button:hover {
	background: var(--r1-gold);
}
body.is-pc.contact .form_submit button:hover span {
	color: #fff;
}
/* 768 */
@media (max-width: 768px) {
	body.contact .form_row {
		grid-template-columns: 1fr;
		row-gap: .8rem;
		padding: 2rem 0;
	}
	body.contact .form_row dt {
		padding-top: 0;
	}
	body.contact .con_tel .num {
		font-size: 3.4rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	.entry-content p.catch {
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------*/
/* プライバシーポリシーページ専用（body.privacy） */
/*--------------------------------------------------------------*/
body.privacy .content {
	max-width: 880px;
}
body.privacy ol {
	margin-left: 0!important;
}
body.privacy .entry-content p.catch.center {
	text-align: left;
	max-width: none;
	margin: 0;
	font-size: 1.5rem;
	line-height: 2.1;
	color: #555;
}
body.privacy .policy {
	list-style: none;
	counter-reset: pol;
	margin-top: 4.5rem;
	padding: 0;
}
body.privacy .policy > li {
	counter-increment: pol;
	padding: 3rem 0;
	border-bottom: 1px solid var(--r1-border);
}
body.privacy .policy > li:first-child {
	border-top: 1px solid var(--r1-border);
}
body.privacy .policy > li h3 {
	display: flex;
	align-items: baseline;
	column-gap: 1.4rem;
	font-family: "Noto Serif JP", serif;
	font-size: 1.9rem;
	font-weight: 500;
	color: var(--r1-navy);
	margin: 0 0 1.2rem;
	padding: 0;
	border: none;
	line-height: 1.5;
}
body.privacy .policy > li h3::before {
	content: counter(pol, decimal-leading-zero);
	font-family: var(--r1-disp);
	font-size: 2.8rem;
	color: var(--r1-gold);
	letter-spacing: .04em;
}
body.privacy .policy p {
	font-size: 1.5rem;
	line-height: 2.05;
	color: #555;
}
body.privacy .policy_sub {
	margin-top: 1.6rem;
	list-style: none;
	padding-left: 0;
}
body.privacy .policy_sub li {
	position: relative;
	padding-left: 1.8rem;
	font-size: 1.45rem;
	line-height: 1.9;
	color: #555;
}
body.privacy .policy_sub li::before {
	content: '';
	position: absolute;
	left: .2rem;
	top: 1.1rem;
	width: .6rem;
	height: .6rem;
	background: var(--r1-gold);
}
body.privacy .policy_sub li + li {
	margin-top: .6rem;
}
body.privacy .policy_date {
	margin-top: 4rem;
	text-align: right;
	font-size: 1.4rem;
	color: var(--r1-muted);
	line-height: 1.9;
}
body.privacy .policy_date strong {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	color: var(--r1-navy);
}
/* 768 */
@media (max-width: 768px) {
	body.privacy .policy > li h3 {
		font-size: 1.7rem;
	}
}

/*--------------------------------------------------------------*/
/* お知らせページ */
/*--------------------------------------------------------------*/
.single.pd_std {
	padding-bottom: 60px;
}
body.single article.hentry {
	width: 67%;
}
body.single .entry-content a {
	color: #4693f5;
	transition: .3s;
}
body.single.is-pc .entry-content a:hover {
	color: var(--r1-gold);;
	text-decoration: none;
}
/* sidebar */
.sidebar-area {
	margin-top: 30px;
}
.sidebar-area h2 {
	margin-top: 0px;
}
/* post-list */
.post-list:not(:last-child) article {
	border-bottom: 1px solid #ccc;
	margin-bottom: 40px;
	padding-bottom: 40px;
}
/* 768 */
@media (max-width: 768px) {
	body.single .single.flex article {
		width: 100%;
	}
	body.single .single.flex .sidebar-area {
		width: 100%;
		border-top: 1px solid #ccc;
		margin-top: 0;
		padding-top: 60px;
	}
}

/*--------------------------------------------------------------*/
/* お知らせ（投稿）本文見出し H1〜H5（body.single） */
/* ※ Gutenberg 出力の .wp-block-heading にも適用されます */
/*--------------------------------------------------------------*/
body.single .entry-content h1 {
	font-family: "Noto Serif JP", serif;
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--r1-navy);
	line-height: 1.5;
	letter-spacing: .02em;
	margin-top: 6rem;
	padding-bottom: 1.6rem;
	border-bottom: 2px solid var(--r1-navy);
}
body.single .entry-content h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 2.1rem;
	font-weight: 500;
	color: var(--r1-navy);
	line-height: 1.5;
	letter-spacing: .02em;
	margin-top: 5.5rem;
	padding: 1.2rem 0 1.2rem 1.6rem;
	border-left: 5px solid var(--r1-gold);
	background: linear-gradient(90deg, var(--r1-off), transparent);
	text-align: left;
}
body.single .entry-content h2::after {
	content: none;
}
body.single .entry-content h3 {
	font-family: "Noto Serif JP", serif;
	font-size: 1.9rem;
	font-weight: 500;
	color: var(--r1-navy);
	line-height: 1.55;
	margin-top: 4.5rem;
	padding-bottom: 1rem;
	position: relative;
}
body.single .entry-content h3::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: var(--r1-border);
}
body.single .entry-content h3::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 5rem;
	height: 2px;
	background: var(--r1-gold);
	z-index: 1;
}
body.single .entry-content h4 {
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--r1-navy);
	line-height: 1.6;
	margin-top: 4rem;
	padding-left: 1.6rem;
	position: relative;
}
body.single .entry-content h4::before {
	content: '';
	position: absolute;
	left: 0;
	top: .55em;
	width: .9rem;
	height: .9rem;
	background: var(--r1-gold);
	transform: rotate(45deg);
}
body.single .entry-content h5 {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--r1-gold);
	line-height: 1.6;
	letter-spacing: .08em;
	margin-top: 3.4rem;
	padding-bottom: .6rem;
	border-bottom: 1px dashed #D8CDB5;
}
/* 768 */
@media (max-width: 768px) {
	body.single .entry-content h1 {
		font-size: 2.2rem;
	}
	body.single .entry-content h2 {
		font-size: 2rem;
	}
}

/*--------------------------------------------------------------*/
/* #header -> sp_menu_btn */
/*--------------------------------------------------------------*/
#r1-header .sp_menu_btn {
	width: 35px;
	position: fixed;
	top: 32px;
	right: 16px;
	cursor: pointer;
	z-index: 99;
	display: none;
}
#open {
	height: 23px;
}
.menu_line {
	background: #000;
	display: block;
	height: 3px;
	position: absolute;
	transition: transform .3s ease;
	width: 100%;
}
.menu_line-center {
	top: 10px;
}
.menu_line-bottom {
	bottom: 0;
}
.menu--active .menu_line-top {
	top: 9px;
	transform: rotate(45deg);
}
.menu--active .menu_line-center {
	transform:scaleX(0);
}
.menu--active .menu_line-bottom {
	bottom: 11px;
	transform: rotate(135deg);
}
/* 939 */
@media (max-width: 939px) {
	#r1-header .sp_menu_btn {
		display: block;
	}
}
/* 580 */
@media (max-width: 580px) {
	#r1-header .sp_menu_btn {
		top: 23px;
	}
}

/*--------------------------------------------------------------*/
/* #header -> sp_menu_right & sp_menu_left */
/*--------------------------------------------------------------*/
/* sp_menu_right */
.sp_menu_right {
	background: #fff;
	height: 100vh;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	width: 67%;
	padding: 70px 0 0 60px;
	border: 5px solid var(--r1-gold);
	border-right: none;
	box-sizing: border-box;
	z-index: 98;
	-webkit-overflow-scrolling: touch;
}
.sp_menu_right ul.nav {
	margin-bottom: 20px!important;
}
.sp_menu_right ul.nav li {
	font-size: 2.0rem;
	padding: 15px 0!important;
	position: relative;
}
.sp_menu_right ul.nav li a {
	display: inline-block;
	color: #000;
	background: #fff;
	padding-left: 1px;
	transition: .3s ease;
}
.sp_menu_right ul.nav li::after {
	content: '';
	width: 20px;
	height: 1px;
	border-bottom: 1px solid var(--r1-gold);
	position: absolute;
	top: 50%;
	left: 2px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: -1;
}
body.is-pc .sp_menu_right ul.nav li a:hover {
	opacity: 1;
	transform: translateX(6px);
}
.menu--active .sp_menu_right {
	right: 67%;
}
.sp_menu_right .taiken {
	background: var(--r1-gold);
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: .08em;
	padding: 1.1rem 2rem;
	display: inline-block;
	transition: .3s ease;
}
body.is-pc .sp_menu_right .taiken:hover {
	background: var(--r1-navy);
}
/* sp_menu_left */
.sp_menu_left {
	transform: translateX(-100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background: url(../images/sp_menu_left.jpg) no-repeat;
	background-size: auto 100%;
	background-position: center center;
	position: fixed;
	left: 0;
	top: 0;
	height: 100vh;
	width: 34%;
	z-index: 97;
}
.sp_menu_left::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 98;
	pointer-events: none;
}
.sp_menu_left img {
	max-width: 120px;
	width: 60%;
	margin-top: 40px;
	filter: drop-shadow(3px 3px 1px rgba(100, 100, 100, 0.7));
	position: relative;
	z-index: 99;
}
.menu--active .sp_menu_left {
	left: 33.5%;
	text-align: center;
}
/* 580 */
@media (max-width: 580px) {
	/* sp_menu_right */
	.sp_menu_right {
		padding: 40px 0 0 40px;
	}
	.sp_menu_right ul.nav li {
		font-size: 1.8rem;
		padding: 12px 0!important;
	}
	/* sp_menu_left */
	.sp_menu_left {
		animation: act_anime 10s infinite alternate linear;
	}
	.sp_menu_left img {
		margin-left: auto;
		margin-right: auto;
	}
}
@keyframes act_anime {
	0% { 
		background-position: right 63% center;
	}
	100% { 
		background-position: right 37% center;
	}
}