@charset "UTF-8";

/* ===============================================
==================================================
mixin,変数など用
==================================================
=============================================== */
/* ===============================================
media query
=============================================== */
/* ===============================================
変数
=============================================== */
/* ===============================================
==================================================
リセットcss (いじらない)
==================================================
=============================================== */
*,
::before,
::after {
	border-style: solid;
	border-width: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}


/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-tap-highlight-color: transparent;
	/* 3*/
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
  background: #F5F7FD;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Lists (definition) */
/* ============================================ */
dt {
	font-weight: 700;
}

dd {
	margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	border-top-width: 1px;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	/* 1 */
	clear: both;
	color: inherit;
	height: 0;
	/* 1 */
	margin: 0;
	overflow: visible;
	/* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	color: inherit;
	cursor: pointer;
	text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	/* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: .5em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

img {
	height: auto;
	width: 100%;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	/* 1 */
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border-radius: 0;
	color: inherit;
	font: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
	text-transform: inherit;
	/* 2 */
	vertical-align: middle;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
	cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

/**
 * Remove padding
 */
option {
	padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
	margin: 0;
	min-width: 0;
	padding: 0;
}

legend {
	padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
	outline-offset: -2px;
	/* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/**
 * Clickable labels
 */
label[for] {
	cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
	outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
	border-color: inherit;
	/* 1 */
}
caption {
	text-align: left;
}
td,
th {
	padding: 0;
	vertical-align: top;
}
th {
	font-weight: 700;
	text-align: left;
}
html {
	font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-weight: 400;
	color: #444444;
	font-size: calc( 13 * 2px );
}
.sp {
	display: block;
}
.pc {
	display: none;
}
.inner {
	margin: 0 auto;
	width: calc( 344 / 375 * 100% );
  box-sizing: border-box;
  color: #595757;
  font-size: calc( 14 * 2px );
  line-height: calc( 22 * 2px );
  letter-spacing: 0em;
  font-weight: 400;
}
.btn {
	background: #7E4506;
	border-radius: calc( 32 * 2px );
	box-shadow: 0px calc( 5 * 2px ) calc( 7.5 * 2px ) calc( 5 * 2px ) rgba(156, 156, 156, 0.2);
	color: #ffffff;
	font-size: calc( 17.5 * 2px );
	letter-spacing: 0.06em;
	line-height: 1.3;
	margin: 0 auto;
	position: relative;
	text-align: center;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: calc( 300 * 2px );
}
.btn--fz-small {
	font-size: calc( 13 * 2px );
}
.btn--fw-bold {
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", YuGothic, "Yu Gothic", sans-serif;
	font-style: normal;
	font-weight: 700;
}
.btn::after {
	background: url(../images/button-arrow.png) no-repeat center center/cover;
	content: "";
	display: block;
	height: calc( 18 * 2px );
	position: absolute;
	top: 50%;
	right: calc( 9 /375 * 100vw );
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: calc( 13 * 2px );
}
.btn:hover {
	opacity: 0.7;
}
.btn:active {
	opacity: 0.7;
}
.btn a {
	display: block;
	padding: 0.457em 0;
}
.section {
	position: relative;
}
sup {
	vertical-align: super;
	font-size: .4em;
}
a.window {
	color: #0070cc;
	border-bottom: #0070cc solid 1px;
}
a.window::after {
	content: url("../images/link_icn_window.png");
	vertical-align: baseline;
	margin-left: .3rem;
}
.pcOnly {
	display: none;
}



/* ============================
.header
============================ */
.header {
	background-color: #FCFDFE;
	padding: calc( 8 * 2px ) 0 calc( 16 * 2px );
}
.header p {
  display: block;
  width: calc( 271 * 2px );
  margin: 0 auto;
}
.header h2 {
  display: block;
  width: calc( 212.5 * 2px );
  margin: 0 auto;
}



/* ============================
.fv
============================ */
.fv {
	position: relative;
  text-align: center;
  margin-bottom: calc( 16 * 2px );
}
.fv .inner {
  padding: calc( 20 * 2px ) 0;
}
.fv a {
  font-size: calc( 12 * 2px );
  line-height: calc( 16 * 2px );
  letter-spacing: 0.02em;
  text-decoration: underline;
}



/* ============================
.banners
============================ */
.banners {
}
.banners .inner {
  width: calc( 343 / 375 * 100% );
  padding: calc( 8 * 2px ) 0 calc( 32 * 2px );
}
.banners h2 {
  font-size: calc( 14 * 2px );
  line-height: calc( 20 * 2px );
  letter-spacing: 0.02em;
  font-weight: 700;
  text-align: center;
  margin-bottom: calc( 16 * 2px );
}



/* .simulation */
.simulation {
  padding: 1px 0 calc( 24 * 2px );
  margin-bottom: calc( 16 * 2px );
  border-bottom: 2px solid #eee;
}
.simulation strong {
	color: #eb5505;
}
.simulation__inner {
  position: relative;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
  background: #FCFDFE;
  color: #161A1D;
	font-size: calc( 12 * 2px );
	line-height: calc( 16 * 2px );
	letter-spacing: 0em;
  text-align: left;
	box-sizing: border-box;
	padding: calc( 24 * 2px );
}
.simulation h2 {
  color: #595757;
	font-size: calc( 18 * 2px );
	line-height: calc( 22 * 2px );
	letter-spacing: 0.02em;
	font-weight: 700;
	box-sizing: border-box;
	margin: 0 auto calc( 24 * 2px );
  text-align: center;
}

.simulation__wrapper {
	display: block;
	width: 100%;
	margin-top: calc( 25 * 2px );
}
.simulation__wrapper tbody {
	display: block;
	width: 100%;
}

.simulation__row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;

	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.simulation__row:nth-of-type(2) {
	margin-top: calc( 30 * 1px );
}
.simulation__row td {
	position: relative;
}

.simulation__label {
	display: block;
	font-size: calc( 12 * 2px );
  line-height: calc( 17 * 2px );
	font-weight: 400;
	width: calc( 90 * 2px );
}
.simulation__input {
	background-color: #fff;
	padding-right: 1em;
	width: calc( 128 * 2px );
	height: calc( 32 * 2px );
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
}
.simulation__price-txt {
	display: inline-block;
	vertical-align: middle;
}


.simulation__btn {
	border: 1px solid #D35612;
	border-radius: 1000px;
  display: flex;
  justify-content: center;
  align-items: center;
	color: #D35612;
	font-size: calc( 14 * 2px );
  line-height: calc( 16 * 2px );
	font-weight: 700;
	text-align: center;
	margin: calc( 24 * 2px ) auto 0;
	padding: calc( 11.5 * 2px ) 0 calc( 12.5 * 2px );
	width: calc( 296 * 2px );
}
.simulation__btn::after {
  content: "";
  display: inline-block;
  width: calc( 24 * 2px );
  height: calc( 24 * 2px );
  background: url("../images/simulation_arrow.png") left top / 100% auto no-repeat;
}
.simulation__result {
	background: #fff;
  border: 1px solid #eee;
	margin-top: calc( 20 * 2px );
	padding: calc( 18 * 2px ) calc( 20 * 2px );
}
.simulation__result-heading {
	font-weight: 700;
	color: #D35612;
	font-size: calc( 17 * 2px );
	text-align: center;
}
.simulation__result-sub-txt {
	/*color: #fc4b4b;*/
	font-size: calc( 12 * 2px );
	line-height: 1.8;
	margin-top: 1em;
	text-align: center;
}
.simulation__result-txt {
	font-size: calc( 12 * 2px );
	line-height: 1.8;
	margin-top: 1.5em;
	text-align: justify;
}
.simulation__result-btn {
	border: 1px solid #eb5505;
	border-radius: 100px;
	color: #D35612;
	display: block;
	font-size: calc( 16 * 2px );
	margin: calc( 15 * 2px ) auto 0;
	text-align: center;
	width: calc( 250 * 2px );
}
.simulation__result-btn a {
	display: block;
	padding: 0.75em 0;
}
.simulation__result-close {
	border: 1px solid #444;
	border-radius: calc( 20 * 2px );
	color: #444;
	cursor: pointer;
	display: block;
	font-size: calc( 12 * 2px );
	margin: calc( 20 * 2px ) auto 0;
	padding: 0.75em 0;
	text-align: center;
	width: calc( 170 * 2px );
}
.simulation__result--ok .simulation__result-sub-txt {
	font-weight: 700;
	color: #444;
	font-size: calc( 16 / 375* 100vw );
	line-height: 1.5;
}
.simulation__result--ok .simulation__result-sub-txt-price {
	color: #D35612;
	font-size: calc( 40 * 2px );
}
.simulation .simulation-link-btn {
  text-align: center;
  margin: calc( 23 * 2px ) 0 calc( 12.5 * 2px );
}
.simulation .simulation-link-btn a {
  display: inline-block;
  color: #595757;
  font-size: calc( 14 * 2px );
  line-height: calc( 24 * 2px );
  letter-spacing: 0em;
  font-weight: 700;
  text-decoration: underline;
  padding-right: calc( 32 * 2px );
  background: url("../images/catch_arrow.png") right center / calc( 24 * 2px ) auto no-repeat;
}




/* .easyStep */
.easyStep {
}
.easyStep .inner {
	padding: calc( 32 * 2px ) 0 calc( 64 * 2px );
	text-align: center;
}
.easyStep h2 {
	font-size: calc( 32 * 2px );
	line-height: calc( 38 * 2px );
	letter-spacing: 0.02em;
	font-weight: 500;
	box-sizing: border-box;
	margin: 0 auto calc( 32 * 2px );
}
.easyStep h2 img {
  display: block;
  width: calc( 227 * 2px );
  margin: 0 auto calc( 8 * 2px );
}
.easyStep dl {
	position: relative;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
	width: 100%;
	font-size: calc( 16 * 2px );
	line-height: calc( 26 * 2px );
	letter-spacing: 0.02em;
  text-align: left;
	box-sizing: border-box;
	padding: calc( 298 * 2px ) calc( 24 * 2px ) calc( 24 * 2px );
	margin: calc( 34 * 2px ) auto 0;
}
.easyStep dl.step01 {
	background: url("../images/easyStep_img01_sp.png") center calc( 24 * 2px ) / calc( 303 * 2px ) auto no-repeat #FCFDFE;
}
.easyStep dl.step02 {
	background: url("../images/easyStep_img02_sp.png") center calc( 24 * 2px ) / calc( 311 * 2px ) auto no-repeat #FCFDFE;
  padding-top: calc( 260 * 2px );
}
.easyStep dl.step03 {
	background: url("../images/easyStep_img03_sp.png") center calc( 24 * 2px ) / calc( 311 * 2px ) auto no-repeat #FCFDFE;
}
.easyStep dl dt {
	color: #E44A00;
	font-size: calc( 24 * 2px );
	line-height: calc( 29 * 2px );
	letter-spacing: 0.02em;
  text-align: center;
	margin-bottom: calc( 24 * 2px );
}
.easyStep dl span {
  display: block;
  color: #595757;
	font-size: calc( 11 * 2px );
	line-height: calc( 16 * 2px );
	letter-spacing: 0em;
  margin-top: calc( 24 * 2px );
}
.easyStep dl.finish {
	position: relative;
	background: #ED712E;
	width: 100%;
	min-height: auto;
	padding: calc( 25 * 2px ) calc( 15 * 2px ) calc( 30 * 2px );
	display: block;
	text-align: center;
	margin: calc( 50 * 2px ) auto 0;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
}
.easyStep dl.finish dt {
  color: #FCFDFE;
  font-size: calc( 18 * 2px );
  line-height: calc( 22 * 2px );
  letter-spacing: 0.02em;
  font-weight: 700;
}
.easyStep dl.finish dt strong {
  font-size: calc( 24 * 2px );
  line-height: calc( 29 * 2px );
  letter-spacing: 0.02em;
  display: block;
  margin-top: calc( 6 * 2px );;
}
.easyStep dl.finish dd {
	width: calc( 264.5 * 2px );
	margin: calc( 25 * 2px ) auto 0;
}



/* .campaign */
.campaign {
  background: #ED712E;
	margin: 0 auto;
}
.campaign .inner {
  width: calc( 339 * 2px );
  padding: calc( 48 * 2px ) 0 calc( 25 * 2px );
}
.campaign strong {
	color: #eb5505;
}
.campaign h2.ttl {
	position: relative;
	color: #fff;
	font-size: calc( 28 * 2px );
	line-height: calc( 38 * 2px );
	text-align: center;
	font-weight: 700;
	margin: 0 0 calc( 32 * 2px );
	width: 100%;
}
.campaign h2.ttl img {
  display: block;
  width: calc( 251 * 2px );
  margin: 0 auto calc( 8 * 2px );
}
.campaign h2.ttl + p {
  background: #fff;
  padding-bottom: calc( 32 * 2px );
  border-radius: calc( 8 * 2px );
}
.campaign div.flow {
  background: #fff;
  padding: calc( 16 * 2px );
  border-radius: calc( 8 * 2px );
}
.campaign h3 {
	margin: 0 auto calc( 20 * 2px );
}
.campaign dl.flow {
	width: 100%;
	margin: 0 auto;
	background: #f4f4f4;
	border: #f4f4f4 solid calc( 2.5 * 2px );
	border-radius: calc( 7.5 * 2px );
	box-sizing: border-box;
	font-size: calc( 12 * 2px );
	line-height: 1.5;
	letter-spacing: 0.075em;
	overflow: hidden;
}
.campaign dl.flow dt {
	background: #eb5505;
	color: #fff;
	font-size: calc( 15 * 2px );
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	padding: calc( 11.5 * 2px ) 0;
}
.campaign dl.flow dd {
	background: url("../images/campaign_icn01_sp.png") calc( 7.5 * 2px ) center / calc( 45.5 * 2px ) auto no-repeat;
	font-feature-settings: "palt";
	padding: calc( 25 * 2px ) calc( 10 * 2px ) calc( 23 * 2px ) calc( 65 * 2px );
	text-align: left;
}
.campaign dl.flow dd + dd {
	background: url("../images/campaign_icn02_sp.png") calc( 7.5/ 375 * 100vw ) center / calc( 45.5 * 2px ) auto no-repeat;
	border-top: #ccc solid 1px;
}
.campaign-acd {
	margin-top: calc( 30 * 2px );
}
.campaign-acd:first-child {
	margin-top: 0;
}
.campaign .acd__label {
	cursor: pointer;
	position: relative;
  background: #FCFDFE;
	font-weight: 700;
	border-radius: 100px;
	padding: calc( 15.5 * 2px ) 0 calc( 16.5 * 2px );
	text-align: center;
}
.campaign .campaign-acd__label-heading {
	font-size: calc( 14 * 2px );
  line-height: calc( 16 * 2px );
	text-align: center;
}
.campaign-acd__cont {
	padding: calc( 32 * 2px ) 0 0;
}
.campaign-acd__cont dl {
  background: #FCFDFE;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
  margin-bottom: calc( 24 * 2px );
}
.campaign-acd__cont dl dt {
  padding: calc( 13.5 * 2px ) calc( 16 * 2px );
  border-bottom: 1px solid #eee;
  font-weight: 700;
}
.campaign-acd__cont dl dd {
  padding: calc( 13.5 * 2px ) calc( 16 * 2px );

}
.campaign-acd__cont dl dd p + *,
.campaign-acd__cont dl dd ul + p,
.campaign-acd__cont dl dd li + li {
  margin-top: calc( 8 * 2px );
}

/* .campaign01 */
.campaign#campaign01 {
  background: #b0c4de;
	margin: 0 auto calc( 48 * 2px );
}



/* .catch */
.catch {
}
.catch .inner {
	padding: calc( 32 * 2px ) 0;
	text-align: center;
}
.catch h2 {
	font-size: calc( 32 * 2px );
	line-height: calc( 38 * 2px );
	letter-spacing: 0.02em;
	font-weight: 500;
	box-sizing: border-box;
	margin: 0 auto calc( 32 * 2px );
}
.catch h2 img {
  display: block;
  width: calc( 218.5 * 2px );
  margin: 0 auto calc( 16 * 2px );
}
.catch dl {
	position: relative;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
  background: #FCFDFE;
	width: 100%;
  color: #161A1D;
	font-size: calc( 16 * 2px );
	line-height: calc( 26 * 2px );
	letter-spacing: 0.02em;
  text-align: left;
	box-sizing: border-box;
	padding: calc( 24 * 2px );
	margin: calc( 34 * 2px ) auto 0;
}
.catch dl dt {
  color: #D35612;
  font-size: calc( 18 * 2px );
  line-height: calc( 22 * 2px );
  letter-spacing: 0.02em;
  font-weight: 700;
  text-align: center;
  padding-top: calc( 96 * 2px );
}
.catch dl dt strong {
  font-size: calc( 24 * 2px );
  line-height: calc( 29 * 2px );
  letter-spacing: 0.02em;
  display: inline-block;
  margin-top: calc( 8 * 2px );
}
.catch dl.catch01 dt {
	background: url("../images/catch_num01_sp.png") center top / calc( 79 * 2px ) auto no-repeat;
}
.catch dl.catch02 dt {
	background: url("../images/catch_num02_sp.png") center top / calc( 79 * 2px ) auto no-repeat;
}
.catch dl.catch03 dt {
	background: url("../images/catch_num03_sp.png") center top / calc( 79 * 2px ) auto no-repeat;
}
.catch dl dd {
  margin-top: calc( 24 * 2px );
}
.catch dl dd p {
  text-align: center;
  margin: calc( 24 * 2px ) 0 calc( 12.5 * 2px );
}
.catch dl dd p a {
  display: inline-block;
  color: #595757;
  font-size: calc( 14 * 2px );
  line-height: calc( 24 * 2px );
  letter-spacing: 0em;
  font-weight: 700;
  text-decoration: underline;
  padding-right: calc( 32 * 2px );
  background: url("../images/catch_arrow.png") right center / calc( 24 * 2px ) auto no-repeat;
}
.catch dl span {
    display: block;
    color: #595757;
    font-size: calc( 11 * 2px );
    line-height: calc( 16 * 2px );
    letter-spacing: 0em;
    margin-top: calc( 12 * 2px );
}



/* .faq */
.faq {
	margin: calc( 64 * 2px ) auto;
}
.faq h2 {
  width: calc( 344.5 * 2px );
  margin-bottom: calc( 32 * 2px );
}
.faq-acd {
  background: #fff;
  border-radius: calc( 8 * 2px );
  border: 1px solid #eee;
}
.faq-acd.open {
  border: 1px solid #E44A00;
}
.faq-acd+.faq-acd {
	margin-top: calc( 24 * 2px );
}
.faq-acd__label {
	padding: calc( 16 * 2px );
}
.faq-acd__label-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.faq-acd__label-question {
	margin-right: calc( 16 * 2px );
	width: calc( 24.5 * 2px );
}
.faq-acd__label-txt {
	font-size: calc( 16 * 2px );
	line-height: calc( 19 * 2px );
	letter-spacing: 0.02em;
  font-weight: 700;
	width: calc( 232 * 2px );
}
.faq-acd__cont {
  border-top: 1px solid #eee;
	padding: calc( 16 * 2px );
}

.faq-acd__cont-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.faq-acd__cont-answer {
	display: block;
	margin-right: calc( 16 * 2px );
	width: calc( 24.5 * 2px );
}
.faq-acd__cont-txt {
	text-align: justify;
	width: calc( 272 * 2px );
}
.faq-acd__cont-txt-note {
  display: block;
  margin-top: calc( 16 * 2px );
  font-size: calc( 11 * 2px );
  line-height: calc( 16 * 2px );
  letter-spacing: 0.02em;
}
.desc-acd__cont {
	padding-top: 0;
	padding-bottom: calc( 40 * 1px );
}
.desc-acd__cont-requirement,
.desc-acd__cont-product-summary {
    margin-top: calc( 40 * 1px );
}
.desc-acd__cont-table {
	border: 2px solid #eb5505;
	font-size: calc( 24 * 1px );
	margin: 0 auto;
	margin-top: calc( 30 * 1px );
}
.desc-acd__cont-table th,
.desc-acd__cont-table td {
	vertical-align: middle;
}



/* ============================
.terms
============================ */
.desc-acd__cont-table {
	border: 3px solid #eb5505;
	border-collapse: collapse;
	font-size: calc( 24 * 1px );
	line-height: 1.8;
	margin-top: calc( 40 * 1px );
}
.desc-acd__cont-table-row:last-of-type .desc-acd__cont-table-heading,
.desc-acd__cont-table-row:last-of-type .desc-acd__cont-table-data {
	border-bottom: none;
}
.desc-acd__cont-table-heading {
	font-weight: 400;
	background-color: #eb5505;
	border-bottom: 3px solid #ffffff;
	color: #ffffff;
	padding: calc( 30 * 1px ) 0 calc( 30 * 1px ) calc( 30 * 1px );
	width: 34%;
}
.desc-acd__cont-table-data {
	background-color: #ffffff;
	border-bottom: 3px solid #eb5505;
	padding: calc( 30 * 1px );
	text-align: justify;
	width: 66%;
}
.desc-acd__cont-table-data--fz-small {
	font-size: calc( 18 * 1px );
}



/* ============================
.terms
============================ */
.terms .inner {
	padding: calc( 24 * 2px ) 0;
}
.terms h2 {
  font-size: calc( 24 * 2px );
  line-height: calc( 29 * 2px );
  letter-spacing: 0.02em;
  font-weight: 700;
  text-align: center;
  margin-bottom: calc( 32 * 2px );
}
.terms .acd + h2 {
  margin-top: calc( 64 * 2px );
}
.terms .acd__label {
  font-size: calc( 16 * 2px );
  line-height: calc( 19 * 2px );
  letter-spacing: 0.02em;
  font-weight: 700;
  padding: calc( 18.5 * 2px ) calc( 16 * 2px );
  background: #FCFDFE;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
  margin-bottom: calc( 16 * 2px );
}
.terms .acd__label.open {
  border: 1px solid #E44A00;
}
.terms .acd__cont {
  padding-bottom: calc( 16 * 2px );
}
.terms dl {
  background: #FCFDFE;
  border: 1px solid #eee;
  border-radius: calc( 8 * 2px );
  margin-bottom: calc( 16 * 2px );
}
.terms dl dt,
.terms dl dd {
  padding: calc( 16 * 2px );
}
.terms dl dt {
  font-size: calc( 14 * 2px );
  line-height: calc( 17 * 2px );
  letter-spacing: 0.02em;
  font-weight: 700;
  border-bottom: 1px solid #eee;
}
.terms dl dd span.atte {
  display: block;
  font-size: calc( 11 * 2px );
  line-height: calc( 16 * 2px );
  letter-spacing: 0.02em;
  margin-top: calc( 8 * 2px );
}
.terms dl dd ul li {
  position: relative;  
  padding-left: 1.2em;
}
.terms dl dd ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.terms a.terms__banner {
  display: block;
  margin: calc( 32 * 2px ) 0 0;
}
.terms ul.atte {
  font-size: calc( 11 * 2px );
  line-height: calc( 16 * 2px );
  letter-spacing: 0.02em;
}
.terms ul.atte li + li {
  margin-top: calc( 8 * 2px );
}



/* ============================
.cv
============================ */
.cv .btn {
	background: #EB5505;
  box-shadow: 0px 0px 0px 0px rgba(219, 219, 220, 0);
	font-size: 3.5rem;
	min-width: 500px;
	max-width: 500px;
}
.cv .btn::after {
	background: url(../images/cv_btn_arrow.png) no-repeat center center/cover;
	content: "";
	display: block;
	height: 26px;
	position: absolute;
	top: 50%;
	right: 30px;;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 16px;
}
.cv p.atte {
  display: block;
  width: 100%;
  margin: 20px auto 0;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.025em;
  text-align: left;
}



/* ============================
.contact
============================ */
.contact .inner {
  width: 100%;
	background-color: #e1e2e3;
	padding: calc( 24 * 2px ) calc( 16 * 2px );
}
.contact__caution {
  margin-bottom: calc( 24 * 2px );
}
.contact__caution h3 {
	font-size: calc( 14 * 2px );
  line-height: 1;
  font-weight: 700;
	padding-bottom: calc( 8 * 2px );
}
.contact__caution li {
  position: relative;
  padding-left: 1.2em;
}
.contact__caution li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.contact__join-desc {
  position: relative;
  background: #fff;
  border-radius: calc( 8 * 2px );
	padding: calc( 24 * 2px ) calc( 16 * 2px );
  margin: 0 calc( 16 * 2px ) calc( 24 * 2px );
}
.contact__join-desc h3 {
  line-height: 1;
  font-weight: 700;
  margin-bottom: calc( 16 * 2px );
}
.contact__join-desc dt {
  width: calc( 606 / 686 * 100% );
  margin-bottom: calc( 16 * 2px );
}
.contact__association {
  position: relative;
  background: #fff;
  border-radius: calc( 8 * 2px );
	padding: calc( 24 * 2px ) calc( 16 * 2px );
  margin-bottom: calc( 24 * 2px );
}
.contact__association h3 {
  line-height: 1;
  font-weight: 700;
  margin-bottom: calc( 16 * 2px );
}
.contact__association p {
  margin-top: calc( 16 * 2px );
}
.contact__company {
  text-align: center;
  margin-bottom: calc( 16 * 2px );
}
.contact__company dt {
  font-size: calc( 16 * 2px );
  line-height: calc( 26 * 2px );
  margin-bottom: calc( 16 * 2px );
  font-weight: normal;
}
.contact__note {
  text-align: center;
	font-size: calc( 11 * 2px );
}
.acd {
	position: relative;
}
.acd__label {
	cursor: pointer;
	position: relative;
}
.acd__label::before,
.acd__label::after {
	content: "";
	display: block;
  background: #D35612;
  width: calc( 14 * 2px );
	height: calc( 2 * 2px );
  line-height: .1;
	position: absolute;
	right: calc( 27.5 * 2px );
	top: 50%;
}
.acd__label::after {
  transform: rotate(-90deg);
  transition: all 0.3s ease;
}
.acd__label.open::after {
  transform: rotate(0deg);
}
.campaign .acd__label::before,
.campaign .acd__label::after {
	content: "";
	display: block;
  background: #D35612;
  width: calc( 14 * 2px );
	height: calc( 2 * 2px );
  line-height: .1;
	position: absolute;
	right: calc( 27.5 * 2px );
	top: 50%;
}
.acd__cont {
	cursor: default;
	display: none;
}



/* ============================
.footer
============================ */
.footer {
	background-color: #666;
}
.footer__copyright {
	color: #ccc;
	font-size: calc( 11 * 2px );
	line-height: calc( 16.5 * 2px );
	padding: calc( 15 / 375 * 100% ) 0;
	text-align: center;
}



/* ============================
default style
============================ */
fieldset {
	border: none;
}
input.focused:invalid {
	border: 1px solid #E44A00;
	-webkit-box-shadow: 0 0 4px 0 #E44A00;
	box-shadow: 0 0 4px 0 #E44A00;
}
input.focused:invalid:focus {
	-webkit-box-shadow: 0 0 4px 0 #E44A00;
	box-shadow: 0 0 4px 0 #E44A00;
}
.disp .sim_blank,
.sim_check,
button:disabled {
	display: none;
}
.disp .sim_check {
	display: block;
}
.js #result {
	display: none;
}
.js .noResult .resultText {
	display: none;
}
.js .noResult .resultTitle {
	display: none;
}
.js .resultOk #checkOk {
	display: block !important;
}
.js .resultOk #checkNg {
	display: none !important;
}
.js .resultNg #checkNg {
	display: block !important;
}
.js .resultNg #checkOk {
	display: none !important;
}
.js #modalresult {
	display: none;
}
.js .modalresultOk #modalcheckOk {
	display: block !important;
}
.js .modalresultOk #modalcheckNg {
	display: none !important;
}
.js .modalresultNg #modalcheckNg {
	display: block !important;
}
.js .modalresultNg #modalcheckOk {
	display: none !important;
}
.txt_aR {
	text-align: right;
}

