@charset "UTF-8";

/*============================================================
common
==============================================================*/
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
	font-size: 1.6rem;
	color: #1c3a54;
	-webkit-animation: fadeIn 4s ease 0s 1 normal;
	animation: fadeIn 4s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {
	opacity: 0
	}
	100% {
	opacity: 1
	}
}
@-webkit-keyframes fadeIn {
	0% {
	opacity: 0
	}
	100% {
	opacity: 1
	}
}
img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	margin: auto;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
ul {
	list-style: none;
}
.cf::after {
	content: "";
	display: block;
	clear: both;
}
.center {
	text-align: center;
}
.left {
	float: left;
}
.right {
	float: right;
}
.pc {
	display: inherit;
}
.sp {
	display: none;
}
.inner {
	width: 1000px;
	margin: auto;
}
.caution {
	font-size: 1.2rem;
}
.h2_ttl {
	text-align: center;
	font-size: 3.6rem;
	font-weight: normal;
	color: #1c3a54;
	margin-bottom: 60px;
}
.h2_ttl::after {
	content: "";
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    border-bottom: solid 2px #f16c20;
    margin-top: 70px;
    width: 60px;
}
@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}
	.sp {
		display: inherit;
	}
	.left, .right {
		float: none;
	}
	.inner {
		width: 94%;
		margin: auto;
		padding: 0;
	}
	.h2_ttl  {
		font-size: 2.8rem;
		margin-bottom: 50px;
	}
	.h2_ttl::after {
		margin-top: 50px;
		width: 40px;
	}
}
/*============================================================
header
==============================================================*/
header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 500;
}
.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	height: 80px;
	width: 100%;
	padding: 0 20px;
}
.header_navi_list {
	display: flex;
	justify-content: space-around;
}
.header_navi_item {
	font-weight: bold;
	margin: auto 15px;
}
.header_navi_item a {
	color: #1c3a54;
	text-decoration: none;
	font-weight: normal;
}
.header_navi_item a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 999px) {
	.header_inner {
		height: 80px;
		padding: 0 10px;
	}
	.header_logo {
		width: 42%;
	}
	.header_cta a {
		font-size: 1.4rem;
	}
	.nav_flex.trigger {
		height: 50px;
	}
	.nav_flex {
		display: flex;
		align-items: center;
		padding: 0;
		height: 50px;
		justify-content: space-between;
		transition: 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045);
	}
	.nav_btn_wrap {
		display: flex;
		align-items: center;
	}
	.btn-trigger {
		position: relative;
		width: 35px;
		height: 28px;
		cursor: pointer;
		z-index: 100;
	}
	.btn-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #1c3a54;
	}
	.btn-trigger, .btn-trigger span {
		display: inline-block;
		transition: .5s ease-out all;
		box-sizing: border-box;
	}
	.btn-trigger span:nth-of-type(1) {
		top: 0;
	}
	.btn-trigger span:nth-of-type(2) {
		top: 12px;
	}
	.btn-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	#btn06.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
	}
	#btn06.active span:nth-of-type(2) {
		left: 200%;
		opacity: 0;
		-webkit-transform: translateY(7px);
		transform: translateY(7px);
		-webkit-animation: active-btn06-bar02 .8s forwards;
		animation: active-btn06-bar02 .8s forwards;
	}
	@-webkit-keyframes active-btn06-bar02 {
	100% {
		height: 0;
	}
	}
	@keyframes active-btn06-bar02 {
	100% {
		height: 0;
	}
	}
	#btn06.active span:nth-of-type(3) {
		-webkit-transform: translateY(-13px) rotate(45deg);
		transform: translateY(-13px) rotate(45deg);
	}
	.header_navi_list {
		display: block;
		position: absolute;
		z-index: 50;
		top: 0;
		right: -100%;
		background: #fff;
		width: 100%;
		height: 100vh;
		padding: 20% 20px;
		transition: 0.3s ease-in-out all;
	}
	.header_navi_item {
		text-align: center;
		margin: 15px 0;
	}
	.open {
		right: 0;
	}
}
@media screen and (max-width: 768px) {
	.header_inner {
		height: 50px;
		padding: 0 10px;
	}
}

