/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Zen Old Mincho', serif;
*/

body {
    min-width: 960px;
    max-width: 1920px;
    margin: auto;
}

main {
    overflow: hidden;
}

.inner_1200 {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 5%;
}

.inner_1400 {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}

a:hover {
	transition: 0.5s;
	-webkit-filter: brightness(1.1);
	        filter: brightness(1.1);
}

b {
    display: inline-block;
    font-weight: inherit;
}

.sp-v {
	display: none;
}

/* 560pxä»¥ä¸‹ */
@media screen and (max-width: 560px) {
	
	body {
	    min-width: unset;
	}

	.pc-v {
		display: none;
	}

	.sp-v {
		display: block;
	}
}

/* HEAD
**************************************************************/

#header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: #fff;
    box-shadow: 0px 3px 3px 0px #70707085;
    width: 100%;
    min-width: 960px;
}

#header .inner {
	width: 100%;
	max-width: 1900px;
	/* height: 100px; */
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 2%;
	margin: 0 auto;
}


#header .inner .logo {
	width: 250px;
}

#header .inner .tel {
	width: 380px;
}

.btn_header {
    display: flex;
    width: 350px;
}

.btn_header a {
    margin: 0 8px;
}

.mv {
	/* min-height: 700px; */
	height: auto;
	width: 100%;
	/* max-width: 1400px; */
	margin: 0 auto;
	position: relative;
}

.mv h1 img {
    width: 100%;
    height: 900px;
    object-fit: cover;
    object-position: center;
}

.mv .mv_txt {
	width: 45%;
	background-color: #FFFFFF;
	padding: 3%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 700px;
	height: 100%;
}

.mv .cta_wrap {
    position: absolute;
    bottom: 0;
    width: 100%;
    max-width: 1920px;
    right: 0;
    left: 0;
    background: linear-gradient(180deg, #f1eeb8, #fffced);
}

.mv .cta_box {
	padding: 20px 5% 30px;
	width: 100%;
	max-width: 1400px;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

@media screen and (max-width: 1240px) {
	.mv h1 img {
	    height: 70vw;
	}
}

@media screen and (max-width: 960px) {
	.mv h1 img {
	    height: 650px;
	    margin-bottom: 20px;
	}
	
	.mv .cta_wrap {
		bottom: -20px;
	}
}

/* 560pxä»¥ä¸‹ */
@media screen and (max-width: 560px) {
	.mv h1 img {
	    height: auto;
	}	
}

/* MAIN
**************************************************************/

.cta_box {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	overflow: hidden;
	padding: 20px 20px 10px;
	display: flex;
	text-align: center;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.cta_box a {
    width: 45%;
    text-align: center;
    filter: drop-shadow(0px 3px 5px #aaaaaa);
}

.cta_box a:hover {
	filter: none;
	transform: translateY(4px);
}

.cta {
    text-align: center;
    padding: 60px 0;
    background: linear-gradient(180deg, #f1eeb8, #fffced);
}

.cta_txt {
	position: relative;
	font-size: 40px;
	font-weight: 900;
	display: inline-block;
	margin: 0 34px;
}

.cta_txt span {font-size: 40px;font-weight: 900;color: #CA3D2D;}

.cta_txt::after,
.cta_txt::before {
	content: "";
	background-size: contain;
	position: absolute;
	display: inline-block;
	width: 19px;
	height: 35px;
	bottom: 8px;
}

.cta_txt::before {
	background: url(../img/toiawase_left.png) no-repeat;
	left: -30px;
}

.cta_txt::after {
	background: url(../img/toiawase_right.png) no-repeat;
	right: -30px;
}

.img_box {
    margin: 70px 0;
}

h2 {
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 44px;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.1em;
}

h2 span {
	color: #E30000;
	font-weight: 900;
}

#reason{
	background: url(../img/bg_reason.png) center /cover;
	padding: 80px 0 150px;
	overflow: hidden;
}

#uritai,
#kotaetai {
    background: linear-gradient(135deg, #0a96e6 0%, #08385b 100%);
}

#uritai .img {
    margin-top: -6%;
}

#uritai h2 span {
    text-emphasis: dot #fff;
}

#movie {
    padding: 70px 0;
    background-image: url(../img/bg_movieL.png), url(../img/bg_movieR.png);
    background-position: left top, right bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: 100%;
    text-align: center;
    position: relative;
}

#movie h2 {
	color: #CA3D2D;
}

#movie h2 span {
	display: inline-block;
	position: relative;
	color: #333;
	font-size: 24px;
	letter-spacing: 0;
	background: linear-gradient(transparent 60%, #ffff31 60% 80%, transparent 80%);
}

#movie h2 b {
	color: #D51517;
}


#movie h2 span::after,
#movie h2 span::before {
	content: "";
	background-size: contain;
	position: absolute;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: 10px;
	background-color: #333;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

