@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;600;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap');

bbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}

body {
	line-height: 1
}

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

nav ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
	content: '';
	content: none
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: 700
}

del {
	text-decoration: line-through
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}

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

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0
}

input,
select {
	vertical-align: middle
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

html {
	font-size: 62.5%;
}

* {
	max-height: 99999px;
}

body {
	font-family: "Noto Sans JP", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	-webkit-text-size-adjust: 100%;
	font-size: 1.6rem;
	color: #333333;
	font-weight: 500;
	line-height: 1.75;
	font-feature-settings: "palt";
}

img,
video {
	vertical-align: bottom;
	max-width: 100%;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
	color: #555;
}

a:hover {
	opacity: 0.6;
}

.ital {
	font-style: italic;
}

.en {
	font-family: 'Montserrat', sans-serif;
}

.min {
	font-family: 'Noto Serif JP', serif;
}

#wrap {
	overflow: hidden;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.inline {
	display: inline-block;
}

.left {
	float: left;
}

.right {
	float: right;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.tab {
	display: none;
}

.in {
	width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

.in_in {
	width: 1000px;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

.flex {
	display: flex;
}

.flex_w {
	flex-wrap: wrap;
}

.palt {
	font-feature-settings: "palt";
}

@media screen and (max-width: 750px) {
	body {
		font-size: 1.4rem;
	}

	#wrap {
		width: 100vw;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.tab {
		display: none;
	}

	.in,
	.in_in {
		width: 90%;
		margin: 0 auto;
	}

	.flex_w_sp {
		flex-wrap: wrap;
	}
}


#header {
	background: #fff;
	position: fixed;
	width: 100%;
	box-sizing: border-box;
	z-index: 999;
	padding: 10px 0;
}

#header .header_w {
	justify-content: space-between;
	align-items: center;
}

#header .logo img {
	width: 150px;
}

.btns {
	align-items: center;
	margin-left: 20px;
}

.btn_i {
	margin-left: 5px;
}

@media screen and (max-width: 750px) {
	#header {
		padding-left: 0;
		position: relative;
		padding: 5px 0;
	}

	#header .logo {
		width: 50%;
	}

	#header .btns a {
		width: 118px;
	}
	#header .time_txt{
		font-size: 1.2rem;
		text-align: right;
	}
}

#main_v {
	margin-top: 70px;
	padding: 30px 0 0px;
	position: relative;
	position: relative;
	text-align: center;
}

@media screen and (max-width: 750px) {
	#main_v {
		margin-top: 0px;
		padding: 20px 0 20px;
	}
}

.cor_orange {
	color: #f87a2d;
}

.cor_yellow {
	color: #fcf90d;
}

.cor_red {
	color: #e7000d;
}

.cor_w {
	color: #fff;
}

.bg_main {
	background: url(../images/fv_bg.jpg);
	background-size: cover;
	background-position: center;
}

.bg_sol {
	background: url(../images/solution_bg.jpg);
	background-size: cover;
	background-position: center;
}

.bg_math {
	background: url(../images/bg_math.png);
}

.bg_gray {
	background: #f0f0f0;
}

.bg_white {
	background: #fff;
}

.bg_orange {
	background: #f87a2d;
}

.sec_ttl_01_w {
	margin-bottom: 60px;
}

.sec_ttl_01_w h2 {
	font-size: 3.8rem;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	letter-spacing: 4px;
}

.sec_ttl_01_w h2 .s_txt {
	font-size: 2.6rem;
}

.sec_ttl_01_w h2 .l_txt {
	font-size: 4.8rem;
	border-bottom: 2px solid #f87a2d;
}

.sec_ttl_02_w {
	margin-bottom: 40px;
	text-align: center;
}

.sec_ttl_02_w:after {
	content: "";
	display: block;
	margin: auto;
	width: 214px;
	height: 14px;
	background: url(../images/ttl_deco@x2.png);
	background-size: cover;
	background-position: center;
}

