/*
Theme Name: liberta
Theme URI: http://underscores.me/
Author: cyclo
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: liberta
Tags:

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

liberta is based on Underscores http://underscores.me/, (C) 2012-2016 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 http://necolas.github.com/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Asides
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
#top_nav_btn{
    display: none !important;
}

#content_nav_btn{
    display: none !important;
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html{ font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}
body{ margin:0;}
@media screen and (max-width:767px){
body{ margin:0; overflow-x:hidden;}
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

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

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 16px;
	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;
	font-size: 15px;
	font-size: 0.9375rem;
	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;
	font-size: 15px;
	font-size: 0.9375rem;
}

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

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

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

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: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

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

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, .8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
	/*text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);*/
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}

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;
}

select {
	border: 1px solid #ccc;
}

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;
}

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"] {
	padding: 3px;
}

textarea {
	padding-left: 3px;
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: royalblue;
}

a:visited {
	color: purple;
}

a:hover,
a:focus,
a:active {
	color: midnightblue;
}

a:focus {
	outline: thin dotted;
}

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

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

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

.main-navigation li {
	float: left;
	position: relative;
}

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

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

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

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

.main-navigation ul ul li {

}

.main-navigation li:hover > a,
.main-navigation li.focus > a {
}

.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
}

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

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

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
}

/* 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: block;
	}
}

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

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.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;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

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

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

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

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

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

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

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

.hentry {
	margin: 0 0 1.5em;
}

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

.single .byline,
.group-blog .byline {
	display: inline;
}

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

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

/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}

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

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# 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 embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## 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;
}

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

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
## 161014
--------------------------------------------------------------*/

.link_text {
	color: #28a7e1;
	text-align: right;
}
.dvd_list th .ico_required {
    color: #fff;
    background: #e84c4c;
    font-size: 12px;
    font-weight: bold;
    display: inline-block;
    padding: 5px 7px;
    line-height: 1;
    border-radius: 3px;
	float: right;
}
.dvd_list th{ width:30%;}