#movie h2 span::before {
	-webkit-mask-image: url(../img/asirai_left.svg);
	mask-image: url(../img/asirai_left.svg);
	left: -24px;
}

#movie h2 span::after {
	-webkit-mask-image: url(../img/asirai_right.svg);
	mask-image: url(../img/asirai_right.svg);
	right: -24px;
}

.movie_txt {
    font-size: 24px;
    font-weight: 500;
    line-height: 2;
}

.youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 30px 0;
    z-index: 1;
    box-shadow: 0px 3px 6px #0000004D;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#movie::after,
#movie::before{
    content: "";
    position: absolute;
    width: 15%;
    padding-top: 24%;
    bottom: 100px;
    z-index: 0;
}

#movie::before {
    background: url(../img/movie_ojo.png) no-repeat center / contain;
    right: calc(50% + 620px);
    transform: translateX(48%);
}

#movie::after {
    background: url(../img/movie_oba.png) no-repeat center / contain;
    left: calc( 50% + 620px);
    transform: translateX(-45%);
    width: 19%;
}

#fuan {
    background: linear-gradient(180deg, #EEE9F2, #52267E);
    padding-bottom: 40px;
}

#fuan h2 {
    color: #fff;
    background-color: #6A2496;
    font-size: 40px;
    margin-top: 80px;
    border-radius: 5px;
    letter-spacing: 4px;
}

#fuan .img_box {
    margin-top: 50px;
}

.fuan_table {position: relative;z-index: 1;}

.fuan_table::before,
.fuan_table::after {
    content: "";
    position: absolute;
    width: 16%;
    padding-top: 26%;
    top: 0;
    transform: translateY(-95%);
    z-index: -1;
}

.fuan_table::before {
    background: url(../img/fuan_ojo.png) no-repeat center / contain;
}

.fuan_table::after {
    background: url(../img/fuan_oba.png) no-repeat center / contain;
    right: 0;
}

.curved {
    position: relative;
    background: #52267e url(../img/bg_fuan.svg) no-repeat top / cover;
    text-align: center;
}
.fuan_catch {
    display: inline-block;
    margin: -35px auto 0;
    padding: 6px 70px;
    color: #fff;
    background-color: #EE4F4C;
    font-size: 36px;
    font-weight: 900;
    border-radius: 40px;
    letter-spacing: 4px;
}

.fuan_txt {
    position: relative;
    padding: 50px 0;
    margin: auto;
    width: 100%;
    max-width: 1100px;
    z-index: 1;
}

.fuan_txt::before {
    content: "";
    background: url(../img/fuan_oji.png) no-repeat center / contain;
    position: absolute;
    width: 164px;
    padding-top: 338px;
    bottom: 0;
    right: -2%;
    z-index: -1;
}

.ribbon {
  position: relative;
  height: 70px;
  background: linear-gradient(to right, #e4b70c 0%, #fae47a 50%, #e4b70c 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin: auto;
  width: 80%;
  z-index: 1;
}

.ribbon::before {
  content: "";
  position: absolute;
  left: -40px;
  top: 0;
  width: 0;
  height: 0;
  border-top: 35px solid #e4b70c;
  border-bottom: 35px solid #e4b70c;
  border-left: 42px solid transparent;
}

.ribbon::after {
  content: "";
  position: absolute;
  right: -40px;
  top: 0;
  width: 0;
  height: 0;
  border-top: 35px solid #e4b70c;
  border-bottom: 35px solid #e4b70c;
  border-right: 42px solid transparent;
}

.ribbon-text {
  color: #333;
}

.ribbon-text span {
    color: #0E70B8;
}

#reason .img {
    position: relative;
    top: -70px;
    left: 40px;
}

.kotaetai_list {
    position: relative;
    display: flex;
    width: 85%;
    margin: -440px auto 0;
    justify-content: space-between;
    z-index: 1;
}

.kotaetai_list li {
    width: 32%;
    /* margin: 0 2%; */
    transition: 0.5s;
}

.kotaetai_list li:hover {
    transform: scale(1.2);
}

.kotaetai_list::before,
.kotaetai_list::after {
    content: "";
    position: absolute;
	width: 30%;
    padding-top: 50%;
    z-index: -1;
}

.kotaetai_list::before {
    background: url(../img/roseL.png) no-repeat center / contain;
    left: -14%;
    bottom: -115px;
}

.kotaetai_list::after {background: url(../img/roseR.png) no-repeat center / contain;right: -12%;top: -200px;}

#voice {
    background-color: #FCF6F0;
    padding: 80px 0;
}

#voice h2 {
    color: #AC2426;
    font-size: 44px;
}

#voice h2::before {
	content: "-VOICE-";display: block;font-size: 20px;
}

.voice_list {margin-top: 40px;}

.voice_list li {
    background: url(../img/bg_colon.png) no-repeat right top;
    background-color: #fff;
    border: #AC2426 solid 4px;
    border-radius: 20px;
    padding: 30px 40px;
    display: flex;
    margin-bottom: 30px;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0px 3px 6px #00000067;
}

