/* 
style.css
*/

/* ----------------reset---------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
font-family: "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", YuGothic, æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“, ãƒ¡ã‚¤ãƒªã‚ª, "Noto Sans JP", Montserrat, sans-serif;	
}
ol, ul, li {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

a {
	color: black;
	text-decoration: none;
}

a:hover {
	opacity: 0.7;
}

/* ----------------common---------------- */

.forpc {
	display: block;
}
	
.forsp {
	display: none;
}

section img {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

/* ----------------header---------------- */

.hamburger,
.overlay {
	display: none;
}

header {
	position: fixed;
	width: 100%;
	background: white;
	transition-duration: 0.5s;
	z-index: 999999999;
	box-sizing: border-box;
}

header .h-inner {
    width: 100%;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: stretch;
}

header .h-inner h1 {
	margin-left: 20px;
  line-height: 1;
}

header .h-inner h1 img {
  width: 100%;
  max-width: 100%;
}

header .h-inner h1{display:flex;column-gap: 4.89396411092985%;align-items:center;margin:10px 20px;min-width: 352px;box-sizing: border-box;}
.l-header__title__img {width: 68.84176182707993%;max-width: 442px;}
.l-header__title__img img {aspect-ratio: 422 / 72;}
@media screen and (max-width: 767px){header .h-inner h1{min-width: auto;margin-left: 20px;}}
@media screen and (max-width: 767px){.l-header__title__img{width:calc((150 / 375) * 100%);min-width:150px}.l-header__title__img a{display:flex}}
.l-header__title__sub{width: 26.26427406199021%;max-width: 161px;line-height: 1;}
@media screen and (max-width: 767px){.l-header__title__sub{width:calc((90 / 375) * 100%);min-width:70px;max-width: none;}}
@media screen and (max-width: 320px){
  .l-header__title__img{min-width: 110px;}
  .l-header__title__sub{min-width: 80px;}
}

/* header .h-inner h1 a {
    width: 127px;
    height: 64px;
    display: table;
    background: url(../img/logo_header.png) no-repeat;
    text-indent: -999em;
	margin: 10px 0;
} */

header .h-inner nav {
	flex-grow: 2;
	padding: 0 2em;
}

header .h-inner nav ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	height: 1em;
	min-height: 100%;
	justify-content: flex-end;
}

header .h-inner nav li {
	font-size: 13px;
	margin-right: 27px;
	align-self: center;
	white-space: nowrap;
}

header .h-inner nav li:last-child {
	margin-right: 0;
}

header .h-inner nav li a {
	text-decoration: none;
	color: black;
	font-weight: 600;
	padding-bottom: 1px;
}

header .h-inner nav li a:hover {
	border-bottom: 2px solid #004ba0;
}

header .h-inner address {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: stretch;
	min-height: 100%;
}

header .h-inner address .inner {
	margin-right: 20px;
}

header .h-inner address p.tel {
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	color: #004ba0;
	font-size: 30px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	padding-top: 18px;
	margin-bottom: 5px;
}

header .h-inner address p.tel span {
	width: 41px;
	height: 23px;
	display: table;
	background: url("../img/icon_freedial.png") no-repeat;
}

header .h-inner dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
}

header .h-inner dt {
	font-size: 10px;
	color: white;
	background: #004ba0;
	display: inline-block;
	white-space: nowrap;
	padding: 3px 10px;
	margin-right: 3px;
	vertical-align: middle;
	line-height: normal;
	box-sizing: border-box;
	border-radius: 3px 3px 3px 3px;
	-moz-border-radius: 3px 3px 3px 3px;
	-webkit-border-radius: 3px 3px 3px 3px;
}

header .h-inner dd {
	font-size: 11px;
	color: #004ba0;
	font-family: 'Open Sans', sans-serif;
	font-weight: 600;
	margin-right: 7px;
}

header .h-inner .mailform {
	background: #004ba0;
	text-align: center;
	padding: 0 1em;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
}

header .h-inner .mailform:hover {
	background: #0d72e5;
	opacity: 1;
	cursor: pointer;
}

header .h-inner .mailform a {
	color: white;
	text-decoration: none;
	font-size: 14px;
	padding-top: 25px;
	white-space: nowrap;
	background: url(../img/icon_mail.png) no-repeat center top;
}

header .h-inner .mailform a:hover {
	opacity: 1;
}

.h-underline {
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.16);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.16);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.16);
}

/* ----------------contents---------------- */

article section {
	width: 100%;
	margin: 0 auto 100px auto;
	text-align: center;
}

.mainimg {
	width: 100%;
	padding-top: 84px;
	margin: 0 auto 100px auto;
	text-align: center;
	background: #f5f6f8;
}

.mainimg-wrap {
	margin: 0 auto;
	position: relative;
	height: 0;
	padding-top: 34.880952381%;
	background: url(../img/mainimg.jpg) no-repeat;
	background-size: cover;
}

.mainimg-wrap .catch {
	position: absolute;
	top: 4.5vw;
	left: 0;
	right: 0;
	margin: auto;
	padding: 0 0 0 16vw;
	max-width: 1680px;
	text-align: left;
}

.mainimg-wrap .catch .subcatch,
.mainimg-wrap .catch .maincatch {
	font-weight: bold;
	color: #004ba0;
}