.sec_ttl_02_w.w_ttl:after {
	background: url(../images/ttl_deco_w@x2.png);
	background-size: cover;
	background-position: center;
}

.sec_ttl_02_w .s_txt {
	font-size: 2.4rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 2px;
}

.sec_ttl_02_w h2 {
	font-size: 3.8rem;
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 15px;
	letter-spacing: 2px;
}

.sec_ttl_02_w h2 .l_txt {
	font-size: 4.8rem;
}

.txt_marker {
	background: #f3ffb0;
}

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

	.sec_ttl_01_w,
	.sec_ttl_02_w {
		margin-bottom: 40px;
	}

	.sec_ttl_02_w h2 {
		font-size: 2.6rem;
		line-height: 1;
	}

	.sec_ttl_02_w h2 .l_txt {
		font-size: 3.2rem;
		line-height: 1.25;
	}

	.sec_ttl_02_w .s_txt {
		font-size: 2.0rem;
		line-height: 1.25;
		display: inline-block;
	}

	.sec_ttl_01_w h2 {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.sec_ttl_01_w h2 .l_txt {
		font-size: 3.2rem;
	}

}


#ex {
	padding: 60px 0;
}

#ex .ex_w {
	justify-content: center;
}

#ex .ex_w li {
	width: 18.5%;
	margin: 5px;
}

#ex .ex_w li .imgarea img {
	width: 100%;
}

#ex .ex_w li .txt {
	font-weight: 600;
	text-align: center;
	font-size: 1.6rem;
	padding: 10px;
}

@media screen and (max-width: 750px) {
	#ex {
		padding: 40px 0;
	}

	#ex .ex_w li {
		width: 47%;
	}

	#ex .ex_w li .txt {
		font-size: 1.4rem;
	}
}

#trouble {
	padding: 60px 0 160px;
	background: url(../images/trouble_bg.jpg);
	background-size: cover;
	background-position: center;
}

#trouble .trouble_w {
	justify-content: center;
}

#trouble .trouble_w li {
	width: 24%;
	background: #fff;
	padding: 10px;
	box-sizing: border-box;
	margin-right: 12px;
	margin-bottom: 12px;
	font-weight: 600;
	text-align: center;
	border-radius: 100px;
	position: relative;
	padding-left: 40px;
}

#trouble .trouble_w li:before {
	content: "";
	width: 30px;
	height: 30px;
	background: url(../images/check.png);
	background-size: cover;
	background-position: center;
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translate(0, -50%);
}

#trouble .imgarea {
	position: absolute;
	bottom: -176px;
	width: 100%;
	text-align: center;
}

@media screen and (max-width: 750px) {
	#trouble {
		padding: 40px 0 90px;
	}

	#trouble .trouble_w li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 8px;
		padding-left: 50px;
		line-height: 1.25;
		text-align: left;
	}

	#trouble .imgarea {
		bottom: -105px;
	}
}

#solution {
	padding: 80px 0 180px;
}

@media screen and (max-width: 750px) {
	#solution {
		padding: 40px 0 40px;
	}
}

.cta {
	padding: 60px 0;
}

.cta_btns_w {
	background: #fff;
	position: relative;
	padding: 20px 60px;
	padding-left: 360px;
}

.cta_btns_w .now {
	font-weight: 600;
	text-align: center;
	padding: 10px 0;
	justify-content: center;
	margin-bottom: 20px;
	align-items: center;
	line-height: 1;
	font-size: 1.8rem;
}

.cta_btns_w .now .l_txt {
	font-size: 2.8rem;
	margin-bottom: 5px;
}

.cta_btns_w .now .l_txt span {
	display: inline-block;
	padding: 5px;
	margin: 0 5px;
	border-radius: 5px;
}

.cta_btns_w .tel_w {
	text-align: center;
}

.cta_btns_w .tel_w>p {
	font-size: 1.8rem;
	letter-spacing: 2px;
	font-weight: 600;
}