.voice_list li .face {
    width: 100%;
}

.voice_list li .name {
    font-size: 28px;
    font-weight: 500;
}

.voice_list li .data {
    font-size: 20px;
    line-height: 2;
}

.voice_list li .data span {border: 1px solid;padding: 0 5px;margin-right: 1rem;}


.voice_list li .case {
    display: flex;
    width: 30%;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.voice_list li .case .ttl {
    display: flex;
    border-bottom: solid 3px;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.voice_list li .case .ttl .cat {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    background-color: #00946c;
    width: 4em;
    border-radius: 5px;
    text-align: center;
    margin-right: 1em;
}

.voice_list li .case .ttl .cat.kodate {
    background-color: #d41517;
}

.voice_list li .case .ttl .info {
    flex: 1;
    display: flex;
    justify-content: space-between;
}

.voice_list li .case .ttl .info span {
    font-size: 24px;
    font-weight: 900;
}

.voice_list li .case .txt p {
    font-size: 20px;
    font-weight: 900;
    line-height: 1.8;
}

.voice_list li .txt {
    width: 68%;
    font-size: 20px;
    line-height: 2;
}

#flow {
    padding: 70px 0 100px;
}

#flow h2 {
    color: #333;
    font-size: 44px;
}

#flow h2::before {
	content: "-FLOW-";
	display: block;
	font-size: 20px;
}

.step_list {
    margin: 60px 0 10px;
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.step_list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 70px;
    position: relative;
}

.step_list li:not(:last-child)::before {content: "";position: absolute;width: 5px;height: 50px;background-image: radial-gradient(circle, #707070 2px, transparent 2px);background-size: 4px 12px;background-repeat: repeat-y;bottom: -10px;left: 7%;transform: translateY(100%);}

.step_img {
    width: 15%;
    filter: drop-shadow(0px 3px 6px #00000029);
}

.step_cont {
    width: 83%;
}

.step_ttl {
    font-size: 28px;
    font-weight: 600;
}

.step_num {
    font-size: 22px;
    font-weight: 600;
    color: #F39800;
}

.step_txt {
    background: #FFF3DE;
    padding: 1rem 2rem;
    border-radius: 10px;
    box-shadow: 0px 3px 6px #00000029;
    font-size: 18px;
    line-height: 2;
    margin-top: 5px;
}

#QA {
    padding: 70px 0 100px;
    background: #FCF6F0;
}

#QA h2 {
    color: #333;
    font-size: 44px;
}

#QA h2::before {
	content: "- Q&A -";
	display: block;
	font-size: 20px;
}

.qa_list  {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 50px;
}

.qa_list li {border: 3px solid #D3EEA6;border-radius: 10px;background: #fff;}

.qa_list .qa_q {
    background: #D3EEA6;
    font-size: 24px;
    font-weight: 600;
    padding: 20px 2.5%;
    display: flex;
}

.qa_list .qa_q:before {
    content: "Q";
    margin-right: 1em;
    font-size: 30px;
    line-height: 1.8;
    color: #fff;
    background: #93CF30;
    min-width: 60px;
    height: 60px;
    border-radius: 50%;
    text-align: center;
}

.qa_list .qa_a {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    padding: 20px 2.5%;
    display: flex;
    align-items: center;
}

#pre {
    padding: 80px 0;
    background-image: url(../img/bg_pre_top.png), url(../img/bg_pre_bottom.png);
    background-position: top,bottom;
    background-repeat: no-repeat;
}

#pre > * {
	position: relative;
	overflow: visible;
}

.pre_txt {
    width: 60%;
    position: relative;
    z-index: 1;
}

.pre_txt h2 {
    color: #333;
    font-size: 40px;
    text-align: left;
    min-width: 15em;
}

.pre_txt h2 span {color: #0E70B8;}

#pre p {
    font-size: 20px;
    font-weight: 500;
    line-height: 2.5;
}

.pre_img {
    position: absolute;
    width: 45%;
    bottom: -40px;
    right: -3%;
}

#contact h2 b {
	position: relative;
	font-size: 24px;
	letter-spacing: 0;
	display: inline-block;
}

#contact h2 b::after,
#contact h2 b::before {
	content: "";
	background-size: contain;
	position: absolute;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: 10px;
	background-color: #333;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

#contact h2 b::before {
	-webkit-mask-image: url(../img/asirai_left.svg);
	mask-image: url(../img/asirai_left.svg);
	left: -24px;
}

#contact h2 b::after {
	-webkit-mask-image: url(../img/asirai_right.svg);
	mask-image: url(../img/asirai_right.svg);
	right: -24px;
}

#contact .ttl_area p {
    font-size: 20px;
    font-weight: 500;
}

.h2_line {
	background: #0186de;
	height: 3px;
	margin: 30px auto 45px;
	width: 60%;
	/* max-width: calc(100% - 10%); */
}