.mainimg-wrap .catch .subcatch {
	font-size: 1.7vw;
	margin-bottom: 0.4em
}

.mainimg-wrap .catch .maincatch {
	font-size: 2.5vw;
	line-height: 1.4em;
	margin-bottom: 0.2em;
}

.mainimg-wrap .catch .maincatch small {
  font-size: 80%;
  color: #000;
}

.mainimg-wrap .catch .mainlead {
	font-size: 1.3vw;
	line-height: 1.8em;
	color: #313131;
	font-weight: bold;
}

.mainimg img {
	max-width: 100%;
}

article#problem,
article#reason,
article#points,
article#efforts,
article#contact,
article#aboutus,
article#points {
	margin-top: -120px;
  	padding-top :120px;
}

article#support {
	margin-top: -120px;
	padding-top: 120px !important;
	padding-bottom: 100px !important;
}

article#reason {
	margin-bottom: 200px;
}

.h2-wrap {
	width: 100%;
	position: relative;
	margin-bottom: 60px;
}

article#support .h2-wrap:after,
article#contact .h2-wrap:after {
	background: #004ba0;
}

.h2-wrap:after {
	content: "";
	height: 3px;
	background: #dcdcdc;
	position: absolute;
	top: 47px;
	width: 30%;
	display: block;
}

.h2-subwrap {
	width: 1100px;
	margin: 0 auto;
}

article#problem h2,
article#reason h2,
article#support h2,
article#points h2,
article#efforts h2,
article#contact h2,
article#aboutus h2 {
	font-size: 42px;
	font-weight: bold;
	font-family: "Yu Gothic Medium", "æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium", YuGothic, æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“, ãƒ¡ã‚¤ãƒªã‚ª, "Noto Sans JP", Montserrat, sans-serif;
	padding-bottom: 5px;
	border-bottom: 3px solid #dcdcdc;
	margin: 0 0 0 0;
	text-align: left;
	display: table;
	letter-spacing: 1px;
}

article#support h2,
article#contact h2 {
	border-bottom: 3px solid #054090;
}

article#problem h2 span,
article#reason h2 span,
article#support h2 span,
article#points h2 span,
article#efforts h2 span,
article#contact h2 span,
article#aboutus h2 span {
	font-size: 16px;
	font-weight: 600;
	font-family: 'Lato',"Noto Sans JP", sans-serif;
}

article#reason .four-reason {
	margin: 0 auto;
}

article#problem h3 {
	font-size: 40px;
	font-weight: 700;
	margin-bottom: 50px;
	text-align: center;
	color: #054090;
}

article#problem .lead {
	font-size: 24px;
	color: #313131;
	font-weight: bold;
	margin-bottom: 30px;
	text-align: left;
  line-height: 1.5em;
}

article#problem section:nth-child(2),
article#support {
	background: #ecf4fb;
	width: 100%;
	padding: 100px 0;
}

article#contact {
	background: #e0ecf2;
	width: 100%;
	padding: 100px 0;
	margin: 0 0 100px 0;
}

article#contact .note {
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	width: 940px;
	line-height: 2em;
	margin: 0 auto 65px auto;
}

article#support {
	margin-bottom: 100px;
}

article#support section {
	margin-bottom: 0;
}

article#support .inner,
article#efforts .inner,
article#problem .inner {
	width: 1100px;
	margin: 0 auto;
}

article#support h3,
article#efforts h3 {
	color: #054090;
	font-size: 30px;
	font-weight: 700;
	text-align: left;
	margin-bottom: 30px;
}

article#support .lead {
	font-size: 18px;
	color: #313131;
	font-weight: bold;
	margin-bottom: 30px;
	text-align: left;
}

article#efforts .lead {
	font-size: 24px;
	color: #313131;
	font-weight: bold;
	margin-bottom: 30px;
	text-align: left;
	line-height: 1.5em;
}

article#points .spt li {
	margin-bottom: 30px;
}

article#points .spt li:last-child {
	margin-bottom: 0;
}

article#points section:nth-child(2) {
	background: #054090;
	padding: 46px 0;
}

article#points section:nth-child(2) .seminar-wrap {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	width: 1100px;
	margin: 0 auto;
	align-items: flex-start;
	justify-content: space-between;
}

article#points section:nth-child(2) .seminar-wrap .text {
	text-align: left;
	color: white;
}

article#points section:nth-child(2) .seminar-wrap .text h3 {
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 27px;
	letter-spacing: 4px;
}

article#points section:nth-child(2) .seminar-wrap .text .lead {
	font-size: 20px;
	line-height: 1.5em;
	margin-bottom: 50px;
}

article#points section:nth-child(2) .seminar-wrap .text h4 {
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 20px;
	padding-left: 25px;
	background: url(../img/icon_rightarrow.png) no-repeat left;
}

article#points section:nth-child(2) .seminar-wrap .text ul {
	margin-bottom: 50px;
	padding-right: 10px;
}

article#points section:nth-child(2) .seminar-wrap .text li {
	list-style-type: disc;
	list-style-position: inside;
	line-height: 1.6em;
	font-size: 18px;
}

.yl-wrap {
	display: table;
	margin-bottom: 70px;
}

.yellowline {
	font-size: 45px;
  line-height: 1.5em;
	font-weight: bold;
	color: #054090;
	text-align: left;
	position: relative;
	z-index: 2;
}