.radio_block span.wpcf7-list-item{ display:block;}
.wpcf7c-conf{ background-color:#ffffcc !important; border: 1px solid #fac832 !important;}
.wpcf7c-btn-back{ background:none !important;}

/*スマホメニュー*/
.drawer-hamburger{ display: none !important;}
@media screen and (max-width:750px){
header .wrap{ position:relative; background: #fff; width: 100%; height: 80px;}
.drawer-hamburger{ display:inline-block !important; position:absolute !important; padding: 18px 0.9rem 30px;}
.drawer--right .drawer-hamburger, .drawer-hamburger{ right: 10px !important; box-shadow: none !important;}
.drawer--right.drawer-open .drawer-hamburger{ position:fixed !important; left:10px; right:auto !important; background: #fff !important;}
.drawer-nav{ /*top: 16.3vw;*/ top:0 !important;}
.drawer-open .drawer-nav{ width: 75%;}
.drawer-menu{ padding: 0 !important; height: 100vh; overflow-y: scroll;}
.drawer-menu li{ border-top:1px solid #aaa;}
.drawer-menu li.main_menu a{ display: block; font-weight: bold; font-size: 1.25em; position: relative; padding-left: 45px;}
.drawer-menu li.main_menu a:visited{ color: #222;}
.drawer-menu li.main_menu a:after{ width:10px; height:17px; content:""; position:absolute; right: 10px; top: calc(50% - 8px); background:url(https://liberta.sport-school.com/img/drawer/arrow.png) right center no-repeat;}
.drawer-menu li.main_menu a:before{ width:30px; height:30px; content:""; position:absolute; left: 10px; top: calc(50% - 15px);}
.drawer-menu li.main_menu:nth-child(1) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico001.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(2) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico002.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(3) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico003.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(4) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico004.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(5) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico005.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(6) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico006.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(7) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico007.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(8) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico008.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(9) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico009.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(10) a:before{ background:url(https://liberta.sport-school.com/img/drawer/ico010.png) right center no-repeat; background-size: 100% auto;}
}

/*スマホフッター*/
#footer_fixed{ display: none;}
@media screen and (max-width:750px){
footer{ overflow:hidden;}
#footer_fixed{ display: block; background:rgba(68,174,79,0.96); position: fixed; left: 0; right: 0; bottom: 0; width: 100%; z-index: 99;}
#footer_fixed:before{ display: none;}

#footer_fixed dl{ display:flex; width: 100%; padding: 0;}
#footer_fixed dl dt{ width: 50%; display: flex; align-items: center; justify-content: center; text-align: center; border-right: 1px solid #fff; position: relative;}
#footer_fixed dl dt:nth-child(2){ width: 40%}
#footer_fixed dl dt a{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 100%; color: #fff; font-size: 5vw; font-weight: bold; padding: 1.25vw 0 1.25vw 7.5vw; position: relative; text-decoration: none;}
#footer_fixed dl dt a:before{ content: ""; width: 6.25vw; height: 6.25vw; position: absolute; top: 50%; left: 1.25vw; transform: translateY(-50%);}
#footer_fixed dl dt a:before{ background: url("https://liberta.sport-school.com/wp-content/themes/liberta/images/ico_search.png") center center; background-size: 100%;}
#footer_fixed dl dt:nth-child(2) a:before{ width: 7.5vw; height: 7.5vw; background: url("https://liberta.sport-school.com/wp-content/themes/liberta/images/ico_book.png"); background-size: 100%;}
#footer_fixed dl dt a strong{ font-size: 3vw; color: #d21861; font-weight: bold;}
#footer_fixed dl dt a span{ display: flex; align-items: center; justify-content: center; width: 100%; font-size: 3.5vw; line-height: 1.25em; font-weight: bold;}
#footer_fixed dl dt:nth-child(2) a span{ font-size: 4.5vw; letter-spacing: 0.1em;}

#footer_fixed dl dd{ width: 10%; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 0 5vw; margin: 0;}
#footer_fixed dl dd button{ width: 7.5vw;}
#footer_fixed .drawer-hamburger{ position: static !important; padding: 0;}
#footer_fixed .drawer-hamburger-icon,
#footer_fixed .drawer-hamburger-icon::after,
#footer_fixed .drawer-hamburger-icon::before{ background: #fff;}
.drawer-open #footer_fixed .drawer-hamburger-icon{ background: transparent;}
#footer_fixed .drawer-hamburger-icon{ text-shadow: none; color: #fff;}
#footer_fixed .drawer-hamburger-icon strong{ display: block; font-size: 2.5vw; padding-top: 5vw;}
/*.drawer--right.drawer-open .drawer-hamburger{ background: none !important;}*/
body{ padding-bottom: 17.5vw;}
}

/*プライバシーポリシー*/
li.box_style_03{ margin:2em auto;}
li.box_style_04{ margin:2em auto;}
li.box_style_05{ margin:2em auto;}
.right_text {
    text-align: right;
}

/*サイトマップ*/
@media screen and (max-width:750px){
.sitemap_menu{ margin: 1em auto;}
}

/*パンクズ*/
ul.bread_crumb{ display: flex; flex-wrap: wrap;}
ul.bread_crumb li{ padding:0 !important;}
ul.bread_crumb li.sub:before{ content:">"; display:inline-block; margin:0 0.5em;}
ul.bread_crumb a:first-child{ padding:0;}
@media screen and (max-width:767px){
ul.bread_crumb li{ font-size: 2.5vw !important;}
}

/*指導員コメント*/
.teacher_comment{ display: block; width: 100%; margin-top: 40px;}
.teacher_comment h3{ text-align: center; font-weight: bold; font-size: 20px; margin-bottom: 10px; position: relative;}
.teacher_comment h3:before{ content: ""; width: 44%; height: 0px; background: #ddd; position: absolute; left: 0; top: 50%;}
.teacher_comment h3:after{ content: ""; width: 44%; height: 0px; background: #ddd; position: absolute; right: 0; top: 50%;}
.teacher_comment p{ border: 2px solid #ddd; padding: 2em 1.5em 2em 1.5em; font-size:16px; background: #fafafa;}
@media screen and (max-width:750px){
.teacher_comment{ margin-top:3%;}
.teacher_comment h3{ font-size:4.5vw; margin-bottom:1.5%;}
.teacher_comment h3:before{ width:40%;}
.teacher_comment h3:after{ width:40%;}
.teacher_comment p{ font-size:3.5vw;}
}
.notice4{
  border-style: solid;
  border-width: 2px;
  border-color: rgb(102, 102, 102);
  background-color: rgb(255, 254, 235);
 width: 100%;
padding: 10px;
		margin: 30px 0px 0px 0px ;

}



/*index*/
#top .row.mlr0 .content{ padding-right: 0;}
@media screen and (max-width:767px){
#top .row.mlr0 .content{ padding:0 /*3%*/;}
#top .row.mlr0 .col-md-8 img{ margin: 0 auto;}
}
.gloval_nav ul{ display: table; table-layout: fixed; width: 100%;}
.gloval_nav ul li{ display: table-cell; vertical-align: middle; text-align: center; color: #fff; background: url("images/g_menu_line.png") no-repeat right center;}
.gloval_nav ul li a{ display: block; padding: 1em 0; color: inherit; font-size: 18px; font-weight: bold; text-decoration: none; transition: 0.3s;}
.gloval_nav ul li a span{ display: block; color: #68cad7; font-size: 66.6666%;}
.gloval_nav ul li a:hover{ background: #28a7e1;}

/*TOP用*/
#top_nav_btn{ background: #fafafa; padding: 40px 20px 20px; margin: 40px auto 0;}
#top_nav_btn ul{ width:100%; display: table; table-layout: fixed; border-collapse: separate; border-spacing: 20px 0;}
#top_nav_btn ul li{ display: table-cell; vertical-align: middle; text-align: center;}
#top_nav_btn ul li img{ display:inline;}
@media screen and (max-width:767px){
#top_nav_btn{ padding:3%; margin:3% auto 0;}
#top_nav_btn ul{ display:block; border-collapse:collapse; border-spacing:0;}
#top_nav_btn ul li{ display:block; text-align: center;}
#top_nav_btn ul li img{ margin: 0 auto;}
#top_nav_btn ul li:first-child{ margin-bottom: 3%;}
}
/*コンテンツ下用*/
.main_content.wrap{ /*overflow:hidden;*/}
.row.mlr0{ margin:0;}
#content_nav_btn{ background: #fafafa; padding: 20px 0 10px; margin: 40px auto;}
#content_nav_btn ul{ width:100%; display: table; table-layout: fixed; border-collapse: separate; border-spacing: 20px 0;}
#content_nav_btn ul li{ display: table-cell; vertical-align: middle; text-align: center;}
#content_nav_btn ul li img{ display:inline;}
#content_nav_btn figure{ margin: 20px;}
@media screen and (max-width:767px){
/*.main_content.wrap{ width:94%;}*/
#content_nav_btn{ padding:3%; margin:12% auto;}
#content_nav_btn ul{ display:block; border-collapse:collapse; border-spacing:0;}
#content_nav_btn ul li{ display:block; text-align: center;}
#content_nav_btn ul li img{ margin: 0 auto;}
#content_nav_btn ul li:first-child{ margin-bottom: 3%;}
#content_nav_btn figure{ margin:1.5%;}
}

.nav_btn_multi{ display: none;}
@media screen and (max-width:767px){
.nav_btn_multi{ display:block; background: #fafafa; padding:3%; margin:12% auto;}
.nav_btn_multi ul li{text-align: center;}
.nav_btn_multi ul li img{ display:inline; margin: 0 auto;}

}

figure.ban{ text-align: center; margin: 40px auto;}
figure.ban img{ display: inline-block;}
@media screen and (max-width:767px){
figure.ban{ margin:3% auto;}
figure.ban img{ display: inline-block;}
}

#index_message{ display: table; table-layout: fixed; width: calc(100% + 80px); border-collapse: separate; border-spacing: 40px 0; margin: 70px auto 70px -40px;}
#future{ display: table-cell; vertical-align: top; background: url("images/future_bg.png") center top no-repeat #f1eee9; border-top: 4px solid #0d3e84; padding: 30px 30px 40px;}
#hininchi{ display: table-cell; vertical-align: top; background: url("images/hininchi_bg.png") center top no-repeat #e6eff5; border-top: 4px solid #0d3e84; padding: 30px 30px 40px;}
#index_message h3{ text-align: center; color: #0d3e84; font-size: 26px; line-height: 1em; font-weight: bold; margin-bottom: 30px;}
#index_message h3 span{ display: block; font-size: 14px; font-weight: bold; line-height: 1em; margin-top: 20px; color: #404040;}
#index_message h4{ text-align: center; color: #0d3e84; font-size: 20px; line-height: 1em; font-weight: bold; margin: 20px auto 10px;}
#index_message p{ font-size: 17px; letter-spacing: -0.05em; line-height: 2em;}
#index_message p.center{ text-align: center;}
#index_message p.right{ text-align: right;}
#index_message figure.btn{ margin: 30px auto 0;}
@media screen and (max-width:767px){
#index_message{ display:block; width:100%; border-collapse:collapse; border-spacing:0; margin:6% auto;}
#future{ display:block; background-size: 100% auto; padding:3% 3% 6%; margin: 6% auto;}
#hininchi{ display:block; background-size: 100% auto; padding:3% 3% 6%; margin: 6% auto;}
#index_message h3{ font-size:6vw; margin-bottom:3%;}
#index_message h3 span{ font-size:2.5vw; margin-top:3%;}
#index_message h4{ font-size:4vw; margin:3% auto;}
#index_message p{ font-size:3vw; line-height: 1.75em;}
#index_message p.center{ text-align: left !important;}
#index_message figure.btn{ margin:3% auto 0;}
}

#future dl{ display: table; table-layout: fixed; width: 100%; border-collapse: collapse; border-spacing: 0; margin: 30px auto;}
#future dl dt{ display: table-cell; vertical-align: middle; width: 130px;}
#future dl dd{ display: table-cell; vertical-align: middle; padding-left: 30px; color: #0d3e84; font-size: 22px; line-height: 1.75em; font-weight: bold;}
@media screen and (max-width:767px){
#future dl{ margin:3% auto;}
#future dl dt{ width: 30%;}
#future dl dd{ padding-left:1em; font-size:4.5vw;}
}

#hininchi .movie{ width: 360px; margin: 0 auto;}
@media screen and (max-width:767px){
#hininchi .movie{ width:80%;}
}
.youtube{ position:relative; width:100%; padding-top:56.25% !important; z-index: 1;}
.youtube iframe{ position: absolute; top:0; right:0; width:100% !important; height:100% !important; padding:8px; background:#fff; box-shadow:rgba(0, 0, 0, 0.2) 0 0 5px 2px;}
@media screen and (max-width:767px){
.youtube iframe{ padding: 1.25vw;}
}

#footer_rotation{ margin: 20px auto;} 
@media screen and (max-width:767px){
#footer_rotation{ display:none;}
}

.bg_yellow{ background: #fff338 !important; padding: 4rem 0 1px !important;}

#index_lead{ /*margin: 50px auto;*/ margin: 0 auto; padding: 70px 0 110px; text-align: center; background: url("images/index_lead_bg.jpg") center bottom no-repeat #e9f0f6; background-size: 100% auto;}
#index_lead p{ text-align: center; font-size: 18px; line-height: 1.5em; margin-bottom:1.0em; text-shadow:5px 5px 10px #fff,-5px 5px 10px #fff,5px -5px 10px #fff,-5px -5px 10px #fff; font-weight: bold;}
#index_lead p strong{ display:inline; font-size: 120%; line-height: 2.0em; color: #0c3d83; font-weight: bold;}
@media screen and (max-width:767px){
#index_lead{ /*margin:6% auto;*/ padding:6% 3% 12%; background-size: 100% auto;}
#index_lead p{ font-size:3vw; line-height: 1.7em; text-align: left; margin-bottom:1.7em; font-weight: normal;}
#index_lead p strong{ line-height: 1.75em;}
}

/*スクール検索*/
.school_detail_txt{ margin:0 auto 50px; padding: 70px 50px 110px !important; text-align: center; background: url("images/index_lead_bg.jpg") center bottom no-repeat #e9f0f6; background-size: 100% auto;}
.school_detail_txt p{ text-align: center; font-size: 18px; line-height: 1.0em; margin-bottom:1.0em; text-shadow: 5px 5px 10px #fff,-5px 5px 10px #fff,5px -5px 10px #fff,-5px -5px 10px
#fff; font-weight: bold;}
.school_detail_txt p strong{ display:inline; font-size: 120%; line-height: 2.4em; color: #0c3d83; font-weight: bold;}
@media screen and (max-width:767px){
.school_detail_txt{ margin:0 auto 6%; padding:6% 3% 12% !important; background-size: 100% auto;}
.school_detail_txt p{ font-size:3vw; text-align: left; margin-bottom:1.7em; font-weight: normal;}
.school_detail_txt p strong{ line-height: 1.75em;}
}

/*サイドバー調整*/
.side_content iframe{ display: block; margin-left: auto; margin-right: auto;}

/*フッター調整*/
.foot_menu.col-md-11,
.foot_menu.col-md-13{ width:50%;}
.foot_menu a{ font-size:13px;}

/*入会の流れ*/
#flow dl{ margin: 40px auto; display: table; table-layout: fixed; width: 100%;}
#flow dl dt{ display: table-cell; vertical-align: top; width: 55%;}
#flow dl dd{ display: table-cell; vertical-align: top; padding-left: 40px;}
#flow dl dt h3{ background: #0d3e84; color: #fff; text-align: center; font-size: 18px; line-height: 1.25em; font-weight: bold; padding: 0.25em; border-radius: 30px; position: relative; margin-bottom: 10px;}
#flow dl dt h3 span{ background: #fff; color: #0d3e84; position: absolute; left: 0.25em; top: 0.25em; border-radius: 50%; padding: 0 0.2em; font-weight: bold;}
#flow dl dt h4{ text-align: center; color: #0d3e84; font-size: 16px; font-weight: bold; margin-bottom: 10px;}
#flow dl dt ul li{ padding-left: 1.25em; position: relative; line-height: 1.5em; margin-bottom: 0.5em;}
#flow dl dt ul li:before{ content: "●"; position: absolute; left: 0;}
#flow dl dt ul li a{ text-decoration: underline;}
@media screen and (max-width: 768px) {
#flow dl{ margin: 6% auto 12%; display:block;}
#flow dl dt{ display:block; width:100%;}
#flow dl dd{ display:block; padding:0; margin-top: 3%;}
#flow dl dt h3{ font-size:4.5vw; margin-bottom:1.5%;}
#flow dl dt h4{ font-size:3.5vw; margin-bottom:1.5%;}
#flow dl dt ul li{ font-size: 3.5vw;}
}

/*210428追加*/
/*メニュー調整*/
.drawer-menu-item{ font-size: .84rem !important;}
.foot_menu li{ list-style: disc outside !important; line-height: 1.25em !important; margin: 0.5em auto !important;}

/*pv*/
#pv_box *{ box-sizing: border-box;}
#pv_box{ margin: 30px auto; font-size: 18px;}
#pv_box h3{ text-align: center; font-size: 125%; font-weight: bold; margin-bottom: 0.5em;}
#pv_box p.lead{ text-align: center; padding-top: 0;}
#pv_box p.lead input[type=checkbox]{ display: inline-block; width: auto; margin-right: 0.5em; cursor: pointer;}
#pv_box p.lead a{ color: #11406b; text-decoration: underline; cursor: pointer;}
#pv_box p.lead a:hover{ text-decoration: none;}
#pv_box .lead p{ text-align: center; padding-top: 0;}
#pv_box .lead input[type=checkbox]{ display: inline-block; width: auto; margin-right: 0.5em; cursor: pointer;}
#pv_box .lead a{ color: #11406b; text-decoration: underline; cursor: pointer; font-size:16px !important;}
#pv_box .lead a:hover{ text-decoration: none;}
#pv_box .lead dl{ display: table; margin: 1em auto;}
#pv_box .lead dl dt{ display: table-cell; vertical-align: middle;}
#pv_box .lead dl dt span{ display: inline-block; color: #fff; background: #e84c4c; font-size: 12px; font-weight: bold; padding:0.5em; line-height: 1; border-radius: 3px;}
#pv_box .lead dl dd{ display: table-cell; vertical-align: middle; padding: 0;}
#pv_box .lead dl dd label{ background: #f0dfdf; border: 2px solid transparent; margin-left: 0.75em; display: block; cursor: pointer;}
#pv_box .lead dl dd label.active{ background: none; border: 2px solid #329632;}
@media screen and (max-width:767px){
#pv_box .lead dl dt span{ font-size:2.8vw; border-radius:0.5vw;}
}
#pv_modal{ display: none; position: fixed; left: 0; right: 0; top: 0; margin: auto; width: 100%; height: 100%; z-index: 999; font-size: 16px;}
#pv_modal_bg{ content: ""; z-index: 1000; background: rgba(0,0,0,0.9); position: absolute; left: 0; right: 0; top: 0; margin: auto; width: 100%; height: 100%; cursor: pointer;}
.pv_modal_close{ position:fixed; width: 1000px; right: 0; top: 0; margin: auto; z-index: 1002; text-align: right;}
.pv_modal_close span{ display: inline-block !important; cursor: pointer; font-size:2em !important; line-height: 1em; color: #fff !important; font-weight: bold;}
#pv_modal_in{ position:absolute; left:0; right:0; top:50%; transform: translateY(-50%); width:1000px; height:90%; margin:auto; background:#fff; overflow-y:auto; overflow-x: hidden; padding:40px; z-index: 1001; -webkit-overflow-scrolling: touch;}
#pv_modal_in p:last-child{ padding-bottom: 40px;}
#pv_modal h4{ text-align: center; font-size: 150%; font-weight: bold; line-height: 1em; padding: 0.5em; margin-bottom: 1em; color: #11406b; border-top: 3px double #11406b; border-bottom: 3px double #11406b;}
#pv_modal h5{ margin: 2em auto 0.5em; font-size: 125%; font-weight: bold; color: #11406b; border-bottom: 1px solid #11406b;}
#pv_modal h6{ margin: 1em auto 0.25em; font-size: 110%; font-weight: bold; text-decoration: underline;}
#pv_modal p.sign{ text-align: right; font-size: 90%; margin: 3em auto;}
@media screen and (max-width: 767px) {
#pv_box{ margin: 5% auto; font-size:3vw;}
#pv_box h3{font-size:120%;}
#pv_modal{ font-size:2.5vw;}
#pv_modal_in{ width:90%; height:90%; padding:5%;}
#pv_modal_in p:last-child{ padding-bottom:5%;}
#pv_modal h4{ font-size: 133%;}
#pv_modal h5{ font-size: 116%;}
#pv_modal h6{ font-size: 105%;}
#pv_modal p.sign{ font-size: 90%; margin: 3em auto;}
}
#pv_modal h4:not(:first-child){ margin-top: 2em;}
ul.pv_list{ margin: 0.5em 1em;}
ul.pv_list ul.pv_list{ margin: 0;}
ul.pv_list li{ padding-left: 1.5em; position: relative; margin-bottom:0.25em;}
ul.pv_list ul.pv_list li{ padding-left: 2em;}
ul.pv_list li span{ position: absolute; top: 0; left: 0;}
#pv_box span.wpcf7-list-item{ margin: 0;}
span.wpcf7-not-valid-tip{ font-size: 75%; text-align: center;}
.mw_wp_form .error{ font-size: 75%; text-align: center;}

/*210728_～～とは？*/
#page_about *{ text-align: center;}
#page_about p{ text-align: left;}
#page_about ul li{ text-align: left;}
@media screen and (max-width:767px){
#page_about{ /*font-size: 3vw;*/ font-size: 4vw;}
}

h3.ttl_h3{ font-weight: bold; color: #8496b0; font-size: 160%; padding:0.25em 0; margin: 2em auto 1em; border-bottom: 1px dashed #243659;}
h4.ttl_h4{ font-weight: bold; font-size: 150%; padding:0; margin: 2em auto 1em;}
.consider_list{ margin: 40px auto;}
.consider_list dl dt{ text-align: center; margin-bottom: 20px;}
.consider_list dl dt strong{ background: #dc4482; color: #fff; display: inline-block; font-size: 32px; font-weight: bold; border-radius: 2em; padding: 0.5em 1.5em; position: relative;}
.consider_list dl dt strong:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 18px 20px 0 20px; border-color: #dc4481 transparent transparent transparent; position: absolute; left: 0; right: 0; bottom: -16px; margin: auto;}
.consider_list dl dd{ border: 8px solid #dc4482; padding: 20px;}
.consider_list dl dd ul li{ font-size: 18px; letter-spacing: 0.1em; line-height: 1.25em; position: relative; padding: 1em; border-bottom: 2px dotted #dc4482;}
.consider_list dl dd ul li:first-child{ border-top: 2px dotted #dc4882;}
.consider_list dl dd ul li span{ position: absolute; left: 0.5em; top: 1em;}
.consider_list dl dd ul li strong{ display: inline; font-weight: bold; font-size: 120%; color: #333;}
@media screen and (max-width:767px){
.consider_list{ margin:10% auto;}
.consider_list dl dt{ margin-bottom:5%;}
.consider_list dl dt strong{ font-size:5vw;}
.consider_list dl dt strong:after{ border-width: 2.75vw 5vw 0 5vw; bottom:-2.5vw;}
.consider_list dl dd{ border:1vw solid #dc4482; padding:2.5%;}
.consider_list dl dd ul li{ font-size:3vw;}
}

.front_line{ margin-top: 20px;}
.front_line ul{ display: table; table-layout: fixed; width: 100%; border-collapse: separate; border-spacing: 40px 0;}
.front_line ul li{ display: table-cell; vertical-align: top; }
.front_line ul li p{ text-align: center; line-height: 1.25em; margin-top: 10px;}
@media screen and (max-width:767px){
.front_line{ margin-top:2.5%;}
.front_line ul{ display:block; border-collapse:collapse; border-spacing:0; letter-spacing:-1em; text-align:center;}
.front_line ul li{ display:inline-block; vertical-align: top;letter-spacing:0; width: 50%; padding: 2.5%;}
.front_line ul li p{ font-size: 2.8vw; margin-top:2.5%;}
}

.about_schooling dl{ display: flex; align-items: center; justify-content: center; margin: 60px auto;}
.about_schooling dl:nth-child(2n){ flex-direction: row-reverse;}
.about_schooling dl dt{ width: 50%; padding: 0 2.5%;}
.about_schooling dl dd{ width: 50%;}
.about_schooling h4{ margin-top: 0; padding-bottom: 10px; border-bottom: 1px solid #333;}
@media screen and (max-width:767px){
.about_schooling dl{ display: block; margin:10% auto;}
.about_schooling dl dt{ width:100%; /*padding: 0 20% 0 0;*/ padding:0;}
.about_schooling dl:nth-child(2n) dt{ /*padding: 0 0 0 20%;*/ padding:0;}
.about_schooling dl dd{ width:100%;}
.about_schooling h4{ margin-top:5%; padding-bottom: 2.5%;}
}

.about_feature .about_feature_box{ border: 8px solid #dc4482; padding: 20px; position: relative; margin: 84px 42px;}
.about_feature .about_feature_box h4{ /*color: #dc4482;*/ font-size: 32px; line-height: 1.25em; font-weight: bold; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 2px solid #dc4482;}
.about_feature .about_feature_box dl{ display: flex; align-items: center; justify-content: space-between;}
.about_feature .about_feature_box dl dt{ width: 40%;}
.about_feature .about_feature_box dl dd{ width: 57.5%;}
.about_feature .about_feature_box:before{ content: ""; position: absolute; left: -42px; top: -42px; width: 84px; height: 84px; border-radius: 50%;}
.about_feature .about_feature_box:nth-child(2n) dl{ flex-direction: row-reverse;}
.about_feature .about_feature_box:nth-child(1):before{ background: url(/wp-content/themes/liberta/images/point_ico_01.png) center center no-repeat; background-size: 105%;}
.about_feature .about_feature_box:nth-child(2):before{ background: url(/wp-content/themes/liberta/images/point_ico_02.png) center center no-repeat; background-size: 105%;}
.about_feature .about_feature_box:nth-child(3):before{ background: url(/wp-content/themes/liberta/images/point_ico_03.png) center center no-repeat; background-size: 105%;}
.about_feature .about_feature_box:nth-child(4):before{ background: url(/wp-content/themes/liberta/images/point_ico_04.png) center center no-repeat; background-size: 105%;}
.about_feature .about_feature_box:nth-child(5):before{ background: url(/wp-content/themes/liberta/images/point_ico_05.png) center center no-repeat; background-size: 105%;}
@media screen and (max-width:767px){
.about_feature .about_feature_box{ border:1vw solid #dc4482; padding:5%; margin:5% 0;}
.about_feature .about_feature_box h4{ font-size:4.5vw; padding-bottom:2.5%; margin-bottom:2.5%;}
.about_feature .about_feature_box dl{ display:block;}
.about_feature .about_feature_box dl dt{ width:100%;}
.about_feature .about_feature_box dl dd{ width:100%;}
.about_feature .about_feature_box:before{ left:-3vw; top:-3vw; width:12vw; height:12vw;}
}

.about_power{ background: #f7f7f7; padding: 0 40px 40px; position: relative; z-index: 1;}
/*
.about_power:before{ content: ""; width: 200vw; height: 100%; background: #f7f7f7; position: absolute; left: -100vw; top: 0; z-index: -1;}
*/
.content{ /*padding-right:0 !important;*/}
.about_power:before{ content: ""; width: calc(50vw - 545px); height: 100%; background: #f7f7f7; position: absolute; right: calc((50vw - 555px)*-1); top: 0; z-index: -1;}
.about_power:after{ content: ""; width: calc(50vw - 545px); height: 100%; background: #f7f7f7; position: absolute; left: calc((50vw - 555px)*-1); top: 0; z-index: -1;}
@media screen and (max-width:767px){
.about_power{ padding:0 5% 5%;}
.about_power:before{ width:3vw; right:-3vw;}
.about_power:after{ width:3vw; left:-3vw;}
}



/*よくある質問*/
#faq h3{ text-align: center; font-size: 32px; font-weight: bold; color: #0d3e84; margin: 120px auto 40px; padding-bottom: 0.5em; border-bottom: 2px dotted #0d3e84;}
#faq h3:first-child{ margin-top: 40px;}
#faq dl{ margin: 40px auto; width: 100%;}
#faq dl dt{ position: relative; display:flex; width: 100%;cursor: pointer;}
#faq dl dt strong{ width: 64px; display: flex; align-items: center; justify-content: center; background: #6bc8f2; color: #fff; font-size: 24px; font-weight: bold; padding: 0.5em; line-height: 1em;}
#faq dl dt p{ width: calc(100% - 64px); padding: 0.5em 48px 0.5em 1em; background: #d0eaf6; font-size: 20px; line-height: 1.5em; font-weight: bold;}
#faq dl dt span{ position: absolute; right: 12px; top: calc(50% - 12px); height:24px; width:24px; margin:auto;}
#faq dl dt span:before{ content: ""; display:block; height:3px; width:100%; background:#6bc8f2; position:absolute; top:9px;}
#faq dl dt span:after{ content: ""; display:block; height:3px; width:100%; background:#6bc8f2; position:absolute; top:9px; transform: rotate(90deg); transition:0.3s;}
#faq dl dt.active span:after{ transform: rotate(180deg); opacity: 0;}
#faq dl dd{ display: none;}
#faq dl dd{ /*display:flex;*/ display: none; position: relative; width: 100%; margin-top: 20px;}
#faq dl dd strong{ width: 64px; display: flex; align-items: center; justify-content: center; background: #feb700; color: #fff; font-size: 24px; font-weight: bold; padding: 0.5em; line-height: 1em;}
#faq dl dd p{ width: calc(100% - 64px); padding: 0.5em 1em; background: #fff; font-size: 16px; line-height: 1.5em;}
#faq dl dd p a{ color: #28a7e1; text-decoration: underline;}
#faq dl dd p a:hover{ text-decoration: none;}
@media screen and (max-width:767px){
#faq h3{ font-size:5vw; margin:15% auto 5%;}
#faq h3:first-child{ margin-top:5%;}
#faq dl{ margin:5% auto;}
#faq dl dt strong{ width:12vw; font-size:4vw;}
#faq dl dt p{ width:calc(100% - 12vw); padding:0.5em 12vw 0.5em 1em; font-size:3.5vw;}
#faq dl dt span{ right:2.5vw; top:calc(50% - 2.5vw); height:5vw; width:5vw;}
#faq dl dt span:before{ top:2.5vw;}
#faq dl dt span:after{ top:2.5vw;}
#faq dl dd{ margin-top:2.5%;}
#faq dl dd strong{ width:12vw; font-size:4vw;}
#faq dl dd p{ width:calc(100% - 12vw); font-size:3vw;}
}
#faq_list{ margin: 40px auto;}
#faq_list ul{ text-align: center; display: flex; justify-content: center; flex-wrap: wrap; width: 100%;}
#faq_list ul li{ display: flex; width: calc(25% - 20px); letter-spacing: 0; margin: 0 10px;}
#faq_list ul li a{ display: flex; flex-direction: column; width: 100%; border: 2px solid #0d3e84; color: #0d3e84; font-size: 20px; font-weight: bold; line-height: 1em; padding: 1em 0.5em; text-decoration: none; transition: 0.3s;}
#faq_list ul li a:hover{ background: #0d3e84; color: #fff;}
#faq_list ul li a i{ font-size: 200%; margin-bottom: 0.5em;}
@media screen and (max-width:767px){
#faq_list{ margin:5% auto;}
#faq_list ul li{ width:47.5%; margin:1.25%;}
#faq_list ul li a{ font-size:4vw; padding: 1em 0;}
}

/*211006追加（不具合？用）*/
@media screen and (max-width:767px){
header .wrap{ height:20vw !important;}
.head_content{ padding:3.75vw 0 !important;}
.head_logo{ padding-right:20vw !important; padding-left:2.5vw !important;}
.head_logo img{ width:100% !important; padding-left:0 !important;}
}
.head_content .flt_l{ display: flex; align-items: center;}
.head_content .flt_l .head_logo{ padding-right: 20px;}
.head_content .logo img{ height: 70px;}
@media screen and (max-width: 767px) {
.head_content{ padding: 4.375vw 0 !important;}
.head_content .flt_l .head_logo{ padding-right: 2.5vw !important;}
.head_content .flt_l .head_logo img{ height: 11.25vw !important; width: auto !important;}
.head_content .logo img{ height: 10vw;}
}

/*画像中央揃え*/
figure.center{ text-align:center; margin:2em auto;}
figure.center img{ display:inline-block;}


/*
@media print, screen and (min-width:768px){
main{ min-width: 1090px; overflow-x: hidden;}
}
@media screen and (max-width:767px){
main{ min-width: 100%; overflow-x: hidden;}
}
*/


/*introduction*/
/*cta*/
.introduction_cta{ margin: 60px auto;}
.introduction_cta a{ display: flex; align-items: center; justify-content: center; margin: auto; width: 340px; height: 100px; background: url("https://liberta.sport-school.com/wp-content/themes/liberta/images/search_follow_btn.png"); background-size: 100%; color: #fff; font-size: 20px; font-weight: bold; text-decoration: none; transition: 0.3s; padding-left: 1em;}
.introduction_cta a:before{ content: ">"; margin-right: 0.5em;}
.introduction_cta a:hover{ opacity: 0.7; color: #fff; text-decoration: none;}
@media screen and (max-width:767px){
.introduction_cta{ margin: 10% auto;}
.introduction_cta a{ width: 68vw; height: 20vw; font-size: 4vw;}
}

/*catch*/
#introduction #catch{ text-align: center; margin-bottom: 40px;}
#introduction img{ display: inline;}
@media screen and (max-width:767px){
#introduction{ font-size: 3.5vw; overflow: hidden;}
#introduction #catch{ margin-bottom: 5%;}
}

/*lead*/
#introduction #lead dl{ display: flex; align-items: center;}
#introduction #lead dl dt{ width: calc(100% - 340px);}
#introduction #lead dl dd{ width: 320px; margin-left: 20px;}
#introduction #lead dl dd img{ border-radius: 50%;}
#introduction #lead dl dt h3{ text-align: center; font-size: 32px; line-height: 1.25em; margin-bottom: 20px;}
#introduction #lead dl dt h3 strong{ font-weight: bold; display: inline-block; position: relative;}
#introduction #lead dl dt h3 strong:before{ content: ""; width: 46px; height: 82px; background: url("/img/introduction/tit_bar_l.png") no-repeat; background-size: 100%; position: absolute; left: -46px; bottom: 0;}
#introduction #lead dl dt h3 strong:after{ content: ""; width: 46px; height: 82px; background: url("/img/introduction/tit_bar_r.png") no-repeat; background-size: 100%; position: absolute; right: -46px; bottom: 0;}
#introduction #lead dl dt p{ text-align: center;}
@media screen and (max-width:767px){
#introduction #lead dl{ display:block;}
#introduction #lead dl dt{ width: 100%;}
#introduction #lead dl dd{ width: 100%; margin: 5% auto 0; text-align: center;}
#introduction #lead dl dd img{ width: 75%;}
#introduction #lead dl dt h3{ font-size: 5vw; margin-bottom: 2.5%;}
#introduction #lead dl dt h3 strong:before{ width: 4.6vw; height: 8.2vw; left: -4.6vw;}
#introduction #lead dl dt h3 strong:after{  width: 4.6vw; height: 8.2vw; right: -4.6vw;}
}

#introduction #lead nav{ display: flex; width: calc(100% + 40px); margin-left: -20px; margin-top: 40px;}
#introduction #lead nav a{ display: flex; align-items: center; justify-content: center; text-align: center; width: calc(33.33% - 40px); margin: 0 20px; padding: 1em; background: #0d3e80; color: #fff; font-size: 20px; line-height: 1.25em; letter-spacing: 0.1em; font-weight: bold; line-height: 1.25em; position: relative; transition: 0.3s;}
#introduction #lead nav a:hover{ opacity: 0.7; text-decoration: none;}
#introduction #lead nav a:after{ content: ""; background: url("/img/introduction/ico_arrow.png") center center no-repeat; background-size: 100% 100%; width: 21px; height: 21px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
#introduction #lead nav{ display: block; width: 100%; margin: 5% auto 0;}
#introduction #lead nav a{ display: block; width: 100%; margin: 2.5% auto; font-size: 3.5vw;}
#introduction #lead nav a:nth-child(1),
#introduction #lead nav a:nth-child(2){ line-height: 2.5em;}
#introduction #lead nav a:after{ width: 4.5vw; height: 4.5vw; right: 4.5vw;}
}

/*common*/
#introduction section{ margin: 80px auto;}
#introduction h2{ text-align: center; position: relative; z-index: 1; margin-bottom: 40px;}
#introduction h2 strong{ display: flex; align-items: center; justify-content: center; margin: 0 auto; width: 680px; height: 210px; padding-bottom: 20px; background: url("/img/introduction/tit_bg.png") center center no-repeat; background-size: 100%; color: #0d3e80; font-size: 36px; font-weight: bold; line-height: 1.25em;}
#introduction p.lead_txt{ text-align: center;}
@media screen and (max-width:767px){
#introduction section{ margin: 15% auto;}
#introduction h2{ margin-bottom: 7.5%;}
#introduction h2 strong{ font-size: 5vw; width: 90vw; height: 28vw;}
#introduction p.lead_txt{ text-align: left;}
}

/*sec01*/
#introduction #sec01 #flow_list dl{ display: flex; align-items: center; margin: 40px auto;}
#introduction #sec01 #flow_list dl dt{ display: flex; align-items: center; justify-content: center; flex-direction: column;  text-align: center; width: calc(100% - 480px); height: 400px; background: url("/img/introduction/box_bg.png") center center no-repeat; background-size: cover; margin-right: 40px; padding: 40px;}
#introduction #sec01 #flow_list dl dd{ width: 480px;}
#introduction #sec01 #flow_list dl dd img{ border-radius: 20px;}
#introduction #sec01 #flow_list dl dt h3{ width: 100%; font-size: 32px; font-weight: bold; line-height: 1.25em; border-bottom: 2px dotted #333; padding-bottom: 10px; margin-bottom: 20px;}
#introduction #sec01 #flow_list dl dt p{ font-weight: bold;}
#introduction #sec01 #flow_list dl:nth-child(2n){ flex-direction: row-reverse;}
#introduction #sec01 #flow_list dl:nth-child(2n) dt{ margin: 0 0 0 40px;}
#introduction #sec01 p.att{ text-align: center;}
@media screen and (max-width:767px){
#introduction #sec01 #flow_list dl{ display: block; margin: 7.5% auto;}
#introduction #sec01 #flow_list dl dt{ width:90vw; height: 64vw; margin: 0 auto 5%; padding: 5%;}
#introduction #sec01 #flow_list dl dd{ width: 100%;}
#introduction #sec01 #flow_list dl dd img{ width: 100%; border-radius: 2.5vw;}
#introduction #sec01 #flow_list dl dt h3{ font-size: 5vw; padding-bottom: 2.5%; margin-bottom: 5%;}
#introduction #sec01 #flow_list dl:nth-child(2n) dt{ margin: 0 auto 5%;}
}

/*sec02*/
#introduction #sec02 dl{ margin: 40px auto; display: flex; align-items: center;}
#introduction #sec02 dl dt{ width: calc(100% - 520px); margin-right: 40px;}
#introduction #sec02 dl dd{ width: 480px; height: 480px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 4px dotted #437E8B; padding: 20px; text-align: center; border-radius: 50%;}
#introduction #sec02 dl dd h3{ font-size: 28px; font-weight: bold; line-height: 1.25em; margin-bottom: 20px; position: relative;}
#introduction #sec02 dl dd h3 strong{
font-weight: bold; background: -moz-linear-gradient(top, rgba(250,200,50,0) 0%, rgba(250,200,50,0) 50%, rgba(250,200,50,1) 51%, rgba(250,200,50,1) 100%);
background: -webkit-linear-gradient(top, rgba(250,200,50,0) 0%, rgba(250,200,50,0) 50%, rgba(250,200,50,1) 51%, rgba(250,200,50,1) 100%);
background: linear-gradient(to bottom, rgba(250,200,50,0) 0%, rgba(250,200,50,0) 50%, rgba(250,200,50,1) 51%, rgba(250,200,50,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fac832', endColorstr='#00fac832',GradientType=0 );
}
#introduction #sec02 dl dd h3:before{ content: ""; width: 80px; height: 80px; background: url("/img/introduction/circle_ico_l.png") center center no-repeat; background-size: 100%; position: absolute; left: -100px; top: 0px;}
#introduction #sec02 dl dd h3:after{ content: ""; width: 80px; height: 80px; background: url("/img/introduction/circle_ico_r.png") center center no-repeat; background-size: 100%; position: absolute; right: -100px; top: 0px;}
#introduction #sec02 dl dd p{ font-weight: bold; line-height: 1.5em;}
#introduction #sec02 dl dd p strong{ color: #FAC832; font-weight: bold;}
#introduction #sec02 dl.even{ flex-direction: row-reverse;}
#introduction #sec02 dl.even dt{ margin: 0 0 0 40px;}
@media screen and (max-width:767px){
#introduction #sec02 dl{ margin: 7.5% auto 7.5%; flex-direction: column-reverse;}
#introduction #sec02 dl dt{ width: 100%; margin: -20% 0 0 -5%; text-align: center; position: relative; z-index: 1;}
#introduction #sec02 dl.even{ margin: 7.5% auto 15%; flex-direction: column-reverse;}
#introduction #sec02 dl.even dt{  margin: -10% -5% 0 0;}
#introduction #sec02 dl dt img{ width: 66.66%;}
#introduction #sec02 dl dd{ width: 90vw; height: 90vw; padding: 5%;}
#introduction #sec02 dl dd h3{ font-size: 5vw; margin-bottom: 2.5%;}
#introduction #sec02 dl dd h3:before{ width: 10vw; height: 10vw; left: -12.5vw; top: -0vw;}
#introduction #sec02 dl dd h3:after{ width: 10vw; height: 10vw; right: -12.5vw; top: -0vw;}
#introduction #sec02 dl dd p.vw32{ font-size: 3.2vw;}
}

#introduction #sec02 #rankup{ background: #efefef; margin: 80px auto; padding: 40px; position: relative;}
#introduction #sec02 #rankup:before{ content: ""; width: 0; height: 0; border-style: solid; border-width: 0 180px 180px 0; border-color: transparent #ffffff transparent transparent; position: absolute; right: 0; top: 0;}
#introduction #sec02 #rankup:after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 180px 0 0 180px; border-color: transparent transparent transparent #ffffff; position: absolute; left: 0; bottom: 0;}
#introduction #sec02 #rankup h4{ display: flex; align-items: center; justify-content: center; text-align: center; margin: 0 auto 40px; background: url("/img/introduction/rank_tit.png") center center no-repeat; background-size: 100%; width: 400px; height: 142px; padding-right: 80px; font-size: 28px; font-weight: bold;}
#introduction #sec02 #rankup p{ font-weight: bold; text-align: center;}
#introduction #sec02 #rankup p strong{ color: #FAC832; font-weight: bold;}
#introduction #sec02 #rankup ul li{ position: absolute;}
#introduction #sec02 #rankup ul li:nth-child(1){ left: -60px; top: -60px;}
#introduction #sec02 #rankup ul li:nth-child(2){ right: -60px; bottom: -60px;}
@media screen and (max-width:767px){
#introduction #sec02 #rankup{ margin: 7.5% auto 22.5%; padding: 10% 0 7.5%;}
#introduction #sec02 #rankup:before{ border-width: 0 12.5vw 12.5vw 0;}
#introduction #sec02 #rankup:after{ border-width: 12.5vw 0 0 12.5vw;}
#introduction #sec02 #rankup h4{ margin: 0 auto 5%; width: 80vw; height: 28.4vw; padding-right: 16%; font-size: 5vw;}
#introduction #sec02 #rankup p{ font-size: 3vw;}
#introduction #sec02 #rankup ul li:nth-child(1){ width: 25vw; left: 0; top: -10vw;}
#introduction #sec02 #rankup ul li:nth-child(2){ width: 25vw; right: 0; bottom: -20vw;}
}

/*sec03*/
#introduction #sec03 dl{ display: flex; align-items: center; margin: -40px auto;}
#introduction #sec03 dl dt{ width: calc(100% - 360px); text-align: center;}
#introduction #sec03 dl dt p{ font-size: 18px;}
#introduction #sec03 dl dd{ width: 320px; margin-left: 40px;}
#introduction #sec03 dl dd img{ border-radius: 50%;}
@media screen and (max-width:767px){
#introduction #sec03 dl{ display:block; margin: 0 auto 5%;}
#introduction #sec03 dl dt{ width: 100%;}
#introduction #sec03 dl dt p{ font-size: 3.5vw; text-align: left;}
#introduction #sec03 dl dd{ width: 100%; text-align: center; margin: 5% auto 0;}
#introduction #sec03 dl dd img{ width: 75%;}
}

/*sec04*/
#introduction #sec04_about h2 strong{ flex-direction: column;}
#introduction #sec04_about h2 strong span{ font-size: 66.66%; font-weight: bold; line-height: 1.5em;}
#introduction #sec04_about ul{ letter-spacing: -1em; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#introduction #sec04_about ul li{ display: inline-block; vertical-align: top; letter-spacing: 0; width: calc(50% - 30px); margin: 15px;}
#introduction #sec04_about ul li dl{ display: table; table-layout: fixed; width: 100%; background: #fff; border: 1px solid #0d3e80; position: relative;}
#introduction #sec04_about ul li dl dt{ display: table-cell; vertical-align: middle; width: 180px;}
#introduction #sec04_about ul li dl dt img{ vertical-align: bottom;}
#introduction #sec04_about ul li dl dd{ display: table-cell; vertical-align: middle; padding: 20px;}
#introduction #sec04_about ul li dl dd h4{ font-size: 22px; margin-bottom: 20px; text-align: left; color: #0d3e80; font-weight: bold;}
#introduction #sec04_about ul li dl dd:after{ content: ""; position: absolute; right: 0; top: 0; width: 0; height: 0; border-style: solid; border-width: 0 20px 20px 0; border-color: transparent #0d3e80 transparent transparent;}
#introduction #sec04_about ul li a{ color:inherit; display: block; transition: 0.3s;}
#introduction #sec04_about ul li a:hover{ color:inherit; opacity: 0.7; text-decoration: none; color: inherit;}
@media screen and (max-width:767px){
#introduction #sec04_about ul{ width:100%; margin:0 auto;}
#introduction #sec04_about ul li{ display:block; width:100%; margin:5% auto;}
#introduction #sec04_about ul li dl dt{ width:40%;}
#introduction #sec04_about ul li dl dd{ padding:5%;}
#introduction #sec04_about ul li dl dd h4{ font-size:4vw; margin-bottom:2.5%;}
#introduction #sec04_about ul li dl dd:after{ border-width: 0 3vw 3vw 0;}
#introduction #sec04_about ul li dl dd p{ line-height: 1.5em;}
}


/*ブランド_top_みらぼ*/
#top_cont_mirabo{ background: #f7f7f7; position: relative; z-index: 5; padding: 1px 0 240px;}
#top_cont_mirabo{ padding: 1px 0 60px;}
#top_cont_mirabo h2{ background: url("https://lumisee.sport-school.com/img/top/tit_bg.png") center top no-repeat; padding-top: 217px; margin-top: -180px; padding-bottom: 0;}
@media screen and (max-width:767px){
#top_cont_mirabo{ padding: 1px 0 25%;}
#top_cont_mirabo{ padding: 1px 0 10%;}
#top_cont_mirabo h2{ background-size:100% 15vw; padding-top:14.75vw; margin-top:-15vw; padding-bottom:0;}
}

#top_cont_mirabo p.lead{ text-align: center; font-size: 18px; line-height: 2em;}
#top_cont_mirabo h3{ text-align: center; margin: 80px auto;}
#top_cont_mirabo h3 img{ margin: auto;}
@media screen and (max-width:767px){
#top_cont_mirabo{ margin: 5% auto 7.5%; padding-bottom: 7.5%; border-bottom: 1.25vw solid #253659;}
#top_cont_mirabo h2:after{ border-bottom: 3vw double #253659;}
#top_cont_mirabo h2 strong{ font-size: 5vw;}
#top_cont_mirabo p.lead{ font-size: 3.5vw; text-align: left;}
#top_cont_mirabo h3{ margin: 10% auto;}
}
#top_cont_mirabo .mirabo_voice{ margin: 80px auto;}
#top_cont_mirabo .mirabo_voice dl{ display: flex;}
#top_cont_mirabo .mirabo_voice dl dt{ display: flex; align-items: center; justify-content: center; text-align: center; width: 320px; height: 320px; border-radius: 50%; background: #ff5050; color: #fff;}
#top_cont_mirabo .mirabo_voice dl dt p{ font-size: 28px; line-height: 1.25em; font-weight: bold;}
#top_cont_mirabo .mirabo_voice dl dd{ display: flex; align-items: center; justify-content: center; width: calc(100% - 320px); padding-left: 20px;}
@media screen and (max-width:767px){
#top_cont_mirabo .mirabo_voice{ margin: 10% auto;}
#top_cont_mirabo .mirabo_voice dl{ display: block}
#top_cont_mirabo .mirabo_voice dl dt{ width: 100%; height: auto; padding: 5%; border-radius: 5vw; margin: 0 auto 5%;}
#top_cont_mirabo .mirabo_voice dl dt p{ font-size: 4.5vw; line-height: 1.5em; margin: 0;}
#top_cont_mirabo .mirabo_voice dl dd{ width: 100%; padding: 0;}
}

.mirabo_recom{ margin-top: 40px;}
.mirabo_recom h4{ text-align: center; font-size: 36px; font-weight: bold; color: #253659; margin-bottom: 20px; position: relative;}
.mirabo_recom h4:before{ content: ""; width: 100%; height: 4px; background: #253659; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); margin: auto;}
.mirabo_recom h4 strong{ display: inline-block; background: #fff; padding: 0 1em; font-weight: bold; position: relative; z-index: 1;}
.mirabo_recom .mirabo_recom_prof{ display: flex; width: 80%; margin: auto;}
.mirabo_recom .mirabo_recom_prof_box{ width: calc(50% - 40px); margin: 0 20px;} 
.mirabo_recom .mirabo_recom_prof_box figure{ text-align: center;}
.mirabo_recom .mirabo_recom_prof_box figure img{ width: 360px; margin: auto;}
.mirabo_recom .mirabo_recom_prof_box h5{ text-align: center; font-size: 20px; font-weight: bold; padding: 0.5em; border-top: 2px solid #253659; border-bottom: 2px solid #253659; color: #253659; margin: 20px auto;}
.mirabo_recom .mirabo_recom_prof_box ul li{ font-size: 14px; line-height: 1.25em; position: relative; padding-left: 1em; margin-top: 0.5em;}
.mirabo_recom .mirabo_recom_prof_box ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
.mirabo_recom{ margin-top: 7.5%;}
.mirabo_recom h4{ font-size: 5vw; line-height: 1.25em; margin-bottom: 5%;}
.mirabo_recom h4 br.smp{ display: inline-block !important;}
.mirabo_recom .mirabo_recom_prof{ display: block; width: 100%; margin-left: 0;}
.mirabo_recom .mirabo_recom_prof_box{ width:100%; margin: 5% auto;}
.mirabo_recom .mirabo_recom_prof_box figure img{ width: 50%;}
.mirabo_recom .mirabo_recom_prof_box h5{ font-size: 4.5vw; margin: 2.5% auto;}
.mirabo_recom .mirabo_recom_prof_box ul li{ font-size: 3vw;}
}

/*ブランド_about_みらぼ*/
#page_about .about_mirabo dl{ display: flex; align-items: center; justify-content: center;}
#page_about .about_mirabo dl dt{ width: calc(100% - 180px); padding-right: 40px;}
#page_about .about_mirabo dl dt p{ text-align: left; font-size: 20px; line-height: 1.75em;}
#page_about .about_mirabo dl dd{ width: 180px;}
#page_about .about_mirabo .mirabo_voice{ margin: 40px auto;}
#page_about .about_mirabo .mirabo_voice ul{ display: flex; align-items: center; justify-content: center; margin: auto;}
#page_about .about_mirabo .mirabo_voice p{ text-align: right; margin: 1em;}
#page_about .about_mirabo .mirabo_movie{ width: 800px; margin: auto;}
#page_about .about_mirabo .mirabo_movie h3{ text-align: center; font-size: 32px; font-weight: bold; padding-bottom: 20px; position: relative; margin-bottom: 40px;}
#page_about .about_mirabo .mirabo_movie h3:after{ content:""; width: 80px; height: 2px; background: #000; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
@media screen and (max-width:767px){
#page_about .about_mirabo dl{ display: block;}
#page_about .about_mirabo dl dt{ width:100%; padding-right: 0; margin-bottom: 5%;}
#page_about .about_mirabo dl dt p{ font-size: 3.5vw; line-height: 1.75em;}
#page_about .about_mirabo dl dd{ width: 33.33%; margin: auto;}
#page_about .about_mirabo .mirabo_voice{ margin: 40px auto;}
#page_about .about_mirabo .mirabo_voice p{ font-size: 2.5vw;}
#page_about .about_mirabo .mirabo_movie{ width: 100%;}
#page_about .about_mirabo .mirabo_movie h3{ tfont-size: 4vw; padding-bottom: 2.5%; margin-bottom: 5%;}
#page_about .about_mirabo .mirabo_movie h3:after{ width: 12.5vw;}
}
#page_about figure.btn{ text-align: center; margin-top: 40px;}
#page_about figure.btn a{ display: inline-block; width: 400px; background: #0d3e84; color: #fff; font-size: 16px; font-weight: bold; text-align: center; padding: 1em; transition: 0.3s;}
#page_about figure.btn a:hover{ opacity: 0.7; text-decoration: none;}
@media screen and (max-width:767px){
#page_about figure.btn{ margin-top:5%;}
#page_about figure.btn a{ display:block; width:100%; font-size:4vw; padding:0.75em;}
}

/*会員規約*/
#terms_cont{ /*background: #fff;*/ padding: 0 0 80px;}
#terms_cont h3{ margin: 2em auto 1em; font-size: 24px; border-top: 3px double #000; border-bottom: 3px double #000; padding: 0.25em; text-align: center;}
#terms_cont h4{ margin: 2em auto 1em; font-size: 18px; border-bottom: 1px dashed #000; padding: 0.25em;}
#terms_cont p.sign{ text-align: right; margin: 2em auto;}
@media screen and (max-width:767px){
#terms_cont{ padding: 0 0 10%;}
#terms_cont h3{ font-size:4vw;}
#terms_cont h4{ font-size:3.5vw;}
#terms_cont p{ font-size: 3vw;}
}



@media print, screen and (min-width:768px){
.smp{ display:none !important;}
}
@media screen and (max-width:767px){
.pc{ display:none !important;}
}
.wrap_school_detail .btn_submit{ 
margin-bottom: 5%;
}

.wrap_school_blog .btn03{ margin: 0 auto;text-align: right;}
.wrap_school_blog .btn03 a{ display: inline-block; /*margin-top: -30px;*/ color: #326496; font-weight: bold;}
.wrap_school_blog .btn03 a:before{ content: ">"; display: inline-block; margin-right:0.5em;}
.wrap_school_blog .btn03 a:hover{ opacity: 1.0; text-decoration: underline;}

.strong5{ font-weight: 700; color: #f06;}
.strong6{ font-weight: 700; background: #ffff00; color: #333; padding: 0.25em;}


/*スクール検索フォロー*/
.search_follow{ margin: 80px auto; text-align: center;}
.search_follow a{ display: flex; align-items: center; justify-content: center; margin: auto; width: 680px; height: 200px; color: #fff; font-size: 36px; font-weight: bold; background: url("images/search_follow_btn.png") center center no-repeat; background-size: 100%; transition: 0.3s;}
.search_follow a span{ display: inline-block; font-weight: bold; padding-left: 1em; position: relative;}
.search_follow a span:before{ content: ""; width: 0.5em; height: 0.5em; border-top: 4px solid #fff; border-right: 4px solid #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(45deg);}
.search_follow a:hover{ opacity: 0.7; text-decoration: none; color: #fff;}
@media screen and (max-width:768px){
.search_follow{ margin: 10% auto;}
.search_follow a{ width: 100%; height: 25vw; font-size: 5vw; background-size: 100% 100%;}
}

/*キャンペーン*/
/*
#top_nav_btn{ display: none !important;}
#content_nav_btn{ display: none !important;}
.introduction_cta{ display: none !important;}
*/
.camp_ban{ display:none !important;}
/*.camp_ban{ text-align:center; position: relative; width: 990px; margin: 50px auto;}*/
.camp_ban.mb20{ margin-bottom: 100px;}
.camp_ban img{ width: 100%;}
.camp_ban a{ position: absolute; left: 0; right: 0; bottom: 24px; margin: auto; transition: 0.3s;}
.camp_ban a:hover{ opacity: 0.7;}
.camp_ban a img{ width: 88%; margin: auto;}
@media screen and (max-width:768px){
.camp_ban{ width: 95%; margin: 10% auto;}
.camp_ban.mb20{ margin-bottom: 20%;}
.camp_ban a{ bottom: 2vw;}
.camp_ban a img{ width: 90%;}
}
.camp_ban2{ position: relative;; margin: 0 auto; background: url("https://sport-school.com/asset/camp_240808/cv.jpg") center center no-repeat; background-size: auto 100%; height: 26.5625vw; cursor: pointer;}
footer .camp_ban2{ width: auto; margin: 0;}
@media screen and (max-width:1920px){
.camp_ban2{ width: 100vw; margin-left: calc(-50vw + 545px);}
}
@media screen and (max-width:1090px){
.camp_ban2{ width: 100%; margin-left: 0;}
}
.camp_ban2 a{ position: absolute; right: 18.75vw; bottom: 2.75vw; display: inline-block; width: 24.475vw;}
.camp_ban2 a img{ width: 100%;}
@media screen and (max-width: 768px) {
.camp_ban2{ position: relative;; margin: 0 auto; background: url("https://sport-school.com/asset/camp_240808/cv_sp.jpg") center top no-repeat; background-size: 100% auto; width: 100%; height: 62vw;}
.camp_ban2 a{ position: absolute; right: 0; bottom: 0; display: inline-block; width: 100%; z-index: 5;}
}
.camp_ban2 a{ animation: buruburu 1s linear infinite;}
.camp_ban2 a:hover{ animation-play-state: paused;}
@keyframes buruburu {
0%{ transform: translateX(0);}
7%{ transform: translateX(-10px);}
14%{ transform: translateX(10px);}
20%{ transform: translateX(-10px);}
32%{ transform: translateX(10px);}
40%{ transform: translateX(0px);}
}

.grecaptcha-badge { visibility: hidden; }

.blog-card {
	margin: 40px 0;
	position: relative;
}
.blog-card a {
	display: block;
	padding: 30px 20px;
	border: 1px solid #73bc9b;
	border-radius: 4px;
	color: #000;
}
.blog-card a:hover {
	display: block !important;
	padding: 30px 20px !important;
	border: 1px solid #73bc9b !important;
	border-radius: 4px !important;
	color: #000 !important;
    opacity: 0.5 !important;
}
.blog-card-head {
	position: absolute;
	font-size: 12px;
	background: #73bc9b;
	color: #fff;
	padding: 4px 8px 5px;
	border-radius: 2px;
	top: -14px;
	left: 20px;
}

.blog-card-wrap {
	display: flex;
}
.blog-card-thumbnail {
	width: 170px;
}
.blog-card-content {
	flex: 1;
	margin-left: 15px;
}
.blog-card-title {
	font-size: 18px;
	font-weight: 700;
}
.blog-card-excerpt {
	font-size: 12px;
	margin-top: 15px;
}

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

	.blog-card a {
		padding: 25px 10px 10px;
	}
	.blog-card-thumbnail {
		width: 45%;
	}
	.blog-card-title {
		font-size: 13px;
	}
	.blog-card-excerpt {
		display: none;
	}
	}

.ex_title {
    font-weight: bold !important;
    color: #0d3e84;
	font-size: 18px;
}

.ex_title2 {
    font-weight: bold !important;
    color: #0d3e84;
	font-size: 18px;
}
#ex_title3 h2 {
    font-weight: bold;
    font-size: 24px;
	    color: #0d3e84;
    text-align: center;
    position: relative;
		margin-bottom: 30px;
}

.post_list_cont ul li dl dt span.rule,
.post_list dl dt .icon span.rule {
    background: #ec7872 !important;
}

.post_list_cont ul li dl dt span.goods,
.post_list dl dt .icon span.goods {
    background: #9bcb6c !important;
}

.post_list_cont ul li dl dt span.support,
.post_list dl dt .icon span.support {
    background: #fcd25b !important;
}


/* 吹き出し */
.balloon-box {
  position: relative;
  overflow: hidden; }

.balloon-icon {
  position: absolute;
  top: 0;
  overflow: hidden;
  width: 80px;
  height: 80px;
  margin-bottom: 0; }
  @media (max-width: 767px) {
    .balloon-icon {
      width: 60px;
      height: 60px; } }

.balloon-icon.maru {
  border: 2px solid #eee;
  border-radius: 40px; }

.icon-name {
  position: absolute;
  text-align: center;
  letter-spacing: 0;
  line-height: 0.7rem !important;
  color: #777; }
  @media (max-width: 767px) {
    .icon-name {
      width: 60px;
      top: 62px;
      font-size: 9px; } }
  @media (min-width: 768px) {
    .icon-name {
      width: 80px;
      top: 83px;
      font-size: 10px; } }

.balloon-icon img {
  width: 80px;
  height: auto;
  margin-bottom: 0 !important; }
  @media (max-width: 767px) {
    .balloon-icon img {
      width: 60px; } }

.balloon-serif .balloon-content img.star {
  width: 24%;
  padding-bottom: 1px;
  margin-bottom: -3px !important; }
  @media (max-width: 767px) {
    .balloon-serif .balloon-content img.star {
      width: 38%;
      padding-bottom: 2px; } }

.balloon-content p:last-of-type {
  padding-bottom: 0 !important; }

.balloon-left .balloon-icon {
  left: 0; }
.balloon-left .icon-name {
  left: 0; }
.balloon-left .balloon-serif {
  position: relative;
  float: left;
  margin: 0 105px 40px 105px;
  padding: 0; }
  @media (max-width: 767px) {
    .balloon-left .balloon-serif {
      margin: 0 0px 30px 78px; } }
.balloon-left .balloon-serif:before {
  content: "";
  position: absolute;
  left: -7px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 7px 10px 7px 0;
  z-index: 3; }
  @media (max-width: 767px) {
    .balloon-left .balloon-serif:before {
      top: 13px; } }
  @media (min-width: 768px) {
    .balloon-left .balloon-serif:before {
      top: 16px; } }
.balloon-left .balloon-serif:after {
  content: "";
  position: absolute;
  left: -10px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 8px 10px 8px 0;
  z-index: 2; }
  @media (max-width: 767px) {
    .balloon-left .balloon-serif:after {
      top: 12px; } }
  @media (min-width: 768px) {
    .balloon-left .balloon-serif:after {
      top: 15px; } }
.balloon-left .balloon-serif .balloon-content {
  position: relative;
  line-height: 1.5rem;
  border: 2px solid #ccc;
  background: #fff;
  border-radius: 6px;
  font-size: 0.95em;
  z-index: 2; }
  @media (max-width: 767px) {
    .balloon-left .balloon-serif .balloon-content {
      padding: 0.8rem; } }
  @media (min-width: 768px) {
    .balloon-left .balloon-serif .balloon-content {
      padding: 1.15rem; } }

.balloon-right .balloon-icon {
  right: 0; }
.balloon-right .icon-name {
  right: 0; }
.balloon-right .balloon-serif {
  position: relative;
  float: right;
  margin: 0 105px 40px 105px;
  padding: 0; }
  @media (max-width: 767px) {
    .balloon-right .balloon-serif {
      margin: 0 78px 30px 0px; } }
.balloon-right .balloon-serif:before {
  content: "";
  position: absolute;
  right: -7px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 7px 0px 7px 10px;
  z-index: 3; }
  @media (max-width: 767px) {
    .balloon-right .balloon-serif:before {
      top: 13px; } }
  @media (min-width: 768px) {
    .balloon-right .balloon-serif:before {
      top: 16px; } }
.balloon-right .balloon-serif:after {
  content: "";
  position: absolute;
  right: -10px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 8px 0px 8px 10px;
  z-index: 2; }
  @media (max-width: 767px) {
    .balloon-right .balloon-serif:after {
      top: 12px; } }
  @media (min-width: 768px) {
    .balloon-right .balloon-serif:after {
      top: 15px; } }
.balloon-right .balloon-serif .balloon-content {
  position: relative;
  line-height: 1.5rem;
  border: 2px solid;
  border-radius: 6px;
  font-size: 0.95em;
  z-index: 2; }
  @media (max-width: 767px) {
    .balloon-right .balloon-serif .balloon-content {
      padding: 0.8rem; } }
  @media (min-width: 768px) {
    .balloon-right .balloon-serif .balloon-content {
      padding: 1.15rem; } }

.balloon-box ol li {
  position: relative;
  display: block;
  padding: 2px 0px 5px 25px;
  margin-bottom: 0.7em; }

.balloon-box ol li:after {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0px;
  top: 0.25em;
  padding: 0 0 0 0px;
  background: #aaa;
  height: 20px;
  width: 20px;
  color: #fff;
  text-align: center;
  font-size: 0.65em;
  border-radius: 11px; }

.balloon-right.balloon-gray .balloon-serif:after {
  border-color: transparent transparent transparent #ccc; }
.balloon-right.balloon-gray .balloon-content {
  border-color: #ccc; }

.balloon-left.balloon-gray .balloon-serif:after {
  border-color: transparent #ccc transparent transparent; }
.balloon-left.balloon-gray .balloon-content {
  border-color: #ccc; }

.balloon-right.balloon-bg-gray .balloon-serif:before {
  border-color: transparent transparent transparent #efefef; }
.balloon-right.balloon-bg-gray .balloon-content {
  background: #efefef; }

.balloon-left.balloon-bg-gray .balloon-serif:before {
  border-color: transparent #efefef transparent transparent; }
.balloon-left.balloon-bg-gray .balloon-content {
  background: #efefef; }

.balloon-right.balloon-blue .balloon-serif:after {
  border-color: transparent transparent transparent #93D2F0; }
.balloon-right.balloon-blue .balloon-content {
  border-color: #93D2F0; }

.balloon-left.balloon-blue .balloon-serif:after {
  border-color: transparent #93D2F0 transparent transparent; }
.balloon-left.balloon-blue .balloon-content {
  border-color: #93D2F0; }

.balloon-right.balloon-bg-blue .balloon-serif:before {
  border-color: transparent transparent transparent #E2F6FF; }
.balloon-right.balloon-bg-blue .balloon-content {
  background: #E2F6FF; }

.balloon-left.balloon-bg-blue .balloon-serif:before {
  border-color: transparent #E2F6FF transparent transparent; }
.balloon-left.balloon-bg-blue .balloon-content {
  background: #E2F6FF; }

.balloon-right.balloon-red .balloon-serif:after {
  border-color: transparent transparent transparent #F48789; }
.balloon-right.balloon-red .balloon-content {
  border-color: #F48789; }

.balloon-left.balloon-red .balloon-serif:after {
  border-color: transparent #F48789 transparent transparent; }
.balloon-left.balloon-red .balloon-content {
  border-color: #F48789; }

.balloon-right.balloon-bg-red .balloon-serif:before {
  border-color: transparent transparent transparent #FFEBEB; }
.balloon-right.balloon-bg-red .balloon-content {
  background: #FFEBEB; }

.balloon-left.balloon-bg-red .balloon-serif:before {
  border-color: transparent #FFEBEB transparent transparent; }
.balloon-left.balloon-bg-red .balloon-content {
  background: #FFEBEB; }

.balloon-right.balloon-green .balloon-serif:after {
  border-color: transparent transparent transparent #9DDD93; }
.balloon-right.balloon-green .balloon-content {
  border-color: #9DDD93; }

.balloon-left.balloon-green .balloon-serif:after {
  border-color: transparent #9DDD93 transparent transparent; }
.balloon-left.balloon-green .balloon-content {
  border-color: #9DDD93; }

.balloon-right.balloon-bg-green .balloon-serif:before {
  border-color: transparent transparent transparent #D1F8C2; }
.balloon-right.balloon-bg-green .balloon-content {
  background: #D1F8C2; }

.balloon-left.balloon-bg-green .balloon-serif:before {
  border-color: transparent #D1F8C2 transparent transparent; }
.balloon-left.balloon-bg-green .balloon-content {
  background: #D1F8C2; }

.balloon-right.balloon-yellow .balloon-serif:after {
  border-color: transparent transparent transparent #FFD75E; }
.balloon-right.balloon-yellow .balloon-content {
  border-color: #FFD75E; }

.balloon-left.balloon-yellow .balloon-serif:after {
  border-color: transparent #FFD75E transparent transparent; }
.balloon-left.balloon-yellow .balloon-content {
  border-color: #FFD75E; }

.balloon-right.balloon-bg-yellow .balloon-serif:before {
  border-color: transparent transparent transparent #FFF8D1; }
.balloon-right.balloon-bg-yellow .balloon-content {
  background: #FFF8D1; }

.balloon-left.balloon-bg-yellow .balloon-serif:before {
  border-color: transparent #FFF8D1 transparent transparent; }
.balloon-left.balloon-bg-yellow .balloon-content {
  background: #FFF8D1; }

.balloon-right.balloon-bg-none .balloon-serif:before {
  border-color: transparent transparent transparent #fff; }
.balloon-right.balloon-bg-none .balloon-content {
  background: #fff; }

.balloon-left.balloon-bg-none .balloon-serif:before {
  border-color: transparent #fff transparent transparent; }
.balloon-left.balloon-bg-none .balloon-content {
  background: #fff; }

.balloon-left.balloon-none .balloon-serif:after,
.balloon-left.balloon-none .balloon-content,
.balloon-right.balloon-none .balloon-serif:after,
.balloon-right.balloon-none .balloon-content {
  border-color: transparent; }

.balloon-left.balloon-none .balloon-serif:before {
  left: -9px; }

.balloon-right.balloon-none .balloon-serif:before {
  right: -9px; }
  
  
  
.movie{ margin: 40px auto;}
.movie p{ text-align: center; font-size: 20px; margin-bottom: 20px;}
.movie .youtube_wrap{ max-width: 800px; margin: auto;}
 @media (max-width: 767px) {
.movie{ margin: 5% auto;}
.movie p{ font-size: 3.5vw; margin-bottom: 5%;}
}


/*column*/
.post_list { margin: 120px auto;}
.post_list .post_list_switch_wrap { border-bottom: 4px solid #0d3e84; margin-bottom: 40px; transition: 0.3s;}
.post_list .post_list_switch_wrap.switch01 { border-color: #0d3e84;}
.post_list .post_list_switch_wrap.switch02 { border-color: #28a7e1;}
.post_list .post_list_switch_wrap ul { display: flex; align-items: center; justify-content: center;}
.post_list .post_list_switch_wrap ul li { background: #0d3e84; color: #fff; padding: 0.5em 5em; margin: 0 0.25em; font-size: 20px; letter-spacing: 0.1em; font-weight: bold; border-radius: 20px 20px 0 0; opacity: 0.5; cursor: pointer; transition: 0.3s;}
.post_list .post_list_switch_wrap ul li.post_list_switch02 { background: #28a7e1;}
.post_list .post_list_switch_wrap ul li.active,
.post_list .post_list_switch_wrap ul li:hover { opacity: 1.0;}
@media only screen and (max-width: 767px) {
.post_list { margin: 15% auto;}
.post_list .post_list_switch_wrap { border-width: 1.25vw; margin-bottom: 5%;}
.post_list .post_list_switch_wrap ul { padding: 0 1.25vw;}
.post_list .post_list_switch_wrap ul li { text-align: center; width: calc(50% - 2.5vw); padding: 0.5em; margin: 0 1.25vw; font-size: 4vw; border-radius: 1.25vw 1.25vw 0 0;}
}

.post_list_cont { display: none;}
.post_list_cont.active { display: block;}
.post_list_cont ul { display: flex; flex-wrap: wrap; width: calc(100% + 24px); margin: -20px -12px;}
.post_list_cont ul li { width: calc(33.33% - 24px); margin: 20px 12px; background: #efefef;}
.post_list_cont ul li a { text-decoration: none; color: inherit; transition: 0.3s;}
.post_list_cont ul li a:hover { color: inherit; opacity: 0.7;}
.post_list_cont ul li img { opacity: 1.0 !important;}
.post_list_cont ul li dl dt { position: relative;}
.post_list_cont ul li dl dd { padding: 20px; background: #efefef;}
.post_list_cont ul li dl dd p { font-size: 16px; text-align: justify;}
.post_list_cont ul li dl dd .cat{ display: flex; margin-bottom: 0.5em;}
.post_list_cont ul li dl dd .cat span{ display: flex; align-items: center; justify-content: center; background: #0d3e84; color: #fff; font-size: 12px; line-height: 1.5em; padding: 0.25em 1em; border-radius: 2em;}
.post_list_cont ul li dl dd .cat span.rule { background: #ec7872;}
.post_list_cont ul li dl dd .cat span.goods { background: #9bcb6c;}
.post_list_cont ul li dl dd .cat span.support { background: #fcd25b;}
.post_list_cont ul li dl dd span.date { display: block; text-align: right; font-size: 12px; margin-top: 1em; padding: 0;}
.post_list_cont figure.btn { text-align: center; margin-top: 40px;}
.post_list_cont figure.btn a { display: flex; align-items: center; justify-content: center; margin: auto; width: 400px; height: 80px; background: #191919; color: #fff; font-size: 20px; font-weight: bold; letter-spacing: 0.1em; text-decoration: none; position: relative; transition: 0.3s;}
.post_list_cont figure.btn a:hover { opacity: 0.7;}
.post_list_cont figure.btn a i { position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
@media only screen and (max-width: 767px) {
.post_list_cont ul { width: calc(100% + 2.5vw); margin: -2.5vw -1.25vw;}
.post_list_cont ul li { width: calc(50% - 2.5vw); margin: 2.5vw 1.25vw;}
.post_list_cont ul li dl dd { padding: 2.5%;}
.post_list_cont ul li dl dd p { font-size: 3vw; line-height: 1.5em;}
.post_list_cont ul li dl dd .cat span{ font-size: 2.5vw;}
.post_list_cont ul li dl dd span.date { font-size: 2.5vw;}
.post_list_cont figure.btn { margin-top: 5%;}
.post_list_cont figure.btn a { width: 66.66%; height: 10vw; font-size: 3vw}
.post_list_cont figure.btn a i { right: 2.5vw;}
}

.post_ranking_list { margin: 120px auto;}
.post_ranking_list h2.ttl_basic{ text-align: center;}
.post_ranking_list ul { display: flex; flex-wrap: wrap; width: calc(100% + 24px); margin: -20px -12px;}
.post_ranking_list ul li { width: calc(33.33% - 24px); margin: 20px 12px;}
.post_ranking_list ul li a { text-decoration: none; transition: 0.3s;}
.post_ranking_list ul li a:hover { color: inherit; opacity: 0.7;}
.post_ranking_list ul li img { opacity: 1.0 !important;}
.post_ranking_list ul li dl dt { position: relative;}
.post_ranking_list ul li dl dt:before { content: "１位"; position: absolute; right: 0; top: 0; display: flex; align-items: center; justify-content: center; background: #ed7971; color: #fff; font-size: 16px; font-weight: bold; padding: 0.125em 1em;}
.post_ranking_list ul li:nth-child(2) dl dt:before { content: "２位"; background: #9bcb6c;}
.post_ranking_list ul li:nth-child(3) dl dt:before { content: "３位"; background: #fcd25b;}
.post_ranking_list ul li dl dd { padding: 20px; background: #efefef;}
.post_ranking_list ul li dl dd p { font-size: 16px; text-align: justify;}
@media only screen and (max-width: 767px) {
.post_ranking_list { margin: 15% auto;}
.post_ranking_list ul { width: 100%; margin: 0;}
.post_ranking_list ul li { width: 100%; margin: 5% auto;}
.post_ranking_list ul li dl dt:before { font-size: 3vw;}
.post_ranking_list ul li dl dd { padding: 2.5%;}
.post_ranking_list ul li dl dd p { font-size: 3vw; line-height: 1.5em;}
}

.simple-box1, .simple-box2, .simple-box3, .simple-box4, .simple-box5, .simple-box6, .simple-box7, .simple-box8, .simple-box9,
.concept-box1, .concept-box2, .concept-box3, .concept-box4, .concept-box5, .concept-box6,
.kaisetsu-box1, .kaisetsu-box2, .kaisetsu-box3, .kaisetsu-box4, .kaisetsu-box5, .innerlink-box1 {
	padding: 20px;
	width: 90%;
	margin: 40px auto;
}
.simple-box1 p, .simple-box2 p, .simple-box3 p, .simple-box4 p, .simple-box5 p, .simple-box6 p, .simple-box7 p, .simple-box8 p, .simple-box9 p,
.concept-box1 p, .concept-box2 p, .concept-box3 p, .concept-box4 p, .concept-box5 p, .concept-box6 p,
.kaisetsu-box1 p, .kaisetsu-box2 p, .kaisetsu-box3 p, .kaisetsu-box4 p, .kaisetsu-box5 p, .innerlink-box1 p {
	margin: 0;
}
.simple-box1 {
	border: 3px solid #ef9b9b;
	border-radius: 4px;
}
.simple-box2 {
	border: 3px dashed #f2bf7d;
	border-radius: 4px;
}
.simple-box3 {
	border: 3px double #b5e28a;
	border-radius: 4px;
}
.simple-box4 {
	border: 1px solid #7badd8;
	border-radius: 4px;
	background: #f9fbfd;
}
.simple-box5 {
	border: 1px dashed #e896c7;
	border-radius: 4px;
	background: #fefafc;
}
.simple-box6 {
	background-color: #fffdef;
}
.simple-box7 {
	border: 10px solid #def1f9;
	border-radius: 4px;
	background-color: #f8fcfe;
}
.simple-box8 {
	border-left: 5px solid #96ddc1;
	background-color: #f5fcf9;
}
.simple-box9 {
	background-color: #f9f2fa;
	position: relative;
}
.simple-box9::before {
	position: absolute;
	content: "";
	display: block;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #e1c0e8;
	opacity: .2;
	z-index: -1;
}
.simple-box9::after {
	position: absolute;
	content: "";
	display: block;
	right: 0;
	top: 0;
	border-color: #e1c0e8 #e1c0e8 #fff #fff;
	border-width: 0 30px 30px 0;
	border-style: solid;
	width: 0;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.concept-box1, .concept-box2, .concept-box3, .concept-box4, .concept-box5, .concept-box6 {
	border-width: 1px;
	border-style: solid;
	position: relative;
	padding-top: 40px;
}
.concept-box1::before, .concept-box2::before, .concept-box3::before, .concept-box4::before, .concept-box5::before, .concept-box6::before {
	position: absolute;
	font-size: 22px;
	top: -21px;
	left: 15px;
	padding: 20px 8px 20px 69px;
	background: #fff;
	font-weight: 700;
	line-height: 0;
}
.concept-box1::after, .concept-box2::after, .concept-box3::after, .concept-box4::after, .concept-box5::after, .concept-box6::after {
	font-family: "Font Awesome 5 Free";
	font-size: 26px;
	position: absolute;
	top: -30px;
	left: 20px;
	width: 55px;
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	border-radius: 50%;
	padding: 0 5px;
}
.concept-box1 {
	border-color: #85db8f;
}
.concept-box1::before {
	content: 'ポイント';
	color: #85db8f;
}
.concept-box1::after {
  content: '\f00c';
	font-weight: 700;
	background: #85db8f;
}
.concept-box2 {
	border-color: #f7cf6a;
}
.concept-box2::before {
	content: '注意点';
	color: #f7cf6a;
}
.concept-box2::after {
  content: '\f071';
	font-weight: 700;
	background: #f7cf6a;
}
.concept-box3 {
	border-color: #86cee8;
}
.concept-box3::before {
	content: '良い例';
	color: #86cee8;
}
.concept-box3::after {
  content: '\f111';
	background: #86cee8;
}
.concept-box4 {
	border-color: #ed8989;
}
.concept-box4::before {
	content: '悪い例';
	color: #ed8989;
}
.concept-box4::after {
  content: '\f00d';
	font-weight: 700;
	background: #ed8989;
}
.concept-box5 {
	border-color: #9e9e9e;
}
.concept-box5::before {
	content: '参考';
	color: #9e9e9e;
}
.concept-box5::after {
  content: '\f02d';
	font-weight: 700;
	background: #9e9e9e;
}
.concept-box6 {
	border-color: #8eaced;
}
.concept-box6::before {
	content: 'メモ';
	color: #8eaced;
}
.concept-box6::after {
  content: '\f304';
	font-weight: 700;
	background: #8eaced;
}



        .item {
            font-weight: bold;
            margin-bottom: 8px;
            color: #333;
        }
        
        .ico_required {
            background: #e74c3c;
            color: white;
            padding: 2px 6px;
            border-radius: 3px;
            font-size: 12px;
            margin-left: 5px;
        }
        
        .input_field input[type="text"],
        .input_field input[type="email"],
        .input_field input[type="tel"],
        .input_field select,
        .input_field textarea {
           width: 100%;
            padding: 12px;
            border: 2px solid #ddd;
            border-radius: 4px;
            font-size: 16px;
            transition: border-color 0.3s ease;
            min-height: 48px;
            box-sizing: border-box;
        }
        
        /* 必須項目のスタイル */
        .required-field {
            border-color: #ffcdd2 !important;
            background-color: #fff5f5;
        }
        
        /* 入力済み必須項目のスタイル */
        .valid-field {
            border-color: #c8e6c9 !important;
            background-color: #f1f8e9 !important;
        }
        
        /* エラー時のスタイル */
        .error-field {
            border-color: #f44336 !important;
            background-color: #ffebee;
        }
        
        .input_field input:focus,
        .input_field select:focus,
        .input_field textarea:focus {
            outline: none;
            border-color: #4CAF50;
        }
        
        .form_radio {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
        }
        
        .mwform-radio-field {
            display: flex;
            align-items: center;
        }
        

        
        .vertical-item {
            display: block;
            margin-bottom: 10px;
        }
        
        .error-message {
            color: #f44336;
            font-size: 14px;
            margin-top: 5px;
            display: none;
        }
        

        

        

        
        .mwform-checkbox-field {
            display: flex;
            align-items: flex-start;
            margin-top: 10px;
        }
        
        .mwform-checkbox-field input[type="checkbox"] {
            margin-right: 8px;
            margin-top: 4px;
        }
        
input[name="yourmail"]::placeholder { color: #d0d0d0 !important; }

        /* MW WP Form のデフォルトスタイルをオーバーライド */
        .mw_wp_form input[type="text"],
        .mw_wp_form input[type="email"],
        .mw_wp_form input[type="tel"],
        .mw_wp_form select,
        .mw_wp_form textarea {
            width: 100% !important;
            max-width: none !important;
        }

.mwform-checkbox-field input, .mwform-radio-field input {
    margin-right: 0px !important;
}



.btn_submit input[type=submit] {
    background: #08ac27 !important;
    border: 2px solid #08ac27 !important;
    -webkit-transition: .4s all;
    -moz-transition: .4s all;
    -o-transition: .4s all;
    transition: .4s all;
    padding: 15px 10px;
    width: 100% !important;
    text-align: center !important;
	            font-weight: bold;
}
.btn_submit input[type=submit]:hover {
    background: white !important;
    border: 2px solid #08ac27 !important;
    color: #08ac27 !important;
}


.wpcf7-checkbox input[type="checkbox"] {
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.br-sp {
  display: none !important;
}

@media screen and (max-width: 1080px) {
  .br-pc {
    display: none !important;
  }

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