.cta_btns_w .btns {
	justify-content: center;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 2px solid #ececec;
}

.cta_btns_w .btns a {
	display: block;
	margin: 0 10px;
}

.cta_btns_w .men {
	position: absolute;
	left: 70px;
	bottom: 0;
}

.bound {
	-webkit-animation: bound 1.5s ease-in infinite;
	-moz-animation: bound 1.5s ease-in infinite;
	animation: bound 1.5s ease-in infinite;
}

@keyframes bound {
  /** 開始時は１倍の大きさ */
  from {
    transform: scale(1);
  }
  /** 0%～25%にかけて1.15倍する */
  25% {
    transform: scale(1.05);
  }
  /** 25%～50%にかけて0.95倍する */
  50% {
    transform: scale(1);
  }
  /** 50%～75%にかけて1.05倍する */
  75% {
    transform: scale(1.05);
  }
  /** 終了時は元の大きさに戻す */
  to {
    transform: scale(1);
  }
}

@media screen and (max-width: 750px) {
	.cta {
		padding: 40px 0 40px;
	}

	.cta_btns_w {
		padding: 20px 20px 0 20px;
		margin-bottom: 30px;
	}

	.cta_btns_w .now .l_txt {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}

	.cta_btns_w .now .s_txt{
		line-height: 1.25;
	}

	.cta_btns_w .men {
		width: 50%;
		position: static;
		margin: 0px auto 0;
	}

	.cta_btns_w .btns {
		flex-wrap: wrap;
	}

	.cta_btns_w .btns a {
		display: block;
		margin: 0px 2px;
		margin-bottom: 10px;
		width: 100%;
	}

	.cta_btns_w .btns a img {
		width: 100%;
	}

	.cta_btns_w .now {
		font-size: 1.4rem;
		padding: 10px 15px;
	}

	.cta_btns_w .cta_lead {
		font-size: 1.6rem;
	}

	.cta_btns_w .btns {
		margin-left: 0;
	}

	.cta_btns_w .cta_lead:after {
		right: 0;
		top: 60px;
	}

	.cta_btns_w .cta_lead:before {
		left: 0;
		top: 60px;
	}
}

#lost {
	padding: 60px 0;
}

#lost .lead_txt {
	font-size: 2.0rem;
	font-weight: 800;
	letter-spacing: 2px;
	text-align: center;
	margin-bottom: 70px;
}

#lost .lost_w {
	justify-content: space-between;
}

#lost .lost_i {
	border: 2px solid #c8c8c8;
	width: 48.5%;
	position: relative;
	padding: 55px 30px 30px;
	box-sizing: border-box;
}

#lost .lost_i:nth-of-type(1),
#lost .lost_i:nth-of-type(2) {
	margin-bottom: 40px;
}

#lost .lost_i .num {
	padding: 10px 10px;
	border-radius: 5px;
	line-height: 1;
	margin-right: 10px;
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translate(-50%, 0);
}

#lost .lost_i .num .txt {
	font-weight: 800;
}

#lost .lost_i .num .en {
	font-weight: 700;
	font-size: 2.4rem;
}

#lost .lost_i h3 {
	font-size: 2.4rem;
	font-weight: 800;
	text-align: center;
	margin-bottom: 30px;
}

#lost .lost_i .icon {
	text-align: center;
	margin-bottom: 30px;
}

#lost .lost_i .txt {
	letter-spacing: 2px;
	line-height: 2;
}

@media screen and (max-width: 750px) {
	#lost {
		padding: 40px 0;
	}

	#lost .lead_txt {
		font-size: 1.6rem;
		margin-bottom: 50px;
	}

	#lost .lost_i {
		width: 100%;
		margin-bottom: 40px;
	}

	#lost .lost_i:nth-last-of-type(1){
		margin-bottom: 0;
	}

	#lost .lost_i h3 {
		font-size: 2.0rem;
	}
}

#reason {
	padding: 60px 0 60px;
	position: relative;
}

