@charset "utf-8";
/* CSS Document */

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

html { 
	font-size: 62.5%;
	scroll-padding-top: 100px;
}

@media screen and (max-width:768px) {
html { 
	scroll-padding-top: 5vw;
}
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	color: #434343;
	font-size: min(16px, 1.11vw);
  font-optical-sizing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	background: #fff;
}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

* {box-sizing: border-box;}

h1, h2, h3, h4 {
    text-wrap: inherit;
}

.pc { display: block !important;}
.pc_ib { display: inline-block !important;}
.sp { display: none !important;}
.sp_menu { display: none !important }

@media screen and (max-width:768px) {
.pc { display: none !important }
.pc_ib { display: none !important;}
.sp { display: block !important }
img { max-width: 100%; height: auto; width: auto; }
body { min-width: auto !important; overflow: inherit !important; font-size: 4vw; }
div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
}

/* --------------------

common

-------------------- */
/* --------------------
文字
-------------------- */
.tac {text-align: center !important;}
.tal {text-align: left !important;}
.tar {text-align: right !important;}

.fw_b {font-weight: 700 !important;}

.dsp_ib {display: inline-block !important;}

.fc_01 {color: #EE0100!important;}

/* --------------------
見出し
-------------------- */
/* .headline_01 */
.headline_01 {
	position: relative;
	margin: 0 0 1em 0;
	color: #033775;
	font-size: min(45px, 3.125vw);
	line-height: 1.5;
	text-align: center;
}

/* .headline_02 */
.headline_02 {
	position: relative;
	width: 100%;
	max-width: 878px;	
	margin: 0 auto 1em;
	color: #033775;
	font-size: min(40px, 2.77vw);
	text-align: center;
}

.headline_02::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: -1;
	margin: auto;
	width: 100%;
	height: min(3px, 0.2vw);
	background: #033775;
}

.headline_02 span {
	display: inline-block;
	padding: 0 min(20px, 1.38vw);
	background: #fff;
}

.headline_02 span img {
	margin-right: min(20px, 1.38vw);
}

@media screen and (max-width:768px) {
/* .headline_01 */
.headline_01 {
	font-size: 5.5vw;
}

/* .headline_02 */
.headline_02 {
	font-size: 5.5vw;
}

.headline_02::after {
	height: 3px;
}

.headline_02 span {
	padding: 0 2vw;
}

.headline_02 span img {
	margin-right: 1vw;
}
	
}

/* --------------------
ボタン
-------------------- */
.btn_tel {
	display: inline-flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 0.2em;
	height: min(90px, 6.25vw);
	padding: 0 min(45px, 3.125vw);
	color: #fff;
	font-size: min(30px, 2.08vw);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	background: #87B93C;
	border-radius: min(50px, 3.47vw);
	box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
}

.btn_tel span {
	display: inline-block;
}

.btn_tel .icon {
	padding-left: min(45px, 2.77vw);
	background: url("../images/icon_tel.svg") no-repeat left center / min(37px, 2.56vw) auto;
}

.btn_contact {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: min(90px, 6.25vw);
	margin: 0 0.2em;
	padding: 0 min(45px, 3.125vw);
	color: #fff;
	font-size: min(30px, 2.08vw);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	background: #EB6100;
	border-radius: min(50px, 3.47vw);
	box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.25);
}

.btn_contact span {
	display: inline-block;
	padding-right: min(90px, 6.25vw);
	background: url("../images/arrow_01.svg") no-repeat right center / min(30px, 2.08vw) auto;
}

.btn_tel:hover,
.btn_contact:hover {
	opacity: 0.75;
}

@media screen and (max-width:768px) {
.btn_tel {
	width: 80%;
	margin: 0.5em;
	height: auto;
	padding: 0.2em 1em;
	font-size: 4vw;
	border-radius: 5vw;
}

.btn_tel .icon {
	padding-left: 4.5vw;
	font-size: 3.5vw;
	background: url("../images/icon_tel.svg") no-repeat left center / 4vw auto;
}

.btn_contact {
	width: 80%;
	margin: 0.5em;
	height: auto;
	padding: 0.7em 1em;
	font-size: 4vw;
	border-radius: 5vw;
}

.btn_contact span {
	display: inline-block;
	padding-right: 7vw;
	background: url("../images/arrow_01.svg") no-repeat right center / 3vw auto;
}

}

/* --------------------

レイアウト

-------------------- */
main {
	display: block;
	padding-top: min(150px, 10.41vw);
}

@media screen and (max-width:768px) {
main {
	padding-top: 15vw;
}
}

/* --------------------

header

-------------------- */
header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: min(10px, 0.69vw) min(30px, 2.08vw);
	background: #F6F8F8;
}

header .logo {
	width: min(400px, 27.77vw);
}

header .logo h1 {
	margin: 0;
}

header .logo h1 img {
	width: min(207px, 14.37vw);
}

header .logo p {
	margin: 0;
	font-size: min(14px, 0.97vw);
}

header .btn {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
	
@media screen and (max-width:768px) {
header {
}

header .logo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

header .logo h1 img {
	width: 25vw;
	margin-right: 1vw;
}

header .logo p {
	font-size: 2vw;
}

header .btn {
	display: none;
}
	
}


/* --------------------

#sec_fv

-------------------- */
/* .inner */
#sec_fv .inner {
	padding-top: min(45px, 3.125vw);
	text-align: center;
	background: url("../images/fv_pic_01.svg") no-repeat left bottom / min(488px, 33.88vw) auto, url("../images/fv_pic_02.svg") no-repeat right bottom / min(365px, 25.34vw) auto;
}

#sec_fv .inner .headline {
	margin: 0;
	padding-bottom: min(72px, 5vw);
	color: #033775;
	font-size: min(70px, 4.86vw);
	font-weight: 900;
	text-align: center;
	background: url("../images/fv_line_01.svg") no-repeat center bottom min(30px, 2.08vw) / min(693px, 48.125vw);
}

#sec_fv .inner .headline .txt_01 {
	font-size: min(60px, 4.16vw);
}

#sec_fv .inner p {
	margin: 0;
	padding-bottom: min(72px, 5vw);
	color: #033775;
	font-size: min(30px, 2.08vw);
	font-weight: 700;
}

#sec_fv .inner p span {
	font-size: min(39px, 2.7vw);
}

/* .bg_01 */
#sec_fv .bg_01 {
	padding: min(30px, 2.08vw);
	background: #F2F5FE;
}