.catch01 {
	font-size: 20px;
	font-weight: bold;
	color: #004471;
}

.catch02 {
	color: #0383cc;
	font-size: 24px;
	font-weight: bold;
	margin-top: 20px;
}

.point_list {
	background-color: #edf2f5;
	padding: 5% 5% 0;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

.point_list dl {
	/* background-color: #FFFFFF; */
	margin-bottom: 5%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.point_list .flex_rev {
	flex-direction: row-reverse;
}

.point_list dt {
	width: 50%;
	/* max-width: 600px; */
	padding: 3% 3% 3% 0;
	box-sizing: content-box;
}

.point_list .flex_rev dt {
	padding: 3% 0 3% 3%;
}

.point_list dt .point_ttl {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 28px;
	font-weight: 900;
	height: auto;
	line-height: 1.4;
}

.point_list dt .line {
	background: #0186de;
	height: 2px;
	margin: 20px 0px;
	width: 150px;
	max-width: calc(100% - 10%);
}

.point_list dt p {
	line-height: 2;
}

.point_list dd {
	width: 50%;
	height: 350px;
	background-position: center;
	background-size: cover;
	border-radius: 7px;
	-webkit-filter: drop-shadow(3px 3px 3px rgb(0 0 0 / 20%));
	        filter: drop-shadow(3px 3px 3px rgb(0 0 0 / 20%));
}

.note_list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 10px;
	width: 100%;
	max-width: 100%;
	margin-top: 5%;
}

.note_list li {
	background-color: #FFFFFF;
	border-radius: 6px;
	box-shadow: 3px 3px rgb(0 0 0/ 20%);
	margin: 0px 15px 30px;
	width: calc(50% - 30px);
	max-width: calc(50% - 30px);
	display: flex;
	align-items: center;
}

.note_list li .img {
	height: 150px;
	width: 30%;
	border-radius: 6px 0px 0px 6px;
	background-position: center;
	background-size: cover;
}

.note_list li p {
	padding: 3%;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
	width: 70%;
	max-width: 70%;
	box-sizing: border-box;
}

.big_catch {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 36px;
	font-weight: 900;
	/* height: auto; */
	/* line-height: 1.4; */
	margin: 5% auto 0;
	/* padding: 20px 5% 20px; */
	text-align: center;
	/* display: inline-block; */
	color: #d6711f;
}

.case_box {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 10px;
	width: 100%;
	max-width: 1200px;
	margin: 7% auto 0;
	background-color: #fafafa;
	border-radius: 6px;
}

.case_box dl {
	margin: 20px;
	width: calc(50% - 40px);
	max-width: calc(50% - 40px);
	text-align: left;
	padding: 20px;
	background-color: #FFFFFF;
	border-radius: 6px;
}

.case_ttl {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	border-bottom: 2px solid #025b96;
	padding-bottom: 5px;
	margin-bottom: 15px;
}

.case_ttl .cat {
	font-size: 32px;
	font-weight: bold;
	color: #004471;
}

.case_ttl .info {
	color: #004471;
}

.case_info table {
	width: 100%;
	font-size: 14px;
	margin-top: 20px;
}

.case_info table th,
.case_info table td {
	padding: 5px;
	border-bottom: 1px solid #025b96;
}

.case_info table th {
	font-weight: bold;
}

#sec01 {
	padding: 10% 3%;
	background-color: #edf2f5;
}

#sec01 .sec_ttl {
	/* background-image: url(../img/sec01_bg.jpg); */
	/* background-position: center; */
	/* background-size: cover; */
	text-align: center;
}

#sec02 {
	/* background-image: url(../img/sec01_bg.jpg); */
	/* background-position: center; */
	/* background-size: cover; */
	background-color: #edf2f5;
	text-align: center;
	padding: 10% 3%;
}

#sec03 {
	background-image: url(../img/sec03_bg.jpg);
	background-position: center;
	background-size: cover;
	text-align: center;
	padding: 10% 3% 400px;
}

#sec03 h2 {
	color: #FFFFFF;
}

#sec03 .h2_line {
	background: #FFFFFF;
	height: 3px;
	width: 250px;
}

#sec03 .note {
	width: 100%;
	max-width: 950px;
	margin: 0 auto;
	color: #FFFFFF;
	text-align: right;
	font-size: 14px;
}

#sec04 {
	text-align: center;
	padding: 10% 3%;
	background-color: #025b96;
}

#sec04 h2 {
	color: #fff;
}

#sec04 .h2_line {
	background: #fff;
	width: 250px;
}

#contact {
	background: linear-gradient(180deg, #F1EEB8, #FEFBE9);
	padding: 70px 0 100px;
}

#contact .ttl_area {
	text-align: center;
}

#contact h3 {
    margin-bottom: 30px;
    font-size: 18px;
    font-weight: bold;
}

#contact .h2_line {
	background: #FFFFFF;
	height: 3px;
	width: 250px;
}