.yellowline span {
  background: linear-gradient(transparent 60%, #fef673 60%);
}

.yellowline-under {
	content: "";
	height: 20px;
	background: #fef673;
	display: table;
	width: 100%;
	position: relative;
	bottom: 18px;
	z-index: 1;
}

.yellowline-under-sp {
	display: none;
}

.seminar-list {
	background: #bedcfa;
	padding: 27px;
	box-sizing: border-box;
	border-radius: 20px 20px 20px 20px;
	-moz-border-radius: 20px 20px 20px 20px;
	-webkit-border-radius: 20px 20px 20px 20px;
}

.seminar-list h3 {
	color: #004ba0;
	margin-bottom: 25px;
	font-size: 30px;
	font-weight: 700;
}

.seminar-list li {
	margin-bottom: 10px;
	background: #004ba0;
	padding: 10px 15px;
	color: white;
	box-sizing: border-box;
	font-size: 20px;
	border-radius: 10px 10px 10px 10px;
	-moz-border-radius: 10px 10px 10px 10px;
	-webkit-border-radius: 10px 10px 10px 10px;
  text-align: left;
}

.seminar-list li:last-child {
	margin-bottom: 0;
}

.pro-bal-bl {
	margin: 0 auto 35px auto;
}

.pro-bal-wh,
.chart,
.madoguchi,
.arrow-fukurou .arrow {
	margin: 0 auto 50px auto;
}

.arrow-fukurou {
	display: table;
	margin: 0 auto 50px;
	padding-bottom: 30px;
	padding-right: 150px;
	padding-left: 150px;
	background: url(../img/img_fukurou.png) no-repeat bottom right;
}

.result {
	font-size: 28px;
	color: #054090;
	font-weight: 700;
	text-align: center;
	line-height: 1.5em;
}

.contact-wrap {
	width: 100%;
	padding: 50px 0;
	margin-bottom: 120px;
	background: #004ba0;
}

.contact-wrap2 {
	width: 100%;
	padding: 50px 0;
	margin-bottom: 0;
	background: #004ba0;
}

.contact-wrap .inner {
	width: 985px;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.contact-wrap .inner address .tel {
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	color: white;
	font-size: 42px;
	letter-spacing: 1px;
	padding-left: 70px;
	margin-bottom: 10px;
	background: url(../img/icon_freedial_white.png) no-repeat left;
	display: table;
}

.contact-wrap .inner address dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

.contact-wrap .inner address dt {
	color: #004ba0;
	background: white;
	font-size: 12px;
	border-radius: 3px 3px 3px 3px;
	-moz-border-radius: 3px 3px 3px 3px;

	-webkit-border-radius: 3px 3px 3px 3px;
	padding: 3px 10px;
	margin-right: 5px;
	display: inline-block;
	vertical-align: middle;
	line-height: normal;
}

.contact-wrap .inner address dd {
	color: white;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	margin-right: 10px;
}

.contact-wrap .inner address .mailform a {
	text-decoration: none;
	color: white;
	font-size: 18px;
	text-align: center;
	display: table;
	margin: 0 auto;
	width: 100%;
	padding: 25px 0;
	border: 1px solid #fff;
	box-sizing: border-box;
	border-radius: 50px 50px 50px 50px;
	-moz-border-radius: 50px 50px 50px 50px;
	-webkit-border-radius: 50px 50px 50px 50px;
}

.contact-wrap .inner address .mailform a span {
	width: 27px;
	height: 18px;
	margin-right: 10px;
	vertical-align: middle;
	display: inline-block;
	background: url(../img/icon_mail_conv.png) no-repeat;
}

.contact-wrap .inner address .mailform a:hover span {
	background: url(../img/icon_mail_conv_on.png) no-repeat;	
}

.contact-wrap .inner address .mailform a:hover {
	background-color: rgba(255, 255, 255, 1);
	background-repeat: no-repeat;
	background-position: 50px 50%;
	opacity: 1;
	color: #004ba0;
	cursor: pointer;
}

.marginb0 {
	margin-bottom: 0 !important;
}

.required {
	color: #cc3333;
	width: 894px;
	margin: 0 auto 15px auto;
	text-align: right;
}

article#contact form {
	width: 894px;
	margin: 0 auto;
}

article#contact label {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

article#contact label p span {
	color: #cc3333;
}

article#contact label.nonflex {
	display: block;
}

article#contact label.nonflex p {
	width: 100%;
	margin-bottom: 15px;
}

article#contact label p {
	width: 20em;
	text-align: left;
	font-size: 18px;
}

.radio {
	text-align: left;
	font-size: 18px;
}

.radio li {
	display: inline-block;
	margin-right: 100px;
}

article#contact input,
article#contact textarea {
	padding: 1.4em;
	border: 1px solid #d2d2d2;
	width: 100%;
	box-sizing: border-box;
}

article#contact input[type=text] {
	line-height: normal;
}

article#contact ::placeholder {
	font-size: 100%;
	color: #b5b5b5;
}

article#contact textarea {
	height: 10em;
}

article#contact input[type=radio] {
	width: auto;
}

article#contact .link-policy {
	margin-bottom: 20px;
	display: block;
}