#reason:before {
	content: "";
	width: 100%;
	height: 400px;
	background: url(../images/fv_bg.jpg);
	background-size: cover;
	background-position: center;
	position: absolute;
	top: -60px;
	z-index: -1;
}

#reason .reason_d_i {
	border: 1px solid #bdbdbd;
	align-items: center;
	margin-bottom: 20px;
	background: #fff;
}

#reason .reason_d_i:nth-last-of-type(1) {
	margin-bottom: 0;
}

#reason .reason_d_i:nth-of-type(2n) {
	flex-direction: row-reverse;
}

#reason .reason_d_i .imgarea {
	flex-shrink: 0;
	position: relative;
	margin-right: 30px;
}

#reason .reason_d_i .imgarea:after {
	content: "";
	display: block;
	height: 100%;
	width: 200px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
	position: absolute;
	top: 0;
	right: 0;
}

#reason .reason_d_i:nth-of-type(2n) .imgarea {
	margin-right: 0;
	margin-left: 30px;
}

#reason .reason_d_i:nth-of-type(2n) .imgarea:after {
	content: "";
	display: block;
	height: 100%;
	width: 200px;
	background: linear-gradient(-90deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
	position: absolute;
	top: 0;
	left: 0;
}

#reason .reason_d_i .txtarea {
	padding-right: 30px;
}

#reason .reason_d_i:nth-of-type(2n) .txtarea {
	padding-left: 30px;
}

#reason .reason_d_i .txtarea .sub_ttl_w {
	align-items: center;
	margin-bottom: 20px;
}

#reason .reason_d_i .txtarea .sub_ttl_w .num {
	padding: 10px 10px;
	border-radius: 5px;
	line-height: 1;
	margin-right: 10px;
}

#reason .reason_d_i .txtarea .sub_ttl_w .num .txt {
	font-weight: 800;
}

#reason .reason_d_i .txtarea .sub_ttl_w .num .en {
	font-weight: 700;
	font-size: 2.4rem;
}

#reason .reason_d_i .txtarea .sub_ttl_w h3 {
	font-weight: 800;
	letter-spacing: 2px;
	font-size: 2.6rem;
}

@media screen and (max-width: 750px) {
	#reason {
		padding: 40px 0;
	}

	#reason .reason_d_i .imgarea {
		flex-shrink: unset;
	}

	#reason .reason_d_i .imgarea {
		margin-right: 0;
		height: 200px;
		width: 100%;
	}

	#reason .reason_d_i:nth-of-type(2n) .imgarea {
		margin-left: 0;
		height: 200px;
		width: 100%;
	}

	#reason .reason_d_i .imgarea img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#reason .reason_d_i .imgarea:after,
	#reason .reason_d_i:nth-of-type(2n) .imgarea:after {
		content: "";
		display: block;
		height: 70%;
		width: 100%;
		background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
		position: absolute;
		top: auto;
		right: 0;
		bottom: 0;
	}

	#reason .reason_d_i .txtarea .sub_ttl_w {
		justify-content: center;
		margin-bottom: 10px;
		flex-direction: column;
	}

	#reason .reason_d_i .txtarea .sub_ttl_w .num .en {
		font-size: 2.0rem;
	}

	#reason .reason_d_i .txtarea {
		padding: 20px;
	}

	#reason .reason_d_i .txtarea .sub_ttl_w h3 {
		font-size: 2.2rem;
		line-height: 1.5;
		text-align: center;
	}

	#reason .reason_d_i .txtarea .sub_ttl_w .num {
		margin-right: 0;
		margin-bottom: 10px;
	}

}

#type {
	padding: 60px 0 0;
}

#type .type_w {
	justify-content: space-between;
	margin-top: 60px;
	margin-bottom: 40px;
}

#type .type_i {
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
	background: #fff;
	width: 18.5%;
	box-sizing: border-box;
	border-radius: 10px;
	padding: 100px 20px 20px 20px;
	position: relative;
}