/*============================================================
btn
==============================================================*/
.btn a {
	display: inline-block;
	text-align: center;
	background: #f16c20;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
}
.btn a:hover,.contact_btn:hover {
	opacity: 0.7;
}
.header_cta a {
	position: relative;
	width: 220px;
	font-size: 1.6rem;
	padding: 12px;
}
.mv_cta a,.cta_btn a,.thanks_btn a {
	position: relative;
	width: 340px;
	font-size: 2.0rem;
	padding: 18px;
}
.mv_cta a {
	width: 420px;
}
.header_cta a::before,.contact_btn::before {
	content: url(../img/cta_icon_arrow-small.png);
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    width: 18px;
    height: 18px;
    top: 0;
    right: 12px;
    bottom: 0;
    margin: auto;
}
.mv_cta a::before,.cta_btn a::before,.thanks_btn a::before {
	content: url(../img/cta_icon_arrow-big.png);
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    width: 28px;
    height: 28px;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}
.contact_btn {
	position: relative;
	display: block;
	text-align: center;
	background: #f16c20;
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	width: 340px;
	padding: 18px;
	margin: 0 auto;
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	.cta_btn a,.contact_btn,.thanks_btn a{
		width: 100%;
	}
	.mv_cta a {
		width: 80%;
	}
}
/*============================================================
mv
==============================================================*/
#mv {
	background: url(../img/mv_bg.jpg) center no-repeat;
	height: 620px;
	margin-top: 80px;
	color: #fff;
	display: flex;
    justify-content: left;
}
#mv h1 {
	font-size: 5.4rem;
	font-weight: normal;
}
#mv p {
	font-size: 2.0rem;
	font-weight: normal;
	margin: 20px 0;
}
.mv_ctabox {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.mv_point_list {
	display: flex;
}
.mv_point_item {
	margin: auto -8px;
}
#mv .mv_caution {
	font-size: 1.0rem;
	color: #d2dce4;
	margin: -10px 0 0 15px;
}

@media screen and (max-width: 768px) {
	#mv h1 {
		font-size: 2.3rem;
	}
	#mv p {
		font-size: 1.4rem;
	}
	.mv_ctabox {
		display: block;
	}
	.mv_cta {
		text-align: center;
	}
	.mv_point {
		margin-top: 10px;
	}
}
@media screen and (max-width: 500px) {
	#mv {
		background: url(../img/sp/mv_bg.jpg) center no-repeat;
		height: 500px;
		margin-top: 50px;
	}
}
/*============================================================
worries
==============================================================*/
#worries {
	background: #1c3a54;
	color: #fff;
	padding: 80px 0 0;
}
.worries_question {
	max-width: 700px;
	background: #1c3a54;
	margin: 0 auto;
}
.worries_question h2 {
	position: relative;
	text-align: center;
	font-size: 3.6rem;
	font-weight: normal;
	margin-bottom: 60px;
}
.worries_question h2::after {
	content: '';
    background: url(../img/worries_icon_arrow-small.png) no-repeat;
    background-size: cover;
    position: absolute;
	top: 100px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
    height: 14px;
    width: 30px;
}
.worries_question p span {
	color: #ffd200;
}
.worries_item {
	position: relative;
	font-size: 2.0rem;
	padding-left: 40px;
	margin: 15px;
}
.worries_item::before {
    content: '';
    background: url(../img/worries_icon_check.png) no-repeat;
    background-size: cover;
    position: absolute;
    padding-right: 20px;
    top: 50%;
    left: 0;
    margin-top: -14px;
    height: 28px;
    width: 28px;
}
.worries_answer {
	position: relative;
	background: #fff;
	padding: 120px 0 60px 0;
}
.worries_answer p {
	font-size: 3.0rem;
	font-weight: normal;
	color: #1c3a54;
}
.worries_answer p span {
	color: #f16c20;
}
.worries_answer::before {
    content: '';
    background: url(../img/worries_arrow-big.png) center no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    height: 80px;
    width: 100%;
}
@media screen and (max-width: 768px) {
	.worries_question h2 {
		font-size: 2.4rem;
	}
	.worries_answer {
		padding-right: 20px;
		padding-left: 20px;
	}
	.worries_answer p {
		font-size: 2.2rem;
	}
}
/*============================================================
service
==============================================================*/
#service {
	background: #eeeeee;
	padding: 80px 0;
}
#service h3 {
	font-size: 2.0rem;
	font-weight: normal;
}
.service_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.service_item {
	position: relative;
	width: 46%;
	background: #f8f8f8;
	padding: 40px 20px;
	margin: 30px 0;
}
.service_item:first-child {
	width: 100%;
	background: #fff;
	border: solid 6px #8594a0;
	margin-top: 60px;
}
.service_item:first-child .service_item_txt {
	width: 500px;
}
.service_item:first-child .service_item_wrap{
	justify-content: center;
}
.service_item:first-child .service_item_wrap figure {
	margin-right: 30px;
}
.service_eng {
	position: absolute;
	top: -70px;
	right: 0;
	left: 0;
	font-family: 'Oswald', sans-serif;
	font-size: 8.0rem;
	text-align: center;
}
.service_item_wrap {
	display: flex;
	justify-content: space-around;
}
.service_item_txt {
	width: 270px;
}
.service_item_txt p {
	font-size: 1.4rem;
	margin: 15px 0;
}
.service_item_txt p.period {
	font-size: 1.2rem;
}
.about_unlock {
	display: flex;
	justify-content: space-around;
	align-items: center;
	background: #fff;
	padding: 60px;
	margin-bottom: 60px;
}
#service .about_txt h3 {
	font-size: 2.4rem;
	margin-bottom: 15px;
}
.about_txt p {
	font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
	.service_list,.service_item_wrap,.about_unlock {
		display: block;
	}
	.service_item {
		width: 100%;
		padding: 50px 20px 20px;
		margin-top: 60px;
	}
	.service_item_txt,.service_item:first-child .service_item_txt {
		width: 100%;
	}
	.service_item:first-child .service_item_wrap figure {
		margin-right: 0;
	}
	.about_unlock {
		padding: 30px;
	}
	.about_unlock figure {
		margin-bottom: 15px;
	}
}
/*============================================================
cta
==============================================================*/
#cta {
	background: url(../img/cta_bg.jpg) center no-repeat;
	background-size: cover;
	padding: 58px 0;
	text-align: center;
	margin: 0 auto;
}
#cta p {
	font-size: 3.0rem;
	color: #fff;
	margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
	#cta p {
		font-size: 1.4rem;
	}
}