article#contact .check-policy {
	text-align: center;
	display: table;
	border: 1px solid #0060be;
	padding: 0.8em 1.5em;
	background: white;
	border-radius: 26px 26px 26px 26px;
	-moz-border-radius: 26px 26px 26px 26px;
	-webkit-border-radius: 26px 26px 26px 26px;
	margin: 0 auto 20px auto;
}

article#contact .check-policy label {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0;
	cursor: pointer;
}

article#contact .check-policy input[type=checkbox] {
	width: auto;
	display: inline-block;
	vertical-align: middle;
	padding: 0 0 0 0;
	margin: 0 0.3em 0 0;
	cursor: pointer;
}

.arrow-form {
	width: 88px;
	height: 25px;
	margin-bottom: 22px;
}

article#contact input[type=submit] {
	-webkit-appearance: none;
	border-radius: 35px 35px 35px 35px;
	-moz-border-radius: 35px 35px 35px 35px;
	-webkit-border-radius: 35px 35px 35px 35px;
	border: 1px solid #7d7d7d;
	background: #d6d5d5;
	width: 40%;
	display: block;
	margin: 0 auto;
	padding: 1.2em 0;
	color: #959595;
	font-size: 16px;
	letter-spacing: 2px;
	cursor: pointer;
}

article#contact input[type=submit]:hover {
	background: #004ba0;
	color: white;
	border: 1px solid #004ba0;
}

article#contact input[type=submit][disabled],
article#contact input[type=submit][disabled]:hover {
	cursor: default;
	background: #e5e5e5;
	border: 1px solid #7d7d7d;
	color: #959595;
}

article#contact input[type=submit]:focus {
	outline: none;
}

article#aboutus .outline,
article#aboutus .outline2 {
	width: 1100px;
	margin: 0 auto;
	text-align: left;
}

article#aboutus .blue,
article#aboutus .black {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: flex-start;
}

article#aboutus .blue dt,
article#aboutus .black dt {
	width: 130px;
}

article#aboutus .blue dt,
article#aboutus .blue dd {
	font-size: 24px;
	color: #054090;
	margin-bottom: 30px;
	font-weight: bold;
	line-height: 1.5em;
}

article#aboutus .black dt,
article#aboutus .black dd {
	font-size: 18px;
	margin-bottom: 90px;
	line-height: 1.7em;
}

article#aboutus .outline2 dl {
	font-size: 18px;
	line-height: 1.8em;
}

article#aboutus .outline2 dl:after {
	content: "."; 
  	display: block; 
  	height: 0; 
  	font-size:0;	
  	clear: both; 
  	visibility:hidden;
}

article#aboutus .outline2 dt {
	float: left;
}

article#aboutus .outline2 dd {
	padding-left: 170px;
}

article#aboutus .outline2 li {
	padding: 1.2em;
	box-sizing: border-box;
	border-top: 1px solid #a0a0a0;
}

article#aboutus .outline2 li:last-child {
	border-bottom: 1px solid #a0a0a0;
}

article#aboutus .outline2 li:nth-child(odd) {
	background: #eee;
}

.blueunderline {
	font-size: 30px;
	color: #054090;
	width: 1100px;
	text-align: left;
	margin: 0 auto 25px auto;
	font-weight: bold;
}

.group-wrap {
	border: 1px solid #0060be;
	padding: 30px;
	box-sizing: border-box;
	width: 1100px;
	margin: 0 auto 100px auto;
	text-align: left;
}

article#aboutus .outline3 h4 {
	font-size: 28px;
	font-weight: bold;
	color: #054090;
	margin-bottom: 25px;
}

article#aboutus .outline3 dl {
	border-bottom: 1px solid #a0a0a0;
	margin-bottom: 26px;
	padding-bottom: 26px;
}

article#aboutus .outline3 dl:after {
	content: "."; 
  	display: block; 
  	height: 0; 
  	font-size:0;	
  	clear: both; 
  	visibility:hidden;
}

article#aboutus .outline3 dl.last {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

article#aboutus .outline3 dl.blueunder {
	border-bottom: 5px solid #d3dff2;
	margin-bottom: 45px;
}

article#aboutus .outline3 dt {
	font-size: 20px;
	float: left;
	font-weight: bold;
}

article#aboutus .outline3 dd {
	font-size: 17px;
	padding-left: 350px;
	line-height: 1.5em;
}

.privacy {
	padding: 2em;
}

.privacy p {
	font-size: 16px;
	line-height: 1.8em;
	margin-bottom: 80px;
}

.privacy h1 {
	font-size: 40px;
	font-family: 'Lato', sans-serif;
	padding-bottom: 10px;
	text-align: center;
	position: relative;
	letter-spacing: 2px;
	display: table;
	margin: 0 auto 20px auto;
}

.privacy h1:after {
	content: "";
	display: table;
	left: 0;
	right: 0;
	margin: auto;
	width: 75%;
	height: 2px;
	position: absolute;
	bottom: -5px;
	box-sizing: border-box;
	background: #000;
}

.privacy h2 {
	text-align: center;
	font-size: 16px;
	margin-bottom: 80px;
	font-weight: bold;
}

.privacy h3 {
	font-size: 18px;
	text-align: center;
	margin-bottom: 1em;
}

.privacy ol li {
	font-size: 16px;
	line-height: 1.8em;
	list-style-type: decimal;
	margin-left: 1em;
}