#type .type_i .imgarea {
	position: absolute;
	top: -22px;
	left: 50%;
	transform: translate(-50%, 0);
}

#type .type_i .txt {
	text-align: center;
	font-weight: 800;
	font-size: 1.8rem;
}

#type .u_txt {
	font-size: 2.0rem;
	font-weight: 800;
	letter-spacing: 2px;
	text-align: center;
}

@media screen and (max-width: 750px) {
	#type {
		padding: 40px 0 0;
	}

	#type .type_w {
		justify-content: center;
	}

	#type .type_i {
		width: 47%;
		padding-top: 70px;
		margin-bottom: 40px;
		line-height: 1.25;
		margin-left: 5px;
		margin-right: 5px;
		padding-left: 15px;
		padding-right: 15px;
	}

	#type .type_i:nth-last-of-type(1) {
		margin-bottom: 0;
	}

	#type .type_i .txt {
		font-size: 1.4rem;
	}

	#type .u_txt {
		font-size: 1.6rem;
	}
}

#oth {
	padding: 60px 0 60px;
}

#oth .oth_w {
	justify-content: space-between;
}

#oth .oth_i {
	width: 15.5%;
	background: #fff;
	border: 2px solid #c8c8c8;
	box-sizing: border-box;
	padding: 20px;
}

#oth .oth_i .imgarea {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}
#oth .oth_i .imgarea img{
	max-height: 100%;
}

#oth .oth_i .txt {
	text-align: center;
	font-weight: 800;
	font-size: 1.6rem;
}

@media screen and (max-width: 750px) {
	#oth .oth_w {
		justify-content: center;
	}

	#oth .oth_i {
		width: 47%;
		margin-bottom: 10px;
		line-height: 1.25;
		margin-left: 5px;
		margin-right: 5px;
		padding-left: 15px;
		padding-right: 15px;
	}

	#oth .oth_i:nth-last-of-type(1),
	#oth .oth_i:nth-last-of-type(2){
		margin-bottom: 0;
	}
	#oth .oth_i .txt {
		font-size: 1.4rem;
	}
}


#voice {
	padding: 60px 0;
}

#voice_02 {
	padding: 60px 0;
}

.result_w {
	justify-content: space-between;
}

.result_i {
	background: #fff;
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
	padding: 30px;
	border-radius: 20px;
	margin-bottom: 30px;
	width: 48%;
	box-sizing: border-box;
}

.result_i .result_head {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #e2e2e2;
	justify-content: space-between;
}

.review_ttl_w {
	align-items: center;
	
}

.result_w{
	margin-bottom: 40px;
}
.result_i .result_head .num {
	color: #fff;
	letter-spacing: 1px;
	line-height: 1;
	padding: 5px 10px;
	margin-right: 10px;
	border-radius: 100px;
}

.result_i .result_head h3 {
	font-size: 1.8rem;
	font-weight: 600;
}

.result_head h4{
	font-size: 1.8rem;
	margin-top: 10px;
	line-height: 1.5;
	min-height: 55px;
	display: flex;
	align-items: center;
}

.result_i .result_table {
	margin-bottom: 20px;
}

.result_i .result_table .result_row {
	margin-right: 20px;
	align-items: center;
}

.result_i .result_table dt {
	padding: 10px 25px;
	margin-right: 10px;
}

.result_i .result_table .price {
	font-size: 1.8rem;
}

.result_i .result_table .price .num {
	font-size: 3.0rem;
}

.result_i .imgarea {
	text-align: center;
	margin-bottom: 20px;
}

