@charset "utf-8";

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
共通
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
リセットCSS
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
* {
	box-shadow: none;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

::before,
::after {
	box-sizing: border-box;
}

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address, cite, em, small, i, img, picture, dl, dt, dd, ol, ul, li, label, fieldset, legend, table, tr, th, td, hr, input, textarea, select, button,
main, article, aside, details, figure, figcaption, header, footer, hgroup, menu, nav, section, time { 
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font-style: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

iframe, cite, main, article, aside, details, figure, figcaption, header, footer, hgroup, menu, nav, section, picture, audio, video { 
	display: block;
}

body {
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

iframe {
	max-width: 100%;
}

a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	flex: none;
	image-rendering: -webkit-optimize-contrast;
}

svg {
	overflow: hidden;
	max-width: 100%;
	vertical-align: middle;
}

ol, ul {
	list-style: none;
	list-style-type: none;
}

table {
	border-spacing: 0;
}

input, textarea, select, button {
	border-radius: inherit;
	background: none;
	color: inherit;
	font-weight: inherit;
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

textarea {
	overflow: auto;
}

input:not([type="checkbox"]):not([type="radio"]), textarea, button {
	-webkit-appearance: none;
}

time {
	display: inline-block;
}

video {
	max-width: 100%;
	cursor: pointer;
	object-fit: cover;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
ベース
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
@font-face {
	font-weight: 400;
	font-family: "Hiragino Sans";
	src: local("HiraginoSans-W3");
}

@font-face {
	font-weight: 500;
	font-family: "Hiragino Sans";
	src: local("HiraginoSans-W4");
}

@font-face {
	font-weight: 600;
	font-family: "Hiragino Sans";
	src: local("HiraginoSans-W5");
}

@font-face {
	font-weight: 700;
	font-family: "Hiragino Sans";
	src: local("HiraginoSans-W6");
}

:root {
	--color_base:            #111;
	--color_main:            #1d5ee6;
	--color_main_rgb:        29, 94, 230;
	--color_gray:            #ededed;
	--color_gray_light:      #fafafa;
	--color_gray_dark:       #bfbfbf;

	--font_main:             "Yu Gothic", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Noto Sans CJK JP", Meiryo, sans-serif;
	--font_english:          "Helvetica Neue", Arial, Roboto, sans-serif;

	--opacity:               0.7;
	--outer-width:           1252px;
	--wrapper-width:         1142px;
	--inner-width:           1034px;
	--padding-width:         6.4%;
	--padding-height:        60px;
	--border-radius:         4px;
	--text-underline-offset: 0.3em;
	--transition:            0.3s ease-in-out;
}

@media (min-width: 768px) {
:root {
	--padding-width:         30px;
	--padding-height:        120px;
}
}

html {
	font-size: 62.5%;
}

body {
	overflow: hidden scroll;
	color: var(--color_base);
	font-weight: 500;
	font-size: 1.6em;
	font-family: var(--font_main);
	line-height: 2;
}

main {
	overflow: hidden;
}

article {
	padding-bottom: var(--padding-height);
}

section,
.section {
	padding: var(--padding-height) 0;
}

.outer {
	max-width: calc(var(--outer-width) + var(--padding-width) * 2);
	margin: 0 auto;
	padding: 0 var(--padding-width);
}

.wrapper {
	max-width: var(--wrapper-width);
	margin-left: auto;
}

.inner {
	max-width: var(--inner-width);
	margin: 0 auto;
}

span:not([class]) {
	display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.6;
}

p:not([class]) + p:not([class]) {
	margin-top: 1.5em;
}

a {
	transition: var(--transition);
}

a::before,
a::after {
	transition: transform var(--transition);
}

a[href^="http"],
a[href^="mailto:"] {
	word-break: break-all;
}

table {
	width: 100%;
}

caption {
	text-align: left;
}

th {
	text-align: left;
	vertical-align: top;
}

td {
	text-align: left;
	vertical-align: top;
}

button,
input[type="button"],
input[type="submit"] {
	cursor: pointer;
	transition: var(--transition);
}

button::before,
button::after {
	transition: transform var(--transition);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select {
	width: 100%;
	height: 48px;
	padding: 0 1em;
	border: 1px solid var(--color_gray_dark);
	border-radius: var(--border-radius);
	background: #fff;
}

textarea {
	width: 100%;
	height: 240px;
	padding: 0.5em 1em;
	border: 1px solid var(--color_gray_dark);
	border-radius: var(--border-radius);
	background: #fff;
}

::placeholder {
	opacity: 1;
	color: var(--color_gray_dark);
}

@media (min-width: 768px) {
a[href^="tel:"] {
	pointer-events: none;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
アニメーション
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
@keyframes fade {
0% {
	opacity: 0;
}

100% {
	opacity: 1;
}
}

@keyframes fade-up {
0% {
	opacity: 0;
	transform: translateY(30px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}
}

@keyframes fade-down {
0% {
	opacity: 0;
	transform: translateY(-30px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}
}

@keyframes fade-right {
0% {
	opacity: 0;
	transform: translateX(30px);
}

100% {
	opacity: 1;
	transform: translateX(0);
}
}

@keyframes fade-left {
0% {
	opacity: 0;
	transform: translateX(-30px);
}

100% {
	opacity: 1;
	transform: translateX(0);
}
}

@keyframes fade-zoom-in {
0% {
	opacity: 0;
	transform: scale(0.9);
}

100% {
	opacity: 1;
	transform: scale(1);
}
}

@keyframes fade-zoom-out {
0% {
	opacity: 0;
	transform: scale(1.1);
}

100% {
	opacity: 1;
	transform: scale(1);
}
}

@keyframes show-bottom {
0% {
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
}

100% {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}
}

@keyframes show-left {
0% {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
}

100% {
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}
}

.animation {
	animation-duration: 0.6s;
	animation-timing-function: ease-out;
	animation-delay: 0.3s;
	animation-fill-mode: both;
}

.fade,
.fade-up,
.fade-down,
.fade-right,
.fade-left,
.fade-zoom-in,
.fade-zoom-out {
	opacity: 0;
}

.show-bottom {
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
}

.show-left {
	animation-timing-function: cubic-bezier(0.5, 0.1, 0.5, 1);
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
}

.load .animation.fade {
	animation-name: fade;
}

.load .animation.fade-up {
	animation-name: fade-up;
}

.load .animation.fade-down {
	animation-name: fade-down;
}

.load .animation.fade-right {
	animation-name: fade-right;
}

.load .animation.fade-left {
	animation-name: fade-left;
}

.load .animation.fade-zoom-in {
	animation-name: fade-zoom-in;
}

.load .animation.fade-zoom-out {
	animation-name: fade-zoom-out;
}

.load .animation.show-bottom {
	animation-name: show-bottom;
}

.load .animation.show-left {
	animation-name: show-left;
}

.delay05 {
	animation-delay: 0.5s;
}

.delay06 {
	animation-delay: 0.6s;
}

.delay07 {
	animation-delay: 0.7s;
}

.delay09 {
	animation-delay: 0.9s;
}

.delay12 {
	animation-delay: 1.2s;
}

@media (min-width: 768px) {
@keyframes fade-right {
0% {
	opacity: 0;
	transform: translateX(40px);
}

100% {
	opacity: 1;
	transform: translateX(0);
}
}

@keyframes fade-left {
0% {
	opacity: 0;
	transform: translateX(-40px);
}

100% {
	opacity: 1;
	transform: translateX(0);
}
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
見出し
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.page-header {
	padding: 130px 0 10px;
}

.page-heading {
	font-weight: 700;
	font-size: 3.2rem;
	letter-spacing: 0.04em;
}

.page-img {
	display: block;
	height: 275px;
	margin: 50px 0 0 auto;
	border-radius: var(--border-radius);
	object-fit: cover;
}

.section-heading {
	margin-bottom: 0.94em;
	font-size: 3.2rem;
	letter-spacing: 0.04em;
}

.section-heading:not(:first-child) {
	margin-top: 2.2em;
}

.section-heading-english,
.heading-english {
	display: block;
	margin-bottom: 0.4em;
	color: var(--color_gray_dark);
	font-weight: 400;
	font-size: 1.4rem;
	font-family: var(--font_english);
	letter-spacing: 0.08em;
}

.section-heading-japanese,
.heading-japanese {
	display: block;
}

.heading-japanese {
	letter-spacing: 0.04em;
}

.section-subheading {
	margin-bottom: 0.7em;
	font-size: 1.8rem;
}

.section-subheading:not(:first-child) {
	margin-top: 2em;
}

@media (min-width: 768px) {
.page-header {
	padding: 265px 0 50px;
}

.page-heading {
	font-size: 5.6rem;
}

.page-img {
	height: 480px;
	margin-top: 140px;
}

.section-heading {
	margin-bottom: 1.3em;
	font-size: 4.8rem;
}

.section-heading-english,
.heading-english {
	font-size: 1.6rem;
}

.section-heading-english {
	margin-bottom: 25px;
}

.section-subheading {
	font-size: 2.4rem;
}
}

@media (max-width: 767.9px) {
.page-img {
	max-width: 105%;
	margin-left: -2.5%;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
リンク
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.link {
	display: inline-flex;
	margin-top: 25px;
	font-weight: 700;
	align-items: center;
}

.link::after,
.button {
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	box-shadow: 2px 2px 8px rgba(47, 47, 47, 0.1);
	background: url("../img/common/arrow.svg") 16px center no-repeat #fff;
	background-size: 9px 7px;
	transition: var(--transition);
}

.link::after {
	margin-left: 12px;
	content: "";
	flex: none;
}

.link:hover::after,
.button:hover,
a:hover .button {
	background-image: url("../img/common/arrow_white.svg");
	background-size: 12px 7px;
	background-color: var(--color_main);
}

.link_external::after {
	transform: rotate(-45deg);
}

.link_back {
	flex-flow: row-reverse;
}

.link_back::after {
	margin: 0 12px 0 0;
	transform: scaleX(-1);
}

@media (min-width: 768px) {
.link {
	margin-top: 48px;
}

.link::after,
.button {
	width: 56px;
	height: 56px;
	background-position-x: 22px;
	background-size: 13px 10px;
}

.link::after {
	margin-left: 16px;
}

.link:hover::after,
.button:hover,
a:hover .button {
	background-size: 16px 10px;
}

.link_back::after {
	margin: 0 16px 0 0;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
コンポーネント
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.border {
	border: 1.5px solid var(--color_gray);
}

.align_center {
	text-align: center;
}

.box {
	display: table;
	padding: 16px 24px;
	border: 1.5px solid var(--color_gray);
}

.box:not(:first-child) {
	margin-top: 1.5em;
}

.ul:not(:first-child) {
	margin-top: 0.25em;
}

.ul > li {
	position: relative;
	padding-left: 1em;
}

.ul > li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

.ul > li:not(:last-child) {
	margin-bottom: 0.25em;
}

.dl > dt {
	position: relative;
	margin: 1em 0 0.3em;
	padding-left: 0.6em;
	font-weight: 700;
}

.dl > dt::before {
	position: absolute;
	top: 0.5em;
	left: 0;
	height: 1em;
	border-left: 2px solid;
	content: "";
}

@media (min-width: 768px) {
.box {
	padding: 24px 32px;
}
}

@media (max-width: 767.9px) {
.box {
	font-size: 1.4rem;
}

.table_block th {
	display: block;
}

.table_block td {
	display: block;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
ローダー
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.loader {
	display: flex;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	background: #fff;
	transition: 0.8s ease-in-out;
	justify-content: center;
	align-items: center;
}

.loader.hide {
	visibility: hidden;
	opacity: 0;
}

@keyframes loader {
100% {
	transform: rotate(360deg);
}
}

.loader-bar {
	position: relative;
	width: 60px;
	height: 60px;
	border: 7px solid rgba(var(--color_main_rgb), 0.2);
	border-left-color: var(--color_main);
	border-radius: 50%;
	animation: loader 1s linear infinite;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
ヘッダー
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
}

header .outer {
	display: flex;
	position: relative;
	z-index: 1;
	height: 47px;
	background: rgba(255, 255, 255, 0.95);
	flex-flow: wrap;
	justify-content: space-between;
	align-items: center;
}

.header-logo:hover {
	opacity: var(--opacity);
}

.header-menu-li.current .header-menu-link {
	color: var(--color_main);
}

.header-menu-li a:hover {
	color: var(--color_main);
}

.header-tel {
	text-align: center;
}

.header-tel .number {
	margin-bottom: 0.2em;
	font-weight: 400;
	font-size: 2rem;
	font-family: var(--font_english);
	line-height: 1.2;
	transition: var(--transition);
}

.header-tel:hover .number {
	color: var(--color_main);
}

.header-tel .icon {
	margin-right: 0.3em;
}

.header-tel .hour {
	font-size: 1rem;
}

@media (min-width: 768px) {
header .outer {
	height: 120px;
}

.header-nav {
	display: flex;
	align-items: center;
}

.header-menu-ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.header-menu-li:not(:last-child) {
	margin-right: 56px;
}

.header-menu-english {
	display: none;
}

.header-submenu-ul {
	display: none;
}

.header-tel {
	margin-left: 89px;
}

.header-toggle {
	display: none;
}
}

@media (min-width: 768px) and (max-width: 1199.9px) {
header .outer {
	padding-bottom: 40px;
}

.header-menu-ul {
	position: absolute;
	right: var(--padding-width);
	bottom: 10px;
	left: var(--padding-width);
}
}

@media (max-width: 767.9px) {
.header-overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--color_base);
	transition: var(--transition);
}

.header-overlay.show {
	visibility: visible;
	opacity: 0.2;
}

header .outer {
	padding: 0 16px;
}

.header-logo img {
	width: 144px;
}

.header-nav {
	position: fixed;
	overflow-y: auto;
	visibility: hidden;
	opacity: 0;
	top: 47px;
	right: 0;
	bottom: 0;
	width: 260px;
	padding: 55px 24px 0;
	background: rgba(255, 255, 255, 0.95);
	transform: translateX(100%);
	overscroll-behavior: contain;
}

header.open .header-nav {
	visibility: visible;
	opacity: 1;
	transform: translateX(0);
}

.header-menu-li:not(:last-child) {
	margin-bottom: 10px;
}

.header-menu-english {
	color: var(--color_gray_dark);
	font-weight: 400;
	font-size: 1rem;
	font-family: var(--font_english);
	letter-spacing: 0.08em;
}

.header-menu-japanese {
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.header-submenu-li {
	margin-top: 6px;
	font-size: 1.4rem;
}

.header-tel {
	display: block;
	margin-top: 65px;
	padding: 25px 0;
	border-top: 1.5px solid var(--color_gray);
}

.header-toggle {
	position: relative;
	right: -13px;
	width: 47px;
	height: 47px;
	cursor: pointer;
	transition: var(--transition);
}

.header-toggle:hover {
	color: var(--color_main);
}

.header-toggle-bar {
	position: absolute;
	right: 0;
	left: 0;
	width: 20px;
	margin: auto;
	border-top: 1.5px solid;
	transition: var(--transition);
}

.header-toggle-bar:nth-child(1) {
	top: 19px;
}

.header-toggle-bar:nth-child(2) {
	top: 27px;
}

header.open .header-toggle-bar:nth-child(1) {
	top: 23px;
	transform: rotate(-45deg);
}

header.open .header-toggle-bar:nth-child(2) {
	top: 23px;
	transform: rotate(45deg);
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
フッター
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
footer {
	overflow: hidden;
	padding: 80px 0 10px;
	background: #fafafa;
}

.footer-address {
	margin-bottom: 55px;
}

.footer-logo {
	margin-bottom: 1em;
}

.footer-logo:hover {
	opacity: var(--opacity);
}

.footer-address address {
	margin-bottom: 1.5em;
}

.footer-tel:hover {
	color: var(--color_main);
}

.footer-address iframe {
	width: 100%;
	height: 240px;
	border-radius: var(--border-radius);
}

.footer-menu {
	display: flex;
	margin-bottom: 55px;
	flex-flow: wrap;
}

.footer-menu-dl {
	margin-right: 56px;
}

.footer-menu-dl:not(:last-child) {
	margin-bottom: 2em;
}

.footer-menu-dt {
	font-weight: 700;
}

.footer-menu-dt:not(:first-child) {
	margin-top: 2em;
}

.footer-menu-dt:not(:last-child) {
	margin-bottom: 0.5em;
}

.footer-menu-dt a:hover {
	color: var(--color_main);
}

.footer-menu-dd:not(:last-child) {
	margin-bottom: 0.2em;
}

.footer-menu-dd a::before {
	display: inline-block;
	width: 0.7em;
	margin-right: 0.5em;
	border-top: 1.5px solid;
	vertical-align: 0.3em;
	content: "";
	transform-origin: left center;
}

.footer-menu-dd a:hover {
	color: var(--color_main);
}

.footer-menu-dd a:hover::before {
	transform: scaleX(0.6);
}

.footer-privacy {
	margin-bottom: 40px;
	padding: 1.5em 1.1em 2em;
	border-radius: var(--border-radius);
	background: #fff;
	font-size: 1.4rem;
	text-align: center;
}

.footer-privacymark {
	margin-bottom: 0.7em;
}

.footer-privacymark:hover {
	opacity: var(--opacity);
}

.footer-privacypolicy, .post-nav-archive a {
	color: var(--color_main);
	text-decoration: underline;
	text-underline-offset: var(--text-underline-offset);
}

.footer-privacypolicy:hover {
	opacity: var(--opacity);
}

.post-nav-archive a:hover {
	opacity: var(--opacity);
}

.footer-copyright {
	display: block;
	color: var(--color_gray_dark);
	font-weight: 400;
	font-size: 1.2rem;
	font-family: var(--font_english);
	letter-spacing: 0.08em;
	text-align: center;
}

@media (min-width: 768px) {
footer {
	padding: var(--padding-height) 0;
}

footer .outer {
	display: flex;
	margin-bottom: -55px;
	flex-flow: wrap;
	justify-content: space-between;
}

.footer-address {
	margin-right: 56px;
}

.footer-address iframe {
	width: 380px;
}

.footer-copyright {
	text-align: right;
}
}

@media (max-width: 767.9px) {
.footer-menu {
	margin-right: -56px;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
パンくずリスト
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.breadcrumb {
	border-top: 1.5px solid var(--color_gray);
}

.breadcrumb .inner {
	overflow: auto;
	max-width: none;
	padding: 8px 0;
}

.breadcrumb ul {
	display: flex;
}

.breadcrumb li {
	display: flex;
	white-space: nowrap;
	align-items: center;
}

.breadcrumb li:nth-last-child(n+2)::after {
	width: 0.5em;
	height: 0.5em;
	margin: 0 0.8em 0 0.5em;
	border-top: 1px solid var(--color_gray_dark);
	border-right: 1px solid var(--color_gray_dark);
	content: "";
	transform: rotate(45deg);
}

.breadcrumb li a {
	color: var(--color_gray_dark);
}

.breadcrumb li a:hover {
	color: var(--color_main);
}

@media (min-width: 768px) {
.breadcrumb .inner {
	padding: 16px 0;
}
}

@media (max-width: 767.9px) {
.breadcrumb {
	font-size: 1.4rem;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
投稿本文
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.post-content h1:not(:first-child),
.post-content h2:not(:first-child),
.post-content h3:not(:first-child),
.post-content h4:not(:first-child),
.post-content h5:not(:first-child),
.post-content h6:not(:first-child) {
	margin-top: 2em;
}

.post-content h1:not(:last-child),
.post-content h2:not(:last-child),
.post-content h3:not(:last-child),
.post-content h4:not(:last-child),
.post-content h5:not(:last-child),
.post-content h6:not(:last-child) {
	margin-bottom: 0.5em;
}

.post-content h1 {
	font-size: 2.4rem;
}

.post-content h2 {
	font-size: 2.2rem;
}

.post-content h3 {
	font-size: 2.1rem;
}

.post-content h4 {
	font-size: 2rem;
}

.post-content h5 {
	font-size: 1.9rem;
}

.post-content h6 {
	font-size: 1.8rem;
}

.post-content p:not([class]) + p:not([class]) {
	margin-top: 1.5em;
}

.post-content a {
	text-decoration: underline;
	text-underline-offset: var(--text-underline-offset);
}

.post-content a:not(:hover) {
	color: var(--color_main);
}

.post-content img {
	display: block;
	width: auto;
	max-height: 640px;
	margin: 0 auto;
}

.post-content img + br {
	display: none;
}

.post-content ol:not([class]):not(:first-child),
.post-content ul:not([class]):not(:first-child) {
	margin-top: 1.5em;
}

.post-content ol:not([class]):not(:last-child),
.post-content ul:not([class]):not(:last-child) {
	margin-bottom: 1.5em;
}

.post-content ol:not([class]) > li {
	position: relative;
	padding-left: 1.2em;
	counter-increment: number;
}

.post-content ol:not([class]) > li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: counter(number) ".";
}

.post-content ol:not([class]) > li:not(:last-child) {
	margin-bottom: 0.5em;
}

.post-content ul:not([class]) > li {
	position: relative;
	padding-left: 1.2em;
}

.post-content ul:not([class]) > li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

.post-content ul:not([class]) > li:not(:last-child) {
	margin-bottom: 0.5em;
}

.post-content thead {
	border-bottom: none;
}

.post-content th {
	padding: 0.4em 0.8em;
	border: 1px solid;
	background: rgba(var(--color_main_rgb), 0.07);
	text-align: center;
}

.post-content td {
	padding: 0.4em 0.8em;
	border: 1px solid;
	text-align: center;
}

.wp-post-image:not(:first-child),
.wp-block-quote:not(:first-child),
.wp-block-image:not(:first-child),
.wp-block-gallery:not(:first-child),
.wp-block-media-text:not(:first-child),
.wp-block-table:not(:first-child),
.wp-block-audio:not(:first-child),
.wp-block-video:not(:first-child),
.wp-block-embed-youtube:not(:first-child) {
	margin-top: 2em;
}

.wp-post-image:not(:last-child),
.wp-block-quote:not(:last-child),
.wp-block-image:not(:last-child),
.wp-block-gallery:not(:last-child),
.wp-block-media-text:not(:last-child),
.wp-block-table:not(:last-child),
.wp-block-audio:not(:last-child),
.wp-block-video:not(:last-child),
.wp-block-embed-youtube:not(:last-child) {
	margin-bottom: 2em;
}

.wp-post-image {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

[class^="wp-block-"] figcaption {
	display: table !important;
	margin: 0.8em auto 0;
}

.wp-block-quote {
	padding: 30px 30px 20px;
	border-radius: 10px;
	background: url("../img/common/quote.svg") 10px 10px no-repeat rgba(var(--color_main_rgb), 0.07);
	background-size: 40px 32px;
}

.wp-block-quote cite {
	opacity: 0.5;
	margin-top: 1em;
	font-size: 0.9em;
}

.wp-block-image {
	margin-bottom: 0;
}

.wp-block-image .alignright {
	display: block;
	float: none;
	margin: 0 auto 2em;
}

.wp-block-gallery {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
}

.blocks-gallery-grid img {
	height: auto;
}

.wp-block-media-text__media img,
.wp-block-media-text__media video {
	max-width: 100%;
}

.wp-block-media-text .wp-block-media-text__content {
	padding: 0;
}

.wp-block-audio {
	margin-right: auto;
	margin-left: auto;
}

.wp-block-audio audio {
	min-width: 0;
	margin: auto;
}

.wp-block-video {
	max-width: 640px;
	margin-right: auto;
	margin-left: auto;
}

.wp-block-embed-youtube {
	max-width: 640px;
	margin-right: auto;
	margin-left: auto;
}

.wp-block-embed-youtube .wp-block-embed__wrapper {
	position: relative;
	padding-top: 56.25%;
}

.wp-block-embed-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (min-width: 768px) {
.post-content h1 {
	font-size: 3.2rem;
}

.post-content h2 {
	font-size: 2.9rem;
}

.post-content h3 {
	font-size: 2.6rem;
}

.post-content h4 {
	font-size: 2.4rem;
}

.post-content h5 {
	font-size: 2.2rem;
}

.post-content h6 {
	font-size: 2rem;
}

.post-content th {
	padding: 0.8em;
}

.post-content td {
	padding: 0.8em;
}

.wp-block-quote {
	padding: 30px 50px;
	background-size: 50px 40px;
}

.wp-block-image .alignright {
	float: right;
	max-width: 45%;
	margin-left: 5%;
}

.wp-block-media-text {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.wp-block-media-text.has-media-on-the-right {
	flex-flow: row-reverse;
}

.wp-block-media-text > :first-child {
	margin-right: 30px;
}

.wp-block-media-text__media {
	max-width: 50%;
	flex: none;
}

.wp-block-media-text .wp-block-media-text__media,
.wp-block-media-text .wp-block-media-text__content {
	align-self: auto; 
}
}

@media (max-width: 767.9px) {
.wp-block-media-text {
	display: block;
}

.wp-block-media-text .wp-block-media-text__media {
	margin-bottom: 2em;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
投稿
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.post-info {
	display: flex;
	flex-flow: wrap;
	align-items: center;
}

.post-time {
	margin-right: 10px;
	color: var(--color_gray_dark);
	font-weight: 400;
	font-family: var(--font_english);
	letter-spacing: 0.08em;
}

.post-category-ul {
	display: flex;
	margin: 0 -10px -10px 0;
	flex-flow: wrap;
}

.post-category-li {
	margin: 0 10px 10px 0;
}

.post-category {
	display: block;
	padding: 0 1em;
	border: 1.5px solid var(--color_main);
	background: var(--color_main);
	color: #fff;
	font-size: 0.9em;
	line-height: 1.6;
}

.post-li {
	border-bottom: 1.5px solid var(--color_gray);
}

.post-li:first-child {
	border-top: 1.5px solid var(--color_gray);
}

.post-li .post-link {
	display: flex;
	padding: 1.5em 0;
	justify-content: space-between;
	align-items: center;
}

.post-li .post-image {
	overflow: hidden;
	background: rgba(var(--color_main_rgb), 0.07);
	transition: 0.4s ease-in-out;
}

.post-li .wp-post-image {
	width: 100%;
	height: 100%;
	transition: 0.4s ease-in-out;
	object-fit: cover;
}

.post-li .post-link:hover .post-image {
	filter: brightness(90%);
}

.post-li .post-link:hover .wp-post-image {
	transform: scale(1.1);
}

.post-li .text {
	margin-right: 5.7%;
	flex: 1;
}

.post-li .post-heading {
	font-weight: inherit;
}

.single .inner {
	max-width: 816px;
}

.single .post-info {
	margin-bottom: 1em;
}

.single .post-category:hover {
	background: #fff;
	color: var(--color_main);
}

.single .post-heading {
	margin-bottom: 25px;
	font-size: 2.4rem;
}

@media (min-width: 768px) {
.post-li .post-link {
	padding: 1.5em;
}

.post-li .text {
	display: flex;
	align-items: center;
}

.post-li .post-info {
	margin-right: 6.5%;
}

.post-li .post-heading {
	flex: 1;
}

.single .post-heading {
	margin-bottom: 60px;
	font-size: 3.2rem;
}
}

@media (max-width: 767.9px) {
.post-li .post-info {
	margin-bottom: 5px;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
ページネーション
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.post-page-ul {
	display: flex;
	margin-top: 32px;
	justify-content: flex-end;
	align-items: center;
}

.post-page-current {
	margin: 0 1em;
}

.post-page-prev,
.post-page-next {
	width: 40px;
	height: 40px;
}

.post-page-prev .button {
	transform: scaleX(-1);
}

.post-nav-ul {
	display: flex;
	margin-top: 30px;
	justify-content: center;
	align-items: center;
}

.post-nav-archive {
	margin: 0 12px;
	font-weight: 700;
}

.post-nav-archive a:hover {
	color: var(--color_main);
}

.post-nav-prev,
.post-nav-next {
	width: 40px;
	height: 40px;
}

.post-nav-prev .button {
	transform: scaleX(-1);
}

@media (min-width: 768px) {
.post-page-ul {
	padding: 64px 1.5em 0 0;
}

.post-page-prev,
.post-page-next {
	width: 56px;
	height: 56px;
}

.post-nav-ul {
	margin-top: 80px;
}

.post-nav-prev,
.post-nav-next {
	width: 56px;
	height: 56px;
}

.post-nav-archive {
	margin: 0 32px;
}
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- 採用情報
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+*/
.recruit-section .inner {
	overflow: hidden;
	border-radius: var(--border-radius);
}

.recruit-section .text {
	padding: 35px 32px;
	background: var(--color_gray_light);
}

.recruit-section .img {
	width: 100%;
}

@media (min-width: 768px) {
.recruit-section .inner {
	display: flex;
	flex-flow: row-reverse;
}

.recruit-section .text {
	width: 50%;
	padding: 70px var(--padding-width);
}

.recruit-section .text-inner {
	max-width: 298px;
	margin: 0 auto;
}

.recruit-section .img {
	width: 50%;
	object-fit: cover;
}
}

@media (max-width: 767.9px) {
.recruit-section {
	--padding-width: 4.3%;
}
}