#sec_fv .bg_01 ul {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

#sec_fv .bg_01 li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0 min(20px, 1.38vw);
}

#sec_fv .bg_01 li .icon {
	margin-right: min(20px, 1.38vw);
}

#sec_fv .bg_01 li:nth-child(1) .icon img { width: min(66px, 4.58vw);}
#sec_fv .bg_01 li:nth-child(2) .icon img { width: min(80px, 5.55vw);}
#sec_fv .bg_01 li:nth-child(3) .icon img { width: min(64px, 4.44vw);}

#sec_fv .bg_01 li .text {
	flex: 1;
	font-weight: 400;
}

#sec_fv .bg_01 li .text span {
	display: inline-block;
}

#sec_fv .bg_01 li .text .tit {
	display: block;
	margin-bottom: 1em;
	color: #033775;
	font-size: min(20px,1.38vw);
	font-weight: 500;
}

/* .bg_02 */
#sec_fv .bg_02 {
	padding: min(50px, 3.47vw) min(30px, 2.08vw);
	background: #E0ECFA;
}

#sec_fv .bg_02 p {
	margin: 0;
	font-size: min(25px, 1.73vw);
	font-weight: 400;
	text-align: center;
	line-height: 1.8;
}

#sec_fv .bg_02 p strong {
	font-size: min(40px, 2.77vw);
	font-weight: 500;
	text-decoration: underline;
}

@media screen and (max-width:768px) {
/* .inner */
#sec_fv .inner {
	padding: 3vw 0 5vw;
	background: url("../images/fv_pic_01.svg") no-repeat left bottom / 25vw auto, url("../images/fv_pic_02.svg") no-repeat right bottom / 25vw auto;
}

#sec_fv .inner .headline {
	padding-bottom: 7vw;
	font-size: 8vw;
	background: url("../images/fv_line_01.svg") no-repeat center bottom 3vw / 80vw;
}

#sec_fv .inner .headline .txt_01 {
	font-size: 7vw;
}

#sec_fv .inner p {
	padding-bottom: 7vw;
	font-size: 3vw;
}

#sec_fv .inner p span {
	font-size: 5vw;
}

/* .bg_01 */
#sec_fv .bg_01 {
	padding: 3vw 5vw;
}

#sec_fv .bg_01 ul {
	flex-direction: column;
}

#sec_fv .bg_01 li {
	width: 100%;
	padding: 3vw 0;
}

#sec_fv .bg_01 li .icon {
	margin-right: 3vw;
}

#sec_fv .bg_01 li:nth-child(1) .icon img { width: 15vw;}
#sec_fv .bg_01 li:nth-child(2) .icon img { width: 15vw;}
#sec_fv .bg_01 li:nth-child(3) .icon img { width: 15vw;}

#sec_fv .bg_01 li .text .tit {
	margin-bottom: 0;
	font-size: 4.5vw;
}

/* .bg_02 */
#sec_fv .bg_02 p {
	margin: 0;
	font-size: 4vw;
}

#sec_fv .bg_02 p strong {
	font-size: 5.8vw;
}
	
	

}

/* --------------------

#sec_risk

-------------------- */
#sec_risk {
	margin: min(80px, 5.55vw) 0;
}

#sec_risk .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

#sec_risk .inner .risk_list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: min(20px, 1.38vw);
	flex: 1;
	list-style: none;
	margin: 0;
	padding: 0 min(30px, 2.08vw) 0 min(120px, 8.33vw);
}

#sec_risk .inner .risk_list li {
	padding: min(20px, 1.38vw) min(20px, 1.38vw) min(20px, 1.38vw) min(100px, 6.94vw);
	font-size: min(28px, 1.94vw);
	background: url("../images/icon_check.svg") no-repeat left min(40px, 2.77vw) center / min(40px, 2.77vw) auto;
	border: 1px solid #D9D9D9;
	border-radius: min(10px, 0.69vw);
}

#sec_risk .inner .risk_list li .number {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(40px, 2.77vw);
	height: min(40px, 2.77vw);
	margin-right: 0.5em;
	color: #fff;
	line-height: 1;
	background: #033775;
	border-radius: 50%;
}

#sec_risk .inner .img {
	width: min(658px, 45.69vw);
}

@media screen and (max-width:768px) {
#sec_risk {
	margin: min(80px, 5.55vw) 0;
}

#sec_risk .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

#sec_risk .inner .risk_list {
	gap: 3vw;
	padding: 0 5vw 5vw;
}

#sec_risk .inner .risk_list li {
	padding: 2vw 2vw 2vw 10vw;
	font-size: 4vw;
	background: url("../images/icon_check.svg") no-repeat left 4vw center / 5vw auto;
	border: 1px solid #D9D9D9;
	border-radius: 1vw;
}

#sec_risk .inner .risk_list li .number {
	width: 5vw;
	height: 5vw;
}

#sec_risk .inner .img {
	width: 100%;
	text-align: center;
}

}

/* --------------------

#sec_rule

-------------------- */
#sec_rule .bg {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: min(80px, 5.55vw) 0;
	background: #EBF4FD;
}

#sec_rule .bg .rule_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto min(40px, 2.77vw);
	padding: 0;
	list-style: none;
}

#sec_rule .bg .rule_list li {
	position: relative;
	width: 19%;
	padding-top: min(40px, 2.77vw);
	font-size: min(20px, 1.38vw);
	text-align: center;
	background: #fff;
	border: min(5px, 0.34vw) solid #0045B2;
	border-radius: min(20px, 1.38vw);
}

#sec_rule .bg .rule_list li .number {
	position: absolute;
	top: min(-20px, -1.38vw);
	left: calc(50% - min(20px, 1.38vw));
	margin: auto;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(40px, 2.77vw);
	height: min(40px, 2.77vw);
	margin-right: 0.5em;
	color: #fff;
	font-size: min(25px, 1.73vw);
	line-height: 1;
	background: #033775;
	border-radius: 50%;
}

#sec_rule .bg .rule_list li .pic {
	display: block;
	margin-top: min(25px, 1.73vw);
}

#sec_rule .bg .rule_list li .pic img {
	border-radius: min(20px, 1.38vw);
}

#sec_rule .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	padding: min(40px, 2.77vw) min(15px, 1.04vw);
	background: url("../images/support_pic_01.svg") no-repeat left min(10px, 0.69vw) bottom / min(167px, 11.59vw), #fff;
	border: min(3px, 0.2vw) solid #C9DEF3;
	border-radius: min(20px, 1.38vw);	
}