.voice_02_w{

}
.voice_02_w h3{
	font-size: 2.8rem;
	text-align: center;
	padding: 10px 0;
	border-bottom: 2px solid #f87a2d;
	border-top: 2px solid #f87a2d;
	margin-bottom: 40px;
}
.voice_02_w h3 span{
	font-size: 3.2rem;
}
.voice_02_w .flex{
	justify-content: center;
}
.voice_02_w .voice_02_i{
	width: 35%;
	margin:0 10px;
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 750px) {
	#voice {
		padding: 40px 0;
	}
		#voice_02 {
			padding: 40px 0;
		}
	.result_i {
		width: 100%;
		padding: 25px;
	}

	.review_ttl_w {
		width: 100%;
	}

	.result_i .result_head h3 {
		width: 100%;
		text-align: center;
	}

	.result_i .result_head .num {
		margin: 0 auto 10px;
	}

	.result_i .result_table .result_row {
		width: 100%;
	}

	.result_i .result_table dt {
		width: 45%;
		box-sizing: border-box;
		text-align: center;
	}

	.voice_02_w h3{
		font-size: 1.8rem;
	}
	.voice_02_w h3 span{
		font-size: 2.2rem;
	}
	.voice_02_w .voice_02_i{
		width: 100%;
		margin:0 0px 10px;
	}
}

#flow {
	padding: 60px 0;
}

#flow .flow_i {
	background: #fff;
	border: 2px solid #f87a2d;
	margin-bottom: 40px;
	padding: 30px;
	position: relative;
}

#flow .flow_i:after {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	border-bottom: 2px solid #f87a2d;
	border-right: 2px solid #f87a2d;
	position: absolute;
	top: calc(100% + 10px);
	z-index: 99;
	left: 50%;
	transform: translate(-50%, 0px) rotate(45deg);
}

#flow .flow_i:nth-last-of-type(1):after {
	display: none;
}

#flow .flow_i:nth-last-of-type(1) {
	margin-bottom: 0;
}

#flow .flow_i .icon {
	padding-right: 20px;
	border-right: 2px solid #6cf185;
	margin-right: 20px;
	flex-shrink: 0;
	width: 45px;
	text-align: center;
}

#flow .flow_i .flow_sub_ttl_w {
	margin-bottom: 10px;
	align-items: center;
}

#flow .flow_i .flow_sub_ttl_w .num {
	color: #f87a2d;
	letter-spacing: 1px;
	line-height: 1;
	margin-right: 10px;
	border-radius: 100px;
	font-size: 2.0rem;
}

#flow .flow_i .flow_sub_ttl_w h3 {
	font-size: 1.8rem;
	font-weight: 800;
	color: #f87a2d;
}

@media screen and (max-width: 750px) {
	#flow {
		padding: 40px 0;
	}

	#flow .flow_i .flow_sub_ttl_w {
		display: block;
		text-align: center;
	}

	#flow .flow_i .flow_sub_ttl_w .num {
		display: block;
		margin-right: 0;
	}
}

#faq {
	padding: 60px 0;
}

.faq_i {
	box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.1);
	padding: 30px;
	border-radius: 30px;
	margin-bottom: 30px;
	transition: 0.5s;
	background: #fff;
}

.faq_i.open {
	border-radius: 30px;
}

.faq_i .ico {
	background: #f87a2d;
	color: #fff;
	display: flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	margin-right: 20px;
	font-weight: 600;
	flex-shrink: 0;
}

.faq_i h3 {
	color: #f87a2d;
	font-size: 1.6rem;
	margin-top: 5px;
}

.faq_i p {
	margin-top: 5px;
}

.faq_i .q {
	position: relative;
	cursor: pointer;
}

.faq_i .q:after {
	content: "×";
	font-size: 1.8rem;
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: rotate(45deg) translate(-10px, -50%);
	color: #333;
	transition: 0.5s;
}

.faq_i.open .q:after {
	top: 50%;
	right: 0px;
	transform: rotate(0) translate(0, -50%);
}

.faq_i .a {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #e3e3e3;
	display: none;
}

@media screen and (max-width: 750px) {
	#faq {
		padding: 40px 0 40px;
		position: relative;
	}

	.faq_i {
		border-radius: 30px;
		padding: 7.5% 5%;
	}

	.faq_i .q .flex {
		padding-right: 30px;
	}

	.faq_i h3 {
		margin-top: 0;
		font-size: 1.4rem;
	}

	.faq_i .ico {
		width: 30px;
		height: 30px;
		margin-right: 20px;
	}
}