#contact .ttl_area img {
	width: 108%;
	max-width: 108%;
	margin-left: -4%;
	display: none;
}

.form_box {
	border-radius: 20px;
	margin-top: 30px;
}

.form_box.confirm {
	margin-top: 80px;
}

.form_box form {
	background: #ffffff;
	border-radius: 8px;
	padding: 5%;
	margin: auto;
	width: 100%;
	max-width: 1000px;
}

.form_box .form_ttl {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
}

.form_box dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.form_box dt {
	font-size: 20px;
	font-weight: bold;
	padding: 10px 0;
	width: 30%;
	min-width: 220px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.form_box dt span,
.form_box dd b {
	color: #fff;
	background: #e30000;
	border-radius: 20px;
	font-size: 14px;
	font-weight: bold;
	/* line-height: 1; */
	margin: 0px 0px 0px 15px;
	padding: 3px 15px;
}

.form_box dd {
	margin-bottom: 30px;
	min-width: 67%;
}

.form_box .confirm dd {
	color: #000000;
	font-size: 20px;
	background-color: #FAF7D2;
	padding: 5px 3%;
	border-radius: 4px;
}

.form_box dd input,
.form_box dd textarea,
.form_box dd select {
	background: #FFFFFF;
	border: 2px solid #B9B9B9;
	border-radius: 5px;
	color: #333;
	background: #F4F4F4;
	height: 50px;
	padding: 10px;
	width: 100%;
	max-width: 100%;
	font-size: 20px;
	line-height: 1.8;
}

.form_box dd select {
	cursor: pointer;
}

.form_box dd textarea {
	height: 160px;
	width: 100%;
}

.form_box dd input::-webkit-input-placeholder, .form_box dd textarea::-webkit-input-placeholder {
	color: #aaaaaa;
	font-weight: normal;
}

.form_box dd input::-moz-placeholder, .form_box dd textarea::-moz-placeholder {
	color: #aaaaaa;
	font-weight: normal;
}

.form_box dd input:-ms-input-placeholder, .form_box dd textarea:-ms-input-placeholder {
	color: #aaaaaa;
	font-weight: normal;
}

.form_box dd input::-ms-input-placeholder, .form_box dd textarea::-ms-input-placeholder {
	color: #aaaaaa;
	font-weight: normal;
}

.form_box dd input::placeholder,
.form_box dd textarea::placeholder {
	color: #aaaaaa;
	font-weight: normal;
}

.form_box p {
	font-size: 18px;
	font-weight: bold;
}

.form_box p a {
	color: #e30000;
	text-decoration: underline;
}

.form_box p.sub {
    font-size: 18px;
    font-weight: initial;
    width: 100%;
    margin-bottom: 10px;
}

.form_box p.sub span {
    font-weight: bold;
}

.form_box button {
	background: #CA3D2D;
	border-radius: 5px;
	border: 3px #CA3D2D solid;
	color: #FFFFFF;
	margin: 10px 10%;
	padding: 15px;
	text-align: center;
	width: 80%;
	max-width: 100%;
	cursor: pointer;
	font-size: 24px;
	font-weight: bold;
	transition: 0.5s;
	box-shadow: 0px 3px 5px 0px #aaaaaa;
}

.form_box button:hover {
    box-shadow: none;
}
.form_box dd input:focus, .form_box dd textarea:focus {
    outline: solid 3px #014471;
    background: #faf7d2;
    border: none;
}


.form_box dd input[name="postal_code"] {
    margin-bottom: 15px;
    width: 35%;
}

.form_box dd.wide {
    width: 100%;
}

.form_box dd.radio {
    display: flex;
    justify-content: space-between;
}

.form_box dd .radiobutton {
    width: 30%;
}

.form_box dd .radiobutton input:invalid {
  appearance: auto;
}

.form_box dd .radiobutton input {
  opacity: 0;
  position: absolute;
  z-index: -1;
  width: 1px;
}

.form_box dd .radiobutton input + label {
  display: flex;
  height: 100%;
  padding: 1em 0;
  margin: auto;
  font-size: 20px;
  font-weight: 600;
  border: none;
  border-radius: 5px;
  text-align: center;
  transition: 0.5s;
  box-shadow: 0px 3px 6px #00000074;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.form_box dd .radiobutton input:focus + label {
  /* background-color: #faf7d2; */
}

.form_box dd .radiobutton input:checked + label {
  color: #ff8b03;
  background-color: #faf7d2;
  border: 1px solid #FF8B03;
  box-shadow: none;
}

.close {
	text-align: center;
	padding-bottom: 80px;
	position: relative;
}

.close .close_ttl {
	color: #004471;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 36px;
	font-weight: 900;
	margin-bottom: 30px;
}

.close p {
	font-size: 30px;
	font-weight: 600;
}

.close p.sub {
    font-size: 22px;
}

.close .tel_area {
	margin-top: 80px;
	padding: 0 180px;
}

.close .tel_link {
	position: relative;
	font-weight: 900;
	font-size: 48px;
	display: inline-block;
	vertical-align: middle !important;
}

.close .tel_link:before {
    content: "";
    position: absolute;
    display: block;
    background: url(../img/tel_icon.png) no-repeat center;
    background-size: contain;
    width: 45px;
    height: 45px;
    left: -55px;
    top: 15px;
}
		
.pagetop {
    position: fixed;
    right: 3%;
    bottom: 100px;
    width: 125px;
    filter: drop-shadow(0px 3px 6px #0000004D);
}

/* FOOT
**************************************************************/
#foot {
	background: #3b4043;
	text-align: center;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 10px;
	color: #FFFFFF;
	/* margin-top: 70px; */
}

.footer_sp {
    display: none;
}

/* 960pxä»¥ä¸‹ */
/* @media screen and (max-width: 960px) {

	#header .inner .tel {
		padding-left: 2%;
	}


	.btn_mv a {
		width: auto;
		padding: 5px 15px;
	}

	h2 {
		font-size: 40px;
	}

	.h2_line {
		margin: 3% auto 5%;
	}

	.cta_box .cta_area {
		flex-direction: column;
	}

	.cta_box .cta_area .btn_area {
		width: 100%;
	}

	.cta_box .cta_area .btn_area.bl {
		width: 100%;
	}

	.cta_box.block1 {
		padding: 35px 2% 10px;
	}

	.cta_box.block2 {
		padding: 10px 2% 35px;
	}

	.point_list dl,
	.point_list dl.flex_rev {
		flex-direction: column;
	}

	.point_list dt,
	.point_list .flex_rev dt {
		width: 90%;
		padding: 3%;
	}

	.point_list dd {
		width: 90%;
	}

	.note_list {
		flex-direction: column;
	}

	.note_list li {
		width: calc(100% - 30px);
		max-width: calc(100% - 30px);
	}

	.case_box dl {
		margin: 10px;
		width: calc(100% - 20px);
		max-width: calc(100% - 20px);
	}
} */

/* 560pxä»¥ä¸‹ */
@media screen and (max-width: 560px) {

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
	
	.inner_1200 {
	    padding: 0;
	}
	
	#header {
		position: absolute;
		min-width: unset;
		background: unset;
		box-shadow: none;
	}
	
	#header .inner .logo {
	    width: 200px;
	}
	
	.btn_header {
	    display: none;
	}
	
	.mv .cta_box {
	    /* padding-bottom: 10%; */
	}
	
	.cta_box a {
	    width: 100%;
	}

	.mv .mv_img {
		width: 100%;
		min-height: 400px;
		height: 400px;
	}

	.mv .mv_txt {
		width: 100%;
		display: block;
		position: absolute;
		bottom: 0;
		min-height: auto;
		height: auto;
		background: no-repeat;
		padding: 0;
	}

	.btn_mv a {
		margin: 20px auto;
	}

	.cta {
	    padding: 30px 0;
	}
	.cta_txt {
	    font-size: 22px;
	}

	.cta_txt span {
	    font-size: 22px;		
	}
	
	.cta_box {
		padding: 5%;
	}
	
	.cta_box a + a {
	    margin-top: 5%;
	}

	.cta_box .cta_ttl {
		font-size: 20px;
		padding: 2px 10px;
		line-height: 1.4;
	}

	.cta_box .cta_area {
		margin-top: 50px;
	}

	.cta_box.block1 {
		padding: 25px 2% 8px;
	}

	.cta_box.block2 {
		padding: 8px 2% 25px;
	}

	.cta_box .cta_area .tel_area02 {
		font-size: 32px;
	}

	.cta_box .cta_area .btn_area {
		font-size: 24px;
		height: auto;
		padding-top: 25px;
	}

	.cta_box .cta_area .btn_area.bl {
		font-size: 24px;
		height: auto;
		padding-top: 25px;
		width: 100%;
	}

	.cta_box .cta_area .btn_area i {
	    display: inline-block;
	    width: 23px;
	    margin-right: 1%;
	    line-height: 2;
	    vertical-align: middle;
	}

	.cta_box .cta_area .btn_area span {
		font-size: 16px;
		top: -50px;
	}

	.cta_box .cta_area .btn_area small {
		font-size: 24px;
	}

	.cta_box.block2 .cta_area .btn_area small {
		font-size: 24px;
		letter-spacing: 0;
	}

	.cta_box .cta_area .btn_area.bl span {
		font-size: 16px;
		top: -50px;
	}

	.img_box {
	    margin: 20px 0;
	}

	h2 {
		font-size: 26px;
		line-height: 1.4;
	}

	h2 span {
		/* font-size: 16px; */
	}
	
	.back_img {
	    padding: 0;
	}
	#reason {
    padding: 30px 0 60px;
}

