
@charset "UTF-8";
html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
progress {
	vertical-align: baseline;
}
template, [hidden] {
	display: none;
}
a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}
a:active, a:hover {
	outline-width: 0;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
b, strong {
	font-weight: inherit;
}
b, strong {
	font-weight: bolder;
}
dfn {
	font-style: italic;
}
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
mark {
	background-color: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img {
	border-style: none;
}
/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
	overflow: hidden;
}
code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
figure {
	margin: 1em 40px;
}
hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, select, textarea {
	font: inherit;
	margin: 0;
}
optgroup {
	font-weight: bold;
}
button, input {
	/* 1 */
	overflow: visible;
}
button, select {
	text-transform: none;
}
button, html [type="button"], [type="reset"], [type="submit"] {
	-webkit-appearance: button;
  	appearance: button;
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}
legend {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
textarea {
	overflow: auto;
}
[type="checkbox"], [type="radio"] {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	appearance: textfield;
	/* 1 */
	outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
  font: inherit;
}
body.lb-disable-scrolling {
	overflow: hidden;
}
.lightboxOverlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	background-color: black;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
	opacity: 0.8;
	display: none;
}
.lightboxOverlay:focus {
	outline: none;
}
.lightbox {
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 10000;
	text-align: center;
	line-height: 0;
	font-weight: normal;
	outline: none;
}
.lightbox .lb-image {
	display: block;
	height: auto;
	max-width: inherit;
	max-height: none;
	-moz-border-radius: 3px;
	border-radius: 3px;
	/* Image border */
	border: 4px solid white;
}
.lightbox a img {
	border: none;
}
.lb-outerContainer {
	position: relative;
	width: 250px;
	height: 250px;
	margin: 0 auto;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background-color: white;
}
.lb-outerContainer:after {
	content: "";
	display: table;
	clear: both;
}
.lb-loader {
	position: absolute;
	top: 43%;
	left: 0;
	height: 25%;
	width: 100%;
	text-align: center;
	line-height: 0;
}

.lb-nav {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
}
.lb-container > .nav {
	left: 0;
}

.lb-prev, .lb-next {
	height: 100%;
	cursor: pointer;
	display: block;
}

.lb-nav a.lb-prev:hover {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1;
}
.lb-nav a.lb-next {
	width: 64%;
	right: 0;
	float: right;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
	opacity: 0;
	-webkit-transition: opacity 0.6s;
	-moz-transition: opacity 0.6s;
	transition: opacity 0.6s;
}
.lb-nav a.lb-next:hover {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1;
}
.lb-dataContainer {
	margin: 0 auto;
	padding-top: 5px;
	width: 100%;
	-moz-border-radius-bottomleft: 4px;
	border-bottom-left-radius: 4px;
	-moz-border-radius-bottomright: 4px;
	border-bottom-right-radius: 4px;
}
.lb-dataContainer:after {
	content: "";
	display: table;
	clear: both;
}
.lb-data {
	padding: 0 4px;
	color: #ccc;
}
.lb-data .lb-details {
	width: 85%;
	float: left;
	text-align: left;
	line-height: 1.1em;
}
.lb-data .lb-caption {
	font-size: 13px;
	font-weight: bold;
	line-height: 1em;
}
.lb-data .lb-caption a {
	color: #4ae;
}
.lb-data .lb-number {
	display: block;
	opacity: 0;
	clear: left;
	padding-bottom: 1em;
	font-size: 12px;
	color: #999999;
}
.lb-data .lb-close {
	display: block;
	float: right;
	width: 30px;
	height: 30px;
	text-align: right;
	outline: none;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
	opacity: 0.7;
	-webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
.lb-data .lb-close:hover {
	cursor: pointer;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1;
}
html {
	font-size: 10px;
}
body {
	overflow-wrap: break-word;
}
a, a:link, a:visited, a:active, a:hover, a:hover img {
	text-decoration: none;
	color: #161717;
}
a:hover {
	text-decoration: none;
}
a:hover, a:hover img, .img_hover:hover {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	opacity: .80;
}
a {
	color: #333;
}
img {
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
	height: auto;
}
div, p {
/*word-break: break-all;*/
}
ul, ol, li {
	list-style: none;
}
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, nav, picture {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
ul, ol, li {
	list-style: none;
}
body, td, th, input, textarea {
	color: #161717;
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.5;
}
* {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
figure, picture {
	line-height: 0;
}
picture {
	display: block;
}
html, body {
	width: 100%;
	height: 100%;
}
body {
	-moz-font-feature-settings: "palt";
	font-feature-settings: "palt";
}

@media screen and (min-width: 769px), print {
a[href^=tel] {
	text-decoration: none;
}
.show_sp {
	display: none !important;
}
.container {
	overflow: hidden;
	min-width: 1200px;
}
.row {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
img {
	max-width: 100%;
	width: auto;
	height: auto;
}
.tt {
	font-size: 5rem;
	line-height: 1.4;
	font-weight: 900;
	color: #333333;
	text-align: center;
	margin-bottom: 50px;
	letter-spacing: 1px;
}
.contact {
	background: #0277d2;
	padding: 65px 0 70px;
	text-align: center;
}
.contact .contact_ct {
	width: 400px;
	margin-left: 134px;
}
.contact .tt {
	/*margin-bottom: 105px;*/
	letter-spacing: 0;
	padding: 0 20px;
}
.contact .tt span {
	position: relative;
}
span.small {
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
}
	
　/*CTA吹き出し*/
.contact .tt span:before {
	content: '';
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	left: -45px;
	top: 20px;
}
.contact .tt span:after {
	content: '';
	-moz-background-size: contain;
	background-size: contain;
	-webkit-transform: scaleX(-1);
	-moz-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
	position: absolute;
	right: -45px;
	top: 20px;
}
	
.contact .btn {
	position: relative;
	max-width: 400px;
	height: 70px;
	margin: 0 auto 35px;
}
.contact .line {
	position: relative;
	max-width: 400px;
	height: 70px;
	margin: 0 auto 35px;
}

	
/*------ btn装飾 -----*/
.contact .btn a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #f98421;
  margin: 0 auto;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}

.contact .btn a:hover {
  color: #fff;
  background: #f98421;
}

.contact .btn a {
  border-bottom: 5px solid #cd6614;
}

.contact .btn a:hover {
  margin-top: 3px;
  border-bottom: 2px solid #cd6614;
}

.contact .btn a {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
}

.contact .line a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #43c606;
  margin: 0 auto;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}

.contact .line a:hover {
  color: #fff;
  background: #43c606;
}

.contact .line a {
  border-bottom: 5px solid #329803;
}

.contact .line a:hover {
  margin-top: 3px;
  border-bottom: 2px solid #329803;
}

.contact .line a {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
}

/*------ btn装飾 -----*/
	
.contact .tel {
	margin-bottom: 25px;
}
.contact .tel a {
	font-size: 4.2rem;
	line-height: 1;
	font-weight: bold;
	color: #07328f;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	transition: color 0.3s ease;
	position: relative;
}
.contact .tel a:before {
	content: '';
	width: 23px;
	height: 40px;
	background: url("src/cta_phone.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 5px;
	left: -32px;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.contact .middle .tel a:before {
	content: '';
	width: 23px;
	height: 40px;
	background: url("src/cta_phone02.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 5px;
	left: -32px;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.contact .tel a:hover {
	color: #000;
}
.contact p {
	font-size: 2rem;
	line-height: 1;
	font-weight: bold;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	max-width: 400px;
	margin: 0 auto;
	padding: 14px 0;
}
.contact .middle p {
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	font-weight: bold;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	max-width: 400px;
	margin: 0 auto;
	padding: 14px 0;
}
.header.fixed {
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 99;
	background: #fff;
}
.header__row {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 13px 0;
}
.header__center h1 img {
	width: 240px;
}
.header__nav {
	margin-left: 50px;
}
.header__nav ul {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header__nav ul li:not(:first-child) {
	margin-left: 33px;
}
.header__nav ul li a {
	font-size: 1.4rem;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.header__nav ul li a:hover {
	color: #0277d2;
}
.header__right {
	margin-left: auto;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header__right .schedule {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header__right .schedule a {
	font-style: normal;
	font-size: 2.8rem;
	line-height: 1;
	font-weight: 700;
	cursor: pointer;
	color: #07328f;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.header__right .schedule a:hover {
	opacity: 1;
	color: #000;
}
.header__right .schedule span {
	font-size: 1.4rem;
	line-height: 16px;
	color: #333;
	font-weight: 700;
	display: block;
	margin-top: 4px;
	letter-spacing: 0.01em;
	text-align: justify;
}
.header__right .btn {
	position: relative;
	width: 150px;
	height: 45px;
	margin-left: 25px;
}
.header__right .btn a {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #6bcd3d;
	margin: 0 auto;
	font-size: 1.2rem;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	-webkit-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-moz-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
}
.header__right .btn a:before {
	content: '';
	width: 0;
	height: 0;
	border-bottom: 45px solid #43c606;
	border-left: 150px solid transparent;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.mv {
	background: url("src/bg_mv.png") no-repeat;
	-moz-background-size: cover;
	background-size: cover;
	overflow: hidden;
	height: 1000px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.mv .picture {
	line-height: 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-moz-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding-right: 80px;
}
.about {
	padding: 98px 0;
	text-align: center;
	background: #eeeeee;
}
.about p {
	font-size: 2.1rem;
	line-height: 1.71429;
	color: #333333;
	font-weight: bold;
	margin-bottom: 55px;
}
.contact--top {
	background: #0277d2;
	padding: 0 0 150px;
}
.contact--top .row {
	position: relative;
}
.contact--top .row:before {
	content: '';
	width: 800px;
	height: 110px;
	background: url("src/contact_bg.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: -149px;
	right: 0;
	left: 0;
	margin: auto;
}
.contact--top .row .contact__mt {
	width: 800px;
	margin: 0 auto;
	background: #fff;
	padding: 70px 0 ;
	position: static;
	top: -50px;
}
.contact--mid {
	background: #0277d2;
}
.contact--mid .row {
	position: relative;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
}
.contact--mid .row:before {
	content: '';
	width: 609px;
	height: 534px;
	background: url("src/photo01.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: -95px;
	right: 0;
	z-index: -1;
}
.member {
	background: #eef1f5;
	padding: 100px 0;
	overflow: hidden;
}
.member .row {
	position: relative;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-moz-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.member__ct {
	max-width: 720px;
	position: relative;
}
.member__ct .tt {
	text-align: left;
	margin-bottom: 20px;
}
.member__ct .tt small {
	font-size: 3.5rem;
}
.member__ct h4 {
	font-size: 3rem;
	line-height: 1.5;
	color: #333;
	font-weight: bold;
	margin-bottom: 20px;
}
.member__ct .member__text {
	max-width: 685px;
}
.member__ct .member__text p {
	font-size: 2.1rem;
	line-height: 1.71429;
	font-weight: bold;
	color: #333;
	text-align: justify;
}
.member__ct .member__text p + p {
	margin-top: 30px;
}
.member__ct .member__text p span {
	background: #ffff00;
}
.member__ct .member__text em {
	font-style: normal;
	margin-top: 30px;
	display: block;
	text-align: right;
	font-size: 1.6rem;
	line-height: 2;
	font-weight: bold;
	color: #333;
	white-space: nowrap;
}
.member .picture {
	position: absolute;
	bottom: -100px;
	left: -100px;
	z-index: -1;
	width: 560px;
}
.problems {
	background: url("src/moving_bg.png") center bottom no-repeat #0277d2;
	-moz-background-size: cover;
	background-size: cover;
	padding: 80px 0 156px;
	overflow: hidden;
}
.problems__tt {
	color: #333;
	text-align: left;
	font-size: 4.8rem;
	font-weight: 900;
	max-width: 700px;
	margin: 0 auto;
	margin-bottom: 60px;
}
.problems__list {
	max-width: 400px;
	margin: 0 auto 100px;
}
.problems__list li {
	color: #333;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: bold;
	position: relative;
	padding-left: 45px;
}
.problems__list li + li {
	margin-top: 7px;
}
.problems__list li::before {
	content: '';
	width: 30px;
	height: 27px;
	background: url("src/check_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 5px;
	left: 0;
}
.problems p {
	font-size: 6rem;
	line-height: 1;
	font-weight: 900;
	color: #333;
	text-align: center;
}
.sologan {
	padding: 77px 0 0;
	background: #d24555;
	position: relative;
}
.sologan:before {
	content: '';
	width: 0;
	height: 0;
	border-left: 284px solid transparent;
	border-right: 284px solid transparent;
	border-top: 50px solid #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.sologan figure {
	text-align: center;
}
.headline {
	background: url("src/note_bg.png") repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__top {
	text-align: center;
	padding: 70px 0 135px;
	background: url("src/headline.png") bottom center no-repeat;
	-moz-background-size: cover;
	background-size: cover;
	z-index: 1;
	position: relative;
}
.headline__top p {
	font-size: 4.8rem;
	line-height: 70px;
	color: #ffe10a;
	font-weight: bold;
	margin-bottom: 15px;
}
.headline__top p span {
	position: relative;
}
.headline__top p span:before {
	content: '';
	width: 97px;
	height: 82px;
	background: url("src/emphasis_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	left: -102px;
	top: -15px;
}
.headline__top p span:after {
	content: '';
	width: 97px;
	height: 82px;
	background: url("src/emphasis_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	-webkit-transform: scaleX(-1);
	-moz-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
	position: absolute;
	right: -102px;
	top: -15px;
}
.headline__top h2 {
	font-size: 6.4rem;
	line-height: 100px;
	font-weight: 900;
	color: #fff;
}
.headline__top h2 span {
	color: #ffe10a;
}
.headline__top h2 em {
	font-style: normal;
	font-size: 12rem;
}
.headline__bottom {
	margin-top: -100px;
}
.headline__ct {
	padding: 140px 40px 80px;
	background: #fff;
}
.headline__ct .headline__block + .headline__block {
	margin-top: 96px;
}
.headline__ct .headline__block .tt {
	padding-top: 150px;
	position: relative;
	font-size: 4.4rem;
	line-height: 63px;
}
.headline__ct .headline__block .tt:before {
	content: '';
	width: 180px;
	height: 120px;
	background: url("src/headline_01.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.headline__ct .headline__block .tt span {
	color: #e41414;
}
.headline__ct .headline__block:nth-child(2) .tt:before {
	background: url("src/headline_02.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__ct .headline__block:nth-child(3) .tt:before {
	background: url("src/headline_03.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__ct .headline__block:nth-child(4) .tt:before {
	background: url("src/headline_04.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__ct .headline__block:nth-child(5) .tt:before {
	background: url("src/headline_05.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__box {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
}
.headline__box figure {
	width: 500px;
}
.headline__box p {
	width: -webkit-calc(100% - 600px);
	width: -moz-calc(100% - 600px);
	width: calc(100% - 600px);
	padding-left: 30px;
	font-size: 2.2rem;
	line-height: 1.90476;
}
.headline__box p span {
	background: #fdfa04;
}
.why {
	background: #4bbbec;
	padding: 70px 0 50px;
	position: relative;
}
.why:before {
	content: '';
	width: 210px;
	height: 150px;
	background: url("src/why_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: -60px;
	left: 0;
	right: 0;
	margin: auto;
}
.why .row .tt {
	color: #fff;
	margin-bottom: 40px;
}
.why .row > p {
	max-width: 990px;
	margin: 0 auto 60px;
	font-size: 2.2rem;
	line-height: 1.63636;
	color: #fff;
	font-weight: 400;
	text-align: center;
}
.why .row .why__list {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.why .row .why__list li {
	width: 575px;
	min-height: 220px;
	background: #fff;
	margin: 0 0 50px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
.why .row .why__list li dl {
	padding: 27px 20px 24px;
}
.why .row .why__list li dl dt {
	font-size: 2rem;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 10px;
}
.why .row .why__list li dl dd {
	font-size: 1.8rem;
	line-height: 1.66667;
}
.what {
	background: #fff;
	padding: 90px 0 10px;
	overflow: hidden;
	background-image: linear-gradient(to bottom, transparent 95%, #eaeaea 5%), linear-gradient(to right, transparent 95%, #eaeaea 5%);
    background-size: 10px 10px;
}
.what .row {
	position: relative;
}
.what .tt {
	font-size: 6.4rem;
	padding-bottom: 134px;
	position: relative;
	margin-bottom: 0;
}
.what .tt:before {
	content: '';
	width: 8px;
	height: 88px;
	background: url("src/dot_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: 27px;
	left: 0;
	right: 0;
	margin: auto;
}
.what .pricemenu:before {
	content: '';
	width: 8px;
	height: 88px;
	background: url("src/dot_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: 27px;
	left: 0;
	right: 0;
	margin: auto;
}
.what__list {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -35px;
	margin-right: -35px;
	padding: 0 20px;
}
.what__list li {
	width: 340px;
	margin: 0 35px 70px;
}
.what__list li figure {
	margin-bottom: 20px;
	text-align: center;
}
.what__list li dl dt {
	font-size: 2.1rem;
	line-height: 1.71429;
	font-weight: bold;
	color: #ff7f24;
	text-align: center;
	margin-bottom: 20px;
}
.what__list li dl dd {
	font-size: 1.8rem;
	line-height: 1.66667;
	color: #333333;
	text-align: justify;
	letter-spacing: 1px;
}
.what p {
	font-size: 6rem;
    line-height: 70px;
    color: #333;
    font-weight: 600;
    text-align: center;
    position: relative;
	padding-bottom: 134px;
}
.what p span {
	font-size: 3rem;
	line-height: 50px;
	color: #333;
	display: block;
}
.shop {
	padding: 90px 0 134px;
	background: #fff;
	text-align: center;
}
.shop .tt {
	font-size: 7.2rem;
	line-height: 110px;
	font-weight: 900;
	margin-bottom: 60px;
}
.shop p {
	font-size: 2.2rem;
	line-height: 1.63636;
	margin-bottom: 90px;
	text-align: justify;
}
.shop figure {
	text-align: center;
}
.every {
	padding: 0 0 40px;
}
.every .tt {
	text-align: center;
	font-size: 5.2rem;
	line-height: 110px;
	margin-bottom: 10px;
}
.every .tt span {
	font-size: 4.2rem;
	line-height: 1;
	display: block;
}
.every p {
	font-size: 2.2rem;
	line-height: 1.63636;
	margin-bottom: 80px;
	text-align: center;
}
.every__list {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.every__list li {
	width: 575px;
	margin-bottom: 45px;
}
.every__list li figure {
	margin-bottom: 10px;
}
.every__list li h4 {
	font-size: 3rem;
	line-height: 50px;
	font-weight: bold;
}
.every__list li span {
	font-size: 1.8rem;
	line-height: 1.61111;
	display: block;
	text-align: justify;
}
.voice {
	padding: 100px 0;
	background: #eee;
}
.voice__tt {
	text-align: center;
	margin-bottom: 96px;
}
.voice__block {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
}
.voice__block + .voice__block {
	margin-top: 70px;
}
.voice__block figure {
	-webkit-box-ordinal-group: 3;
	-moz-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	width: 470px;
}
.voice__block dl {
	-webkit-box-ordinal-group: 2;
	-moz-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	width: -webkit-calc(100% - 470px);
	width: -moz-calc(100% - 470px);
	width: calc(100% - 470px);
	padding-right: 54px;
}
.voice__block dl dt {
	margin-bottom: 30px;
	font-size: 3.6rem;
	line-height: 56px;
	font-weight: bold;
	position: relative;
	padding-top: 50px;
}
.voice__block dl dt span {
	display: block;
	text-align: right;
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 400;
	margin-top: 20px;
}
.voice__block dl dd {
	font-size: 2.2rem;
	line-height: 40px;
	text-align: justify;
}
.voice__block dl dd span {
	background: #fdfa04;
}
.h_sec8 {
	padding: 74px 0 103px;
}
.h_sec8 h2 {
	font-size: 6rem;
	color: #333333;
	font-weight: 600;
	margin-bottom: 70px;
}
.h_sec8 h2 span {
	font-size: 8rem;
	color: #cc0000;
}
.h_sec8 figure {
	margin-bottom: 70px;
}
.h_sec8 p {
	font-size: 4.6rem;
	line-height: 1;
	font-weight: 900;
	text-align: center;
}
.h_sec8 .txt_bot {
	margin-top: 40px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.h_sec8 .txt_bot .item {
	font-weight: bold;
	width: 429px;
	margin: 0 25px;
	background: #d24555;
	padding: 24px 0 40px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
.h_sec8 .txt_bot .item span {
	display: block;
	background: #b6202a;
	font-size: 3.6rem;
	line-height: 1;
	font-weight: 900;
	color: #fff;
	text-align: center;
	padding: 11px 0 15px;
	margin-bottom: 30px;
}
.h_sec8 .txt_bot .item > small {
	color: #333;
	font-size: 2.1rem;
	padding: 0 30px;
	font-size: 4.4rem;
	line-height: 1;
	color: #fff;
	font-weight: 900;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.h_sec8 .txt_bot .item > small i {
	font-size: 2.2rem;
	line-height: 1;
	font-style: normal;
	margin: 0 15px;
}
.h_sec8 .txt_bot .item p {
	font-size: 6.2rem;
	color: #fdfa04;
	margin-top: 20px;
	font-weight: 900;
}
.h_sec8 .txt_bot .item p small {
	font-size: 3.9rem;
}
.h_sec9 {
	background-color: #f2fafd;
	padding: 90px 0;
}
.h_sec9_top h2 {
	text-align: center;
}
.h_sec9_top h2 small {
	color: #cc0000;
	font-size: 3rem;
	font-weight: bold;
}
.h_sec9_top h2 small i {
	font-style: normal;
	font-size: 5rem;
}
.h_sec9_top figure {
	line-height: 1.5;
	position: relative;
	margin-bottom: 60px;
}
.h_sec9_top figure:nth-of-type(2) {
	margin-left: auto;
	width: 781px;
}
.h_sec9_top figure figcaption {
	position: absolute;
	bottom: 30px;
	left: 77px;
	color: #333333;
	font-weight: bold;
	font-size: 3rem;
}
.h_sec9.st2 {
	background-color: #fff;
}
.h_sec9.st2 h2 {
	margin-bottom: 40px;
}
.h_sec9 h2 {
	font-size: 5rem;
	color: #333333;
	font-weight: bold;
	margin-bottom: 30px;
}
.h_sec9 h2 > span span {
	color: #cc0000;
}
.h_sec9 h2 small {
	display: block;
	font-size: 3rem;
	margin-bottom: 10px;
}
.h_sec9 ul {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.h_sec9 ul li {
	width: 587px;
	margin-bottom: 26px;
}
.h_sec9 ul li.st2 a .txt small {
	color: #fff;
	font-weight: bold;
	font-size: 2.1rem;
	margin-bottom: 20px;
}
.h_sec9 ul li.st2 a .txt p {
	min-height: auto;
	margin-bottom: 30px;
}
.h_sec9 ul li.not figure {
	position: relative;
}
.h_sec9 ul li.not figure figcaption {
	padding-top: 15px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 66px;
	font-weight: bold;
	color: #333;
	font-size: 4.6rem;
}
.h_sec9 ul li a {
	position: relative;
	display: block;
}
.h_sec9 ul li a .txt {
	padding: 35px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-moz-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-moz-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.h_sec9 ul li a .txt p {
	font-size: 3rem;
	line-height: 50px;
	color: #fff;
	font-weight: bold;
	margin-bottom: 40px;
	min-height: 150px;
}
.h_sec9 .df {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 150px;
}
.h_sec9 .df figure {
	width: 585px;
}
.h_sec9 .df .txt {
	width: 585px;
}
.h_sec9 .df .txt h3 {
	font-size: 4rem;
	line-height: 70px;
	font-weight: bold;
	color: #cc0000;
}
.h_sec9 .df .txt h3 small {
	color: #333;
	font-size: 3rem;
	display: block;
	margin-top: 15px;
}
.h_sec9 .df .txt p {
	font-size: 1.8rem;
	line-height: 30px;
	color: #333;
}
.h_sec9 .df .txt p:not(:last-of-type) {
	margin-bottom: 30px;
}
.h_sec10 {
	padding: 80px 0;
	background: #4bbbec;
	position: relative;
}
.h_sec10:before {
	content: '';
	width: 210px;
	height: 150px;
	background: url("src/why_icon02.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: -50px;
	left: 0;
	right: 0;
	margin: auto;
}
.h_sec10 .row h2 {
	font-size: 4.6rem;
	line-height: 60px;
	font-weight: bold;
	margin-bottom: 40px;
	text-align: center;
}
.h_sec10 .row .h_sec10_list {
	background: #fff;
	padding: 54px 50px;
}
.h_sec10 .row .h_sec10_list .h_sec10_qa {
	padding: 0 110px;
}
.h_sec10 .row .h_sec10_list .h_sec10_qa dt {
	margin-bottom: 30px;
}
.h_sec10 .row .h_sec10_list .h_sec10_qa dd:before {
	top: 10px;
}
.h_sec10 .row .h_sec10_qa:not(:last-child) {
	margin-bottom: 55px;
	padding-bottom: 55px;
	border-bottom: 1px solid #bbb;
}
.h_sec10 .row .h_sec10_qa > dt {
	font-weight: bold;
	font-size: 3rem;
	color: #333;
	margin-bottom: 40px;
	position: relative;
	padding-left: 70px;
}
.h_sec10 .row .h_sec10_qa > dt::before {
	content: "";
	width: 50px;
	height: 45px;
	background: url("src/icon_q.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	margin-right: 8px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.h_sec10 .row .h_sec10_qa > dd {
	font-size: 2.2rem;
	line-height: 36px;
	color: #333;
	font-weight: bold;
	padding-left: 70px;
	position: relative;
}
.h_sec10 .row .h_sec10_qa > dd::before {
	content: "";
	width: 50px;
	height: 45px;
	background: url("src/icon_a.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	margin-right: 8px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.h_sec10--v2 {
	background: #96be45;
	position: relative;
}

.h_sec10--v2 .row h2 {
	color: #fff;
	text-align: center;
	font-size: 4.6rem;
}
.h_sec10--v2 .row .h_sec10_qa {
	background: #fff;
	padding: 60px 70px;
	border-bottom: 0;
}
.h_sec10--v2 .row .h_sec10_qa > dt {
	font-size: 3.5rem;
	padding-left: 96px;
	position: relative;
	padding-bottom: 60px;
	margin-bottom: 40px;
}
.h_sec10--v2 .row .h_sec10_qa > dt::before {
	content: "";
	width: 65px;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
}
.h_sec10--v2 .row .h_sec10_qa > dd {
	font-size: 2.2rem;
	line-height: 36px;
	font-weight: bold;
	padding-left: 96px;
	position: relative;
}
.h_sec10--v2 .row .h_sec10_qa > dd::before {
	content: "";
	width: 65px;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
}
.h_sec10--v2 .row .h_sec10_qa > dd dl {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
}
.h_sec10--v2 .row .h_sec10_qa > dd dl dt {
	font-size: 2.6rem;
	line-height: 40px;
	font-weight: bold;
	width: 410px;
}
.h_sec10--v2 .row .h_sec10_qa > dd dl dd {
	font-size: 2.2rem;
	line-height: 36px;
	font-weight: 400;
	width: -webkit-calc(100% - 410px);
	width: -moz-calc(100% - 410px);
	width: calc(100% - 410px);
}
.h_sec10--v2 .row .h_sec10_qa > dd dl dd span {
	background: #fdfa04;
	font-weight: bold;
}
.h_sec11 {
	padding: 50px 0 88px;
    background: #fff;
    overflow: hidden;
    background-image: linear-gradient(to bottom, transparent 95%, #eaeaea 5%), linear-gradient(to right, transparent 95%, #eaeaea 5%);
    background-size: 10px 10px;
}
.h_sec11 h2 {
	text-align: center;
	font-size: 4.6rem;
	line-height: 60px;
	font-weight: 900;
	margin-bottom: 60px;
}
.h_sec11 ul {
	position: relative;
	padding: 0 100px;
}
.h_sec11 ul li {
	position: relative;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #e8f7ff;
}
.h_sec11 ul li + li {
	margin-top: 20px;
}
.h_sec11 ul li figure {
	width: 130px;
}
.h_sec11 ul li dl {
	width: -webkit-calc(100% - 130px);
	width: -moz-calc(100% - 130px);
	width: calc(100% - 130px);
	padding-left: 30px;
}
.h_sec11 ul li dl dt {
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 10px;
}
.h_sec11 ul li dl dd {
	font-size: 2.2rem;
	line-height: 1.5;
}
.h_sec11 ul li:nth-child(even) {
	background: #dceeff;
}
.h_sec12 {
	padding: 80px 0;
}
.h_sec12 .head {
	text-align: center;
	margin-bottom: 55px;
	position: relative;
}
.h_sec12 .head h2 {
	font-size: 4.6rem;
	line-height: 60px;
	font-weight: 900;
	margin-bottom: 10px;
}
.h_sec12 .head p {
	font-size: 2.2rem;
	margin-bottom: 25px;
}
.h_sec12 .head .tel {
	margin-bottom: 25px;
}
.h_sec12 .head .tel a {
	font-size: 4.2rem;
	line-height: 1;
	font-weight: bold;
	color: #000;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	transition: color 0.3s ease;
	position: relative;
}
.h_sec12 .head .tel a:hover {
	color: #07328f;
}
.h_sec12 .head span {
	font-size: 2rem;
	line-height: 1;
	font-weight: bold;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	max-width: 400px;
	margin: 0 auto;
	padding: 14px 0;
	display: block;
}
.h_sec12 .form {
	width: 800px;
	margin: 0 auto;
}
.h_sec12 .form_tt {
	text-align: center;
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1;
	margin-bottom: 30px;
}
.h_sec12 .form_tt span {
	position: relative;
	border-bottom: 18px solid #fdfa04;
	line-height: .4;
	display: inline-block;
}
.h_sec12 .form input[type="text"], .h_sec12 .form input[type="email"] {
	width: 100%;
	height: 42px;
	padding: 6px 15px;
	outline: none;
	word-break: keep-all;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.6rem;
	border-style: solid;
	border-width: 2px;
	border-color: #b9b9b9;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
.h_sec12 .form textarea {
	width: 100%;
	min-height: 100px;
	padding: 6px 15px;
	outline: none;
	word-break: keep-all;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.6rem;
	border-style: solid;
	border-width: 2px;
	border-color: #b9b9b9;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
.h_sec12 .form .select label {
	display: block;
	width: 100%;
	height: 42px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	position: relative;
	background: #fff;
	border: 2px solid #b9b9b9;
}
.h_sec12 .form .select label::before {
	position: absolute;
	content: "";
	border-width: 10px 6px 0 6px;
	border-style: solid;
	border-color: #000 transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 2;
}
.h_sec12 .form .select label select {
	width: 100%;
	height: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	-moz-border-radius: 5px;
	border-radius: 5px;
	padding: 0 35px 0 19px;
	background: transparent;
	font-weight: 400;
	font-size: 2rem;
	color: #000;
	cursor: pointer;
	position: relative;
	z-index: 3;
}
.h_sec12 .form .select label select::-ms-expand {
display: none;
}
.h_sec12 .form button, .h_sec12 .form input[type="submit"] {
	position: relative;
	width: 250px;
	height: 70px;
	margin: 50px auto 0;
	border: none;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #d24555;
	font-size: 2rem;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	-webkit-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-moz-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	-moz-border-radius: 3px;
	border-radius: 3px;
	cursor: pointer;
	overflow: hidden;
}
.h_sec12 .form button:after, .h_sec12 .form input[type="submit"]:after {
	content: '';
	width: 0;
	height: 0;
	border-bottom: 70px solid #bf2c38;
	border-left: 250px solid transparent;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.h_sec12 .form button:hover, .h_sec12 .form input[type="submit"]:hover {
	opacity: .7;
}
.h_sec12 .form input[type="submit"] {
	line-height: 30px;
}
.h_sec12 .form dl:not(:last-child) {
	margin-bottom: 25px;
}
.h_sec12 .form dl dt {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.h_sec12 .form .privacy_wr {
	height: 184px;
	overflow-y: auto;
	padding: 45px;
	font-size: 2.1rem;
	border: 2px solid #ccc;
	-moz-border-radius: 3px;
	border-radius: 3px;
	line-height: 1.8;
}
.h_sec12 .form .checkbox {
	text-align: left;
	margin: 30px 0;
}
.h_sec12 .form .checkbox input[type="checkbox"] {
	display: none;
}
.h_sec12 .form .checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
	opacity: 1;
}
.h_sec12 .form .checkbox .wpcf7-list-item-label {
	display: block;
	padding-left: 30px;
	position: relative;
	cursor: pointer;
	font-size: 2rem;
}
.h_sec12 .form .checkbox .wpcf7-list-item-label::before {
	content: "";
	display: block;
	width: 21px;
	height: 21px;
	border: 2px solid #ccc;
	-moz-border-radius: 5px;
	border-radius: 5px;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.h_sec12 .form .checkbox .wpcf7-list-item-label::after {
	content: "";
	display: block;
	width: 7px;
	height: 12px;
	border: solid #000;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 6px;
	left: 7px;
	opacity: 0;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}
.contact.st2 .row {
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	position: relative;
}
.contact.st2 .row::after {
	content: "";
	position: absolute;
	top: 135px;
	right: 149px;
	width: 468px;
	height: 534px;
	background: url("src/photo02.png") center/contain no-repeat;
	display: block;
	z-index: -1;
}
header#header .header__nav > ul li a {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
}

@media screen and (max-width: 768px) {
img {
	width: 100%;
	height: auto;
}
.container {
	overflow: hidden;
}
.show_pc {
	display: none !important;
}
.row {
	padding-left: 5.33333vw;
	padding-right: 5.33333vw;
}
.tt {
	font-size: 6.66667vw;
	line-height: 1.4;
	font-weight: bold;
	color: #333333;
	text-align: center;
	margin-bottom: 3.33333vw;
	letter-spacing: 0.26667vw;
}
.contact {
	background: #0277d2;
	padding: 9.33333vw 0 12.53333vw;
	text-align: center;
}
.contact .contact_ct {
	width: 80vw;
	margin: auto;
}
.contact .tt {
	margin-bottom: 7.33333vw;
	letter-spacing: 0;
	font-size: 6.26667vw;
}
.contact .tt span {
	position: relative;
}
.cta-box {
  /* ここで背景画像を指定（文字が入っていない画像を使うのがベスト） */
  background-image: url("src/cta_bg.png"); 
  background-size: cover;
  padding: 20px;
  text-align: center;
}

.main-copy {
  /* 文字を画像っぽく装飾する */
  color: #ff0000;      /* 赤文字 */
  font-weight: bold;   /* 太字 */
  font-size: 24px;     /* 大きく */
  text-shadow: 1px 1px 0 #fff; /* 白いフチ取りをして読みやすく */
}
/*=========== スマホ btn ===========*/
.contact .btn {
	position: relative;
	max-width: 76vw;
	height: 13.33333vw;
	margin: 0 auto 6vw;
}
.contact .line {
	position: relative;
	max-width: 76vw;
	height: 13.33333vw;
	margin: 0 auto 6vw;
}
.contact .btn a {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
    background: #f98421;
    margin: 0 auto;
	font-size: 4.26667vw;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	-webkit-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-moz-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
}
.contact .btn a:hover {
  color: #fff;
  background: #f98421;
}

.contact .btn a {
  border-bottom: 5px solid #cd6614;
}

.contact .btn a:hover {
  margin-top: 3px;
  border-bottom: 2px solid #cd6614;
}

.contact .btn a {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
}
.contact .line a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #43c606;
  margin: 0 auto;
  font-size: 4.26667vw;
  line-height: 1;
  font-weight: bold;
  color: #fff;
  -webkit-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
  -moz-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
  transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  transform: translateZ(0);
}

.contact .line a:hover {
  color: #fff;
  background: #43c606;
}

.contact .line a {
  border-bottom: 5px solid #329803;
}

.contact .line a:hover {
  margin-top: 3px;
  border-bottom: 2px solid #329803;
}

.contact .line a {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
}	
/*=========== スマホ btn ===========*/
	
	
/*.contact .btn a:before {
	content: '';
	width: 0;
	height: 0;
	border-bottom: 13.33333vw solid #7aa541;
	border-left: 76vw solid transparent;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}*/
.contact .tel {
	margin-bottom: 3.33333vw;
}
.contact .tel a {
	font-size: 6.93333vw;
	line-height: 1;
	font-weight: bold;
	color: #000;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	transition: color 0.3s ease;
	position: relative;
}
.contact .tel a:hover {
	color: #96be45;
}
.contact p {
	font-size: 3.33333vw;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	max-width: 76vw;
	margin: 0 auto;
	padding: 2.53333vw 0;
}
.header.fixed {
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 99;
	background: #fff;
}
.header__row {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 2.8vw 4vw;
	position: relative;
}
.header__left .menu_icon i {
	font-size: 2.93333vw;
	line-height: 1;
	font-style: normal;
	color: #333;
	margin-top: 1.33333vw;
	text-transform: uppercase;
}
.header__left .menu_icon.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(1.86667vw) rotate(-45deg);
	-moz-transform: translateY(1.86667vw) rotate(-45deg);
	-ms-transform: translateY(1.86667vw) rotate(-45deg);
	transform: translateY(1.86667vw) rotate(-45deg);
}
.header__left .menu_icon.active .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}
.header__left .menu_icon.active .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-1.86667vw) rotate(45deg);
	-moz-transform: translateY(-1.86667vw) rotate(45deg);
	-ms-transform: translateY(-1.86667vw) rotate(45deg);
	transform: translateY(-1.86667vw) rotate(45deg);
}
.header__left .menu_icon_in {
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.header__left .menu_icon_in .menu-trigger, .header__left .menu_icon_in .menu-trigger span {
	display: inline-block;
	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	transition: all .4s;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.header__left .menu_icon_in .menu-trigger {
	position: relative;
	width: 8.4vw;
	height: 4.4vw;
}
.header__left .menu_icon_in .menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.4vw;
	background-color: #333;
	-moz-border-radius: 0;
	border-radius: 0;
}
.header__left .menu_icon_in .menu-trigger span:nth-of-type(1) {
	top: 0;
}
.header__left .menu_icon_in .menu-trigger span:nth-of-type(2) {
	top: 1.86667vw;
}
.header__left .menu_icon_in .menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.header__center h1 img {
	width: 48vw;
}
.header__nav {
	position: absolute;
	width: 100%;
	top: 100%;
	left: 0;
	background: #fff;
	height: 0;
	overflow: hidden;
	-webkit-transition: height 0.3s ease;
	-moz-transition: height 0.3s ease;
	transition: height 0.3s ease;
}
.header__nav ul {
	padding-top: 6.66667vw;
}
.header__nav ul li:not(:first-child) {
	margin-top: 4.4vw;
}
.header__nav ul li a {
	font-size: 3.73333vw;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-align: center;
	display: block;
	padding: 1.33333vw 0;
}
.header__right a.mail {
	font-size: 2.93333vw;
	line-height: 1;
	color: #07328f;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.header__right a.mail::before {
	content: "";
	width: 5.6vw;
	height: 4.13333vw;
	background: url("src/sp_tel_icon.png") 0 0 no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	display: block;
	margin-bottom: 1.33333vw;
}
.mv {
	overflow: hidden;
	height: 102.33333vw;
}
.mv .picture {
	position: relative;
	margin-right: -5.33333vw;
	margin-left: -5.33333vw;
	line-height: 0;
}
.about {
	padding: 7.33333vw 0 9.33333vw;
	text-align: center;
	background: #eeeeee;
}
.about .tt {
	font-size: 6.4vw;
	font-weight: 900;
}
.about p {
	font-size: 3.2vw;
	line-height: 1.66667;
	margin-bottom: 7.33333vw;
}
.about .picture img {
	width: 84.13333vw;
	height: auto;
}
.contact--top {
	background: #0277d2;
	padding: 0 0 18.66667vw;
}
.contact--top .row {
	position: relative;
}
.contact--top .row:before {
	content: '';
    width: 99.93333vw;
    height: 17vw;
    background: url(src/contact_bg.png) no-repeat;
    -moz-background-size: contain;
    background-size: contain;
    position: absolute;
    bottom: -22vw;
    right: 0;
    left: 0;
    margin: auto;
}
.contact--top .row .contact__mt {
	width: 100%;
	margin: 0 auto;
	background: #fff;
	padding: 8.33333vw 0 ;
	position: relative;
	top: -6.66667vw;
}
.contact--mid {
	background: #0277d2;
	overflow: hidden;
}
.contact--mid .row {
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	position: relative;
}
.contact--mid .row:before {
	content: '';
	width: 43.73333vw;
	height: 49.06667vw;
	background: url("src/photo01.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: -24.66667vw;
	right: -3.33333vw;
	z-index: -1;
}
.contact--mid .row .tel, .contact--mid .row p {
	width: 52vw;
	margin-left: 0;
}
.member {
	background: #eef1f5;
}
.member .row {
	position: relative;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
}
.member__ct {
	padding: 8.66667vw 0;
	min-height: 133.33333vw;
}
.member__ct .tt {
	text-align: left;
	margin-bottom: 2.66667vw;
}
.member__ct h4 {
	font-size: 4vw;
	line-height: 6.66667vw;
	color: #333;
	font-weight: bold;
	margin-bottom: 12vw;
	letter-spacing: 3vw;
}
.member__ct .member__popup {
	display: inline-block;
	line-height: 0;
}
.member__ct .member__popup img {
	width: 9.33333vw;
	height: auto;
}
.member__ct .member__text {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	opacity: 0;
	visibility: hidden;
	background: rgba(0, 0, 0, 0.6);
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.member__ct .member__text .member__inner {
	background: url("") no-repeat;
	-moz-background-size: cover;
	background-size: cover;
	padding: 6.66667vw;
	margin: auto;
	width: 92vw;
	height: auto;
	max-height: 90vh;
	overflow-y: scroll;
}
.member__ct .member__text .member__inner .member__close {
	margin-bottom: 5.33333vw;
	display: inline-block;
}
.member__ct .member__text .member__inner .member__close img {
	width: 9.33333vw;
}
.member__ct .member__text .member__inner .tt, .member__ct .member__text .member__inner h4 {
	color: #fff;
	margin-bottom: 3.33333vw;
}
.member__ct .member__text .member__inner p {
	font-size: 3.2vw;
	line-height: 1.75;
	font-weight: 400;
	color: #333;
	letter-spacing: 0.2vw;
	text-align: justify;
	color: #fff;
}
.member__ct .member__text .member__inner p + p {
	margin-top: 4vw;
}
.member__ct .member__text .member__inner p span {
	background: #ffff00;
	color: #000000;
}
.member__ct .member__text .member__inner em {
	font-style: normal;
	margin-top: 4vw;
	display: block;
	text-align: right;
	font-size: 2.66667vw;
	line-height: 1.5;
	font-weight: bold;
	color: #fff;
}
.member .picture {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}
.member .picture img {
	width: 67.6vw;
}
.member.show {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99;
}
.member.show .member__text {
	opacity: 1;
	visibility: visible;
}
.problems {
	background: url("src/moving_bg.png") center bottom no-repeat #0277d2;
	-moz-background-size: cover;
	background-size: cover;
	padding: 6.66667vw 0 13.33333vw;
	overflow: hidden;
}
.problems__tt {
	color: #333;
	text-align: left;
	font-size: 5.33333vw;
	font-weight: 900;
	text-align: center;
	margin-bottom: 6.66667vw;
}
.problems__list {
	margin-bottom: 8vw;
}
.problems__list li {
	color: #333;
	font-size: 3.46667vw;
	line-height: 1.5;
	position: relative;
	padding-left: 6vw;
}
.problems__list li + li {
	margin-top: 4vw;
}
.problems__list li::before {
	content: '';
	width: 4.66667vw;
	height: 3.86667vw;
	background: url("src/check_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 0.66667vw;
	left: 0;
}
.problems p {
	font-size: 5.33333vw;
	line-height: 1;
	font-weight: 900;
	color: #333;
	text-align: center;
}
.sologan {
	padding: 5.6vw 0 0;
	background: #d24555;
	position: relative;
}
.sologan:before {
	content: '';
	width: 0;
	height: 0;
	border-left: 32.4vw solid transparent;
	border-right: 32.4vw solid transparent;
	border-top: 5.33333vw solid #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.sologan figure {
	text-align: center;
}
.headline {
	background: url("src/note_bg.png") repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__top {
	text-align: center;
	padding: 8.93333vw 0 12vw;
	background: url("src/headline.png") bottom center no-repeat;
	-moz-background-size: cover;
	background-size: cover;
	z-index: 1;
	position: relative;
}
.headline__top p {
	font-size: 6vw;
	line-height: 6.13333vw;
	color: #fff;
	font-weight: bold;
	margin-bottom: 0.66667vw;
}
.headline__top p span {
	position: relative;
}
.headline__top p span:before {
	content: '';
	width: 8.53333vw;
	height: 7.2vw;
	background: url("src/emphasis_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	left: -8.26667vw;
    top: 1vw;
}
.headline__top p span:after {
	content: '';
	width: 8.53333vw;
	height: 7.2vw;
	background: url("src/emphasis_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	-webkit-transform: scaleX(-1);
	-moz-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
	position: absolute;
	right: -8.26667vw;
    top: 1vw;
}
.headline__top h2 {
	font-size: 7.6vw;
	line-height: 8.8vw;
	font-weight: 900;
	color: #fff;
}
.headline__top h2 span {
	color: #fdfa04;
}
.headline__top h2 em {
	font-style: normal;
	font-size: 10.93333vw;
}
.headline__bottom {
	margin-top: -13.33333vw;
}
.headline__ct {
	padding: 18.66667vw 4.66667vw 9.33333vw;
	background: #fff;
}
.headline__ct .headline__block + .headline__block {
	margin-top: 7.2vw;
}
.headline__ct .headline__block .tt {
	padding-top: 17.33333vw;
	position: relative;
	font-size: 5.6vw;
	line-height: 6vw;
	margin-bottom: 4vw;
	letter-spacing: -0.13333vw;
}
.headline__ct .headline__block .tt:before {
	content: '';
	width: 18.4vw;
	height: 12.4vw;
	background: url("src/headline_01.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.headline__ct .headline__block .tt span {
	color: #e41414;
}
.headline__ct .headline__block:nth-child(2) .tt:before {
	background: url("src/headline_02.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__ct .headline__block:nth-child(3) .tt:before {
	background: url("src/headline_03.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__ct .headline__block:nth-child(4) .tt:before {
	background: url("src/headline_04.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__ct .headline__block:nth-child(5) .tt:before {
	background: url("src/headline_05.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
}
.headline__box figure {
	width: 100%;
	margin-bottom: 4vw;
}
.headline__box p {
	font-size: 2.93333vw;
	line-height: 1.5;
	text-align: justify;
}
.headline__box p span {
	background: #fdfa04;
}
.why {
	background: #4bbbec;
	position: relative;
	padding: 7.33333vw 0 8vw;
}
.why:before {
	content: '';
	width: 28vw;
	height: 20vw;
	background: url("src/why_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	top: -9.33333vw;
	left: 0;
	right: 0;
	margin: auto;
}
.why .row .tt {
	color: #fff;
	font-size: 6.26667vw;
}
.why .row > p {
	font-size: 3.2vw;
	line-height: 1.66667;
	color: #fff;
	margin-bottom: 5.33333vw;
	text-align: center;
}
.why .row .why__list {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.why .row .why__list li {
	background: #fff;
	width: 100%;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
.why .row .why__list li + li {
	margin-top: 4vw;
}
.why .row .why__list li dl {
	padding: 2.66667vw 4vw;
}
.why .row .why__list li dl dt {
	font-size: 3.73333vw;
	line-height: 1.71429;
	font-weight: bold;
	margin-bottom: 0.66667vw;
}
.why .row .why__list li dl dd {
	font-size: 2.93333vw;
	line-height: 1.5;
}
.what {
	background: #fff;
	padding: 8.66667vw 0;
	overflow: hidden;
    background-image: linear-gradient(to bottom, transparent 95%, #eaeaea 5%), linear-gradient(to right, transparent 95%, #eaeaea 5%);
    background-size: 5px 5px;
}
.what .tt {
	margin-bottom: 5.33333vw;
	position: relative;
	font-size: 6.66667vw;
	padding-bottom: 12vw;
	margin-bottom: 0;
}
.what .tt:before {
	content: '';
	width: 0.8vw;
	height: 9.33333vw;
	background: url("src/dot_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.what .pricemenu:before {
	content: '';
	width: 0.8vw;
	height: 9.33333vw;
	background: url("src/dot_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.what__list li {
	position: relative;
}
.what__list li + li {
	margin-top: 6.13333vw;
}
.what__list li figure {
	position: absolute;
	top: 0;
	left: 0;
}
.what__list li figure img {
	width: 40.33333vw;
	height: auto;
}
.what__list li dl {
	padding-top: 3.33333vw;
}
.what__list li dl dt {
	font-size: 4vw;
	line-height: 1.71429;
	font-weight: bold;
	color: #5f8c3d;
	margin-bottom: 4vw;
	padding-left: 42.46667vw;
}
.what__list li dl dd {
	font-size: 3.93333vw;
	line-height: 1.5;
	color: #333333;
	text-align: justify;
	letter-spacing: 0.26667vw;
	padding-top: 12vw;
}
.what p {
	font-size: 6.66667vw;
    line-height: 8vw;
    color: #333;
    font-weight: 600;
    text-align: center;
    padding-bottom: 12vw;
    position: relative;
    margin-top: 6.66667vw;
}
.what p span {
	font-size: 4.4vw;
	line-height: 5.33333vw;
	color: #000;
	display: block;
}
.shop {
	padding: 8vw 0 9.86667vw;
	background: #fff;
	position: relative;
}
.shop .tt {
	text-align: center;
	font-size: 6.4vw;
	line-height: 9.33333vw;
	font-weight: 900;
	margin-bottom: 5.33333vw;
}
.shop p {
	font-size: 2.93333vw;
	line-height: 1.5;
	margin-bottom: 4vw;
	text-align: justify;
}
.shop figure {
	text-align: center;
}
.every {
	padding: 0 0 6.66667vw;
}
.every .tt {
	text-align: center;
	font-size: 5.86667vw;
	line-height: 7.73333vw;
	margin-bottom: 3.46667vw;
}
.every .tt span {
	font-size: 4.26667vw;
	line-height: 1;
	display: block;
	margin-bottom: 1.33333vw;
}
.every p {
	font-size: 2.93333vw;
	line-height: 1.5;
	margin-bottom: 6vw;
	text-align: center;
}
.every__list li + li {
	margin-top: 5.6vw;
}
.every__list li figure {
	margin-bottom: 2vw;
}
.every__list li h4 {
	font-size: 4vw;
	line-height: 6.66667vw;
	font-weight: bold;
}
.every__list li span {
	font-size: 2.93333vw;
	line-height: 1.5;
	display: block;
	text-align: justify;
}
.voice {
	padding: 6.66667vw 0 8vw;
	background: #eee;
}
.voice__tt {
	text-align: center;
	margin-bottom: 6.66667vw;
}
.voice__tt img {
	width: 53.33333vw;
}
.voice__block + .voice__block {
	margin-top: 10.66667vw;
}
.voice__block figure {
	margin-bottom: 3.33333vw;
	text-align: center;
}
.voice__block figure img {
	width: 53.33333vw;
}
.voice__block dl dt {
	margin-bottom: 2.66667vw;
	font-size: 4vw;
	line-height: 5.6vw;
	font-weight: bold;
	position: relative;
	padding-top: 6.66667vw;
}
.voice__block dl dt span {
	display: block;
	text-align: right;
	font-size: 3.2vw;
	line-height: 1;
	font-weight: 400;
	margin-top: 2.66667vw;
}
.voice__block dl dd {
	font-size: 2.93333vw;
	line-height: 4.4vw;
	text-align: justify;
}
.voice__block dl dd span {
	background: #fdfa04;
}
.h_sec8 {
	padding: 5.33333vw 0 8vw;
}
.h_sec8 h2 {
	font-size: 7.2vw;
	line-height: 9.33333vw;
	color: #333333;
	font-weight: 900;
	margin-bottom: 4vw;
	text-align: center;
}
.h_sec8 h2 span {
	font-size: 10.4vw;
	color: #cc0000;
}
.h_sec8 figure {
	margin-bottom: 6.66667vw;
}
.h_sec8 p {
	font-size: 5.46667vw;
	line-height: 1;
	font-weight: 900;
	text-align: center;
}
.h_sec8 .txt_bot {
	margin-top: 5.33333vw;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.h_sec8 .txt_bot .item {
	font-weight: bold;
	width: 42.4vw;
	background: #d24555;
	padding: 2.66667vw 0 4vw;
	-moz-border-radius: 0.66667vw;
	border-radius: 0.66667vw;
}
.h_sec8 .txt_bot .item span {
	display: block;
	background: #b6202a;
	font-size: 3.46667vw;
	line-height: 1;
	font-weight: 900;
	color: #fff;
	text-align: center;
	padding: 1.46667vw 0 2vw;
	margin-bottom: 2.66667vw;
}
.h_sec8 .txt_bot .item > small {
	color: #333;
	font-size: 4.4vw;
	line-height: 1;
	color: #fff;
	font-weight: 900;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.h_sec8 .txt_bot .item > small i {
	font-size: 2.13333vw;
	line-height: 1;
	font-style: normal;
	margin: 0 2.26667vw;
}
.h_sec8 .txt_bot .item p {
	font-size: 6.13333vw;
	color: #fdfa04;
	margin-top: 2vw;
	font-weight: 900;
}
.h_sec8 .txt_bot .item p small {
	font-size: 4vw;
}
.h_sec9 {
	background-color: #f2fafd;
	padding: 12vw 0 0;
}
.h_sec9_top h2 {
	text-align: center;
}
.h_sec9_top h2 small {
	color: #cc0000;
	font-size: 4vw;
	font-weight: bold;
}
.h_sec9_top h2 small i {
	font-style: normal;
	font-size: 6.66667vw;
}
.h_sec9_top figure {
	line-height: 1.5;
	position: relative;
	margin-bottom: 8vw;
}
.h_sec9_top figure figcaption {
	position: absolute;
	bottom: 4vw;
	left: 10.26667vw;
	color: #333333;
	font-weight: bold;
	font-size: 4vw;
}
.h_sec9.st2 {
	background-color: #fff;
}
.h_sec9.st2 h2 {
	margin-bottom: 5.33333vw;
}
.h_sec9 h2 {
	font-size: 6.66667vw;
	color: #333333;
	font-weight: bold;
	margin-bottom: 4vw;
}
.h_sec9 h2 > span span {
	color: #cc0000;
}
.h_sec9 h2 small {
	display: block;
	font-size: 4vw;
	margin-bottom: 1.33333vw;
}
.h_sec9 ul {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-left: 6.66667vw;
	padding-right: 6.66667vw;
}
.h_sec9 ul li {
	margin-bottom: 6.66667vw;
}
.h_sec9 ul li.st2 a .txt small {
	color: #fff;
	font-weight: bold;
	font-size: 2.8vw;
	margin-bottom: 2.66667vw;
}
.h_sec9 ul li.st2 a .txt p {
	min-height: auto;
	margin-bottom: 4vw;
}
.h_sec9 ul li.not {
	margin-bottom: 0;
}
.h_sec9 ul li.not figure {
	position: relative;
}
.h_sec9 ul li.not figure figcaption {
	padding-top: 2vw;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 8.8vw;
	font-weight: bold;
	color: #333;
	font-size: 6.13333vw;
}
.h_sec9 ul li a {
	position: relative;
	display: block;
}
.h_sec9 ul li a .txt {
	padding: 4.66667vw;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-moz-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-moz-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.h_sec9 ul li a .txt p {
	font-size: 4vw;
	line-height: 6.66667vw;
	color: #fff;
	font-weight: bold;
	margin-bottom: 5.33333vw;
	min-height: 20vw;
}
.h_sec9 ul li a .txt img {
	width: 9.33333vw;
}
.h_sec9 .df {
	margin-bottom: 6.66667vw;
}
.h_sec9 .df figure {
	padding-left: 6.66667vw;
	padding-right: 6.66667vw;
	margin-bottom: 6.66667vw;
}
.h_sec9 .df .txt h3 {
	font-size: 5.33333vw;
	line-height: 9.33333vw;
	font-weight: bold;
	color: #cc0000;
}
.h_sec9 .df .txt h3 small {
	color: #333;
	font-size: 4vw;
	display: block;
	margin-top: 2vw;
}
.h_sec9 .df .txt p {
	font-size: 2.4vw;
	line-height: 4vw;
	color: #333;
}
.h_sec9 .df .txt p:not(:last-of-type) {
	margin-bottom: 4vw;
}
.h_sec10 {
	padding: 8vw 0;
	background: #4bbbec;
	position: relative;
}
.h_sec10 .row h2 {
	font-size: 5.86667vw;
	line-height: 7.73333vw;
	font-weight: 900;
	margin-bottom: 5.33333vw;
	text-align: center;
}
.h_sec10 .row .h_sec10_list {
	background: #fff;
	padding: 5.33333vw 4.66667vw;
}
.h_sec10 .row .h_sec10_list .h_sec10_qa dt {
	margin-bottom: 3.33333vw;
}
.h_sec10 .row .h_sec10_list .h_sec10_qa dd:before {
	top: 10px;
}
.h_sec10 .row .h_sec10_qa:not(:last-child) {
	margin-bottom: 4.53333vw;
	padding-bottom: 4.53333vw;
	border-bottom: 1px solid #bbb;
}
.h_sec10 .row .h_sec10_qa > dt {
	font-weight: bold;
	font-size: 4vw;
	line-height: 5.33333vw;
	margin-bottom: 5.33333vw;
	position: relative;
	padding-left: 9.33333vw;
}
.h_sec10 .row .h_sec10_qa > dt::before {
	content: "";
	width: 6.66667vw;
	height: 6vw;
	background: url("src/icon_q.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	margin-right: 8px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.h_sec10 .row .h_sec10_qa > dd {
	font-size: 2.66667vw;
	line-height: 4.4vw;
	font-weight: 500;
	padding-left: 9.33333vw;
	position: relative;
}
.h_sec10 .row .h_sec10_qa > dd::before {
	content: "";
	width: 6.66667vw;
	height: 6vw;
	background: url("src/icon_a.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	margin-right: 1.06667vw;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.h_sec10--v2 {
	background: #96be45;
	position: relative;
	padding-bottom: 6.66667vw;
}
.h_sec10--v2 .row h2 {
	color: #fff;
	text-align: center;
	font-size: 5.33333vw;
}
.h_sec10--v2 .row .h_sec10_qa {
	background: #fff;
	padding: 4.66667vw 4.66667vw 6vw;
	border-bottom: 0;
}
.h_sec10--v2 .row .h_sec10_qa > dt {
	font-size: 4.8vw;
	line-height: 6.66667vw;
	padding-left: 12vw;
	position: relative;
	padding-bottom: 6.4vw;
	margin-bottom: 3.6vw;
}

.h_sec10--v2 .row .h_sec10_qa > dt::before {
	width: 9.33333vw;
	height: 8.53333vw;
	top: 2.66667vw;
	left: 0;
}
.h_sec10--v2 .row .h_sec10_qa > dd {
	font-size: 4.8vw;
	line-height: 6.66667vw;
	font-weight: bold;
	padding-left: 12vw;
	position: relative;
}
.h_sec10--v2 .row .h_sec10_qa > dd::before {
	width: 9.33333vw;
	height: 8.53333vw;
	top: 2.66667vw;
	left: 0;
}
.h_sec10--v2 .row .h_sec10_qa > dd dl dt {
	font-size: 3.46667vw;
	line-height: 5.33333vw;
	font-weight: bold;
	margin-bottom: 4vw;
}
.h_sec10--v2 .row .h_sec10_qa > dd dl dd {
	font-size: 3.2vw;
	line-height: 4.8vw;
	font-weight: 400;
	margin-left: -12vw;
}
.h_sec10--v2 .row .h_sec10_qa > dd dl dd span {
	background: #fdfa04;
	font-weight: bold;
}
.h_sec11 {
	padding: 6.13333vw 0 9.33333vw;
    background: #fff;
    overflow: hidden;
    background-image: linear-gradient(to bottom, transparent 95%, #eaeaea 5%), linear-gradient(to right, transparent 95%, #eaeaea 5%);
    background-size: 5px 5px;
}
.h_sec11 h2 {
	text-align: center;
	font-size: 5.86667vw;
	line-height: 1;
	font-weight: 900;
	margin-bottom: 5.33333vw;
}
.h_sec11 ul {
	position: relative;
}
.h_sec11 ul li {
	position: relative;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #e8f7ff;
}
.h_sec11 ul li + li {
	margin-top: 2.66667vw;
}
.h_sec11 ul li figure {
	width: 17.33333vw;
}
.h_sec11 ul li dl {
	width: -webkit-calc(100% - 17.33333vw);
	width: -moz-calc(100% - 17.33333vw);
	width: calc(100% - 17.33333vw);
	padding-left: 2.66667vw;
	padding-right: 4vw;
}
.h_sec11 ul li dl dt {
	font-size: 3.73333vw;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 1.33333vw;
}
.h_sec11 ul li dl dd {
	font-size: 2.66667vw;
	line-height: 4vw;
}
.h_sec11 ul li:nth-child(even) {
	background: #dceeff;
}
.h_sec12 {
	padding: 5vw 0;
}
.h_sec12 .head {
	text-align: center;
	position: relative;
	max-width: 64vw;
	margin: auto;
	margin-bottom: 6vw;
}
.h_sec12 .head h2 {
	font-size: 5.86667vw;
	line-height: 8vw;
	font-weight: 900;
	margin-bottom: 2vw;
}
.h_sec12 .head p {
	font-size: 3.2vw;
	margin-bottom: 5.33333vw;
}
.h_sec12 .head .tel {
	margin-bottom: 3.33333vw;
}
.h_sec12 .head .tel a {
	font-size: 6.93333vw;
	line-height: 1;
	font-weight: bold;
	color: #000;
	-webkit-transition: color 0.3s ease;
	-moz-transition: color 0.3s ease;
	transition: color 0.3s ease;
	position: relative;
}

.h_sec12 .head .tel a:hover {
	color: #96be45;
}
.h_sec12 .head span {
	font-size: 3.33333vw;
	line-height: 1;
	font-weight: bold;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	max-width: 76vw;
	margin: 0 auto;
	padding: 2.53333vw 0;
	display: block;
}
.h_sec12 .form_tt {
	text-align: center;
	font-weight: bold;
	font-size: 4.13333vw;
	line-height: 1;
	margin-bottom: 4vw;
}
.h_sec12 .form_tt span {
	position: relative;
	border-bottom: 2.8vw solid #fdfa04;
	line-height: .4;
	display: inline-block;
}

.h_sec12 .form input[type="text"], .h_sec12 .form input[type="email"] {
	width: 100%;
	height: 8vw;
	padding: 0.8vw 2vw;
	outline: none;
	word-break: keep-all;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 2.13333vw;
	border-style: solid;
	border-width: 0.26667vw;
	border-color: #b9b9b9;
	-moz-border-radius: 0.4vw;
	border-radius: 0.4vw;
}
.h_sec12 .form textarea {
	width: 100%;
	min-height: 26.66667vw;
	padding: 0.8vw 2vw;
	outline: none;
	word-break: keep-all;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 2.13333vw;
	border-style: solid;
	border-width: 0.26667vw;
	border-color: #b9b9b9;
	-moz-border-radius: 0.4vw;
	border-radius: 0.4vw;
}
.h_sec12 .form .select label {
	display: block;
	width: 100%;
	height: 8vw;
	-moz-border-radius: 0.4vw;
	border-radius: 0.4vw;
	position: relative;
	background: #fff;
	border: 0.26667vw solid #b9b9b9;
}
.h_sec12 .form .select label::before {
	position: absolute;
	content: "";
	border-width: 1.33333vw 0.8vw 0 0.8vw;
	border-style: solid;
	border-color: #5e5e5e transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 2vw;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 2;
}
.h_sec12 .form .select label select {
	width: 100%;
	height: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	-moz-border-radius: 0.66667vw;
	border-radius: 0.66667vw;
	padding: 0 4.66667vw 0 2.53333vw;
	background: transparent;
	font-weight: 400;
	font-size: 2.66667vw;
	color: #000;
	cursor: pointer;
	position: relative;
	z-index: 3;
}
.h_sec12 .form .select label select::-ms-expand {
display: none;
}
.h_sec12 .form button, .h_sec12 .form input[type="submit"] {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 47.33333vw;
	height: 13.33333vw;
	background: #d24555;
	margin: 13.33333vw auto 0;
	font-size: 3.73333vw;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	border: none;
	-moz-border-radius: 0.4vw;
	border-radius: 0.4vw;
	-webkit-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-moz-transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	transition: opacity .3s ease-out, background .3s ease-out, color .3s ease-out;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
}
.h_sec12 .form button:before, .h_sec12 .form input[type="submit"]:before {
	content: '';
	width: 0;
	height: 0;
	border-bottom: 13.33333vw solid #bf2c38;
	border-left: 47.33333vw solid transparent;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.h_sec12 .form input[type="submit"] {
	line-height: 3.33333vw;
}
.h_sec12 .form dl:not(:last-child) {
	margin-bottom: 4.66667vw;
}
.h_sec12 .form dl dt {
	font-size: 3.2vw;
	font-weight: bold;
	color: #333;
	margin-bottom: 1.33333vw;
}
.h_sec12 .form .privacy_wr {
	height: 24.53333vw;
	overflow-y: auto;
	padding: 6vw;
	font-size: 2.8vw;
	border: 0.26667vw solid #ccc;
	-moz-border-radius: 0.4vw;
	border-radius: 0.4vw;
	line-height: 1.8;
}
.h_sec12 .form .checkbox {
	text-align: left;
	margin: 4vw 0;
}
.h_sec12 .form .checkbox input[type="checkbox"] {
	display: none;
}
.h_sec12 .form .checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
	opacity: 1;
}
.h_sec12 .form .checkbox .wpcf7-list-item-label {
	display: block;
	padding-left: 4vw;
	position: relative;
	cursor: pointer;
	font-size: 3.2vw;
	color: #333;
}
.h_sec12 .form .checkbox .wpcf7-list-item-label::before {
	content: "";
	display: block;
	width: 2.8vw;
	height: 2.8vw;
	border: 1px solid #ccc;
	-moz-border-radius: 0.66667vw;
	border-radius: 0.66667vw;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.h_sec12 .form .checkbox .wpcf7-list-item-label::after {
	content: "";
	display: block;
	width: 0.93333vw;
	height: 1.6vw;
	border: solid #333;
	border-width: 0 0.4vw 0.4vw 0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 1.06667vw;
	left: 0.93333vw;
	opacity: 0;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}
.contact.st2 .row {
	position: relative;
}
.contact.st2 .row > p {
	color: #333;
}
.contact.st2 .row > * {
	position: relative;
	z-index: 1;
}
.contact.st2 .row::after {
	content: "";
    position: absolute;
    bottom: -20vw;
    right: -1vw;
    width: 38.53333vw;
    height: 44.26667vw;
    background: url(src/sp_photo02.png) center/contain no-repeat;
    display: block;
}
.contact.st2 .row .tel, .contact.st2 .row p {
	width: 52vw;
	margin-left: 0;
}
.header.fixed {
	height: auto !important;
}
}
.about .about__h4 {
	font-size: 38px;
	font-weight: bold;
	margin-bottom: 20px;
}
.about .shopifyLogo {
	padding-bottom: 100px;
	position: relative;
	margin: auto;
	width: 65%;
	max-width: 760px;
}
.about .shopifyLogo::before {
	content: '';
	width: 8px;
	height: 65px;
	background: url("src/dot_icon.png") no-repeat;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: 20px;
	left: -10px;
	right: 0;
	margin: auto;
}
.about .about__h5 {
	position: relative;
	font-size: 38px;
	font-weight: bold;
	background-color: #fff;
	display: inline-block;
	padding: 10px 60px;
}
.about .about__h5.whiteBg::before {
	content: '';
	width: 40px;
	height: 54px;
	background: #fff;
	-moz-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: -38px;
	left: 0;
	right: 0;
	margin: auto;
}
.about .about__h5.whiteBg + p {
	font-size: 36px;
	font-weight: bold;
	margin-top: 40px;
}

@media screen and (max-width:767px) {
.about .about__h4, .about .about__h5, .about .about__h5.whiteBg + p {
	font-size: 24px;
}
.about .about__h5 {
	padding: 10px 30px;
}
.about .shopifyLogo {
	width: 100%;
}
.about .shopifyLogo::before {
	left: 0;
}
}
	
footer {
    background: #0277d2;
    text-align: center;
    color: #fff;
    padding: 30px 0;
}

/*========= important css =========*/

.fontw600{
	font-weight: 600!important;
}
.font_yellow{
	color: #ffe10a;
}
.font_orange{
	color: #ff821e;
}
.font_b{
	font-size: 100px;
}
.font_s{
	font-size: 3.8rem;
}
@media screen and (max-width:767px) {
.font_s{
		font-size: 2.8rem;
	}
}
.white{
	color: #fff!important;
}
@media screen and (max-width:767px) {
.font_b{
		font-size: 1.5em;
	}
.sp_contact p {
    font-size: 3.33333vw;
    line-height: 1;
    font-weight: bold;
    color: #000;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    max-width: 76vw;
    margin: 0 auto;
    padding: 2.53333vw 0;
}
}
.bg_yellow{
	background: #fdfa04;
}
.d_auto{
	display: block;
	margin: 0 auto;
}
.mb30{
	margin-bottom: 30px;
}
/*========= important css =========*/

/*========= form css =========*/
.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}
@media screen and (max-width: 480px) {
  .Form {
    margin-top: 40px;
  }
}
.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
}
.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 480px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #c85b70;
  color: #fff;
  font-size: 14px;
}
.bg_blue{
	background: #5bc8ac!important;
}

@media screen and (max-width: 480px) {
  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
}
@media screen and (max-width: 750px) {
	.sp_w30{
		width: 30%!important;
	}
}
.red{
	color: #FF0004!important;
	text-decoration:underline!important;
    text-decoration-color:#FF0004!important;
}
/*========= form css =========*/

form.sitest-form input:focus {
  background-color: #fff5e5;
}
form.sitest-form .sitest-input-error {
  border: 2px solid #f30 !important;
  background-color: #ffebed !important;
  color: #333 !important;
}
form.sitest-form .sitest-error input,
form.sitest-form .sitest-error textarea,
form.sitest-form .sitest-error select {
  border: 2px solid #f30 !important;
  background-color: #ffebed !important;
  color: #333 !important;
}
form.sitest-form .sitest-error.sitest-radio-wrapper {
  background-color: #ffebeb !important;
}
form.sitest-form .sitest-input-required {
  background-color: #ffebed !important;
  color: #333 !important;
}
form.sitest-form .sitest-required input,
form.sitest-form .sitest-required textarea,
form.sitest-form .sitest-required select {
  background-color: #ffebed !important;
  color: #333 !important;
}
form.sitest-form .sitest-required.sitest-radio-wrapper {
  background-color: #ffebeb !important;
}
form.sitest-form .sitest-input-success {
  background-color: #f9fff9;
  color: #333;
}
form.sitest-form .sitest-success input,
form.sitest-form .sitest-success textarea,
form.sitest-form .sitest-success select {
  background-color: #f9fff9;
  color: #333;
}
.sitest-required-inputs {
  position: fixed !important;
  top: 30%;
  left: 2%;
  cursor: default;
  z-index: 1011;
}
.sitest-required-inputs .design-1 {
  background-color: #000;
  color: #fff;
  border-radius: 16px;
  padding: 10px;
  text-align: center;
}
.sitest-required-inputs .design-1.sp {
  display: none;
}
.sitest-required-inputs .design-1 strong {
  font-size: 24px;
  font-weight: normal;
}
.sitest-required-inputs .design-1 .pink {
  color: #ffc0cb;
}
@media screen and (max-width: 480px) {
  .sitest-required-inputs {
    top: initial;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.8;
  }
  .sitest-required-inputs .design-1 {
    border-radius: 0;
    font-size: 16px;
    padding: 5px;
    display: none;
  }
  .sitest-required-inputs .design-1.sp {
    display: block;
    padding-bottom: 34px;
  }
  .sitest-required-inputs .design-1.ok {
    display: none;
  }
  .sitest-required-inputs .design-1 strong {
    font-size: 18px;
  }
}
.sitest-comment {
  cursor: pointer;
}
.sitest-comment .sitest-error-comments {
  color: #f30;
  margin: 0;
  padding: 0;
}
.sitest-comment .sitest-error-comments .sitest-error-comment {
  list-style: none;
  font-size: 10pt;
  line-height: 1.4em;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  display: none;
  max-width: 276px;
  padding: 1px;
  text-align: left;
  white-space: normal;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0,0,0,0.2);
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
  -moz-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
  box-shadow: 0 5px 10px rgba(0,0,0,0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  opacity: 0.91;
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  display: none;
}
.popover-content {
  padding: 9px 14px;
}
.popover .arrow,
.popover .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover .arrow {
  border-width: 11px;
}
.popover .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top .arrow {
  bottom: -11px;
  left: 50%;
  margin-left: -11px;
  border-top-color: #999;
  border-top-color: rgba(0,0,0,0.25);
  border-bottom-width: 0;
}
.popover.top .arrow:after {
  bottom: 1px;
  margin-left: -10px;
  border-top-color: #fff;
  border-bottom-width: 0;
}
.popover.right .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-right-color: #999;
  border-right-color: rgba(0,0,0,0.25);
  border-left-width: 0;
}
.popover.right .arrow:after {
  bottom: -10px;
  left: 1px;
  border-right-color: #fff;
  border-left-width: 0;
}
.popover.bottom .arrow {
  top: -11px;
  left: 50%;
  margin-left: -11px;
  border-bottom-color: #999;
  border-bottom-color: rgba(0,0,0,0.25);
  border-top-width: 0;
}
.popover.bottom .arrow:after {
  top: 1px;
  margin-left: -10px;
  border-bottom-color: #fff;
  border-top-width: 0;
}
.popover.left .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-left-color: #999;
  border-left-color: rgba(0,0,0,0.25);
  border-right-width: 0;
}
.popover.left .arrow:after {
  right: 1px;
  bottom: -10px;
  border-left-color: #fff;
  border-right-width: 0;
}
.st-widget {
  display: none;
  position: fixed !important;
  z-index: 21474836479 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.st-widget .st-widget__overlay {
  width: 100% !important;
  height: 100% !important;
  background-color: #000 !important;
  opacity: 0.5;
}
.st-widget .st-widget__wrapper {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  -webkit-transform: translate(-50%, -50%) !important;
  transform: translate(-50%, -50%) !important;
  padding: 2px !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  min-width: 0 !important;
}
.st-widget .st-widget__wrapper .st-widget__close {
  text-align: right !important;
  line-height: 0 !important;
  min-width: 0 !important;
  margin: 0 0 2px 0 !important;
}
.st-widget .st-widget__wrapper .st-widget__close >img {
  display: inline !important;
  max-width: 40px !important;
  min-width: 0 !important;
  cursor: pointer !important;
  margin: 0 6px !important;
}
.st-widget .st-widget__wrapper .st-widget__close >img.st-widget__close-btn--hidden {
  display: none !important;
}
.st-widget .st-widget__wrapper .st-widget__content .st-widget__link {
  cursor: default;
  display: inline-block !important;
}
.st-widget .st-widget__wrapper .st-widget__content .st-widget__link[href] {
  cursor: pointer !important;
}
.st-widget .st-widget__wrapper .st-widget__content .st-widget__link .st-widget__img {
  max-width: 480px;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 6px !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  opacity: 1 !important;
  transition: 0.2s !important;
}
.st-widget .st-widget__wrapper .st-widget__content .st-widget__link .st-widget__img:hover {
  opacity: 0.8 !important;
}
@media screen and (max-width: 750px) {
  .st-widget .st-widget__wrapper .st-widget__content .st-widget__link .st-widget__img {
    max-width: 300px !important;
  }
}
.st-stande-view {
  display: none;
  background-color: #fff;
  color: #000;
  z-index: 1001;
  position: absolute;
  border: 1px solid #aaa;
}
.st-stande-view__filtering-input-box {
  background-color: transparent;
  width: 100%;
  float: left;
}
.st-stande-view__filtering-input {
  font-size: 16px;
  height: 30px;
  width: 100%;
  float: left;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-top: 0;
  border-left: 0;
}
.st-stande-view__close-btn {
  background-color: transparent;
  text-align: center;
  float: right;
}
.st-stande-view__close-btn .emoji {
  height: 0.8em !important;
  width: 0.8em !important;
}
.st-stande-view__info-bar {
  background-color: transparent;
  font-size: 14px;
  text-align: center;
  white-space: nowrap;
  width: 100%;
  color: #555;
  float: left;
}
.st-stande-view__list-box {
  overflow-y: scroll;
  float: left;
  width: 100%;
  height: 300px !important;
  -webkit-overflow-scrolling: touch;
}
.st-stande-view__company-list {
  list-style: none !important;
  padding: 0;
  border-top: 1px solid #dcdcdc;
  border-bottom: 0px;
  margin: 0 !important;
}
.st-stande-view__company-item {
  list-style: none !important;
  padding: 10px 10px 10px 20px;
  border-bottom: 1px solid #dcdcdc;
  margin: 0 0 0 0px !important;
}
.st-stande-view__company-item:hover {
  background-color: #ededed;
}
.st-stande-view__company-name {
  line-height: 1.5em !important;
  font-size: 16px;
  font-weight: normal;
}
.st-stande-view__other-info {
  line-height: 1.5em !important;
  font-size: 12px;
  color: #888;
}
.st-stande-view__matched-text {
  background-color: #ffb6c1;
}

.radio-center {
  margin-left: 40px;      /* ← Form-Item-Input と同じ */
  display: flex;
  gap: 40px;              /* ← ラジオ同士の間隔 */
  align-items: center;
  flex: 1;                /* ← 右側の入力エリアとして伸びる */
  max-width: 410px;       /* ← 入力欄と幅感を揃える（任意だが揃う） */
}

/* SP：折り返し時に左に戻してズレを防ぐ */
@media screen and (max-width: 480px) {
  .radio-center {
    margin-left: 0;       /* ← SPは左揃えに戻す */
    margin-top: 18px;     /* ← 入力欄と同じ余白感 */
    gap: 24px;            /* ← SPは少し詰めてもOK */
    max-width: none;
  }
}

.radio-center label {
  display: flex;
  align-items: center;
  font-size: 16px;
  cursor: pointer;
}

.radio-center input[type="radio"] {
  margin-right: 8px;
}

/* --- 料金表エリア全体 --- */
.price-section {
  text-align: center;
  margin: 40px 0;
  padding: 0 10px;
}

/* --- 料金表エリアのリード文修正 --- */
.price-lead {
  font-size: 22px;       /* 16pxから14pxへ縮小 */
  font-weight: normal;   /* 太字を解除してスッキリさせる */
  margin-bottom: 25px;   /* 下の表との余白を少し広げる */
  color: #333;
  line-height: 1.6;      /* 行間を適度に空ける */
}

/* スマホ表示時の微調整 */
@media screen and (max-width: 768px) {
  .price-lead {
    font-size: 12px;     /* スマホではさらに小さく */
    padding: 0 10px;     /* 横幅いっぱいの時に文字が端に行き過ぎないように */
  }
}

/* --- スクロール設定（スマホ対策） --- */
.table-scroll {
  overflow-x: auto; /* 横スクロールを許可 */
  -webkit-overflow-scrolling: touch;
  padding-top: 40px; /* オススメバッジ用スペース確保 */
}

/* --- テーブル基本設定 --- */
.custom-price-table {
  width: 100%;
  min-width: 700px; /* スマホではこれ以上縮めずスクロールさせる */
  border-collapse: collapse;
  margin: 0 auto;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", sans-serif;
}

/* --- 料金表下の注意書き（右寄せ） --- */
.price-note-right {
  text-align: right;    /* 右寄せにする */
  font-size: 18px;      /* 文字は小さめに */
  color: #333;          /* 文字色 */
  margin-top: 8px;      /* 表との隙間 */
  margin-right: 0;      /* 右端を揃える */
}

/* スマホ表示時の調整（画面幅に収まるように） */
@media screen and (max-width: 768px) {
  .price-note-right {
    margin-right: 10px; /* スマホでは端に寄りすぎないよう少し余白を */
  }
}
/* ヘッダー・セルの共通設定 */
.custom-price-table th, 
.custom-price-table td {
  border: 1px solid #ddd;
  padding: 15px 10px;
  text-align: center;
  vertical-align: middle;
}

/* --- 左列（部屋タイプ） --- */
.custom-price-table tbody th {
  background: #f4f4f4;
  font-weight: bold;
  font-size: 16px;
  width: 15%;
  color: #333;
}

/* --- ヘッダー（プラン名） --- */
.custom-price-table thead th {
  color: #fff;
  border-bottom: none;
}
.custom-price-table thead th .plan-name {
  display: block;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}
.custom-price-table thead th .plan-desc {
  display: block;
  font-size: 13px;
  font-weight: normal;
  opacity: 0.9;
}

/* 青いプラン（通常） */
.plan-blue {
  background-color: #5bbce4;
}
/* 金色のプラン（ファミリー） */
.plan-gold {
  background-color: #ffcc00; /* 画像の黄色に合わせる */
  color: #333 !important; /* 黄色背景なので文字は黒っぽく */
  position: relative;
  border-top: 3px solid #ffcc00;
  border-left: 3px solid #ffcc00;
  border-right: 3px solid #ffcc00;
}
/* ファミリープランの「オススメ！」バッジ */
.recommend-badge {
  position: absolute;
  top: -40px; /* 上に飛び出させる */
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 2px solid #5bbce4;
  color: #5bbce4;
  padding: 5px 15px;
  border-radius: 20px;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.recommend-badge .crown {
  font-size: 16px;
}

/* --- 金額部分のデザイン --- */
.custom-price-table td {
  font-size: 24px;
  font-weight: bold;
  color: #5bbce4; /* 通常プランの文字色 */
  background: #fff;
}
.custom-price-table td span {
  font-size: 14px;
  font-weight: normal;
  margin-left: 2px;
}

/* ファミリープランの金額列 */
.col-gold {
  color: #f37021 !important; /* オレンジ色 */
  border-left: 3px solid #ffcc00;
  border-right: 3px solid #ffcc00;
  background-color: #fffdf5; /* ほんのり黄色い背景 */
}

/* 一番下の枠線を閉じる */
.custom-price-table tbody tr:last-child .col-gold {
  border-bottom: 3px solid #ffcc00;
}

/* 左上の空セル */
.empty-cell {
  background: #f4f4f4;
  border: none;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