#sec_rule .inner .text {
	padding-left: min(120px, 8.33vw);
	text-align: center;
	background: url("../images/icon_support.svg") no-repeat left min(10px, 0.69vw) center / min(96px, 6.66vw);
}

#sec_rule .inner .text .headline {
	margin: 0;
	color: #033775;
	font-size: min(20px, 1.38vw);
	font-weight: 500;
	line-height: 2;
}

#sec_rule .inner .text .headline span {
	font-size: min(25px, 1.73vw);
}

#sec_rule .inner .text p {
	margin: 0;
	font-size: min(20px, 1.38vw);
}

#sec_rule .inner .point_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

#sec_rule .inner .point_list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex-direction: column;
	padding: 0 min(15px, 1.04vw);
}

#sec_rule .inner .point_list li:nth-child(1) .icon img { width: min(87px, 6.04vw);}
#sec_rule .inner .point_list li:nth-child(2) .icon img { width: min(94px, 6.52vw);}
#sec_rule .inner .point_list li:nth-child(3) .icon img { width: min(61px, 4.23vw);}

#sec_rule .inner .point_list .tit {
	display: block;
	margin-top: auto;
	text-align: center;
}

@media screen and (max-width:1200px) {
#sec_rule .bg {
	padding: min(80px, 5.55vw) min(40px, 2.77vw);
}
}

@media screen and (max-width:768px) {
#sec_rule .bg {
	padding: 5vw;
}

#sec_rule .bg .rule_list {
	margin: 0 auto 4vw;
}

#sec_rule .bg .rule_list li {
	width: 100%;
	margin-top: 5vw;
	padding-top: 6vw;
	font-size: 4vw;
	border: 5px solid #0045B2;
	border-radius: 2vw;
}

#sec_rule .bg .rule_list li .number {
	position: absolute;
	top: -4vw;
	left: calc(50% - 4vw);
	width: 8vw;
	height: 8vw;
	font-size: 6vw;
}

#sec_rule .bg .rule_list li .pic {
	margin-top: 3vw;
}

#sec_rule .bg .rule_list li .pic img {
	border-radius: 2vw;
}

#sec_rule .inner {
	display: block;
	padding: 4vw 1vw 15vw;
	background: url("../images/support_pic_01.svg") no-repeat left 1vw bottom / 30vw, #fff;
	border: min(3px, 0.2vw) solid #C9DEF3;
	border-radius: 2vw;	
}

#sec_rule .inner .text {
	padding: 10vw 0 0 0;
	background: url("../images/icon_support.svg") no-repeat top center / 10vw auto;
}

#sec_rule .inner .text .headline {
	margin-bottom: 0.5em;
	font-size: 5vw;
	line-height: 1.5;
}

#sec_rule .inner .text .headline span {
	font-size: 6.5vw;
}

#sec_rule .inner .text p {
	margin: 0;
	font-size: 4vw;
}

#sec_rule .inner .point_list {
	display: block;
	margin-top: 5.5vw;
}

#sec_rule .inner .point_list li {
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 0 3vw 3vw;
}
	
#sec_rule .inner .point_list li:nth-child(1) .icon img { width: 12vw;}
#sec_rule .inner .point_list li:nth-child(2) .icon img { width: 12vw;}
#sec_rule .inner .point_list li:nth-child(3) .icon img { width: 12vw;}

#sec_rule .inner .point_list .tit {
	margin: 0 0 0 0.5em;
}

}

/* --------------------

#sec_example

-------------------- */
#sec_example {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: min(80px, 5.55vw) 0;
}

#sec_example .headline_01 {
	padding: min(20px, 1.38vw) min(120px, 8.33vw) 0;
	background: url("../images/parts_em_l.svg") no-repeat left min(40px, 2.77vw) top / min(67px, 4.65vw) auto, url("../images/parts_em_r.svg") no-repeat right min(40px, 2.77vw) top / min(67px, 4.65vw) auto;
}

#sec_example .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 1160px;
	margin: auto;
}

#sec_example .inner .img {
	width: min(567px, 39.375vw);
}

#sec_example .inner .inbox {
	flex: 1;
}

#sec_example .inner .inbox .pic img:nth-child(1) {
	width: min(160px, 11.11vw);
	padding: min(40px, 2.77vw) 0 0;
}

#sec_example .inner .inbox .pic img:nth-child(2) {
	width: min(428px, 29.72vw);
}

#sec_example .inner .text {
	width: 80%;
	margin: min(20px, 1.38vw) auto 0;
	padding: min(30px, 2.08vw);
	background: url("../images/parts_em_r.svg") no-repeat top min(10px, 0.69vw) right min(10px, 0.69vw) / min(45px, 3.125vw) auto;
	border: min(3px, 0.2vw) solid #033775;
	border-radius: min(20px, 1.38vw);
}

#sec_example .inner .text p {
	margin: 0;
	font-size: min(20px, 1.38vw);
	line-height: 1.4;
}

#sec_example .inner .text p:first-child {
	margin-bottom: min(20px, 1.38vw);
	padding-bottom: min(20px, 1.38vw);
	background: url("../images/line_01.svg") no-repeat left bottom / 100% auto;
}

#sec_example .inner .text p span {
	font-size: min(25px, 1.73vw);
	font-weight: 700;
}

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

}

/* --------------------

#sec_agency

-------------------- */
#sec_agency .bg {
	max-width: 1200px;
	margin: auto;
	padding: min(80px, 5.55vw) 0;
	background: #EBF4FD;
}

#sec_agency .headline_01 {
	margin-bottom: min(30px, 2.08vw);
	padding-bottom: min(30px, 2.08vw);
	background: url("../images/agency_line_01.svg") no-repeat center bottom / min(758px, 52.63vw) auto;
}

#sec_agency .headline_01 span {
	font-size: min(55px, 3.81vw);
}

#sec_agency .monthly_fee {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}

#sec_agency .monthly_fee .text_01 {
	position: relative;
	padding: 0 min(50px, 3.47vw) min(10px, 0.69vw);
	color: #EE0100;
	font-size: min(52px, 3.61vw);
	font-weight: 700;
	line-height: 1;
	background: url("../images/agency_parts_02.svg") no-repeat center bottom / min(450px, 31.25vw) auto;
}