.ribbon {height: 100px;}

.ribbon::before {
    border-width: 50px;
    border-left-width: 21px;
    left: -20px;
}

.ribbon::after {
    border-width: 50px;
    border-right-width: 21px;
    right: -20px;
}

#reason .img {
    width: 70%;
    margin: auto;
    top: -8vw;
    left: 9%;
}
	#uritai .img {
	    margin: 0;
	}
	
	#uritai h2 {
	    position: relative;
	    font-size: 26px;
	    padding: 5% 20px;
	    text-align: left;
	    padding-left: 30%;
	}
	
	#uritai h2:before {
		content: "";
		background: url(../img/uritai_card.png) no-repeat;
		left: 20px;
		background-size: contain;
		position: absolute;
		display: inline-block;
		width: 20%;
		height: 75%;
	}

	#movie {
	    padding: 30px 0;
	}
	
#movie h2 span {
    font-size: 16px;
}

.movie_txt {
    font-size: 16px;
}.youtube {
    margin: 20px 0 10px;
}

	#fuan h2 {
	    font-size: 22px;
	    margin-top: 0;
	    padding: 20px 0;
	    border-radius: 0;
	}
	
	#fuan {
	    padding-bottom: 0px;
	}
	
	#fuan .img_box {
	    margin-top: 0;
	}