.right-txt {
	text-align: right;
	padding-bottom: 3em;
	
}

#page-top a {
	width: 53px;
	height: 53px;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	text-indent: -999em;
	background: #054090 url(../img/arrow_pagetop.png) no-repeat center;
	position: fixed;
	right: 1em;
	display: block;
	border: 2px solid #fff;
}

a.close {
	text-align: center;
	display: table;
	color: white;
	margin: 0 auto;
	background: #054090;
	padding: 1.5em 4em;
	border-radius: 30px 30px 30px 30px;
	-moz-border-radius: 30px 30px 30px 30px;
	-webkit-border-radius: 30px 30px 30px 30px;
}



/* ----------------footer---------------- */

footer {
	background: #054090;
	padding: 65px 0 0 0;
}

footer .inner {
	background: #054090;
	max-width: 1200px;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	padding-bottom: 50px;
	justify-content: space-between;
  align-items: flex-start;
}

footer .inner .add-inner {
	padding-left: 1em;
}

footer .inner img.footerlogo {
	width: 362px;
}

footer .inner-copy {
	padding: 36px 0;
	font-size: 12px;
	border-top: 1px solid white;
}

footer .inner-copy p {
	text-align: center;
	font-size: 12px;
	color: white;
	letter-spacing: 2px;
}

footer .inner address .tel {
	font-family: 'Open Sans', sans-serif;
	font-weight: bold;
	color: white;
	font-size: 44px;
	letter-spacing: 1px;
	padding-left: 70px;
	margin-bottom: 10px;
	background: url(../img/icon_freedial_white.png) no-repeat left;
	display: table;
}

footer .inner address dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

footer .inner address dt {
	color: #004ba0;
	background: white;
	font-size: 12px;
	border-radius: 3px 3px 3px 3px;
	-moz-border-radius: 3px 3px 3px 3px;
	-webkit-border-radius: 3px 3px 3px 3px;
	padding: 3px 10px;
	margin-right: 5px;
}

footer .inner address dd {
	color: white;
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	margin-right: 10px;
}

footer .inner .mailform {
	display: inline-block;
	vertical-align: middle;
}

footer .inner .mailform a {
	text-decoration: none;
	color: white;
	font-size: 16px;
	text-align: center;
	margin: 0 0 0 20px;
	padding: 25px 55px;
	border: 1px solid #fff;
	box-sizing: border-box;
	border-radius: 50px 50px 50px 50px;
	-moz-border-radius: 50px 50px 50px 50px;
	-webkit-border-radius: 50px 50px 50px 50px;
	display: table;
}

footer .inner .mailform a span {
	width: 27px;
	height: 18px;
	margin-right: 10px;
	vertical-align: middle;
	display: inline-block;
	background: url(../img/icon_mail_conv.png) no-repeat;
}

footer .inner .mailform a:hover span {
	background-image: url(../img/icon_mail_conv_on.png);
}

footer .inner .mailform a:hover {
	opacity: 1;
	color: #004ba0;
	cursor: pointer;
	background: #fff;
}


footer .inner address {
	display: inline-block;
	vertical-align: top;
}

footer .inner nav ul {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	margin-top: 40px;
}

footer .inner nav li {
	margin-right: 20px;
}

footer .inner nav li:before {
	content: "> ";
	color: white;
}

footer .inner nav li:last-child {
	margin-right: 0;
}

footer .inner nav li a {
	font-size: 14px;
	color: white;
}

/* ----------------media query---------------- */