#sec_agency .monthly_fee .text_01::before {
	content: "";
	position: absolute;
	left: min(-50px, -3.47vw);
	bottom: 0;
	width: min(56px, 3.88vw);
	height: min(112px, 7.77vw);
	background: url("../images/agency_parts_01.svg") no-repeat center bottom / 100% 100%;
}

#sec_agency .monthly_fee .text_01 span {
	font-size: min(100px, 6.94vw);
	text-shadow: 
		2px 2px 0px #FEEC26, 
		-2px 2px 0px #FEEC26, 
		2px -2px 0px #FEEC26, 
		-2px -2px 0px #FEEC26;
}

#sec_agency .monthly_fee .text_02 {
	padding-bottom: min(10px, 0.69vw);
	font-size: min(25px, 1.73vw);
}

#sec_agency .agency_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: min(40px, 2.77vw) 0;
	padding: 0;
	list-style: none;
}

#sec_agency .agency_list li {
	width: min(285px, 19.79vw);
	padding: min(20px, 1.38vw) min(10px, 0.69vw);
	text-align: center;
	background: #fff;
	border-radius: min(20px, 1.38vw);
}

#sec_agency .agency_list li .number {
	margin: 0 auto min(20px, 1.38vw);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(40px, 2.77vw);
	height: min(40px, 2.77vw);
	margin-right: 0.5em;
	color: #fff;
	font-size: min(25px, 1.73vw);
	line-height: 1;
	background: #033775;
	border-radius: 50%;
}

#sec_agency .agency_list li .pic {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: min(160px, 11.11vw);	
}

#sec_agency .agency_list li .tit {
	margin: min(30px, 2.08vw) 0;
	color: #033775;
	font-size: min(15px, 1.04vw);	
}

#sec_agency .agency_list li p {
	font-size: min(15px, 1.04vw);
	text-align: left;
}

#sec_agency .text {
	width: min(950px, 65.97vw);
	margin: auto;
	padding: min(20px, 1.38vw);
	color: #033775;
	font-size: min(25px, 1.73vw);
	font-weight: 700;
	text-align: center;
	background: #DFEAF8;
	border-radius: min(40px, 2.77vw);
}

@media screen and (max-width:1200px) {
#sec_agency .bg {
	padding: min(80px, 5.55vw) min(40px, 2.77vw);
}
}

@media screen and (max-width:768px) {
#sec_example .headline_01 {
	padding: 2vw 12vw 0;
	background: url("../images/parts_em_l.svg") no-repeat left 4vw top / 7vw auto, url("../images/parts_em_r.svg") no-repeat right 4vw top / 7vw auto;
}

#sec_example .inner .img {
	width: 100%;
	margin: auto;
	text-align: center;
}

#sec_example .inner .img img {
	width: 75%;
}

#sec_example .inner .inbox .pic {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
}

#sec_example .inner .inbox .pic img:nth-child(1) {
	width: 20%;
	padding: 0;
	margin: 50px;
	transform:rotate(90deg);
}

#sec_example .inner .inbox .pic img:nth-child(2) {
	width: auto;
	max-width: 85%;
}

#sec_example .inner .text {
	width: 90%;
	margin: 2vw auto 0;
	padding: 3vw;
	background: url("../images/parts_em_r.svg") no-repeat top 1vw right 1vw / 7vw auto;
	border: 3px solid #033775;
	border-radius: 2vw;
}

#sec_example .inner .text p {
	font-size: 4vw;
}

#sec_example .inner .text p:first-child {
	margin-bottom: 2vw;
	padding-bottom: 2vw;
}

#sec_example .inner .text p span {
	font-size: 5vw;
}

}

/* --------------------

#sec_agency

-------------------- */
#sec_agency .bg {
	max-width: 1200px;
	margin: auto;
	padding: min(80px, 5.55vw) 0;
	background: #EBF4FD;
}

#sec_agency .headline_01 {
	margin-bottom: min(30px, 2.08vw);
	padding-bottom: min(30px, 2.08vw);
	background: url("../images/agency_line_01.svg") no-repeat center bottom / min(758px, 52.63vw) auto;
}

#sec_agency .headline_01 span {
	font-size: min(55px, 3.81vw);
}

#sec_agency .monthly_fee {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}

#sec_agency .monthly_fee .text_01 {
	position: relative;
	padding: 0 min(50px, 3.47vw) min(10px, 0.69vw);
	color: #EE0100;
	font-size: min(52px, 3.61vw);
	font-weight: 700;
	line-height: 1;
	background: url("../images/agency_parts_02.svg") no-repeat center bottom / min(450px, 31.25vw) auto;
}

#sec_agency .monthly_fee .text_01::before {
	content: "";
	position: absolute;
	left: min(-50px, -3.47vw);
	bottom: 0;
	width: min(56px, 3.88vw);
	height: min(112px, 7.77vw);
	background: url("../images/agency_parts_01.svg") no-repeat center bottom / 100% 100%;
}

#sec_agency .monthly_fee .text_01 span {
	font-size: min(100px, 6.94vw);
	text-shadow: 
		2px 2px 0px #FEEC26, 
		-2px 2px 0px #FEEC26, 
		2px -2px 0px #FEEC26, 
		-2px -2px 0px #FEEC26;
}

#sec_agency .monthly_fee .text_02 {
	padding-bottom: min(10px, 0.69vw);
	font-size: min(25px, 1.73vw);
}

#sec_agency .agency_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: min(40px, 2.77vw) 0;
	padding: 0;
	list-style: none;
}

#sec_agency .agency_list li {
	width: min(285px, 19.79vw);
	padding: min(20px, 1.38vw) min(10px, 0.69vw);
	text-align: center;
	background: #fff;
	border-radius: min(20px, 1.38vw);
}

#sec_agency .agency_list li .number {
	margin: 0 auto min(20px, 1.38vw);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(40px, 2.77vw);
	height: min(40px, 2.77vw);
	margin-right: 0.5em;
	color: #fff;
	font-size: min(25px, 1.73vw);
	line-height: 1;
	background: #033775;
	border-radius: 50%;
}

#sec_agency .agency_list li .pic {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: min(160px, 11.11vw);	
}

#sec_agency .agency_list li .tit {
	margin: min(30px, 2.08vw) 0;
	color: #033775;
	font-size: min(15px, 1.04vw);	
}