.fuan_table::before, .fuan_table::after {
    width: 28%;
    height: 20%;
    transform: translateY(-65%);
}

.fuan_table::before {
    left: -4%;
}

.fuan_table::after {
    right: -3%;
}
	.curved {
    background-image: url(../img/bg_fuan_sp.png);
}.fuan_catch {
    padding: 5px 1rem;
    font-size: 18px;
    letter-spacing: 1.8px;
    margin: 30px auto 0;
}

.fuan_txt {
    padding: 10px 5% 30px;
}

.fuan_txt::before {
    width: 20%;
    padding-top: 40%;
}

	#kotaetai .back_img {
	    padding-top: 0;
	}

	#kotaetai h2 {
	    font-size: 22px;
	    padding: 0;
	    position: relative;
	    /* font-size: 26px; */
	    padding: 5% 20px;
	    text-align: left;
	    padding-left: 30%;
	}
		
	#kotaetai h2:before {
		content: "";
		background: url(../img/kotaetai_card.png) no-repeat;
		left: 20px;
		background-size: contain;
		position: absolute;
		display: inline-block;
		width: 20%;
		height: 75%;
	}
	
	#kotaetai .img {
		margin-top: 0;
		background-image: url(../img/kotaetai_back.png);
		background-position: center;
		background-size: cover;
	}
	
	.catch01 {
		font-size: 16px;
		text-align: left;
	}

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

	.point_list dl {
		margin-bottom: 7%;
	}

	.point_list dt .point_ttl {
		font-size: 18px;
		line-height: 1.4;
	}

	.point_list dt .line {
		margin: 3% 0;
	}

	.point_list dd {
		height: 200px;
	}

	.note_list {
		margin-top: 30px;
	}

	.note_list li {
		margin: 0 0 10px;
		width: 100%;
		max-width: 100%;
	}

	.note_list li p {
		font-size: 16px;
	}

	.note_list li .img {
		height: 100px;
	}

	.big_catch {
		margin-top: 20px;
		font-size: 18px;
	}

	.case_ttl .cat {
		font-size: 18px;
	}

	.step_list li {
		align-items: flex-start;
		gap: unset;
	}

	.step_list li .step_num {
		font-size: 14px;
		letter-spacing: 0;
	}

	.step_list li .step_txt {
		padding: 5%;
		font-size: 16px;
	}

	.step_list li .step_txt .step_ttl {
		font-size: 18px;
	}
	
.step_img {
    margin-top: 35px;
    width: 25%;
}

.step_cont {
    width: 70%;
}

.step_ttl {font-size: 18px;}

.step_list li:not(:last-child)::before {
    left: 12%;
    bottom: 0;
    transform: translateY(40px);
    height: calc(100% - 22vw);
}

	#voice h2, #flow h2,#QA h2 {
	    font-size: 26px;
	}
	#voice {
    padding: 30px 0;
}

#voice h2::before, #flow h2::before, #QA h2::before {
    font-size: 16px;
}
	.step_list {
	    margin-top: 30px;
	    padding: 0 5%;
	    gap: 20px;
	}
	
	#flow {
	    padding: 30px 0;
	}

	.qa_list {
    margin-top: 30px;
    padding: 0 5%;
    gap: 10px;
}

	
	.qa_list .qa_q {
	    font-size: 16px;
	    padding: 10px 3%;
	    align-items: flex-start;
	}
	
	.qa_list .qa_a {
	    font-size: 16px;
	    font-weight: normal;
	    line-height: 1.7;
	    padding: 10px 3%;
	    align-items: flex-start;
	}
	
	.qa_list .qa_q:before {
	    font-size: 18px;
	    min-width: 2em;
	    height: 2em;
	    margin-top: .5em;
	    margin-right: .5em;
	}
	
	#QA {
	    padding: 30px 0 40px;
	}
	
	#pre h2 b {
	    font-size: 22px;
	}
	
	#pre p {
	    font-size: 16px;
	    line-height: 2;
	}
	
	#pre {
	    padding: 40px 5%;
	}
	
	#pre:after {
	    border-right: 40px solid transparent;
	    border-left: 40px solid transparent;
	    border-top: 28px solid #dff1fd;
	    bottom: -26px;
	    left: 0;
	    right: 0;
	    margin: auto;
	    width: 0;
	}