@media screen and (max-width: 768px) {
	
	/* common */

	.forpc {
		display: none;
	}
	
	.forsp {
		display: block;
	}
	
	/* header */
	
	header {
		display: block;
	}
	
	header .h-inner {
		display: block;
	}
	
	header .h-inner h1 {
		/* display: table; */
		/* margin-left: 0; */
	}
	
	/* header .h-inner h1 a {
		background: url(../img/logo_header_sp@2x.png) no-repeat;
		background-size: contain;
		text-indent: -999em;
		margin: 5px 0 5px 10px;
		width: 99px;
		height: 50px;
	}		 */
	
	header nav {
		width: 60%;
		height: 100%;
    	transition: all 0.2s;
		transform: translate(800px);
    	position: fixed;
    	top: 0;
    	right: 0;
		z-index: 3;
    	background-color: #004ba0;
	}

	header nav.open {
		transform: translate(0);
	}

	header nav ul {
		width: 100%;
		box-sizing: border-box;
		padding: 4em 0;
	}

	header nav li {
		width: 100%;
		padding: 1.5em 0 1.5em 1em;
		box-sizing: border-box;
	}
	
	header nav li:after {
		content: ">";
		position: absolute;
		color: white;
		right: 10%;
	}	

	.hamburger,
	.hamburger span {
		display: inline-block;
		box-sizing: border-box;
	}
	
	.hamburger {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 5;
		background: #004ba0;
	}
	
	.hamburger span {
	  	position: absolute;
	  	left: 0;
	  	right: 0;
	  	margin: auto;
	  	width: 50%;
	  	height: 2px;
	  	background-color: #fff;
	  	border-radius: 4px;
	}

	.hamburger span:nth-of-type(1) {
	  top: 18px;
	}
	
	.hamburger span:nth-of-type(2) {
	  top: 0;
	  bottom: 0;
	  margin: auto;
	}
	
	.hamburger span:nth-of-type(3) {
	  bottom: 18px;
	}
	
	.hamburger span.active:nth-of-type(1) {
	  -webkit-transform: translateY(11px) rotate(-45deg);
	  transform: translateY(11px) rotate(-45deg);
	}
	
	.hamburger span.active:nth-of-type(2) {
	  opacity: 0;
	}

	.hamburger span.active:nth-of-type(3) {
	  -webkit-transform: translateY(-11px) rotate(45deg);
	  transform: translateY(-11px) rotate(45deg);
	}
	
	.overlay {
	  	content: "";
	  	display: block;
	  	width: 0;
	  	height: 0;
	  	background-color: rgba(0, 0, 0, 0.8);
	  	position: absolute;
	  	top: 0;
	  	left: 0;
	  	z-index: 2;
	  	opacity: 0;
	  	transition: opacity .5s;
	}
	
	.overlay.open {
	  	width: 100%;
	  	height: 100%;
	  	opacity: 1;
	  	position: fixed;
	}	
	
	header .h-inner nav ul {
		display: block;
		min-height: initial;
		height: auto;
	}
	
	header .h-inner nav li a {
		color: white;
	}

  header .h-inner address {
    width: 50px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    min-height: auto;
    position: fixed;
    top: 45%;
    right: 5px;
    z-index: 2;
  }
	
	header .h-inner address .inner {
    margin-right: 0;
	}
	
	header .h-inner dl {
		display: none;
	}
	
	header .h-inner address p.tel {
		text-indent: -999em;
		display: block;
		width: 45px;
		height: 45px;
		border: 1px solid #054090;
		border-radius: 50%;
		-moz-border-radius: 50%;
		-webkit-border-radius: 50%;
		position: relative;
		padding: 0;
		background: #fff url(../img/icon_tel@2x.png) no-repeat 50%;
		background-size: 21px 28px;
    margin-bottom: 10px;
	}
	
	header .h-inner address p.tel a {
		display: block;
		width: 45px;
		height: 45px;
		color: white;
	}	

	header .h-inner address p.tel span {
		display: none;
	}	
	
	header .h-inner .mailform {
		background: none;
		position: relative;
		align-items: initial;
	}

	header .h-inner .mailform a {
		text-indent: -999em;
		width: 45px;
		height: 45px;
		border: 1px solid #054090;
		border-radius: 50%;
		-moz-border-radius: 50%;
		-webkit-border-radius: 50%;
		padding: 0;
		background: #fff url(../img/icon_mail_blue_sp@2x.png) no-repeat 50%;
		background-size: 25px 17px;
	}
	
	header .h-inner .mailform:hover {
		background: none;
	}
	
	/* contents */
	
	.mainimg {
		padding-top: 80px;
		margin-bottom: 3em;
	}

	.mainimg img {
		min-width: initial;
		width: 100%;
	}
	
	.mainimg-wrap {
		background: none;
		height: auto;
		padding-top: 0;
	}

	.mainimg-wrap .catch {
		position: relative;
		top: 0;
		padding: 1.5em 0 0 0;
		max-width: initial;
		width: 90%;
		margin: 0 auto;
	}

	.mainimg-wrap .catch .subcatch {
		font-size: 4.3vw;
	}

	.mainimg-wrap .catch .maincatch {
		font-size: 7.0vw;
	}

	.mainimg-wrap .catch .mainlead {
		font-size: 3.8vw;
		line-height: 1.5em;
	}	
	

	.h2-wrap {
			margin-bottom: 2em;
	}

	.h2-wrap:after {
		top: 33px;
	}	

	.h2-subwrap {
		width: 90%;
	}
	
	.pro-bal-wh,
	.chart,
	.madoguchi,
	.arrow-fukurou .arrow {
		margin: 0 auto 20px auto;
	}	
	
	article#problem,
	article#reason,
	article#points,
	article#efforts,
	article#contact,
	article#aboutus,
	article#points {
		margin-top: -80px;
		padding-top :80px;
	}	
	
	article#problem h2,
	article#reason h2,
	article#support h2,
	article#points h2,
	article#efforts h2,
	article#contact h2,
	article#aboutus h2 {
		font-size: 28px;
		padding-bottom: 5px;
		padding-left: 0;
		margin-bottom: 1.2em;
		/* border-bottom: 2px solid #dcdcdc; */
	}	
	
	article#problem h2 span,
	article#reason h2 span,
	article#support h2 span,
	article#points h2 span,
	article#efforts h2 span,
	article#contact h2 span,
	article#aboutus h2 span {
		font-size: 10px;
	}
	
	article#efforts img {
		margin: 0 auto 1em auto;
	}	

	article#efforts .lead {
		font-size: 13px;
		margin-bottom: 1.5em;
	}
	
	article#points section:nth-child(2) .seminar-wrap {
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	
	article#points section:nth-child(2) .seminar-wrap .text h3 {
		font-size: 19px;
		margin-bottom: 0.5em;
	}

	article#points section:nth-child(2) .seminar-wrap .text .lead {
		font-size: 12px;
		line-height: 1.7em;
		margin-bottom: 2em;
	}

	article#points section:nth-child(2) .seminar-wrap .text h4 {
		font-size: 15px;
		font-weight: 300;
		margin-bottom: 0.5em;
		padding-left: 15px;
		background-size: auto 10px;
	}

	article#points section:nth-child(2) .seminar-wrap .text ul {
		margin-bottom: 1.5em;
		padding-right: 0;
	}

	article#points section:nth-child(2) .seminar-wrap .text li {
		margin-left: 1.5em;
		list-style-position: initial;
		line-height: 1.7em;
		font-size: 12px;
	}
	
	.seminar-list {
		padding: 1em;
	}	
	
	.seminar-list h3 {
		margin-bottom: 1em;
		font-size: 17px;
	}

	.seminar-list li {
		margin-bottom: 0.5em;
		padding: 0.7em;
		font-size: 13px;
	}	
	
	.yl-wrap {
		margin: 0 auto 1em auto;
	}	
	
	.yellowline {
		font-size: 20px;
		text-align: center;
	}
	
	.yellowline-under {
		display: none;
	}

	.yellowline-under-sp {
		content: "";
		height: 13px;
		background: #fef673;
		display: table;
		width: 100%;
		position: relative;
		bottom: 9px;
		z-index: 1;
	}	
	
	.arrow-fukurou {
		margin: 0 auto 2em;
		padding-bottom: 0;
		padding-right: 0;
		padding-left: 0;
		background: none;
	}
	
	.contact-wrap {
		padding: 1em 0;
		margin-bottom: 3em;
	}	
	
	.contact-wrap .inner {
		width: 90%;
		margin: 0 auto;
		display: block;
	}
	
	.contact-wrap .inner address {
		padding-left: 70px;
		background: url(../img/contact_txt_sp@2x.png) no-repeat top left;
		background-size: contain;
		display: table;
		margin: 0 auto 0.5em auto;
	}	

	.contact-wrap .inner address p {
		color: white;
		margin-bottom: 0.5em;
	}	

	.contact-wrap .inner address .tel {
		font-size: 23px;
		padding-left: 45px;
		margin-bottom: 7px;
		background-size: auto 23px;
	}

  .contact-wrap .inner address .tel a {
    color: #fff;
  }
	
	.contact-wrap .inner address dl {
		margin-bottom: 0;
	}	

	.contact-wrap .inner address dt {
		font-size: 10px;
		margin-right: 5px;
		padding: 3px 5px;
	}

	.contact-wrap .inner address dd {
		font-size: 11px;
	}

	.contact-wrap .inner address .mailform {
		display: none;
	}

	.contact-wrap .inner .mailform a {
		font-size: 14px;
		margin: 0 auto 1em auto;
		color: white;
		box-sizing: border-box;
		width: 90%;
		padding: 1em;
		text-align: center;
		border: 1px solid #fff;
		border-radius: 50px 50px 50px 50px;
		-moz-border-radius: 50px 50px 50px 50px;
		-webkit-border-radius: 50px 50px 50px 50px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.contact-wrap .inner .mailform span {
		width: 18px;
		height: 12px;
		margin-right: 5px;
		display: inline-block;
		background: url(../img/icon_mail_conv_sp@2x.png) no-repeat;
		background-size: 18px 12px;	
	}
	
	.contact-wrap .inner .mailform a:active {
		background-color: rgba(255, 255, 255, 1);
		border: 1px solid #004ba0;
		border-radius: 50px 50px 50px 50px;
		-moz-border-radius: 50px 50px 50px 50px;
		-webkit-border-radius: 50px 50px 50px 50px;
		color: #004ba0;
	}
	
	.contact-wrap .inner .mailform a:active span {
		background: url(../img/icon_mail_conv_on_sp@2x.png) no-repeat;
		background-size: 18px 12px;	
	}
	
	.result {
		font-size: 16px;
		padding: 0 1em;
	}
	
	.required {
		width: 90%;
		margin: 0 auto 1em auto;
		font-size: 12px;
	}		
	
	article#problem img.madoguchi {
		margin: 0 auto 1em auto;
	}
	
	article#problem section .imgwrap {
		width: 100%;
		margin: 0 auto;
	}
	
	article#problem section img {
	}
	
	article#problem section object {
		width: 100%;
	}
	
	article#problem .lead {
		font-size: 13px;
		margin-bottom: 1.5em;
		padding: 0 1em;
		line-height: 1.5em;
	}	
	
	article#problem h3 {
		font-size: 20px;
		margin-bottom: 1.5em;
	}	
	
	.square-sp {
	}

	.square-sp li {
		width: 100%;
		margin: 0 auto 1em auto;
	}
	
	.spt-sp li {
		margin: 0 auto 1em auto;
	}

	.square-sp li img,
	.spt-sp li img {
	}
	
	article#support .inner,
	article#efforts .inner,
  article#problem .inner,
	article section,
	article#aboutus .outline,
	article#aboutus .outline2 {
		margin: 0 auto 2em auto;
	}
	
	.blueunderline {
		font-size: 16px;
		width: 100%;
		margin: 0 auto 1em auto;
		padding: 0 1em;
		box-sizing: border-box;
	}

	.group-wrap {
		border-top: 1px solid #0060be;
		border-bottom: 1px solid #0060be;
		border-right: 0;
		border-left: 0;
		padding: 2em 0;
		width: 100%;
		margin: 0 auto 2em auto;
	}
	
	article#aboutus .outline3 {
		width: 90%;
		margin: 0 auto;
	}
	
	article#aboutus .outline3 dl {
		margin-bottom: 1em;
		padding-bottom: 1em;
	}	
	
	article#aboutus .outline3 dt {
		font-size: 14px;
		float: none;
		margin-bottom: 0.5em;
	}

	article#aboutus .outline3 dd {
		font-size: 12px;
		padding-left: 0;
	}
	
	article#aboutus .outline3 h4 {
		font-size: 16px;
		margin-bottom: 0.8em;
	}
	
	article#aboutus .outline3 dl.blueunder {
		margin-bottom: 0;
		padding-bottom: 1.5em;
		border-bottom: 3px solid #d3dff2;
		margin-bottom: 1.5em;
	}
	
	article#aboutus .outline2 dl {
		font-size: 12px;
		line-height: 1.68em;
	}
	
	article#aboutus .outline2 dd {
		padding-left: 100px;
	}
	
	article#aboutus .outline2 li {
		padding: 1em;
	}
	
	article#aboutus .outline,
	article#aboutus .outline2 {
		width: 90%;
	}
	
	article#aboutus .blue,
	article#aboutus .black {
		display: block;
	}	
	
	article#aboutus .black dt,
	article#aboutus .black dd {
		font-size: 12px;
		margin-bottom: 0;
		line-height: 1.5em;
	}
	
	article#aboutus .blue dt,
	article#aboutus .blue dd {
		font-size: 14px;
		margin-bottom: 1.3em;
		line-height: 1.5em;
	}
	
	article#aboutus .blue dt,
	article#aboutus .black dt {
		width: auto;
	}

	article#aboutus .black dt {
		margin-bottom: 1em;
	}

	article#aboutus .blue dt {
		margin-bottom: 0 !important;
	}	
	
	article#contact {
		padding: 60px 0 2em 0;
		margin: -60px 0 3em 0;
	}
	
	article#contact form {
		width: 100%;
	}
	
	article#contact .note {
		font-size: 12px;
		width: 90%;
		line-height: 1.5em;
		margin: 0 auto 1em auto;
	}
	
	article#contact label p {
		margin: 0 0 0.5em 0;
		font-size: 12px;
		padding: 0 1.5em;
		box-sizing: border-box;
	}
	
	article#contact label {
		display: block;
		margin-bottom: 1em;
	}
	
	article#contact input,
	article#contact textarea {
		padding: 1em;
		width: 90%;
		font-size: 120%;
	}

	article#contact ::placeholder {
		font-size: 100%;
	}
	
	article#contact input[type=submit] {
		width: 60%;
		padding: 1em 0;
		font-size: 13px;
	}
	
	.radio {
		font-size: 12px;
		width: 90%;
		margin:0 auto;
	}

	.radio li {
		margin-right: 4em;
	}
	
	article#contact .check-policy {
		font-size: 13px;
	}
	
	article#contact .check-policy input,
	article#contact .check-policy span {
		vertical-align: middle;
	}	
	
	article#contact .link-policy {
		margin-bottom: 1.5em;
		font-size: 13px;
	}
	
	article#support .inner,
	article#efforts .inner,
  article#problem .inner {
		width: 90%;
		margin: 0 auto;
	}
	
	article#points .spt li {
		margin-bottom: 1em;
		width: 100%;
	}
	
	article#points .spt li img {
	}
	
	article#problem section:nth-child(2),
	article#support {
		padding: 2em 0;
	}
	
	article#reason {
		margin-bottom: 120px;
	}	

	article#support {
		margin-bottom: 2em;
		margin-top: -80px;
		padding-top: 80px !important;
		padding-bottom: 2em !important;
	}

	
	article#support h3,
	article#efforts h3 {
		font-size: 16px;
		margin-bottom: 1em;
	}

	article#support .lead {
		font-size: 12px;
		margin-bottom: 2em;
		line-height: 1.5em;
	}
	
	.spt,
	.square-sp {
		width: 100%;
		margin: 0 auto;
	}
	
	/* footer */
	
	footer {
		padding: 3em 0 0 0;
	}

	footer .inner {
		width: 90%;
		display: block;
		text-align: center;
	}
	
	footer .inner .add-inner {

		padding-left: 0;
	}		

	footer .inner address dt {
		font-size: 11px;
	}

	footer .inner address dd {
		font-size: 12px;
	}

	footer .inner img.footerlogo {
		width: 90%;
    max-width: 240px;
		margin-bottom: 2em;
	}	
	
	footer .inner address .tel {
		font-size: 36px;
		padding-left: 60px;
		background-size: auto 30px;
		margin: 0 auto 10px auto;
	}
	
	footer .inner address .tel a {
		color: white;
	}
	
	footer .inner nav ul {
		justify-content: center;
		flex-wrap: wrap;
	}

	footer .inner nav li {
		margin-right: 0;
		line-height: 1.5em;
		margin-right: 1em;
	}
	
	footer .inner .mailform {
		display: none;
	}
	
	footer .inner-copy {
		padding: 2em 0;
	}
		
}

@media screen and (max-width: 320px) {
	section {
		width: 100% !important;
	}

	section img {
		max-width: 100%;
	}
}

@media all and (-ms-high-contrast:none) {
	header .h-inner dt,
	.contact-wrap .inner address dt {
		font-family: "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo,"sans-serif"
	}
}