#sec_agency .agency_list li p {
	font-size: min(15px, 1.04vw);
	text-align: left;
}

#sec_agency .text {
	width: min(950px, 65.97vw);
	margin: auto;
	padding: min(20px, 1.38vw);
	color: #033775;
	font-size: min(25px, 1.73vw);
	font-weight: 700;
	text-align: center;
	background: #DFEAF8;
	border-radius: min(40px, 2.77vw);
}

#sec_agency .text .txt {
	display: inline-block;
	padding: 0 1em;
}

@media screen and (max-width:768px) {
#sec_agency .headline_01 {
	margin-bottom: 3vw;
	padding-bottom: 3vw;
	background: url("../images/agency_line_01.svg") no-repeat center bottom / 75vw auto;
}

#sec_agency .headline_01 span {
	font-size: 6.5vw;
}

#sec_agency .monthly_fee {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
}

#sec_agency .monthly_fee .text_01 {
	position: relative;
	margin-left: 3vw;
	padding: 1vw 5vw 1vw;
	font-size: 5vw;
	background: url("../images/agency_parts_02.svg") no-repeat center bottom / 100% auto;
}
	
#sec_agency .monthly_fee .text_01 span {
	font-size: 10vw;
}

#sec_agency .monthly_fee .text_01::before {
	left: -6vw;
	width: 5.5vw;
	height: 11vw;
	background: url("../images/agency_parts_01.svg") no-repeat center bottom / 100% 100%;
}

#sec_agency .monthly_fee .text_02 {
	margin-top: 0.5em;
	padding-bottom: 0.1vw;
	font-size: 4vw;
}

#sec_agency .agency_list {
	margin: 4vw 0;
}

#sec_agency .agency_list li {
	width: 90%;
	margin: 3vw auto 0;
	padding: 4vw 3vw;
	border-radius: 2vw;
}

#sec_agency .agency_list li .number {
	margin: 0 auto 3vw;
	width: 8vw;
	height: 8vw;
	font-size: 7vw;
}

#sec_agency .agency_list li .pic {
	display: block;
	height: auto;	
}

#sec_agency .agency_list li .tit {
	margin: 4vw 0;
	font-size: 4.8vw;	
}

#sec_agency .agency_list li p {
	font-size: 4vw;
}

#sec_agency .text {
	width: 90%;
	margin: auto;
	padding: 2vw;
	font-size: 5vw;
	border-radius: 4vw;
}

#sec_agency .text .txt {
	display: block;
}

}


/* --------------------

#sec_data

-------------------- */
#sec_data {
	padding: min(80px, 5.55vw) min(40px, 2.77vw);
}

#sec_data .inner {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1200px;
	margin: auto;
}

#sec_data .inner .inbox {
	display: flex;
	flex-wrap: wrap;
}

#sec_data .inner .inbox:nth-child(1) {
	width: min(520px, 36.11vw);
	padding-left: min(20px, 1.38vw);
}

#sec_data .inner .inbox:nth-child(2) {
	flex: 1;
	margin-left: min(30px, 2.08vw);
	padding: 0 min(20px, 1.38vw) 0 min(30px, 2.08vw);
	border-left: min(2px, 0.13vw) solid #033775;
}

#sec_data .inner .inbox .pic {
	width: min(200px, 13.88vw);
	text-align: center;
}

#sec_data .inner .inbox:nth-child(1) .pic img {
	width: min(127px, 8.81vw);
}

#sec_data .inner .inbox:nth-child(2) .pic img {
	width: min(188px, 13.05vw);
}

#sec_data .inner .inbox .headline {
	margin: 0;
	color: #033775;	
	font-size: min(32px, 2.22vw);
	font-weight: 500;
	line-height: 1;
}

#sec_data .inner .inbox .headline div {
	display: block;
	width: 100%;
	font-size: min(100px, 6.94vw);
	font-weight: 700;
}

#sec_data .inner .inbox .headline div span {
	font-size: min(150px, 10.41vw);
}

#sec_data .inner .inbox .text {
	width: 100%;
	font-size: min(20px, 1.38vw);
}

#sec_data .data_table {
	width: 100%;
	max-width: 1200px;
	margin: min(30px, 2.08vw) auto;
	border-collapse: collapse;
}

#sec_data .data_table th,
#sec_data .data_table td {
	padding: min(20px, 1.38vw) 0;
	font-size: min(25px, 1.73vw);
	white-space: nowrap;
	text-align: center;
	border: 1px solid #434343;
}

#sec_data .data_table thead th {
	color: #033775;
	text-align: center;
	background: #E6EDF8;
}

#sec_data .data_table thead th.bg {
	color: #fff;
	background: #033775;
}

#sec_data .data_table thead th .em {
	font-size: min(32px, 2.22vw);
}

#sec_data .data_table tbody th {
	color: #033775;
	font-size: min(24px, 1.66vw);
}

#sec_data .data_table tbody th img {
	width: min(55px, 3.81vw);
	margin-right: min(5px, 0.34vw);
	vertical-align: middle;
}

#sec_data .data_table tbody td {
	font-size: min(28px, 1.94vw);
}

#sec_data .data_table tbody td.fc_01 {
	font-weight: 700;
}

#sec_data .data_table tbody td .em {
	font-size: min(44px, 3.05vw);
}

#sec_data .btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: auto;
}

@media screen and (max-width:768px) {
#sec_data .inner .inbox:nth-child(1) {
	width: 40vw;
	padding-left: 0;
}

#sec_data .inner .inbox:nth-child(2) {
	flex: 1;
	margin-left: 2vw;
	padding: 0 0 0 2vw;
	border-left: 2px solid #033775;
}

#sec_data .inner .inbox .pic {
	width: 20vw;
	text-align: center;
}

#sec_data .inner .inbox:nth-child(1) .pic img {
	width: 12vw;
}

#sec_data .inner .inbox:nth-child(2) .pic img {
	width: 18vw;
}

#sec_data .inner .inbox .headline {
	font-size: 3.5vw;
}

#sec_data .inner .inbox .headline div {
	font-size: 6.5vw;
}

#sec_data .inner .inbox .headline div span {
	font-size: 10vw;
}

#sec_data .inner .inbox .text {
	width: 100%;
	font-size: 2.5vw;
}
	
#sec_data .sp_scroll {
	overflow-x: scroll;
	margin: 3vw auto;
}

#sec_data .data_table {
	width: 150vw;
	margin: 0;
}

