/*
Theme Name: hearts
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: hearts
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.

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

.mgn_b3rem{ margin-bottom:1rem !important;}


/*スマホメニュー*/
.drawer-hamburger{ display: none !important;}
@media screen and (max-width:750px){
/*
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before{ background:#04477e !important;}
*/
.drawer-open .drawer-hamburger-icon{ background:none !important;}
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://heartz.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://heartz.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://heartz.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://heartz.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://heartz.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://heartz.sport-school.com/img/drawer/ico006.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(6) a:before{ background:url(https://heartz.sport-school.com/img/drawer/ico007.png) right center no-repeat; background-size: 100% auto;}
.drawer-menu li.main_menu:nth-child(7) a:before{ background:url(https://heartz.sport-school.com/img/drawer/ico008.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 ;

}

/*入会の流れ*/
#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: #2e5787; 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: #2e5787; 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: #2e5787; 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;}
}


/*グロナビ*/
.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: #4983b8; font-size: 66.6666%;}
.gloval_nav ul li a:hover{ background: #0c3970;}



#index_lead{ margin: 50px auto; padding: 100px 0 100px; text-align: center; background: url("images/index_lead_bg.jpg") center center no-repeat #fff; 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;}
}

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

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_bg2.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{ padding: 4rem 0 1px !important;}

/*スクール検索*/
.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 #fff; 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;}
}
.school_detail_txt{ color: #000; padding: 1em; margin: 1em auto 3em;}
.school_foot_txt{ background: #efefef; padding: 1em; margin: 1em auto 2em;}
.school_foot_txt2{ background: #efefef; padding: 1em; margin: 1em auto 2em;}
@media screen and (max-width: 768px) {
.school_foot_txt{ margin: 1em 15px 2em;}
}

/*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;}
#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; padding: 0.25em 0.5em; 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/hearts/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/hearts/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/hearts/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/hearts/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/hearts/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;}
@media screen and (max-width:767px){
.about_power{ padding:0 5% 5%;}
}

/*よくある質問*/
#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;}
}

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


/*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: #004076; 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 0;}
#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: #004076; 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 0;}
#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; 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: -7.5vw; top: -10vw;}
#introduction #sec02 #rankup ul li:nth-child(2){ width: 25vw; right: -10vw; bottom: -7.5vw;}
}

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


/*ブランド_top_みらぼ*/
#top_cont_mirabo{ background: #f7f7f7; position: relative; z-index: 5; padding: 1px 0 240px;}
#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 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: 1em;*/ 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;}


/*キャンペーン*/
/*
#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;}
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%;}
}
.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);}
}

.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: 10vw !important; width: auto !important;}
.head_content .logo img{ height: 10vw;}
}


.grecaptcha-badge { visibility: hidden; }

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