#form {
	padding: 60px 0;
	position: relative;
	background: #ffece0;
}

#form .sec_ttl_w::before,
#form .sec_ttl_w::after {
	display: none;
}

.form_w {
	border: 1px solid #e8e8e8;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 40px;
	background: #fff;
	position: relative;
}

.form_w table {
	width: 100%;
}

.form_w th {
	width: 30%;
	text-align: left;
	vertical-align: top;
}

.form_w th span {
	color: #dc294a;
	margin-left: 10px;
}

.form_w td {
	padding: 10px;
	vertical-align: top;
}

.form_w td input[type=text],
.form_w td input[type=tel],
.form_w td input[type=email],
.form_w td input[type=date] {
	width: 100%;
	border: 1px solid #888;
	height: 40px;
	padding: 5px;
	box-sizing: border-box;
}

.form_w td label {
	margin-right: 10px;
}

.form_w td textarea {
	width: 100%;
	border: 1px solid #888;
	height: 100px;
	padding: 5px;
	box-sizing: border-box;
}

.with-validate {
	display: block;
	position: relative;
}

.with-validate label.error {
	display: inline-block;
	position: absolute;
	z-index: 5;
	left: -5px;
	bottom: 100%;
	margin-bottom: 10px;
	background: #c3272a;
	color: #fff;
	padding: 5px 10px;
	font-size: 12px;
	border-radius: 4px;
}

.with-validate label.error::before {
	content: '';
	background-color: transparent;
	position: absolute;
	top: 100%;
	margin: 0;
	left: 20px;
	width: 0;
	height: 0;
	border-width: 10px;
	border-style: solid;
	border-color: #c3272a transparent transparent;
}

.form_w .btn-area {
	text-align: center;
	margin-top: 30px;
}

input[type="submit"],
.form_w input[type=button]{
	appearance: none;
	-webkit-appearance: none;
}

.form_w input[type=submit],
.form_w input[type=button]{
	width: 40%;
	border: none;
	margin: 5px;
}

input[type="submit"]:hover {
	opacity: 0.6;
}

.form_w input[type=radio] {
	margin: 0;
	vertical-align: middle;
}

.form_w td,
.form_w th {
	vertical-align: middle;
}

.form_w input[type=submit] {
	background: #c7333a;
	color: #fff;
	padding: 15px 30px 15px 30px;
	border-radius: 100px;
	color: #fff;
	text-align: center;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}

.form_w .select_w{
	align-items: center;
}
.form_w .select_w select{
	width: 33%;
	height: 40px;
	margin-right: 10px;
}

@media screen and (max-width: 750px) {
	#form {
		padding: 40px 0;
		position: relative;
	}

	.form_w {
		padding: 5%;
	}

	.form_w.in_in {}

	.form_w td,
	.form_w th {
		display: block;
		width: 100%;
		padding: 10px;
		box-sizing: border-box;
	}

	.form_w input[type=submit] {
		width: 100%;
		border: none;
	}
}

#company {
	padding: 60px 0;
}

#company .sec_ttl_w::before,
#company .sec_ttl_w::after {
	display: none;
}

#company table {
	border-radius: 10px;
	margin: auto;
	border-bottom: 2px solid #e8e8e8;
}

#company table th {
	text-align: left;
	font-weight: 600;
	padding: 20px 20px;
	border-top: 2px solid #e8e8e8;
	width: 25%;
}

#company table td {
	border-top: 2px solid #e8e8e8;
	text-align: left;
	padding: 20px 20px;
}

@media screen and (max-width: 750px) {
	#company {
		padding: 20px 0;
	}

	#company table {
		width: 100%;

	}

	#company table th,
	#company table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	#company table th {
		border-bottom: 0px;
		padding-bottom: 15px;
	}

	#company table td {
		border-top: 0px;
		padding-top: 0;
	}
}