#sec_data .data_table th,
#sec_data .data_table td {
	padding: 1vw 0;
	font-size: 3.5vw;
}

#sec_data .data_table thead th .em {
	font-size: 4vw;
}

#sec_data .data_table tbody th {
	font-size: 3vw;
}

#sec_data .data_table tbody th img {
	width: 4vw;
	margin-right: 1vw;
}

#sec_data .data_table tbody td {
	font-size: 3vw;
}

#sec_data .data_table tbody td .em {
	font-size: 4.5vw;
}

}

/* --------------------

#sec_flow

-------------------- */
#sec_flow .bg {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: min(20px, 1.38vw) min(40px, 2.77vw) min(40px, 2.77vw);
	background: #EBF4FD;
}

#sec_flow .bg .headline {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: #033775;
}

#sec_flow .bg .headline .tit {
	margin: 0;
	font-size: min(40px, 2.77vw);
	font-weight: 500;
	text-align: center;
}

#sec_flow .bg .headline .tit span {
	font-size: min(48px, 3.33vw);
	font-weight: 700;
}

#sec_flow .bg .headline .img {
	width: min(494px, 34.3vw);
}

#sec_flow .flow_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(140px, 9.72vw);
	margin: min(20px, 1.38vw) 0 min(40px, 2.77vw);
	padding: 0;
	list-style: none;
	text-align: center;
}

#sec_flow .flow_list li {
	position: relative;
	width: min(228px, 15.83vw);
	text-align: center;
}

#sec_flow .flow_list li:not(:last-child)::before {
	content: "";
	position: absolute;
	right: min(-100px, -6.94vw);
	top: min(130px, 9.02vw);
	margin: auto;
	width: min(100px, 6.94vw);
	height: min(12px, 0.83vw);
	background: url("../images/arrow_02.svg") no-repeat center center / 100% 100%;
}

#sec_flow .flow_list li .number {
	display: inline-block;
	margin: auto;
	padding: min(6px, 0.41vw) min(25px, 1.73vw);
	color: #fff;
	font-size: min(16px, 1.11vw);
	font-weight: 400;
	background: #033775;
	border-radius: min(20px, 1.38vw);
}

#sec_flow .flow_list li .number span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(28px, 1.94vw);
	height:  min(28px, 1.94vw);
	margin-right: min(10px, 0.69vw);
	color: #033775;
	background: #fff;
	border-radius: 50%;
}

#sec_flow .flow_list li .tit {
	margin-bottom: min(10px, 0.69vw);
	font-size: min(16px, 1.11vw);
	font-weight: 400;	
}

#sec_flow .flow_list li .pic {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: min(111px, 7.7vw);
	background: #fff;	
}

#sec_flow .flow_point {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fff;
	border: 2px solid #C9DEF3;
	border-radius: min(9px, 0.625vw);
}

#sec_flow .flow_point .text {
	padding: min(20px, 1.38vw) min(30px, 2.08vw);
}

#sec_flow .flow_point .text .tit {
	margin: 0;
	color: #033775;
	font-size: min(24px, 1.66vw);
}

#sec_flow .flow_point .text p {
	margin-top: 0.5em;
	color: #033775;
}

#sec_flow .flow_point .text ul {
	display: flex;
	flex-wrap: wrap;
	margin: min(16px, 1.11vw) 0 0;
	padding: 0;
	list-style: none;
}

#sec_flow .flow_point .text li {
	padding: 0 1em 0 min(25px, 1.73vw);
	background: url("../images/icon_check.svg") no-repeat left center / min(20px, 1.38vw) auto;
}

#sec_flow .flow_point .pic {
	padding-top: min(10px, 0.69vw);
}

@media screen and (max-width:768px) {
#sec_flow .bg {
	padding: 4vw;
}

#sec_flow .bg .headline .tit {
	margin-bottom: 1em;
	font-size: 5.5vw;
	line-height: 1.5;
}

#sec_flow .bg .headline .tit span {
	font-size: 6.5vw;
}

#sec_flow .bg .headline .pic {
	margin-bottom: 1em;
	text-align: center;
}

#sec_flow .bg .headline .pic img {
	width: 75%;
}

#sec_flow .flow_list {
	gap: 7vw;
	margin: 4vw 0;
}

#sec_flow .flow_list li {
	width: 100%;
}

#sec_flow .flow_list li:not(:last-child)::before {
	content: none;
}

#sec_flow .flow_list li .number {
	padding: 0.3em 1.5em;
	font-size: 5vw;
	border-radius: 10vw;
}

#sec_flow .flow_list li .number span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 6vw;
	height: 6vw;
	margin-right: 0.5em;
	color: #033775;
	background: #fff;
	border-radius: 50%;
}

#sec_flow .flow_list li .tit {
	margin-bottom: 0.5em;
	font-size: 5vw;
}

#sec_flow .flow_list li .pic {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 75%;
	height: auto;
	margin: auto;
	padding: 2vw 0;
	background: #fff;	
}

#sec_flow .flow_point {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fff;
	border: 2px solid #C9DEF3;
	border-radius: 2vw;
}

#sec_flow .flow_point .text {
	padding: 5vw;
}

#sec_flow .flow_point .text .tit {
	font-size: 5vw;
}

#sec_flow .flow_point .text p {
	margin-top: 0.5em;
	color: #033775;
}

#sec_flow .flow_point .text ul {
	display: flex;
	flex-wrap: wrap;
	margin: 2vw 0 0;
	padding: 0;
	list-style: none;
}

#sec_flow .flow_point .text li {
	padding: 0 0 0 5vw;
	background: url("../images/icon_check.svg") no-repeat left center / 4vw auto;
}

#sec_flow .flow_point .pic {
	width: 100%;
	padding-top: 3vw;
	text-align: center;
}

}

/* --------------------

#sec_qa

-------------------- */
#sec_qa {
	width: 100%;
	max-width: calc(878px + min(80px, 5.55vw));
	margin: auto;
	padding: min(80px, 5.55vw) min(40px, 2.77vw) 0;
}

#sec_qa .headline_02 span img {
	width: min(86px, 5.97vw);
}

/* .lp_accordion */
#sec_qa .lp_accordion {
	width: 90%;
	max-width: 760px;
	margin: min(30px, 2.08vw) auto 0;
}

#sec_qa .lp_accordion .toggle {
	display: none;
}

