/*!
Theme Name: sedio2
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: sedio2
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

sedio2 is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* -----------------------------------------------------------------------
 fonts
----------------------------------------------------------------------- */
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 100;
	src: url("css/fonts/NotoSansJP-Thin.woff2") format("woff2"), url("css/fonts/NotoSansJP-Thin.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 300;
	src: url("css/fonts/NotoSansJP-Light.woff2") format("woff2"), url("css/fonts/NotoSansJP-Light.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("css/fonts/NotoSansJP-Regular.woff2") format("woff2"), url("css/fonts/NotoSansJP-Regular.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 500;
	src: url("css/fonts/NotoSansJP-Medium.woff2") format("woff2"), url("css/fonts/NotoSansJP-Medium.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("css/fonts/NotoSansJP-Bold.woff2") format("woff2"), url("css/fonts/NotoSansJP-Bold.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 900;
	src: url("css/fonts/NotoSansJP-Black.woff2") format("woff2"), url("css/fonts/NotoSansJP-Black.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 100;
	src: url("css/fonts/Lato-Thin.woff2") format("woff2"), url("css/fonts/Lato-Thin.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 300;
	src: url("css/fonts/Lato-Light.woff2") format("woff2"), url("css/fonts/Lato-Light.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 400;
	src: url("css/fonts/Lato-Regular.woff2") format("woff2"), url("css/fonts/Lato-Regular.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 700;
	src: url("css/fonts/Lato-Bold.woff2") format("woff2"), url("css/fonts/Lato-Bold.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: normal;
	font-weight: 900;
	src: url("css/fonts/Lato-Black.woff2") format("woff2"), url("css/fonts/Lato-Black.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 100;
	src: url("css/fonts/Lato-ThinItalic.woff2") format("woff2"), url("css/fonts/Lato-ThinItalic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 300;
	src: url("css/fonts/Lato-LightItalic.woff2") format("woff2"), url("css/fonts/Lato-LightItalic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 400;
	src: url("css/fonts/Lato-Italic.woff2") format("woff2"), url("css/fonts/Lato-Italic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 700;
	src: url("css/fonts/Lato-BoldItalic.woff2") format("woff2"), url("css/fonts/Lato-BoldItalic.woff") format("woff");
	font-display: swap;
}
@font-face {
	font-family: "Lato";
	font-style: italic;
	font-weight: 900;
	src: url("css/fonts/Lato-BlackItalic.woff2") format("woff2"), url("css/fonts/Lato-BlackItalic.woff") format("woff");
	font-display: swap;
}



/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
/* body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
} */

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

/* p {
	margin-bottom: 1.5em;
} */

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
/* 
ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
} */

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0;
	width: 100%;
}

/* Links
--------------------------------------------- */
/* a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
} */

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
/* .main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
} */

/* Small menu. */
/* .menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
} */

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

/* .post,
.page {
	margin: 0 0 1.5em;
} */

.updated:not(.published) {
	display: none;
}

/* .page-content, */
/* .entry-content,
.entry-summary {
	margin: 1.5em 0 0;
} */

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}



/* -----------------------------------------------------------------------
 初期設定
----------------------------------------------------------------------- */
:root {
	--main-theme-color: #144D90;
	--sub-theme-color1: #333;
	--sub-theme-color2: #286BAC;
	--main-accent-color: #FF9A26;
	--main-text-color: #000;
	--sub-text-color: #D9D9D9;
	--theme-border-color: #D9D9D9;
	--theme-bg-color: #F5F5F5;
	--theme-bg-color2: #DBEDFF;
	--link-text-color: #000;
	--theme-en-font: 'Lato';
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%; 
}
body {
	background-color: #fff;
	line-height: 1.5;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","HiraKakuProN-W3", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	word-break: break-word;
	color: var(--main-text-color);
}
html, body, h1, h2, h3, h4, h5, h6, p, figure, dl, dt, dd, ul, li, ol {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul, ol {
	list-style: none;
}
em {
	font-style: normal;
}
header, footer, main, nav, article, aside, section, div, p {
	display: block;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
	/* -webkit-backface-visibility: hidden; */
	border: none;
}
a {
	transition: opacity .3s ease;
	text-decoration: none;
	color: var(--link-text-color);
}
a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	body {
		font-size: 4.1026vw; /* 16px at 390px width */
	}
	p {
		line-height: 1.875;
	}
}
@media screen and (min-width: 768px), print {
	body {
		overflow-x: hidden;
		font-size: 1.8rem;
	}
	p {
		line-height: 1.889;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	a:hover {
		opacity: .7;
	}
}



/* -----------------------------------------------------------------------
 基本設定
----------------------------------------------------------------------- */
.inner {
	max-width: 1140px;
	width: 89.7436%;
	margin: auto;
}
.flx {
	display: flex;
}
@media (max-width: 767px) {
	.only-pc {
		display: none !important;
	}
}
@media (min-width: 768px) {
	.only-sp {
		display: none !important;
	}
	.flxpc {
		display: flex;
	}
}

.btn {
	position: relative;
	display: block;
	padding: 1.25em;
	background-color: #fff;
	box-sizing: border-box;
	border: solid 1px var(--main-theme-color);
	line-height: 1;
	font-weight: bold;
	transition: background-color .3s ease;
}
.btn::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	display: block;
	width: 1.286em;
	height: 1.286em;
	margin: auto;
	background: url(img/icon_arrow.svg) no-repeat center;
	background-size: contain;
	transition: transform .3s ease;
}
.btn:hover {
	opacity: 1;
	background-color: var(--theme-bg-color2);
	background-color: var(--main-theme-color);
	color: #fff;
}
.btn:hover::after {
	transform: translateX(4px);
	background-image: url(img/icon_arrow_wht.svg);
}
.btn.below::after {
	transform: rotate(90deg);
}
.btn.below:hover::after {
	transform: translate(0, 4px) rotate(90deg);
	background-image: url(img/icon_arrow_wht.svg);
}
.bg {
	background-color: var(--theme-bg-color);
}
.bg2 {
	background-color: var(--theme-bg-color2);
}
@media (max-width: 767px) {
	.btn {
		max-width: 51.2821vw;
		border-radius: 1.2821vw;
		font-size: 3.5897vw;
	}
}
@media (min-width: 768px) {
	.btn {
		max-width: 200px;
		width: 80%;
		border-radius: 5px;
		font-size: 14px;
	}
	.btn::after {
		width: 18px;
		height: 18px;
	}
}


/* -----------------------------------------------------------------------
 header
----------------------------------------------------------------------- */
.site-header {
	background-color: #fff;
	position: relative;
	width: 100%;
	z-index: 101;
	transition: top ease .5s;
}
.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.site-logo {
	color: #fff;
	position: relative;
	z-index: 102;
}

/* 検索フォーム */
.search-form {
	position: relative;
}
.search-form input {
	width: 100%;
	border: none;
	border-radius: 0;
	font-size: inherit;
}
.search-form button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.nav-menu a {
	display: block;
	text-decoration: none;
	font-weight: bold;
	color: var(--main-text-color);
}
.nav-menu a.is-active {
	color: var(--main-theme-color);
}
.nav-buttons .nav-button {
	color: #fff;
}
.nav-button {
	position: relative;
}
.nav-button::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	display: block;
	margin: auto;
	background-repeat: no-repeat;
	background-size: contain;
}
.nav-button.member {
	background-color: #000;
}
.nav-button.contact {
	background-color: var(--main-theme-color);
}
.nav-button.member::before {
	background-image: url(img/icon_menu_member.svg);
}
.nav-button.contact::before {
	background-image: url(img/icon_menu_contact.svg);
}

.site-header.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transform: translateY(-100%);
	animation: slideInFromTop 0.4s ease forwards;
}
.site-header.slide-out {
	animation: slideOutToTop 0.3s ease forwards;
}
/* 上からスライドインするアニメーション */
@keyframes slideInFromTop {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}
/* 上にスライドアウトするアニメーション */
@keyframes slideOutToTop {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-100%);
	}
}

@media (max-width: 767px) {
	.header-container {
		height: 17.9487vw;
		padding: 0 0 0 5.1282vw;
	}
	.logo-header {
		width: 30.7692vw;
	}
	.nav-wrapper {
		padding: 5.8974vw 0 6.41vw 6.41vw;
	}
	.menu-toggle {
		width: 17.9487vw;
		height: 17.9487vw;
		position: relative;
		background: none;
		border: none;
		border-radius: 0;
		cursor: pointer;
		padding: 0;
		z-index: 100;
	}
	.menu-toggle span {
		display: block;
		width: 7.6923vw;
		height: min(.7692vw, 3px);
		height: 3px;
		background-color: #000;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all .3s ease;
	}
	.menu-toggle span:nth-child(1) {
		top: calc(50% - 3.2051vw); /* center - 12.5px at 390px */
	}
	.menu-toggle span:nth-child(2) {
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.menu-toggle span:nth-child(3) {
		bottom: calc(50% - 3.2051vw); /* center - 12.5px at 390px */
	}
	.menu-open .menu-toggle span:nth-child(1) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.menu-open .menu-toggle span:nth-child(2) {
		opacity: 0;
	}
	.menu-open .menu-toggle span:nth-child(3) {
		bottom: 50%;
		transform: translate(-50%, 50%) rotate(-45deg);
	}
	.main-navigation {
		position: fixed;
		top: 17.9487vw;
		right: -100%;
		width: 87.2%;
		height: 100vh;
		background-color: rgba(255, 255, 255, .85);
		z-index: 99;
		transition: right 0.3s ease;
	}
	.menu-open .main-navigation {
		right: 0;
	}
	.search-form {
		background-color: #DFDFDF;
	}
	.search-form input {
		padding: 3.8462vw 0  3.8462vw 1vw;
		width: calc(100% - 8.9744vw);
		background-color: transparent;
	}
	.search-form button img {
		width: 7.69231vw;
	}
	.main-navigation .search-form {
		width: 62.8205vw;
		margin-left: calc(100% - 67.9487vw);
		margin-bottom: 5.1282vw;
		background-color: #fff;
	}
	.main-navigation .search-form button {
		right: 0;
	}

	.nav-menu li {
		border-bottom: 1px solid #D9D9D9;
	}
	.nav-menu a {
		padding: 3.8462vw 0;
		font-size: 5.1282vw;
	}

	.nav-menu li:not(.nav-buttons) {
		width: 67.9487vw;
		margin-left: calc(100% - 67.9487vw);
	}
	.nav-buttons .nav-button {
		padding-left: calc(100% - 67.9487vw);
	}
	.nav-buttons .nav-button {
		color: rgba(255,255,255,.85);
	}
	.nav-button::before {
		left: 4.359vw;
		opacity: .85;
	}
	.nav-button.member::before {
		width: 6.15385vw;
		height: 6.15385vw;
	}
	.nav-button.contact::before {
		width: 5.12821vw;
		height: 5.12821vw;
	}
	.nav-footer {
		width: 67.9487vw;
		margin-left: calc(100% - 67.9487vw);
		margin-top: 5.1282vw;
	}
	.nav-footer a {
		display: block;
		padding: 2.5641vw 0;
		color: #000;
		text-decoration: none;
		font-size: 4.1026vw;
		font-weight: bold;
	}
}
@media (min-width: 768px) {
	/* .site-header {
		box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	} */
	.header-container {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.header-left {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.logo-header {
		width: 120px;
		margin-left: min(40px,3vw);
	}
	.main-navigation {
		display: block;
		position: relative;
		width: auto;
		height: auto;
		background: none;
	}
	.nav-wrapper {
		padding: 0;
	}
	.nav-menu {
		display: flex;
		align-items: flex-end;
		gap: min(40px,3vw);
		border: none;
	}
	.nav-menu li {
		border: none;
	}
	.nav-menu a {
		transition: border-bottom-color .3s ease;
	}
	.nav-menu li:not(.nav-buttons) a {
		padding: 20px 0 25px;
		border-bottom: solid 1px #fff;
		font-size: 16px;
	}
	.nav-menu li:not(.nav-buttons) a.is-active {
		border-color: var(--main-theme-color);
	}
	.nav-menu li:not(.nav-buttons) a:hover {
		/* opacity: 1; */
		border-bottom-color: var(--link-text-color);
		color: var(--link-text-color);
	}
	.search-form {
		margin-bottom: 0;
		width: 240px;
		background-color: #DFDFDF;
	}
	.main-navigation .search-form {
		position: absolute;
		top: 0;
		right: min(200px,20vw);
	}
	.search-form input {
		padding: 6px;
		width: calc(100% - 30px);
		background-color: #DFDFDF;
		font-size: 16px;
	}
	.search-form button {
		right: 0;
		width: 30px;
		height: 30px;
		background-color: #DFDFDF;
		cursor: pointer;
	}
	.search-form button img {
		width: 14px;
		margin-left: 4px;
	}
	.nav-buttons {
		display: flex;
		align-items: stretch;
		justify-content: flex-end;
	}
	.nav-buttons .nav-button {
		width: min(100px,10vw);
		height: 100px;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		padding-bottom: 18px;
		text-align: center;
		font-size: 12px;
		font-weight: normal;
	}
	.nav-button.member {
		background-color: var(--sub-theme-color1);
	}
	.nav-button::before {
		left: 0;
		right: 0;
		top: -30px;
	}
	.nav-button.member::before {
		width: 30px;
		height: 30px;
	}
	.nav-button.contact::before {
		width: 25px;
		height: 25px;
	}
	.site-header.fixed .search-form,
	.site-header.fixed .nav-buttons .nav-button span {
		display: none;
	}
	.site-header.fixed .nav-menu {
		align-items: center;
	}
	.site-header.fixed .nav-buttons {
		width: 110px;
		justify-content: space-between;
	}
	.site-header.fixed .nav-buttons .nav-button {
		width: 50px;
		height: 50px;
		border-radius: 50%;
	}
	.site-header.fixed .nav-buttons .nav-button::before {
		top: 0;
	}
	.site-header.fixed .nav-button.member::before {
		width: 18px;
		height: 18px;
	}
	.site-header.fixed .nav-button.contact::before {
		width: 16px;
		height: 16px;
	}
}


/* -----------------------------------------------------------------------
 footer
----------------------------------------------------------------------- */
.cta-sec {
	background-color: #143862;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}
.ttl-cta {
	margin-bottom: .5em;
	font-weight: bold;
}
.btn-cta {
	position: relative;
	display: block;
	padding: 1em;
	border: solid 3px #fff;
	font-weight: bold;
}
.btn-cta::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.btn-cta.member {
	color: #fff;
}
.btn-cta.contact {
	background-color: #fff;
	color: var(--main-theme-color);
}
.btn-cta.member::before {
	background-image: url(img/icon_cta_member.svg);
}
.btn-cta.contact::before {
	background-image: url(img/icon_cta_contact.svg);
}

.footer-logo {
	display: inline-block;
	margin-bottom: .5em;
}
.footer-company-en {
	margin-bottom: .75em;
	font-family: var(--theme-en-font);
	line-height: 1.5;
}
.footer-address {
	line-height: 1.5;
}
.col-footer-menu {
	font-weight: bold;
}
.copyright {
	display: block;
	padding: 1em;
	background-color: var(--sub-theme-color1);
	text-align: center;
	color: #fff;
}
@media (max-width: 767px) {
	.cta-sec {
		min-height: 95.8974vw;
		background-image: url(img/cta_footer_bg_sp.webp);
	}
	.inner-cta {
		width: 77.69%;
		padding: 10.2564vw 0;
	}
	.ttl-cta {
		text-align: center;
		font-size: 6.1538vw;
	}
	.col-cta-txt {
		margin-bottom: 2em;
	}
	.btn-cta {
		width: 51.2821vw;
		margin: 0 auto;
		border-radius: 1.2821vw;
		border-width: .7692vw;
	}
	.btn-cta.member {
		margin-bottom: 1em;
		padding-left: 17.9487vw;
	}
	.btn-cta.contact {
		padding-left: 16.9231vw;
	}
	.btn-cta::before {
		left: 10.2564vw;
	}
	.btn-cta.member::before {
		width: 4.1026vw;
		height: 4.6154vw;
	}
	.btn-cta.contact::before {
		width: 4.6154vw;
		height: 4.6154vw;
	}

	.inner-footer {
		width: 100%;
	}
	.col-footer-menu {
		padding: 12.0513vw;
	}
	.footer-menu li a {
		display: block;
		padding: .5em 0;
		font-size: 5.3846vw;
	}
	.col-footer-company {
		padding: 15.3846vw 7.1795vw 12.0513vw 12.0513vw;
	}
	.footer-company {
		margin-bottom: .25em;
		font-size: 5.1282vw;
	}
	.footer-company-en {
		font-size: 3.3333vw;
	}
	.footer-address {
		font-size: 4.1026vw;
	}
	.col-footer-menu {
		border-bottom: solid 1px #DFDFDF;
	}
	.logo-footer {
		width: 41.0256vw;
	}
	.copyright small {
		font-size: 3.5897vw;
	}
}
@media (min-width: 768px) {
	.cta-sec {
		min-height: 213px;
		background-image: url(img/cta_footer_bg_pc.webp);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.inner-cta {
		width: 80.625%;
		max-width: 1032px;
	}
	.flxpc-cta {
		align-items: center;
		justify-content: space-between;
		column-gap: 10px;
	}
	.col-cta-txt {
		padding-left: 0;
		max-width: 600px;
		min-width: 400px;
		font-size: 16px;
	}
	.ttl-cta {
		font-size: 39px;
	}
	.col-cta-btn {
		align-items: center;
		justify-content: flex-end;
		flex-wrap: wrap;
		gap: 10px;
		width: 177px;
	}
	.btn-cta {
		display: block;
		padding: 15px;
		width: 177px;
		border-radius: 5px;
		font-size: 16px;
	}
	.btn-cta.member {
		padding-left: 67px;
	}
	.btn-cta.contact {
		padding-left: 54px;
	}
	.btn-cta.member::before {
		left: 38px;
		width: 16px;
		height: 18px;
	}
	.btn-cta.contact::before {
		left: 25px;
		width: 18px;
		height: 18px;
	}

	.inner-footer {
		padding: 50px 0;
	}
	.flx-footer {
		align-items: stretch;
		justify-content: space-between;
		font-size: 14px;
	}
	.logo-footer {
		width: 120px;
	}
	.col-footer-company {
		width: 38%;
		order: 1;
	}
	.footer-company-en {
		font-size: 13px;
	}
	.footer-address {
		margin-top: 1em;
	}
	.col-footer-menu {
		align-items: stretch;
		justify-content: space-between;
		width: 59%;
		max-width: 482px;
		order: 2;
	}
	.footer-menu li {
		margin-bottom: 1em;
	}
	.copyright small {
		font-size: 14px;
	}
}
@media screen and (min-width: 1000px) {
	.col-cta-txt {
		padding-left: 24px;
		width: calc(100% - 374px);
	}
	.col-cta-btn {
		width: 364px;
	}
}




/* -----------------------------------------------------------------------
 パンくずリスト
----------------------------------------------------------------------- */
.breadcrumb {
	margin-top: 1em;
}
.breadcrumb-list {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
.breadcrumb-item {
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.breadcrumb-item:last-child {
	text-overflow: ellipsis;
	overflow: hidden;
	display: inline-block;
}
.breadcrumb-item:not(:last-child)::after {
	content: '｜';
	margin: 0 .5em;
	color: #ccc;
}
.breadcrumb-link {
	transition: color 0.3s ease;
}
@media (max-width: 767px) {
	.breadcrumb-item {
		font-size: 3.6vw; /* 約14px at 390px width */
	}
}
@media (min-width: 768px) {
	.breadcrumb-item {
		font-size: 1.4rem;
	}
}


/* -----------------------------------------------------------------------
 .main-content
----------------------------------------------------------------------- */
/* .page-contenと同じpadding */
.main-content {
	min-height: 20em;
	background-color: #ffffff;
}
@media (max-width: 767px) {
	/* .main-content {
		padding: 0 0 2.5em;
	} */
	.archive .main-content,
	.search .main-content {
		padding: 2.5em 0;
	}
}
@media (min-width: 768px) {
	/* .main-content {
		padding: 0 0 4em;
	} */
	.archive .main-content,
	.search .main-content {
		padding: 4em 0;
	}
}


/* -----------------------------------------------------------------------
 ページヘッダー
----------------------------------------------------------------------- */
.page-header {
	margin-bottom: 2em;
}
.page-title {
	font-weight: bold;
	margin-bottom: .1em;
}
.page-subtitle {
	color: #ccc;
	letter-spacing: .1em;
	font-family: var(--theme-en-font);
	font-style: italic;
	font-weight: 800;
}

.page-nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
}
.page-nav-list a,
.page-nav-link {
	display: block;
	line-height: 1;
	font-weight: 500;
}
.page-nav-list a.is-active,
.page-nav-link.is-active {
	text-decoration: underline;
	text-decoration-thickness: .1em;
	text-underline-offset: .2em;
}

@media (max-width: 767px) {
	.page-title {
		font-size: 8.4615vw;
	}
	.page-subtitle {
		font-size: 4.6154vw;
	}
	.page-nav {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 5.12821vw 0;
		background-color: var(--theme-bg-color);
	}
	.page-nav-list {
		/* flex-direction: column; */
		width: 89.7436%;
		margin: auto;
		gap: 0;
		border-top: solid 1px var(--sub-text-color);
		border-right: solid 1px var(--sub-text-color);
	}
	.page-nav-list li {
		width: 50%;
		border-left: solid 1px var(--sub-text-color);
		border-bottom: solid 1px var(--sub-text-color);
	}
	.page-nav-list a,
	.page-nav-link {
		padding: 1em .5em;
		background-color: #fff;
		font-size: 5.3846vw;
		text-align: center;
	}
}
@media (min-width: 768px) {
	.page-header {
		margin-bottom: 3em;
	}
	.page-title {
		font-size: 45px;
	}
	.page-subtitle {
		font-size: 24px;
	}
	.page-nav-list {
		margin-top: -3em;
		column-gap: 1.5em;
		align-items: center;
		justify-content: flex-end;
	}
}


/* .page-content */
.page-content h2 {
	font-weight: bold;
	margin-bottom: 1em;
}
.page-content h3 {
	margin: 1.5em 0 .5em;
}
.page-content h4 {
	margin: 2em 0 .5em;
}
.page-content p {
	line-height: 1.8;
}
.page-content ul:not(:last-child),
.page-content ul:not(:last-child),
.page-content figure:not(:last-child),
.page-content p:not(:last-child) {
	margin-bottom: 1em;
}
.page-content table {
	border-collapse: collapse;
}
.page-content thead {
	border-bottom-color: var(--theme-border-color);
}
.page-content tbody tr:nth-child(odd) {
	background-color: var(--theme-bg-color);
}
.page-content tbody th {
	text-align: left;
}
.page-content th,
.page-content td {
	padding: .917em 1em;
	border: none;
}
.page-content figcaption {
	font-size: 85%;
}
.page-content a:not([class]) {
	text-decoration: underline;
}
.page-content .page-nav-list a:not(.is-active) {
	text-decoration: none;
}
@media (max-width: 767px) {
	.page-content {
		padding: 2.5em 0 0;
	}
	.page-content .lead-title {
		font-size: 5.3846vw;
	}
	.page-content h2 {
		font-size: 7.6923vw;
	}
	.page-content h3 {
		font-size: 5.3846vw;
	}
	.page-content h4 {
		font-size: 4.6154vw;
	}
	.single-news .page-content {
		padding-bottom: 2.5em;
	}
}
@media (min-width: 768px) {
	.page-content {
		padding: 4em 0 0;
	}
	.page-content .lead-title {
		font-size: 33px;
	}
	.page-content h2 {
		font-size: 39px;
	}
	.page-content h3 {
		font-size: 30px;
	}
	.page-content h4 {
		font-size: 20px;
	}
	.single-news .page-content {
		padding-bottom: 4em;
	}
}

/* entry-content */
.entry-content > h2 {
	margin-top: 1.5em;
}
@media (max-width: 767px) {
	.entry-content > h2 {
		font-size: 5.3846vw;
	}
	.entry-content > h3 {
		font-size: 4.87179vw;
	}
	.entry-content > *:last-child:not(.content-section) {
		margin-bottom: 2.5em;
	}
}
@media (min-width: 768px) {
	.entry-content > h2 {
		font-size: 30px;
	}
	.entry-content > h3 {
		font-size: 24px;
	}
	.entry-content > *:last-child:not(.content-section) {
		margin-bottom: 4em;
	}
}


/* セクション */
.content-section.bg,
.content-section.bg2 {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}
/* .content-section.bg > *,
.content-section.bg2 > *, */
.content-section.bg > .wp-block-group__inner-container > *,
.content-section.bg2 > .wp-block-group__inner-container > *,
.type-faq .content-section.bg > *,
.type-faq .content-section.bg2 > * {
	max-width: 1140px;
	width: 89.7436%;
	margin-left: auto;
	margin-right: auto;
}
.content-section > *:first-child {
	margin-top: 0;
}
.content-section h2 {
	font-weight: bold;
	margin-bottom: 1em;
}
.content-section h3 {
	margin: 1.5em 0 .5em;
}
.content-section h4 {
	margin: 2em 0 .5em;
}
.content-section p {
	line-height: 1.8;
}
.content-section ul:not(:last-child),
.content-section ol:not(:last-child),
.content-section figure:not(:last-child),
.content-section p:not(:last-child) {
	margin-bottom: 1em;
}
.content-section ul {
	list-style-type: disc;
}
.content-section ul li {
	margin-left: 2em;
}
.content-section ol {
	list-style-type: decimal;
}
.content-section ol li {
	margin-left: 2em;
}
.content-section table {
	border-collapse: collapse;
}
.content-section thead {
	border-bottom-color: var(--theme-border-color);
}
.content-section tbody tr:nth-child(odd) {
	background-color: var(--theme-bg-color);
}
.content-section tbody th {
	text-align: left;
}
.content-section th,
.content-section td {
	padding: .917em 1em;
	border: none;
}
.content-section figcaption {
	font-size: 85%;
}
.content-section a:not([class]) {
	text-decoration: underline;
}
.content-section .wp-block-column > h3 {
	margin-top: 0;
}
.content-section .wp-block-columns + .wp-block-columns {
	margin-top: 2em;
}
@media (max-width: 767px) {
	.content-section {
		padding: 2.5em 0;
	}
	.content-section .lead-title {
		font-size: 5.3846vw;
	}
	.content-section h2 {
		font-size: 7.6923vw;
	}
	.content-section h3 {
		font-size: 5.3846vw;
	}
	.content-section h4 {
		font-size: 4.6154vw;
	}
}
@media (min-width: 768px) {
	.content-section {
		padding: 5em 0;
	}
	.content-section .lead-title {
		font-size: 33px;
	}
	.content-section h2 {
		font-size: 39px;
	}
	.content-section h3 {
		font-size: 30px;
	}
	.content-section h4 {
		font-size: 20px;
	}
}


/* -----------------------------------------------------------------------
 入会案内 member-join
----------------------------------------------------------------------- */
/* SEDIO会員の3つのメリット */
.benefits {
	display: grid;
	gap: 3em;
}
.benefit-icon {
	width: 8rem;
	height: 8rem;
	margin: 0 auto 2em !important;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.content-section .benefit-title {
	text-align: center;
	font-weight: bold;
	margin-bottom: 1em;
}
.benefit-description {
	line-height: 1.7;
}
.price-table tbody th,
.price2-table tbody th {
	font-weight: 500;
}
.price-table td {
	text-align: right;
}
.price2-table td {
	text-align: center;
}

.download-list {
	list-style-type: square;
}
.download-list li {
	margin-left: 2em;
}
.download-list li:not(:last-child) {
	margin-bottom: .5em;
}
.download-list a {
	text-decoration: underline;
	text-underline-offset: .1em;
}
.btn-cta.membership {
	margin-top: 4em;
	border-color: var(--main-theme-color);
}
@media screen and (max-width: 767px) {
	.benefits {
		grid-template-columns: 1fr;
		gap: 2em;
	}
	.benefit-item {
		padding: 2rem;
	}
	.benefit-icon {
		width: 25.641vw;
		height: 25.641vw;
	}
	.benefit-description {
		font-size: 3.8vw;
	}
	.price-table tbody th {
		width: 30%;
	}
	.price-table tbody td {
		width: 70%;
	}
	.price2-table {
		position: relative;
		overflow-x: scroll;
	}
	.price2-table table {
		width: 180%;
	}
	.price2-table tbody th {
		width: 25%;
	}
	.price2-table figcaption {
		position: absolute;
		top: 10%;
		right: -1em;
		background: rgba(0,0,0,.7);
		color: #fff;
		padding: .5em 1em;
		line-height: 1;
		font-size: 90%;
		z-index: 2;
		transition: opacity .3s ease;
		animation: 2s ease-in-out 1s infinite alternate slidein;
	}
	.price2-table figcaption.hidden {
		opacity: 0;
		pointer-events: none;
		animation: none;
	}
	@keyframes slidein {
		from { right: -1em; }
		to { right: 1em; }
	}
}
@media screen and (min-width: 768px) {
	.benefits {
		grid-template-columns: repeat(3, 1fr);
		gap: min(48px, 5%);
		margin-bottom: 48px;
	}
	.benefit-icon {
		width: 102px;
		height: 102px;
	}
	.content-section .benefit-title {
		font-size: 24px;
	}
	.price-table tbody th {
		width: 40%;
	}
	.price-table tbody td {
		width: 60%;
	}
	.price-table {
		max-width: 50%;
	}
	.price2-table tbody th {
		width: 20%;
	}
	.price2-table figcaption {
		display: none;
	}
}



/* -----------------------------------------------------------------------
 SEDIOについて about
----------------------------------------------------------------------- */
/* セクション内リンクナビゲーション */
/* .section-nav {
	margin-bottom: 3em;
} */
.section-nav-list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5em;
}
.section-nav-list li {
	position: relative;
}
.section-nav-link {
	width: auto;
	border-color: var(--theme-border-color);
}
@media (max-width: 767px) {
	.section-nav {
		margin-top: 5.12821vw;
	}
	.section-nav-list {
		gap: 2.5641vw;
	}
	.section-nav-list li {
		width: 48%;
	}
	.section-nav-link {
		font-size: 4.10256vw;
		padding: 1em .5em;
	}
	.section-nav-link::after {
		right: .75em;
		width: 1.1em;
		height: 1.1em;
	}
}
@media (min-width: 768px) {
	.section-nav {
		margin-top: 3em;
	}
	.section-nav-list {
		align-items: flex-start;
		justify-content: flex-start;
		gap: 10px;
	}
	.section-nav-link {
		max-width: 220px;
		font-size: 16px;
		padding: 14px min(84px,7vw) 14px 20px;
	}
	
}

/* 活動内容 */
.content-section.organization {
	padding-bottom: 0;
}
.about .content-section .about-fig {
	max-width: 827px;
}
.about .content-section .about-fig figcaption {
	display: block;
	margin: 1em auto;
	background-color: var(--theme-bg-color2);
	border: solid 1px;
	border-radius: .3em;
	text-align: center;
	color: var(--main-theme-color);
}
.organization-btn {
	margin-left: auto;
	margin-right: 0;
	font-size: inherit;
}
@media (max-width: 767px) {
	.about .content-section .about-fig figcaption {
		padding: .5em;
		font-size: 3.58974vw;
	}
	.organization-btn {
		max-width: inherit;
		padding: 1em 2.5em 1em 1.25em;
		line-height: 1.2;
	}
}
@media (min-width: 768px) {
	.about .content-section .lead-title {
		font-size: 30px;
	}
	.about .content-section .about-fig figcaption {
		padding: 1.5em;
		max-width: 578px;
		font-size: 22px;
	}
	.organization-btn {
		max-width: 460px;
	}
}

/* 組織概要, 沿革 */
.content-section.history {
	padding-bottom: 0;
}
.organization-table,
.history-table {
	margin-top: 2em;
}
.organization-table table,
.history-table table {
	width: 100%;
	border-collapse: collapse;
	line-height: 2;;
}
.organization-table th,
.history-table th {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding: 1em;
	width: 20%;
	min-width: 120px;
	border: none;
}
.organization-table td,
.history-table td {
	padding: 1em;
	border: none;
}
@media (max-width: 767px) {
	.organization-table tr,
	.history-table tr {
		display: flex;
		flex-direction: column;
	}
	.organization-table th,
	.history-table th {
		width: 100%;
		padding: 1.5em 1.5em .25em 1.5em;
		font-weight: bold;
	}
	.organization-table td,
	.history-table td {
		padding: 0 1.5em 1.5em 1.5em;
	}
}
@media (min-width: 768px) {
	.organization-table th,
	.history-table th {
		padding: 20px;
	}
	.organization-table th {
		width: 16%;
	}
	.history-table th {
		width: 30%;
	}
	.organization-table td,
	.history-table td {
		padding: 20px;
	}
	.organization-table td {
		width: 84%;
	}
	.history-table td {
		width: 70%;
	}
}

/* データ交換件数 */
.about-graph {
	position: relative;
	max-width: 1048px;
	margin: 2em auto 0;
}
.about-graph figcaption {
	display: block;
	margin: 2em 0 0;
}

/* アクセスMAP */
.map-container iframe {
	display: block;
	margin: auto;
	width: 100%;
}
@media (max-width: 767px) {
	.map-container iframe {
		height: 115.38462vw;
	}
}
@media (min-width: 768px) {
	.map-container iframe {
		max-width: 900px;
		height: 450px;
	}
}


/* -----------------------------------------------------------------------
 会員企業 member
----------------------------------------------------------------------- */
.content-section .about-member-list,
.content-section .about-member-list0,
.content-section .about-member-list1,
.content-section .about-member-list2 {
	list-style-type: none !important;
}
.content-section .about-member-list li,
.content-section .about-member-list0 li,
.content-section .about-member-list1 li,
.content-section .about-member-list2 li {
	margin-left: 0;
}
.about-member-list li,
.about-member-list0 li {
	margin-bottom: .5em;
}
.about-member-list1 li,
.about-member-list2 li {
	padding: .25em;
}
.content-section .about-member-list1 li:nth-child(odd),
.content-section .about-member-list2 li:nth-child(odd) {
	background-color: #fff;
}
.content-section .about-member-list1 li:nth-child(even),
.content-section .about-member-list2 li:nth-child(even) {
	background-color: var(--theme-bg-color);
}
.about-member-list1.bdr-bg li,
.about-member-list2.bdr-bg li {
	border-color: var(--theme-bg-color) !important;
}
@media (max-width: 767px) {
	.about-member-list1.bdr li,
	.about-member-list2.bdr li {
		border-right: solid 1px #fff;
		border-left: solid 1px #fff;
	}
	.about-member-list1.bdr li:first-child,
	.about-member-list2.bdr li:first-child {
		border-top: solid 1px #fff;
	}
}
@media (min-width: 768px) {
	.about-member-list {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.about-member-list2 {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.about-member-list li {
		width: 32%;
	}
	.about-member-list,
	.about-member-list0 {
		font-size: 16px;
	}
	.about-member-list1,
	.about-member-list2 {
		font-size: 16px;
	}
	.about-member-list2 li {
		width: 33.33%;
	}
	.about-member-list1.bdr li,
	.about-member-list2.bdr li {
		border-bottom: solid 1px #fff;
		border-left: solid 1px #fff;
	}
	.about-member-list1.bdr li {
		border-right: solid 1px #fff;
	}
	.about-member-list2.bdr li:nth-child(1),
	.about-member-list2.bdr li:nth-child(2),
	.about-member-list2.bdr li:nth-child(3) {
		border-top: solid 1px #fff;
	}
	.about-member-list2.bdr li:nth-child(3n) {
		border-right: solid 1px #fff;
	}
}


/* -----------------------------------------------------------------------
 導入事例
----------------------------------------------------------------------- */
/* index共通 */
.case-study-tag {
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--sub-theme-color2);
	color: #fff;
	padding: .25em .5em;
	font-family: var(--theme-en-font);
	font-weight: bold;
	font-style: italic;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.case-study-tag {
		font-size: 3.5897vw;
	}
}
@media screen and (min-width: 768px) {
	.case-study-tag {
		font-size: 14px;
	}
}

/* 導入事例ヒーローセクション */
section.content-section.interview-hero-section.bg2 > *,
section.content-section.interview-cases-section.bg > * {
	max-width: 1140px;
	width: 89.7436%;
	margin-left: auto;
	margin-right: auto;
}
.interview-hero-content {
	display: flex;
	align-items: flex-start;
	margin-bottom: 2em;
}
.interview-hero-image {
	position: relative;
	/* margin-right: 2em; */
	flex-shrink: 0;
}
.interview-hero-image img {
	object-fit: contain;
	background-color: #fff;
}
.interview-hero-text {
	flex: 1;
}
.interview-hero-title {
	margin-bottom: .5em !important;
}
.interview-hero-company-name {
	margin: 0;
	line-height: 1.8;
}
.interview-hero-company-name b {
	font-size: 120%;
}
.interview-hero-description {
	line-height: 1.4 !important;
	font-weight: bold;
	color: var(--main-theme-color);
}
@media (max-width: 767px) {
	.interview-hero-section {
		padding: 2.5em 0;
		margin-top: 2.5em;
	}
	.interview-hero-content {
		flex-direction: column;
		gap: 1.5em;
	}
	.interview-hero-title {
		font-size: 7.6923vw;
	}
	.interview-hero-description {
		font-size: 5.3846vw;
	}
}
@media (min-width: 768px) {
	.interview-hero-section {
		padding: 3em 0;
		margin-top: 4em;
	}
	.interview-hero-content {
		gap: 3em;
	}
	.interview-hero-title {
		font-size: 39px;
	}
	.interview-hero-image {
		max-width: 584px;
		width: 52%;
	}
	.interview-hero-company-info {
		font-size: 16px;
	}
	.interview-hero-description {
		font-size: 30px;
	}
}

/* 導入事例インタビューセクション */
.interview-section h2 {
	margin: 1.5em 0 .5em;
	margin-bottom: 1em;
	color: var(--main-theme-color);
}
.interview-section p {
	line-height: 1.9;
}
.img-interview-3 img {
	display: block;
	margin: auto;
}
@media (max-width: 767px) {
	.interview-section .tate {
		max-width: 60%;
		margin: auto;
	}
	.interview-section h2 {
		font-size: 5.3846vw;
	}
}
@media (min-width: 768px) {
	.interview-section {
		padding: 3em 0;
	}
	.interview-section h2 {
		font-size: 24px;
	}
	.interview-block-columns {
		justify-content: space-between;
	}
	.img-interview-3 img {
		width: 50%;
	}
}

/* SEDIO導入事例 リンクセクション */
.interview-cases-section {
	padding: 3em 0;
}
.interview-cases-container {
	position: relative;
}
.interview-cases-container::before {
	content: 'CASE STUDIES';
	position: absolute;
	top: 0;
	right: 0;
	line-height: 1;
	letter-spacing: .1em;
	font-family: var(--theme-en-font);
	font-style: italic;
	font-weight: 900;
	color: var(--sub-text-color);
	z-index: 1;
}
.interview-cases-list {
	display: flex;
	flex-direction: column;
	gap: 2.5em;
	margin: 0 auto;
}
.interview-case-item {
	display: block;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}
.interview-case-image {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.interview-case-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.interview-case-image .case-study-tag {
	text-align: center;
}
.interview-case-category {
	color: var(--main-theme-color);
	font-weight: bold;
	margin-bottom: 0.5em;
}
.interview-case-content h3 {
	margin-top: 0;
}
.interview-case-title-text-sub {
	display: block;
	font-size: 80%;
	font-weight: normal;
}
@media (max-width: 767px) {
	.interview-cases-container::before {
		content: none;
	}
	.interview-cases-list {
		gap: 2em;
	}
	.interview-case-image {
		margin-bottom: 1em;
	}
	.interview-case-image .case-study-tag {
		width: 25.64103vw;
	}
	.interview-case-category {
		font-size: 4.61538vw;
	}
	.interview-case-title-text {
		margin-bottom: .5em;
		font-size: 5.3846vw;
	}
}

@media (min-width: 768px) {
	.interview-cases-container::before {
		font-size: 69px;
	}
	.interview-cases-list {
		gap: 3em;
	}
	.interview-case-item {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.interview-case-image {
		max-width: 416px;
		width: 36%;
		height: auto;
		flex-shrink: 0;
	}
	.interview-case-image .case-study-tag {
		width: 103px;
	}
	.interview-case-content {
		/* flex: 1; */
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 60%;
	}
	.interview-case-category {
		font-size: 24px;
	}
	.interview-case-companies {
		font-size: 16px;
	}
	.interview-case-title-text {
		margin-bottom: .5em;
		font-size: 30px;
	}
}


/* -----------------------------------------------------------------------
 archive(導入事例)
----------------------------------------------------------------------- */
.archive .content-section {
	padding: 0 0 2em;
}
.archive .interview-cases-list {
	gap: 0;
}
.archive .interview-case-item:nth-child(odd) {
	background-color: var(--theme-bg-color);
}

@media (max-width: 767px) {
	.archive .interview-case-item {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		padding: 2em;
	}
}
@media (min-width: 768px) {
	.archive .interview-case-item {
		padding: 3em ;
	}
}

/* -----------------------------------------------------------------------
 archive(お知らせ)
----------------------------------------------------------------------- */
.archive-item {
	display: flex;
	align-items: flex-start;
	padding: 1em;
	border-bottom: solid 1px var(--sub-text-color);
	color: inherit;
}
.archive-list > *:first-child {
	border-top: solid 1px var(--sub-text-color);
}
.archive-date {
	flex-shrink: 0;
	margin-right: 1em;
	color: var(--sub-theme-color2);
	font-family: var(--theme-en-font);
}
.archive-category {
	flex-shrink: 0;
	padding: .25em 1em;
	background-color: var(--sub-theme-color2);
	color: #fff;
	font-weight: bold;
	margin-right: 2em;
}
.archive-text {
	line-height: 1.6;
}
.archive-title {
	margin: 0 0 1em;
}
.archive-date > * {
	vertical-align: middle;
}
.archive-date .archive-category {
	display: inline-block;
	margin-left: 2em;
}
.news-single-btn {
	margin: 2.5em auto 0;
}
.single-news .page-subtitle {
	margin-bottom: 2em;
}
@media (max-width: 767px) {
	.archive-item {
		/* flex-direction: column; */
		align-items: flex-start;
		flex-wrap: wrap;
		padding: 1em .5em;
	}
	.archive-date {
		font-size: 4.1026vw;
		order: 1;
	}
	.archive-category {
		font-size: 3.0769vw;
		margin-right: 0;
		order: 2;
	}
	.archive-content {
		order: 3;
		width: 100%;
		margin-top: .5em;
	}
	.archive-title {
		font-size: 5.3846vw;
	}
}
@media (min-width: 768px) {
	.archive-title {
		line-height: 1;
	}
	.archive-item {
		align-items: center;
		padding: 25px 1em;
	}
	.archive-date {
		font-size: 16px;
		min-width: 123px;
	}
	.archive-category {
		font-size: 12px;
		min-width: 8rem;
		text-align: center;
	}
	.archive-content {
		flex: 1;
	}
	.archive-title {
		font-size: 33px;
	}
	.news-single-btn {
		margin-top: 4em;
	}
}

/* -----------------------------------------------------------------------
 検索結果
----------------------------------------------------------------------- */
.search-list > *:first-child {
	border-top: solid 1px var(--sub-text-color);
}
.search-list > * {
	padding: 1.5em 0;
	border-bottom: solid 1px var(--sub-text-color);
}


/* -----------------------------------------------------
 PAGINATION
-------------------------------------------------------- */
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.pagination .pager {
	position: relative;
	display: block;
	padding: 0;
	margin: 0 .5em;
	box-sizing: border-box;
	line-height: 1;
	background-color: var(--theme-bg-color);
	color: var(--main-text-color);
	font-family: var(--theme-en-font);
}
.pagination .pager.current {
	background-color: var(--sub-theme-color1);
	color: #fff;
}
.pagination .pager.first::after,
.pagination .pager.prev::after,
.pagination .pager.next::after,
.pagination .pager.last::after {
	/* content: ""; */
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	height: 1em;
	width: auto;
	margin: auto;
	line-height: 1;
}
.pagination .pager.first::after {
	content: "First";
}
.pagination .pager.prev::after {
	content: "Prev";
}
.pagination .pager.next::after {
	content: "Next";
}
.pagination .pager.last::after {
	content: "Last";
}
@media screen and (max-width: 767px) {
	.pagination {
		width: 100vw;
		margin: 3em auto 0;
		margin-left: calc( 50% - 50vw );
	}
	.pagination .pager {
		width: 12vw;
		height: 12vw;
		padding-top: .9em;
		font-size: 111.1%;
	}
	.pagination .pager:first-child {
		margin-left: 0;
	}
	.pagination .pager:last-child {
		margin-right: 0;
	}
	.pagination .pager.first,
	.pagination .pager.last {
		width: 17.2vw;
	}
}
@media screen and (min-width: 768px), print {
	.pagination {
		margin: 1em auto 0;
	}
	.pagination .pager {
		width: 40px;
		height: 40px;
		padding-top: 11px;
		transition: all .3s ease;
		font-size: 16px;
	}
	.pagination .pager.first,
	.pagination .pager.last {
		width: 64px;
	}
	.pagination .pager:hover {
		opacity: 1;
		background-color: var(--main-theme-color);
		color: #fff;
	}
}


/* -----------------------------------------------------------------------
 SEDIO-VAN, internet
----------------------------------------------------------------------- */
.sedio-van figure  {
	max-width: 827px !important;
	margin: 2em auto 0;
}
.internet figure img {
	margin: auto;
}
.van-btn {
	margin-top: 2em;
	margin-left: auto;
	margin-right: 0;
	font-size: inherit;
}
.box-internet {
	margin: 2em 0;
	padding: 1.5em;
	background-color: #fff;
}
.box-internet h4 {
	margin-top: 0;
}
@media (max-width: 767px) {
	.sedio-van .page-nav-list li,
	.internet .page-nav-list li {
		width: 100%;
	}
	.sedio-van .page-nav-list li a,
	.internet .page-nav-list li a {
		font-size: 108%;
	}
	.van-btn {
		max-width: inherit;
	}
}
@media (min-width: 768px) {
	.sedio-van figure,
	.internet figure {
		margin-top: 3em;
	}
	.van-btn {
		max-width: 400px;
	}
	.box-internet {
		padding: 2em;
	}
	.content-section .internet-feature h3 {
		font-size: 26px;
	}
}



/* -----------------------------------------------------------------------
 会員向け情報
----------------------------------------------------------------------- */
.flxpc-member {
	padding: 1em;
}
.list-member > .flxpc-member:nth-of-type(odd) {
	background-color: var(--theme-bg-color);
}
.member-title {
	margin: 0 0 .5em !important;
	font-size: 120% !important;
}
.schedules .page-title {
	font-weight: bold;
}
.schedules .page-title .label-member,
.downloads .page-title .label-member {
	display: block;
	font-size: 50%;
}
.tribe-events .tribe-events-c-events-bar {
	display: none;
}
.tribe-events-c-subscribe-dropdown, /* v2 のドロップダウン */
.tribe-events-c-subscribe,          /* リンクボタンなど */
.tribe-events-c-ical,               /* iCal エクスポートリンク */
.tribe-events-ical {                /* 古いテンプレート（v1） */
	display: none !important;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
#tribe-events-pg-template {
	max-width: 1140px;
	width: 89.7436%;
	margin: auto;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
}
.single .schedules > p {
	display: none;
}
.single .schedules .page-nav {
	margin-bottom: 1em;
}
@media (max-width: 767px) {
	.for-member .page-nav-list li a,
	.schedules .page-nav-list li a,
	.downloads .page-nav-list li a {
		font-size: 108%;
	}
	.col-member-date {
		margin-bottom: 1em;
	}
	.tribe-events .tribe-events-l-container {
		padding-top: 0;
	}
	.schedules {
		padding-top: 2.5em !important;
	}
	.schedules .page-header {
		margin-bottom: 2em;
	}
	.schedules .page-nav {
		margin-left: calc(50% - 50vw);
		padding: 5.12821vw 0;
	}
	.schedules .page-nav-list {
		margin: auto;
		border-top: solid 1px var(--sub-text-color);
		border-right: solid 1px var(--sub-text-color);
	}
	.schedules > p {
		padding: 2.5em 0;
	}
	.tribe-events-single-event-title {
		font-size: 7.6923vw;
	}
}
@media (min-width: 768px) {
	.flxpc-member {
		align-items: stretch;
		justify-content: space-between;
	}
	.col-member-date {
		width: 16%;
	}
	.col-member-dtl {
		width: 83%;
	}
	.schedules {
		padding-top: 4em !important;
	}
	.schedules > p {
		padding: 5em 0;
	}
	.tribe-events-event-meta.primary,
	.tribe-events-event-meta.secondary {
		justify-content: space-between;
		width: 100%;
	}
	.tribe-events-meta-group {
		flex: 0 0 auto;
		margin-right: 0;
	}
	.tribe-events-meta-group.tribe-events-meta-group-details {
		width: 14%;
	}
	.tribe-events-meta-group.tribe-events-meta-group-venue {
		width: 38%;
	}
	.tribe-events-meta-group.tribe-events-meta-group-gmap {
		width: 46%;
		max-width: 600px;
		flex-basis: auto;
	}
	.tribe-events-venue-map {
		width: 100%;
	}
	.tribe-events-single-event-title {
		font-size: 39px;
	}
}


/* -----------------------------------------------------------------------
 お問い合わせ
----------------------------------------------------------------------- */
/* フォームスタイル */
.contact-form {
	background-color: #fff;
}
.required-note {
	color: var(--main-accent-color);
	font-weight: bold;
}
.form-group {
	padding: 1em;
}
form > .form-group:nth-of-type(odd) {
	background-color: var(--theme-bg-color);
}
.form-label {
	display: block;
	font-weight: bold;
	margin-bottom: 0.5em;
	position: relative;
}
.required {
	color: var(--main-accent-color);
	margin-left: 0.5em;
}
.form-input,
.form-select,
.form-textarea {
	width: 100%;
	padding: .5em !important;
	font-size: inherit;
	font-family: inherit;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	outline: none;
	border-color: var(--main-theme-color);
	box-shadow: 0 0 0 2px rgba(20, 77, 144, 0.1);
}
.form-row {
	display: flex;
	gap: 1em;
}
.form-col {
	flex: 1;
}
.form-textarea {
	resize: vertical;
}
.privacy-checkbox label > * {
	vertical-align: middle;
}
.privacy-checkbox input[type="checkbox"] {
	width: 1em;
	height: 1em;
	border-color: #ccc;
	border-radius: 0;
}
.privacy-text {
	padding: 1em;
	background-color: #fff;
}
.privacy-notes {
	font-size: .9em;
}
input[type="submit"].submit-button {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 2em auto 0;
	padding: 1em;
	background-color: var(--main-theme-color);
	color: #fff;
	border: none;
	border-radius: 5px;
	font-size: inherit;
	font-weight: 500;
	cursor: pointer;
	transition: all .3s ease;
	position: relative;
}
input[type="submit"].submit-button:hover {
	background-color: var(--sub-theme-color2);
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

@media (max-width: 767px) {
	.contact-form {
		padding: 5.1282vw;
		margin: 0 2.5641vw;
	}
	.form-input,
	.form-select {
		padding: 3.8462vw 2.5641vw;
	}
	.form-textarea {
		padding: 3.8462vw 2.5641vw;
		min-height: 30.7692vw;
	}
	.form-row {
		flex-direction: column;
		gap: 1.5em;
	}
	.privacy-notes {
		font-size: 3.5897vw;
	}
	input[type="submit"].submit-button {
		font-size: 125%;
	}
}
@media (min-width: 768px) {
	.contact-form {
		padding: 3em;
		max-width: 960px !important;
		margin: 0 auto;
	}
	.form-group {
		padding: 1.5em;
	}
	.form-textarea {
		min-height: 120px;
	}
	.privacy-notes {
		font-size: 14px;
	}
	input[type="submit"].submit-button {
		font-size: 24px;
		max-width: 350px;
	}
}



/* -----------------------------------------------------------------------
 よくある質問
----------------------------------------------------------------------- */
.content-section .faq-list {
	list-style: none;
}
.content-section .faq-list li {
	margin-left: 0;
}
.content-section .faq-list li:not(:last-of-type) {
	margin-bottom: .5em;
}
.question-btn {
	max-width: 100%;
	width: 100%;
	padding-right: 2.8em;
	border: solid 1px var(--theme-border-color);
	text-decoration: none;
	line-height: 1.5;
	font-size: inherit;
	font-weight: normal;
	color: var(--main-theme-color);
}
.question-btn::before {
	content: 'Q.';
	display: inline-block;
	font-weight: 800;
	font-style: italic;
	font-family: var(--theme-en-font);
	font-size: 116%;
	margin-right: .5em;
}
.type-faq .faq-item {
	background-color: #fff;
	overflow: hidden;
	border: solid 1px var(--main-theme-color);
	transition: all 0.3s ease;
}
.type-faq .faq-question {
	padding: 2rem;
	background-color: var(--main-theme-color);
	color: #fff;
	position: relative;
}
.type-faq .faq-question::before {
	content: 'Q.';
	position: absolute;
	left: 2rem;
	top: 0;
	background-color: #fff;
	color: var(--main-theme-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-style: italic;
	font-family: var(--theme-en-font);
	margin-right: 1rem;
}
.type-faq .faq-question-text {
	flex: 1;
	font-weight: 500;
	margin-left: 4.5rem;
	line-height: 1.25;
}
.type-faq .faq-answer {
	padding: 1em;
	position: relative;
}
.type-faq .faq-answer::before {
	content: 'A.';
	position: absolute;
	left: 2rem;
	top: 2rem;
	width: 3rem;
	height: 3rem;
	background-color: var(--main-accent-color);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-style: italic;
	font-family: var(--theme-en-font);
}
.type-faq .faq-answer-text {
	margin-left: 4.5rem;
	line-height: 1.7;
	margin-bottom: 1.5rem;
	overflow: hidden;
}
@media (max-width: 767px) {
	.type-faq .faq-item,
	.type-faq .faq-question {
		border-radius: .7692vw;
	}
	.type-faq .faq-question {
		display: flex;
		align-items: center;
		min-height: 16.6667vw;
		padding: 1em;
	}
	.type-faq .faq-question::before,
	.type-faq .faq-answer::before {
		left: 2vw;
		width: 10.2564vw;
		height: 10.2564vw;
		font-size: 5.3846vw;
	}
	.type-faq .faq-question::before {
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.type-faq .faq-answer::before {
		top: 2vw;
	}
	.type-faq .faq-question-text {
		font-size: 4.1026vw;
		margin-left: 3em;
	}
	.type-faq .faq-answer-text {
		font-size: 4.1026vw;
		margin-left: 3em;
	}
	.type-faq .content-section.bg {
		padding-bottom: 9em;
	}
	.faq-single-btn {
		margin: -8em auto 4em;
	}
}
@media (min-width: 768px) {
	.question-btn {
		padding-left: 1.75em;
	}
	.type-faq .faq-item,
	.type-faq .faq-question {
		border-radius: 5px;
	}
	.type-faq .faq-question::before,
	.type-faq .faq-answer::before {
		top: 14px;
		left: 20px;
		width: 40px;
		height: 40px;
		font-size: 21px;
	}
	.type-faq .faq-question-text {
		margin-left: 60px;
		font-size: 24px;
	}
	.type-faq .faq-answer-text {
		margin-left: 60px;
	}
	.type-faq .content-section.bg {
		padding-bottom: 11em;
	}
	.faq-single-btn {
		margin: -10em auto 6em;
	}
}