/*------------- FORM validation */
/* Z-INDEX */
.formError {
	z-index: 990;
}
.formError .formErrorContent {
	z-index: 991;
}
.formError .formErrorArrow {
	z-index: 996;
}
.ui-dialog .formError {
	z-index: 5000;
}
.ui-dialog .formError .formErrorContent {
	z-index: 5001;
}
.ui-dialog .formError .formErrorArrow {
	z-index: 5006;
}
.inputContainer {
	position: relative;
	float: left;
}
.formError {
	position: absolute;
	top: 300px;
	left: 300px;
	display: block;
	cursor: pointer;
	text-align: left;
}
.formError.inline {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
}
.ajaxSubmit {
	padding: 20px;
	background: #55ea55;
	border: 1px solid #999;
	display: none;
}
.formError .formErrorContent {
	width: 100%;
	background: #ee0101;
	position: relative;
	color: #fff;
	width: 100px;
	font-size: 11px;
	border: 2px solid #ddd;
	box-shadow: 0 0 6px #000;
	-moz-box-shadow: 0 0 6px #000;
	-webkit-box-shadow: 0 0 6px #000;
	-o-box-shadow: 0 0 6px #000;
	padding: 4px 10px 4px 10px;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
}
.formError.inline .formErrorContent {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	border: none;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
}
.greenPopup .formErrorContent {
	background: #33be40;
}
.blackPopup .formErrorContent {
	background: #393939;
	color: #FFF;
}
.formError .formErrorArrow {
	width: 15px;
	margin: -2px 0 0 13px;
	position: relative;
}
body[dir=rtl] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
	margin: -2px 13px 0 0;
}
.formError .formErrorArrowBottom {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	margin: 0px 0 0 12px;
	top: 2px;
}
.formError .formErrorArrow div {
	border-left: 2px solid #ddd;
	border-right: 2px solid #ddd;
	box-shadow: 0 2px 3px #444;
	-moz-box-shadow: 0 2px 3px #444;
	-webkit-box-shadow: 0 2px 3px #444;
	-o-box-shadow: 0 2px 3px #444;
	font-size: 0px;
	height: 1px;
	background: #ee0101;
	margin: 0 auto;
	line-height: 0;
	font-size: 0;
	display: block;
}
.formError .formErrorArrowBottom div {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
}
.greenPopup .formErrorArrow div {
	background: #33be40;
}
.blackPopup .formErrorArrow div {
	background: #393939;
	color: #FFF;
}
.formError .formErrorArrow .line10 {
	width: 13px;
	border: none;
}
.formError .formErrorArrow .line9 {
	width: 11px;
	border: none;
}
.formError .formErrorArrow .line8 {
	width: 11px;
}
.formError .formErrorArrow .line7 {
	width: 9px;
}
.formError .formErrorArrow .line6 {
	width: 7px;
}
.formError .formErrorArrow .line5 {
	width: 5px;
}
.formError .formErrorArrow .line4 {
	width: 3px;
}
.formError .formErrorArrow .line3 {
	width: 1px;
	border-left: 2px solid #ddd;
	border-right: 2px solid #ddd;
	border-bottom: 0 solid #ddd;
}
.formError .formErrorArrow .line2 {
	width: 3px;
	border: none;
	background: #ddd;
}
.formError .formErrorArrow .line1 {
	width: 1px;
	border: none;
	background: #ddd;
}
body.fixed {
	height: 100%;
	position: fixed;
	width: 100%;
}