#sec_qa .lp_accordion .label {
	display: flex;
	align-items: center;
	padding: min(10px, 0.69vw) min(30px, 2.08vw);
	color: #033775;
	font-size: min(28px, 1.94vw);
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	background: #fff;
	border: 1px solid #033775;
	border-radius: min(10px, 0.69vw);
}

#sec_qa .lp_accordion .label,
#sec_qa .lp_accordion .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

#sec_qa .lp_accordion .content {
	display: flex;
	align-items: center;
	height: 0;
	padding: 0 min(30px, 2.08vw);
	font-size: min(28px, 1.94vw);
	line-height: 1.4;
	overflow: hidden;
	background: #EFF4FD;
	border: 1px solid #fff;
}

#sec_qa .lp_accordion .content p {
	margin: 0;
}

#sec_qa .lp_accordion .content ul {
	margin: 0;
	padding-left: 1em;
}

#sec_qa .lp_accordion .toggle:checked + .label {
	border-radius: min(10px, 0.69vw) min(10px, 0.69vw) 0 0;
}

#sec_qa .lp_accordion .toggle:checked + .label + .content {
	height: auto;
	margin: 0;
	padding: min(10px, 0.69vw) min(30px, 2.08vw);
	border: 1px solid #033775;
	border-top: none;
	border-radius: 0 0 min(10px, 0.69vw) min(10px, 0.69vw);
}

#sec_qa .q,
#sec_qa .a {
	display: inline-block;
	margin-right: min(50px, 3.47vw);
}

#sec_qa .q img,
#sec_qa .a img {
	width: min(53px, 3.68vw);
}

#sec_qa .arrow {
	position: relative;
	width: min(30px, 2.08vw);
	height:  min(30px, 2.08vw);
	background: #033775;
	border-radius: 50%;
}

#sec_qa .arrow::before {
	content: "ー";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: min(20px, 1.38vw);
	line-height: 1;
}

#sec_qa .lp_accordion .toggle:checked + .label .arrow::before {
	content: "＋";
}

#sec_qa .text {
	flex: 1;
}

#sec_qa .btn_c {
	margin-top: 5vw;
}

@media screen and (max-width:768px) {
#sec_qa {
	padding: 6vw 4vw 0;
}

#sec_qa .headline_02 span img {
	width: 10vw;
}

/* .lp_accordion */
#sec_qa .lp_accordion {
	margin: 3vw auto 0;
}

#sec_qa .lp_accordion .label {
	padding: 2vw 3vw;
	font-size: 4vw;
	border-radius: 2vw;
}

#sec_qa .lp_accordion .content {
	padding: 0 3vw;
	font-size: 4vw;
}

#sec_qa .lp_accordion .toggle:checked + .label {
	border-radius: 2vw 2vw 0 0;
}

#sec_qa .lp_accordion .toggle:checked + .label + .content {
	padding: 2vw 3vw;
	border-radius: 0 0 2vw 2vw;
}

#sec_qa .q,
#sec_qa .a {
	margin-right: 2vw;
}

#sec_qa .q img,
#sec_qa .a img {
	width: 5vw;
}

#sec_qa .arrow {
	width: 4vw;
	height: 4vw;
}

#sec_qa .arrow::before {
	font-size: 3vw;
}

}

/* --------------------

#sec_message

-------------------- */
#sec_message {
	width: 100%;
	max-width: calc(1240px + min(80px, 5.55vw));
	margin: auto;
	padding: min(80px, 5.55vw) min(40px, 2.77vw) 1px;
	text-align: center;
	background: url("../images/message_pic_01.svg") no-repeat left bottom / min(327px, 22.7vw) auto;
}

#sec_message .headline_02 span img {
	width: min(76px, 5.27vw);
	margin-right: 0;
}

#sec_message p {
	padding-bottom: 0.5em;
	font-size: min(28px, 1.94vw);
	font-weight: 700;
}

#sec_message p .em {
	font-size: min(36px, 2.5vw);
}

@media screen and (max-width:768px) {
#sec_message {
	padding: 6vw 4vw 30vw;
	background: url("../images/message_pic_01.svg") no-repeat center bottom / 50vw auto;
}

#sec_message .headline_02 span img {
	width: 10vw;
}

#sec_message p {
	font-size: 4.2vw;
}

#sec_message p .em {
	font-size: 5.2vw;
}

}

/* --------------------

#sec_contact

-------------------- */
#sec_contact .bg {
	padding: min(60px, 4.16vw) 0;
	color: #fff;
	text-align: center;
	background: #87BA3B;
}

#sec_contact .bg .headline {
	margin: 0;
	font-size: min(36px, 2.5vw);
}

#sec_contact .bg .tel {
	display: inline-block;
	margin-top: 0.5em;
	padding-left: min(40px, 2.77vw);
	font-size: min(36px, 2.5vw);
	font-weight: 700;
	background: url("../images/icon_tel.svg") no-repeat left center / min(36px, 2.5vw) auto;
}

#sec_contact .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: min(60px, 4.16vw) min(40px, 2.77vw);
}

#sec_contact .inner .text {
	width: min(495px, 34.37vw);
}

#sec_contact .inner .text .headline {
	margin: 0 0 1em;
	color: #033775;
	font-size: min(40px, 2.77vw);
	text-align: center;
}

#sec_contact .inner .text .text_01 {
	font-size: min(28px, 1.94vw);
}

#sec_contact .inner .contact_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid #C9DEF3;
	border-radius: min(10px, 0.690vw);
}

#sec_contact .inner .contact_list li {
	padding: min(20px, 1.38vw);
	text-align: center;
}

#sec_contact .inner .contact_list p {
	text-align: left;
}

#sec_contact .inner .contact_list p span {
	font-size: min(20px, 1.38vw);
}

#sec_contact .inner .form {
	width: min(705px, 48.95vw);
}

#sec_contact .inner .form .form_table {
	width: 100%;
}

#sec_contact .inner .form .form_table th {
	width: min(250px, 17.36vw);
	padding: 1em 1em 2em;
	white-space: nowrap;
	text-align: left;
	vertical-align: top;
}

#sec_contact .inner .form .form_table th .req {
	color: #EE0100;
}

#sec_contact .inner .form .form_table td {
	padding: 0 0 2em;
}

#sec_contact .inner .form .form_table input,
#sec_contact .inner .form .form_table textarea {
	padding: 1em;
	width: 100%;
	border: 1px solid #C9DEF3;
	border-radius: min(10px, 0.690vw);
}

