* {box-sizing: border-box;}

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

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

html {-webkit-text-size-adjust: 100%;}
body {line-height: 1;overflow-x: hidden;}
ol, ul {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 {text-decoration: none;cursor: pointer;}
img {max-width: 100%;vertical-align: bottom;}
main {display: block;}
select::-ms-expand {display: none;}
textarea {width: 100%;max-width: 100%;-webkit-appearance: none;border: none;border-radius: 0;box-shadow: none;}
textarea:focus {outline: 0;}
input {border: none;background: none;-webkit-appearance: none;border-radius: 0;box-shadow: none;}
input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px #fff inset;}
input:focus {outline: 0;}
select {-webkit-appearance: none;border-radius: 0;border: none;background: none;}
select:focus {outline: 0;}
button {border: none;background: none;cursor: pointer;}
button:focus {outline: 0;}

.pc {display: block;}
.sp {display: none;}
.x-small, .xx-small{display:none}

.orange, .red {font-weight:bold;font-size:1.1em}
.orange {color:#ff7600}
.red {color:#ff0000}

/*
h2 {font-size:2.2125rem;line-height:1.5}

*/


.c-title01 {text-align: center;}
.c-title01 h2 {position: relative;margin: 0 0 50px;padding: 0 0 20px;}
.c-title01 h2::before {content: "";display: block;width: 90px;height: 4px;position: absolute;bottom: 0;left: 50%;background: #030950;transform: translateX(-50%);}
.c-title01 p {font-size: 53px;font-size: 2.4125rem;line-height: 1.45;color: #030950;font-weight: bold;}
.c-title01 p span {color: #ffaf24;}
.c-title01 p span.is-big {font-size: 78px;font-size: 4.875rem;color: #fff;}
.c-title01 p.is-white {color: #fff;}
.c-title01 p.has-big {line-height: auto;line-height: 1.1;}
.c-title01.is-white h2::before {background: #fff;}
.c-title01.is-white p {color: #fff;}




header {width: 100%;margin:0 auto;padding:0;max-width:1400px}
header .inner {padding:10px 0;text-align:center;background: #f1f5f9;}
header .inner h1 {color:#030950;font-size: .9rem;font-weight: 600;text-align: center;}

section {padding:40px 30px;line-height:2.2;color:#222;}
section article {width:860px;margin-left:auto;margin-right:auto}
section article p {font-size:1.15rem;font-weight:400;line-height:2.2;margin-bottom: 1em;color:#222}

section article h2.title {text-align:center;font-size:2em;font-weight: 600;margin-bottom:40px}
section article h2.title span {display:block;color:#cc0000;line-height:1;font-size: .8em}



.mt20 {margin-top:20px}
.mt40 {margin-top:40px}
.mt60 {margin-top:60px}
.mt80 {margin-top:80px}

.mb20 {margin-bottom:20px}
.mb40 {margin-bottom:40px}
.mb60 {margin-bottom:60px}
.mb80 {margin-bottom:80px}

.pt0 {padding-top:0!important}
.pb0 {padding-bottom:0!important}

.text-center {text-align:center}

p .withUnderline, p .withBkg, strong {font-size:1.05em;font-weight: 700;}
p .withUnderline {font-size: 1.05em;border-bottom: solid 1px;font-weight: 700;}
p .withBkg {font-size: 1.05em;background:#FCFC99}

/*mainVisual*/
.mainVisual {margin:0 auto;max-width:900px;margin:0 auto;box-sizing: content-box;padding:20px 0 0}
.mainVisual figure {width:100%}
.mainVisual figure img {width:100%}

/*contact*/

.contact {padding: 60px 0 60px;margin-left: auto;margin-right:auto}
.contact .title h2.en {font-size:2rem;font-weight:500}
.contact .title h2:before {content: "";display: block;width: 90px;height: 4px;position: absolute;bottom: 0;left: 50%;background: #030950;transform: translateX(-50%);}
.contact .title {text-align:center;}
.contact .title h2 {text-align:center;position: relative;margin: 0 0 20px;padding: 0 0 20px;}
.contact span {color:#ff0000;font-size:.9em}
.contact .note {font-size:1em;font-weight:500}
.contact .form {margin: 0 auto;text-align:center;}
.contact .form p {font-size:1.2rem;}
.contact .form .lead {margin:0 0 63px;font-size:2rem;font-weight: 700;}
.contact .form .wrapper {display: flex;max-width: 800px;width: auto;justify-content: space-between;margin: 15px auto 0 auto;text-align: left;}
.contact .form dl {width: 48%;margin:0 0 0;letter-spacing:-0.4em;text-align:left;}
.contact .form .textarea_box {width:100%;max-width: 800px;margin: 30px auto 0 auto;letter-spacing:-0.4em;text-align:left;}
.contact .form dl dt p {font-size:1.05rem;font-weight: 400;letter-spacing:0;vertical-align:top;}
.contact .form dl dd {margin: 8px 0 11px 0;font-size:1.4rem;letter-spacing:0;}
.contact .form.contact dl dd {width:533px;}
.contact .form dl dd.textarea {vertical-align:middle;}
select::-ms-expand {display: none;}
.contact .form input[type="text"], .contact .form input[type="email"]{width:100%;padding: 10.5px 10px;font-size:.9em;line-height:150%;border: 1px solid #bbb;border-radius:4px;box-sizing:border-box;font-weight:normal}
.contact .form input[type="tel"] {width:100%;padding: 10.5px 10px;font-size:100%;line-height:150%;border: 1px solid #bbb;border-radius:4px;box-sizing:border-box;font-weight:normal}
.contact .form textarea {font-weight:bold;width:100%;height: 250px;font-family:'Noto Sans JP';font-weight:normal;padding: 17.5px 18px;font-size:.9em;line-height:150%;border: 1px solid #bbb;border-radius:4px;box-sizing:border-box;}
.contact .form dl label {display: inline-block;margin: 5px 20px 5px 0;}
.contact .form input[type="submit"] {background-image:linear-gradient(45deg, #eb5406 0%, #f4ab4d 100%);cursor:pointer;border-radius:4px;font-family:'Noto Sans JP';width:300px;padding:1.2rem 0;color:#fff;font-weight:500;text-align:center;background:#000;border:none;box-sizing:border-box;font-size:1.2rem}
.contact .form input[type="submit"]:hover {background:#ff0000}
.contact .form .last + p + p {font-size:140%;}
.contact .form input:focus, .contact .form textarea:focus {outline:#51bec1 2px solid;}
.contact .form input[type="submit"], .recaptcha-btn {background:#ff0000;cursor:pointer;border-radius:4px;font-family:'Noto Sans JP';width:300px;padding:1rem 0;color:#fff;font-weight:500;text-align:center;border:none;box-sizing:border-box;font-size:1rem;margin:0 auto}
.contact .form input[type="submit"]:hover, .recaptcha-btn:hover {background:#ff4444;}
.contact .form .last + p + p {font-size:140%;}
.contact .form input:focus, .contact .form textarea:focus {outline:#51bec1 2px solid;}


/*contactBtn*/
.contactBtn {position: fixed;width: 100%;background: #000;height: 80px;bottom: 0;left: 0;z-index: 2;transition: 0.3s;}
.contactBtn.is-fixed {position: fixed;bottom: 0;width: 100%;z-index: 100;}
.contactBtn.is-fixed.is-hide {bottom: -170px;}
.contactBtn .inner {max-width:800px;margin:0 auto}

.c-conversion__button {font-size: 33px;font-size: 1.6625rem;display: flex;align-items: center;justify-content: center;top: -20px;border-radius: 10px;background-image: linear-gradient(45deg, #eb5406 0%, #f4ab4d 100%);position: relative;height: 70px;color: #fff;font-weight: bold;}
.c-conversion__button.is-fixed {position: fixed;bottom: 0;width: 100%;z-index: 100;}
.c-conversion__button.is-fixed.is-hide {bottom: -170px;}


footer {position: relative;background: #000;padding: 20px 0 120px;}
footer .inner {max-width:800px;margin:0 auto}
footer .inner .logo {text-align: center;margin: 0 0 25px;}
footer .inner .logo img {width: 120px;}
.l-footer__content {display: block;text-align:center}
.l-footer__content > * {min-height: 0%;}
footer ul {margin-bottom:1em}
footer li:not(:last-of-type) {margin: 0 15px 0 0;}
footer li a {font-size: 14px;font-size: 0.875rem;color: #fff;text-decoration:underline}
.l-footer__copyright {font-size: 14px;font-size: 0.875rem;color: #fff;}


body {font-family: "Noto Sans JP", sans-serif !important;font-size: 98%;}
.c-pc {display: block !important;}
.c-sp {display: none !important;}

::-webkit-input-placeholder {color:#999;}
::placeholder{color:#999}


.wpcf7-not-valid-tip {font-weight:600!important;font-size:.95em!important;line-height:1.45}


.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    font-size: 1.2rem;
    background: #46b450;
    color: #fff;
    padding: 1.5rem 0;border-radius:4px;text-align: center}


form.sent .form{display:none;}
@media (max-width: 1000px) {
	section {padding:40px 20px 20px 20px}
	header .inner h1 {font-size:1.8vw;}
	section article {width:95%}
	section article p {font-size:2.4vw;margin-bottom:1.8em}
	section article h2.title, .contact .title h2.en {font-size:3.4vw}
	.syutten {font-size:1.5vw!important}
	.contact .note {font-size:2vw}
	.contact .form dl dt p {font-size:2.4vw}
	.contact .form input[type="text"], .contact .form input[type="email"],.contact .form input[type="tel"],.contact .form textarea {font-size:2.4vw}
	.contact .form .textarea_box {width:100%;margin:0 auto}

	table tr th {white-space: nowrap;}
	table tr th, table tr td {font-size:2.2vw;padding:15px!important}

}	

@media (max-width: 899px) {
	.mainVisual {max-width:100%;padding:0!important}
	.pc {display: none!important}
	.sp {display: block!important;}

	section article p {font-size:2.6vw}
	section article h2.title, .contact .title h2.en {font-size:3.6vw}

	.flex {display:block!important}
	.flex .text, .flex .img {width:100%!important}
	.flex .img img {width:100%;object-fit: cover;height:280px;object-position: top}

	.contact .form {width:90%}
	.contact .form .wrapper {flex-wrap:wrap;margin-top:15px}
	.contact .form dl {width:100%}
	.contact .form dl dt p {font-size: 2.6vw;font-weight:600}
	.contact .form input[type="text"], .contact .form input[type="email"], .contact .form input[type="tel"], textarea {font-size:2.4vw!important}
	.contact .form .textarea_box {margin-top: 15px}
	.contact .form textarea {padding:1rem}

	.contact .form input[type="submit"] {font-size:3.6vw;padding:1rem 0}

	.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    font-size: 3.65vw;
    background: #46b450;
    color: #fff;
    padding: 0.5rem;}
    .contactBtn {height:auto}
    .c-conversion__button {font-size:4.65vw;font-weight: 500;height:56px;margin:0 auto;max-width: 90%;top:-10px}
}
@media (max-width: 820px) {
	section article p {font-size:3.25vw}
	section article h2.title, .contact .title h2.en {font-size:4.6vw}
	section {padding-top:60px}
	.tica {padding-top:0!important}
	.x-small {display:block}
	.question article h2 {line-height:1.4}
	.question article h2 span {margin-top:30px}
	section article h2.title {padding-bottom:20px}
	section.about article p.small {font-size:3.2vw}	
	table tr th, table tr td {font-size:2.6vw}
	.contact .form dl dt p {font-size:2.8vw}
	.contact .form input[type="text"], .contact .form input[type="email"], .contact .form input[type="tel"], textarea {font-size:2.8vw!important}
}

@media (max-width: 767px) {
	header .inner h1 {font-size:2.8vw}
	.xx-small {display:block}
	section, section article {width:100%}
	section article p {font-size:4vw}
	table tr th, table tr td {font-size:3.6vw}
	table tr td {line-height:1.8}
	section article h2.title, .contact .title h2.en {font-size:5.4vw}
	section article h2.title {padding-bottom:0;margin-bottom: 20px;line-height:1.6}
	section article h2.title span {margin-top:15px;line-height:1.6}
	.contact .form dl dt p, .contact .form input[type="text"], .contact .form input[type="email"], .contact .form input[type="tel"], textarea {font-size:4vw!important}
	.wpcf7-not-valid-tip {font-size:.9em!important}
	.contact .note {font-size:3.2vw}
}