/* .fixedBtn */
.floatCv {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 10000;
	background-color: rgba(255, 255, 255, .85);
	box-shadow: 0px 0 0 0px rgba(0, 0, 0, .1);
	padding: calc( 8 * 2px ) 0;
  backdrop-filter: blur( 3px );
}
.floatCv.cv .btn {
	box-shadow: 0 0 0 0;
}
.floatCv.cv .btns {
  display: flex;
  justify-content: center;
  color: #595757;
  font-size: calc( 11 * 2px );
  line-height: calc( 16 * 2px );
  letter-spacing: 0em;
  font-weight: 700;
  text-align: center;
}
.floatCv .btns dl.btn02 {
  margin-left: calc( 16 * 2px );
}
.floatCv .btns dt {
  margin-bottom: calc( 8 * 2px );
}
.floatCv .btns dd a {
  border: 1px solid #D35612;
  border-radius: 1000px;
  background: #fff;
  width: calc( 170 * 2px );
  padding: calc( 3.5 * 2px ) 0 calc( 4.5 * 2px ) calc( 4 * 2px );
  box-sizing: border-box;
  position: relative;
  color: #D35612;
  font-size: calc( 14 * 2px );
  line-height: .1;
  letter-spacing: 0em;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}

.floatCv .btns dl.btn02 dd a {
  color: #fff;
  border: 1px solid #EB5505;
  background: #EB5505;
}
.floatCv .btns dd a::after {
  content: "";
  display: inline-block;
  background: url("../images/simulation_arrow.png") center center / 100% auto no-repeat;
  width: calc( 24 * 2px );
  height: calc( 24 * 2px );
  vertical-align: middle;
  margin-left: 0;
  line-height: .1;
}
.floatCv .btns dl.btn02 dd a::after {
  background: url("../images/arrow_white.png") left top / 100% auto no-repeat;
}