/*============================================================
feature
==============================================================*/
#feature {
	padding: 80px 0;
}
#feature h2 {
	margin-bottom: 120px;
}
.feature_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: -60px;
}
.feature_item {
	position: relative;
	width: 300px;
	background: #fff;
	box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
}
.feature_item:nth-child(2){
	margin-top: 70px;
}
.feature_item:nth-child(3) {
	margin-top: 140px;
}
.feature_num {
	position: absolute;
	top: -60px;
	left: 0;
	font-size: 7.2rem;
	font-family: 'Oswald', sans-serif;
}
.feature_item_txt {
	font-weight: normal;
	padding: 16px 26px 26px 26px;
}
.feature_item_txt h3 {
	text-align: center;
} 
.feature_item_txt p {
	font-size: 1.4rem;
	margin-top: 15px;
}
@media screen and (max-width: 768px) {
	.feature_list {
		justify-content: space-around;
	}
	.feature_item {
		margin: 60px auto;
	}
	.feature_item:nth-child(2),.feature_item:nth-child(3){
		margin-top: 0;
	}
}

/*============================================================
work
==============================================================*/
#work {
	background: #eeeeee;
	padding: 80px 0;
}
.work_strong {
	color: #f16c20;
	font-weight: bold;
}
.work_list {
	display: flex;
	flex-wrap: wrap;
}
.work_item {
	width: 46%;
	border: solid 1px #1c3a54;
	margin: 20px;
	box-shadow: 0px 5px 10px 5px rgba(0, 0, 0, 0.1);
}
.work_item_ttl {
	color: #fff;
	background: #1c3a54;
	padding: 12px 20px;
}
.work_item_ttl h3 {
	font-size: 1.6rem;
	font-weight: normal;
}
.work_item_txt {
	display: flex;
	align-items: center;
	background: #fff;
	font-size: 1.4rem;
	padding: 20px;
}
.work_item_txt figure {
	margin-right: 20px;
}
.work_item_txt p {
	width : calc(100% - 58px) ;
}
@media screen and (max-width: 768px) {
	.work_item {
		width: 100%;
		margin: 10px;
	}
}
/*============================================================
faq
==============================================================*/
#faq {
	padding: 80px 0;
}
.faq_box {
	max-width: 800px;
	margin: 0 auto;
}
.accordion_ttl {
	position: relative;
	text-align: left;
	color: #1c3a54;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 20px 70px 20px 0;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
	border-bottom: solid 1px #bfbfbf;
}
.accordion_txt {
	position: relative;
	display: none;
	font-size: 1.4rem;
	padding: 20px 70px 40px 0;
}
.accordion_ttl p,.accordion_txt p {
	display: flex;
	align-items: center;
}
.accordion_ttl span, .accordion_txt span {
	flex-shrink: 0;
	display: inline-block;
	text-align: center;
	color: #1c3a54;
	font-size: 4.8rem;
	line-height: 5rem;
	font-family: 'Oswald', sans-serif;
	margin-right: 40px;
}
.accordion_txt span {
	color: #f16c20;
}
.accordion_ttl::before, .accordion_ttl::after {
	content: '';
	width: 20px;
	height: 2px;
	background: #1c3a54;
	position: absolute;
	top: 50%;
	right: 1%;
	transform: translateY(-50%);
}
.accordion_ttl::after {
	transform: translateY(-50%) rotate(90deg);
	transition: .5s;
}
  .accordion_ttl.open::after {
	transform: translateY(-50%) rotate(0);
}
@media screen and (max-width: 768px) {
	.accordion_ttl span, .accordion_txt span {
		margin-right: 20px;
	}
	.accordion_ttl {
		padding: 20px 40px 20px 0;
	}
	.accordion_txt {
		padding: 20px 20px 20px 0;
	}
}
/*============================================================
form
==============================================================*/
#form {
	background: url(../img/form_bg.jpg) center no-repeat;
	background-size: cover;
	padding: 80px 0;
}
.form_box {
	background: #fff;
	padding: 50px 0;
}
.contact_item {
	max-width: 600px;
	margin: 0 auto;
	margin-bottom: 30px;
}
.contact_item p{
	font-weight: bold;
	margin-bottom: 8px;
}
.contact_req {
	font-size: 1.0rem;
	color: #fff;
	background-color: #c5784c;
	border-radius: 2px;
	padding: 3px 12px 4px;
	margin-left: 10px;
}
.contact_note {
	font-size: 1.4rem;
	font-weight: normal;
	margin-left: 10px;
}
.contact_input {
	width: 100%;
	height: 40px;
	background: #fff;
	padding: 8px 16px 8px;
	border: 1px solid #cfd0cc;
	border-radius: 5px;
}
.contact_box {
	height: 150px;
}
.contact_item p.contact_caution {
	font-size: 1.4rem;
	font-weight: normal;
}
.radio_area p {
	margin-right: 30px;
}
.radio_area_inner {
	line-height: 1.2rem;
}
.radio_text {
	display: block;
	font-size: 1.4rem;
}
.radio-input + label, .radio-input + .mfp_element_hidden + label {
	padding-left: 30px;
	position: relative;
	margin-right: 20px;
}
.radio-input + label::before, .radio-input + .mfp_element_hidden + label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 18px;
	height: 18px;
	border: 1px solid #999;
	border-radius: 50%;
}
.radio-input:checked + .mfp_element_hidden + .radio_text::after, .radio-input:checked + .radio_text::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 5px;
	width: 8px;
	height: 8px;
	background: #000;
	border-radius: 50%;
}
.privacybox {
	margin-bottom: 30px;
}
.privacy_link {
	color: #1c3a54;
}
.privacy_link:hover {
	text-decoration: none;
	opacity: 0.7;
}
.checkbox {
	font-weight: bold;
}
.checkbox + .checkbox-icon, .checkbox + .mfp_element_hidden + .checkbox-icon {
	position: relative;
	vertical-align: middle;
}
.checkbox + .checkbox-icon::before, .checkbox + .mfp_element_hidden + .checkbox-icon::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -24px;
	width: 18px;
	height:18px;
	margin: auto;
	background: #fff;
	border: 1px solid #cfd0cc;
	border-radius: 4px;
}
.checkbox:checked + .checkbox-icon::after, .checkbox:checked + .mfp_element_hidden + .checkbox-icon::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -19px;
	width: 8px;
	height: 14px;
	margin: auto;
	transform: rotate(40deg);
	border-bottom: 3px solid #e42f38;
	border-right: 3px solid #e42f38;
}

/*------thanks page------*/
#thanks {
	background: #eeeeee;
	text-align: center;
	padding: 80px 0;
	margin-top: 80px;
}
.thanks_wrap {
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	.form_box {
		padding: 50px 25px;
	}
	.radio_text {
		font-size: 1.2rem;
	}
	#thanks {
		margin-top: 50px;
	}
}
/*============================================================
footer
==============================================================*/
footer {
	font-family: 'Oswald', sans-serif;
	font-size: 1.2rem;
	padding: 20px 0;
}