#sec_contact .inner .form .btn .btn_submit {
	width: calc(100% - 4em);
	margin: 0 2em;
	background: url("../images/icon_mail.svg") no-repeat left 8em center / min(59px, 4.09vw) auto, url("../images/arrow_01.svg") no-repeat right 2em center / min(32px, 2.22vw) auto, #EE0100;
	border-radius: min(10px, 0.690vw);
}

#sec_contact .inner .form .btn .btn_submit:hover {
	opacity: 0.75;
}

#sec_contact .inner .form .btn .btn_submit input {
	width: 100%;
	padding: 1em;
	color: #fff;
	font-size: min(32px, 2.22vw);
	cursor: pointer;
	background: none;
	border: none;
}

#sec_contact .inner .form .btn .note {
	padding-right: 2em;
	font-size: min(12px, 0.83vw);
	text-align: right;
}

@media screen and (max-width:768px) {
#sec_contact .bg {
	padding: 5vw 0;
}

#sec_contact .bg .headline {
	font-size: 5vw;
}

#sec_contact .bg .tel {
	margin-top: 0.5em;
	padding-left: 5vw;
	font-size: 4vw;
	background: url("../images/icon_tel.svg") no-repeat left center / 4vw auto;
}

#sec_contact .inner {
	padding: 6vw 5vw;
}

#sec_contact .inner .text {
	width: 100%;
}

#sec_contact .inner .text .headline {
	font-size: 5.5vw;
}

#sec_contact .inner .text .text_01 {
	font-size: 4.5vw;
	text-align: center;
}

#sec_contact .inner .text .pic {
	text-align: center;
}

#sec_contact .inner .text .pic img {
	width: 60%;
}

#sec_contact .inner .contact_list {
	flex-direction: column;
	margin: 4vw 0;
	border-radius: 2vw;
}

#sec_contact .inner .contact_list li {
	display: flex;
	justify-content: center;
	align-content: center;
	padding: 2vw;
	text-align: center;
}

#sec_contact .inner .contact_list .icon {
	width: 6vw;
	margin-right: 0.5em;
}

#sec_contact .inner .contact_list p {
	margin: 0;
	text-align: left;
	line-height: 1;
}

#sec_contact .inner .contact_list p span {
	font-size: 4.5vw;
}

#sec_contact .inner .form {
	width: 100%;
}

#sec_contact .inner .form .form_table {
	width: 100%;
}

#sec_contact .inner .form .form_table th {
	display: block;
	max-width: 100%;
	width: 100%;
	padding: 0.5em 0.5em 0;
}

#sec_contact .inner .form .form_table td {
	display: block;
	max-width: 100%;
	padding: 0.5em;
}

#sec_contact .inner .form .form_table input,
#sec_contact .inner .form .form_table textarea {
	padding: 1em;
	width: 100%;
	border: 1px solid #C9DEF3;
	border-radius: 2vw;
}

#sec_contact .inner .form .btn .btn_submit {
	width: calc(100% - 4em);
	margin: 0 2em;
	background: url("../images/icon_mail.svg") no-repeat left 3em center / 6vw auto, url("../images/arrow_01.svg") no-repeat right 2em center / 4vw auto, #EE0100;
	border-radius: 2vw;
}

#sec_contact .inner .form .btn .btn_submit:hover {
	opacity: 0.75;
}

#sec_contact .inner .form .btn .btn_submit input {
	padding: 0.5em;
	font-size: 4.5vw;
}

#sec_contact .inner .form .btn .note {
	font-size: 3.2vw;
	text-align: left;
}

}


/* --------------------

footer

-------------------- */
footer {
	background: #F7F8F8;
}

footer .inner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: min(40px, 2.77vw);
}

footer .inner .logo {
	margin-bottom: min(40px, 2.77vw);
}

footer .inner .headline {
	margin-bottom: 1em;
	font-size: min(20px, 1.38vw);
	font-weight: 400;
}

footer .inner .info_table {
	margin-bottom: 4em;
	font-size: min(20px, 1.38vw);
	font-weight: 400;
}

footer .inner .info_table th,
footer .inner .info_table td {
	padding: 0.5em;
	font-weight: 400;
	border-bottom: 1px solid #A0A0A0;
}

footer .inner .info_table th {
	border-right: 1px solid #A0A0A0;
}

footer .inner .info_table tr:last-child th,
footer .inner .info_table tr:last-child td {
	border-bottom: none;
}

footer .inner p {
	font-size: min(20px, 1.38vw);	
}

footer small {
	display: block;
	width: 100%;
	padding: 1em;
	color: #fff;
	font-size: min(20px, 1.38vw);
	text-align: center;
	line-height: 1;
	background: #1F4AA0;
}

@media screen and (max-width:768px) {
footer .inner {
	padding: 4vw;
}

footer .inner .logo {
	margin-bottom: 3vw;
	text-align: center;
}

footer .inner .logo img {
	width: 40%;
	max-width: 207px;
}

footer .inner .headline {
	font-size: 3vw;
}

footer .inner .info_table {
	width: 100%;
	font-size: 3vw;
}

footer .inner .info_table a {
	text-decoration: none;
}

footer .inner p {
	font-size: 3vw;	
}

footer small {
	padding-bottom: 18vw;
	font-size: 3vw;
}
}

/* --------------------

#fixed_btn

-------------------- */
#fixed_btn {
	display: none;
}

@media screen and (max-width:768px) {
#fixed_btn {
	position: fixed;
	bottom: 0;
	left: 0;
	display: flex;
	width: 100%;
}
	
#fixed_btn .fixed_btn_tel,
#fixed_btn .fixed_btn_contact {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 50%;
	padding: 2vw 0;
	color: #fff;
	font-size: 4.5vw;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
}
	
#fixed_btn .fixed_btn_tel {
	background: #87B93C;
}
	
#fixed_btn .fixed_btn_tel .icon {
	display: inline-block;
	font-size: 4vw;
	padding-left: 1.2em;
	background: url("../images/icon_tel.svg") no-repeat left center / 1em auto;
}
	
#fixed_btn .fixed_btn_contact {
	background: #EB6100;
}
	
#fixed_btn .fixed_btn_contact .icon {
	display: inline-block;
	font-size: 5vw;
	padding-left: 1.5em;
	background: url("../images/icon_mail.svg") no-repeat left center / 1.2em auto;
}
	
}