/* .popup */
.popup {
	height: 100vh;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 20000;
	display: none;
}
.popup .popup__cover {
	background-color: rgba(0, 0, 0, 0.85);
	height: 100vh;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 21000;
	cursor: pointer;
}
.popup .popup__wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100vh;
	width: 100%;
}
.popup .popup__inner {
	width: calc( 650 * 1px );
	box-sizing: border-box;
	border-radius: calc( 10 * 1px );
	background: #fff;
	margin: auto;
	max-height: 90vh;
	z-index: 22000;
	position: relative;
}
.popup .popup__cntWrap {
	width: calc( 650 * 1px );
	box-sizing: border-box;
	border-radius: calc( 10 * 1px );
	padding: calc( 40 * 1px );
	margin: auto;
	max-height: 90vh;
	overflow-y: auto;
}
.popup .popup__close {
	position: absolute;
	right: 0;
	top: calc( -60 * 1px );
	cursor: pointer;
	width: calc( 43 * 1px );
	height: calc( 43 * 1px );
}
.popup #conditionality .desc-acd__cont-table {
	font-size: calc( 24 * 1px );
	line-height: calc( 40 * 1px );
}
.popup #conditionality .desc-acd__cont-table th,
.popup #conditionality .desc-acd__cont-table td {
	padding: calc( 17 * 1px );
	vertical-align: middle;
}
.popup #conditionality h2 {
	font-size: calc( 24 * 1px );
	line-height: calc( 40 * 1px );
	letter-spacing: 0.075em;
	text-align: center;
	padding-bottom: calc( 5 * 1px );
}
.popup #conditionality div.popup__btn-close {
	font-size: calc( 26 * 1px );
	line-height: 1;
	letter-spacing: 0.075em;
	text-align: center;
	border: #333 solid 1px;
	padding: calc( 14 * 1px ) 0;
	width: calc( 280 * 1px );
	margin: calc( 40 * 1px ) auto 0;
	border-radius: calc( 100 * 1px );
	cursor: pointer;
}


/* for Pc */
body {
  width: 750px;
  margin: 0 auto;
}
.fv h1 {
  /*margin: 0 -105px;*/
}