.pre_txt h2 {
    min-width: unset;
    margin-left: 4%;
}

.pre_txt {
    width: 100%;
}
	#contact h2 b {
	    font-size: 16px;
	}
	
	#contact h2 b::after, #contact h2 b::before {
	    top: 5px;
	}
	
	#contact {
	    padding: 40px 0;
	}
	
	#contact .ttl_area p {
	    font-size: 16px;
	    font-weight: normal;
	    margin-top: 10px;
	}

	.form_box {
		padding: 0 2%;
	}
	
	.form_box .form_ttl {
	    font-size: 18px;
	    margin-bottom: 20px;
	}
	
	.form_box form {
	    padding: 5% 3%;
	}

	.form_box dd {
		margin-bottom: 15px;
		width: 100%;
	}
	
	.form_box button {
		font-size: 18px;
	}
	
	.form_box dt {
	    font-size: 18px;
	    width: auto;
	    min-width: unset;
	    padding: 5px;
	}
	
	.form_box dd input, .form_box dd textarea, .form_box dd select {
	    font-size: 18px;
	    padding: 8px;
	}
	
	.form_box dd input[name="postal_code"] {
	    width: 200px;
	}
	
	.form_box dd .radiobutton input + label {
	    font-size: 18px;
	}
	
	.form_box dt span,
	.form_box dd b {
	    padding: 0 15px;
	}
	
	.form_box p.sub {
	    font-size: 16px;
	}
	
	.form_box p {
	    font-size: 16px;
	}
	.close {
		font-size: 14px;
		padding-bottom: 40px;
	}

	.close .close_ttl {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.close .tel_area {
	    margin-top: 40px;
	    padding: 0;
	}
	
	.close p {
		font-size: 20px;
	}
	
	.close .tel_link {
	    font-size: 30px;
	    margin-bottom: 10px;
	    margin-left: 30px;
	}
	
	.close .tel_link:before {
	    width: 28px;
	    height: 28px;
	    left: -30px;
	    top: 10px;
	}
	
	.close p.sub {
	    font-size: 16px;
	    font-weight: normal;
	}
	
	#foot {
		color: #3b4043;
		background: none;
		margin-bottom: 110px;
	}
	
	.footer_sp {
	    display: block;
	    width: 100%;
	    position: fixed;
	    bottom: 0;
	    background: #F1EEB9;
	    padding: 10px 3% 20px;
	    text-align: center;
	    z-index: 100;
	}
	
	.footer_sp p {
	    font-size: 13px;
	    font-weight: 700;
	    /* color: #fff; */
	    margin-bottom: 5px;
	}
	
	.btn_footer {
	    display: flex;
	}
	
	.btn_footer img {
	    padding: 0 2%;
	}
}

/* THANKS
**************************************************************/
#thanks #foot {
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	min-width: 960px;
}

#thanks #header .inner .logo {
	/* margin: auto; */
	max-width: 100%;
}

#thanks main {
	width: 80%;
	max-width: 900px;
	margin: 100px auto;
}

#thanks h2 {
	margin-bottom: 20px;
	color: #004471;
}

#thanks .close {
	margin-top: 50px;
}

#thanks .close p {
	margin-top: 20px;
	font-weight: bold;
	font-size: 120%;
	text-decoration: underline;
}

/* 560pxä»¥ä¸‹ */
@media screen and (max-width: 560px) {
	#thanks #foot {
		bottom: unset;
		min-width: unset;
	}

	#thanks h2 {
	font-size: 26px;
	}
}

/* slide
**************************************************************/
.splide .splide__arrow {
    width: 10%;
    opacity: 1;
    background: unset;
    filter: drop-shadow(0px 5px 3px #333);
}

.splide .splide__arrow:disabled {
    opacity: 0;
}

.splide .splide__pagination__page {
    background: #E8E8E8;
    border: 1px solid #333;
    opacity: 1;
    width: 10px;
    height: 10px;
}

.splide .splide__pagination__page.is-active {
    background: #333;
    opacity: 1;
    transform: unset;
}

.slide01 {
    margin: -48vw 0 0;
}

.slide01 .splide__list li{
    filter: drop-shadow(0px 5px 5px #333);
    padding: 20px 0;
}

.splide__pagination {
    bottom: unset;
    gap: 3%;
}

.slide02 {
	margin: 20px 0;
}

.slide02 .splide__list li{
    padding-bottom: 20px;
}

.slide02 .splide__pagination__page {
    background: #ffffff;
}