.fixed_foot {
	display: none;
}

@media screen and (max-width: 750px) {
	.fixed_foot {
		display: block;
		background: #fff;
		position: fixed;
		width: 100%;
		bottom: 0;
		z-index: 999;
		box-sizing: border-box;
	}
	.fixed_foot .btns {
		margin-left: 0;
	}
	.fixed_foot a {
		position: relative;
		text-align: center;
		padding: 1%;
	}
}

.to_top{
	position: fixed;
	bottom:20px;
	right: 20px;
	width: 50px;
}
@media screen and (max-width: 750px) {
	.to_top{
		bottom:70px;
		right: 10px;
		z-index: 99;
	}
}

footer {
	padding: 10px;
	text-align: center;
}
@media screen and (max-width: 750px) {
	footer {
		padding-bottom: 75px;
	}
}

.thanks #main_v{
	padding: 200px 0 ;
	text-align: left;
}

.thanks #main_v .thanks_w{
	background: rgba(255, 255, 255, 0.8);
	padding: 40px;
	border-radius: 10px;
}
.thanks #main_v .thanks_w h1{
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.thanks #main_v .thanks_w p{
	margin-bottom: 10px;
}
@media screen and (max-width: 750px) {
	.thanks #main_v{
		padding: 100px 0 ;
	}
	.thanks #main_v .thanks_w{
		background: rgba(255, 255, 255, 0.8);
		padding: 20px;
	}
	.thanks #main_v .thanks_w h1{
		font-size: 1.6rem;
		margin-bottom: 20px;
	}
	.thanks #main_v .thanks_w p{
		margin-bottom: 10px;
	}
}

.confirmation{
	padding-top: 100px !important;
}
.confirmation_w table{
	border-top: 1px solid #e8e8e8;
}
.confirmation_w td,
.confirmation_w th{
	border-bottom: 1px solid #e8e8e8;
}
.form_w input[type=submit] {
	background: #c7333a;
	color: #fff;
	padding: 15px 30px 15px 30px;
	border-radius: 100px;
	color: #fff;
	text-align: center;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}
.form_w .back {
	background: #ccc;
	padding: 15px 30px 15px 30px;
	border-radius: 100px;
	text-align: center;
	display: inline-block;
	position: relative;
	box-sizing: border-box;
}


#staff{
	padding: 60px 0;
}
#staff h3{
	font-size: 2.8rem;
	text-align: center;
	padding: 10px 0;
	border-bottom: 2px solid #f87a2d;
	border-top: 2px solid #f87a2d;
	margin-bottom: 40px;
}
#staff .staff_w{
	justify-content: space-between;
}
#staff .staff_i{
	width: 32%;
}
#staff .staff_i .imgarea{
	margin-bottom: 20px;
	padding: 0 60px;
}
#staff .staff_i .txtarea{}
#staff .staff_i .txtarea .name_w{
	margin-bottom: 15px;
}
#staff .staff_i .txtarea .name_w .dep{
	font-size: 1.4rem;
	background: #f0f0f0;
	padding: 5px;
	display: table;
	line-height: 1;
	margin-bottom: 10px;
}
#staff .staff_i .txtarea .name_w .name{
	font-size: 2.0rem;
}
#staff .staff_i .txtarea .txt_w{}
#staff .staff_i .txtarea .txt_w .txt_i{
	margin-bottom: 15px;
}
#staff .staff_i .txtarea .txt_w .txt_i.type_i:nth-last-of-type(1){
	margin-bottom: 0;
}
#staff .staff_i .txtarea .txt_w .txt_i dt{
	font-weight: 800;
	color: #f87a2d;
}
@media screen and (max-width: 750px) {
	#staff {
		padding: 40px 0;
	}
	#staff h3{
		font-size: 1.8rem;
	}
	#staff .staff_i{
		width: 100%;
		margin-bottom: 20px;
	}
	#staff .staff_i:nth-last-of-type(1) {
		margin-bottom: 0;
	}
}