html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, input, textarea {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
a {
	color: inherit;
	text-decoration: none;
}
ol, ul {
	list-style: none;
}
img {
    height: auto;
    max-width: 100%;
    vertical-align: top;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
}
html {
    scroll-behavior: smooth;
}
@font-face {
    font-family: 'Yu Mincho';
    src: url('../fonts/YuMincho-Demibold.eot');
    src: url('../fonts/YuMincho-Demibold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/YuMincho-Demibold.woff2') format('woff2'),
        url('../fonts/YuMincho-Demibold.woff') format('woff'),
        url('../fonts/YuMincho-Demibold.ttf') format('truetype'),
        url('../fonts/YuMincho-Demibold.svg#YuMincho-Demibold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Meiryo';
    src: url('../fonts/Meiryo-Bold.eot');
    src: url('../fonts/Meiryo-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Meiryo-Bold.woff2') format('woff2'),
        url('../fonts/Meiryo-Bold.woff') format('woff'),
        url('../fonts/Meiryo-Bold.ttf') format('truetype'),
        url('../fonts/Meiryo-Bold.svg#Meiryo-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
body {
    font-family: 'Yu Mincho', sans-serif;
    font-weight: 600;
    font-style: normal;
	font-size: 1rem;
	color: #111111;
}
section {
    padding: 70px 0;
}
.footer__inner, .header__outer, .inner {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
}
.box-shadow {
    box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .15);
}
.highlight {
	background: linear-gradient(transparent 70%, yellow 70%);
}
.vertical-text {
	writing-mode: vertical-rl;
	text-orientation: upright;
    line-height: 1;
    letter-spacing: 0;
    display: inline-flex;
    margin-bottom: 5px;
}
.color-red {
	color: #cc0033;
}
.bg-pink {
	background: #fdf1f3;
}
.bg-white {
    background: #fff;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.hyperlink {
    color: #2436e0;
    text-decoration: underline;
}
.hidden {
    display: none;
}
.line {
    background: url(../img/line.png) repeat-x center;
    height: 3px;
    width: 100%;
    margin: 70px 0;
}
.italic {
	font-style: italic !important;
}
.text-center {
    text-align: center !important;
}
.text-right {
    text-align: right !important;
}
.text-left {
    text-align: left !important;
}
.align-middle {
    vertical-align: middle !important;
}
h2 {
	font-size: 1.875rem;
}
h2.title {
	font-size: 1.875rem;
    text-align: center;
	margin-bottom: 3rem;
}
h2.bg {
	background: #fdf1f3;
	padding: 29px 0;
}
.fs-24 {
	font-size: 1.5rem;
}
.fs-30 {
	font-size: 1.875rem;
}
.header {
    background: #fff;
    box-sizing: border-box;
    position: fixed;
    width: 100%;
    z-index: 99;
}
.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.header__inner--title {
    padding: 10px 0;
}
.header__inner--title>a {
    display: block;
    width: 146px;
}
.header__inner--description {
    margin-bottom: 10px;
	font-size: 13px;
}
.js-scroll .header {
    border-bottom: 5px solid #cc0033;
}
.fv {
    background: url(../img/bg-fv-pc.jpg) no-repeat center / cover;
    min-height: 29.583vw;
    display: flex;
    align-items: center;
}
.fv__row--1 {
    background: url(../img/shadow-1.png) no-repeat center;
    font-size: 28px;
    color: #111;
    text-align: center;
    display: inline-block;
    min-width: 524px;
    line-height: 1;
    padding: 6px 0;
    box-sizing: border-box;
}
.fv__row--2 {
    text-shadow: 3px 2px 0 rgba(45, 45, 42, 0.55);
    font-size: 36px;
    color: #fff;
    margin: 1.5rem 0;
}
.fv__row--3 {
    display: flex;
    align-items: center;
}
.fv__box {
    background: rgba(255,255,255,.7);
    border-bottom: 5px solid rgba(45,45,42,.7);
    padding: 0.75rem 1rem 0.25rem;
    display: inline-block;
    font-size: 18px;
    text-align: center;
    line-height: 1.4;
    margin: 0 1rem 1rem 0;
    min-height: 155px;
    box-sizing: border-box;
}
.fv__box small {
    font-size: 12px;
}
.fv__text--1 {
    font-size: 2.5rem;
}
.fv__text--1 small {
    font-size: 22px;
}
.fv__text--2 {
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
    display: inline-block;
}
.fv__text--3 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    line-height: 1;
    margin-top: 0.5rem;
}
.fv__text--3 .vertical-text {
    margin-bottom: 0;
}
.fv__text--3 small {
    font-size: 16px;
    display: inline-block;
}
.footer {
    background: #fdf2f4;
    padding: 40px 0 0;
}
.footer__inner--mark {
    background: #fff;
    padding: 30px 30px 20px;
}
.footer__mark--pmark>a {
    display: table;
    text-decoration: none;
    width: 100%;
    color: #111;
}
.footer__mark--pmark>a>figure {
    height: 95px;
	width: 95px;
}
.footer__mark--pmark>a>p {
    word-break: keep-all;	
	line-height: 1.4rem;
	padding-left: 25px;
}
.footer__mark--fsa>div {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    margin: 10px 0;
}
.footer__mark--fsa>div>figure {
    height: 41px;
	width: 41px;
}
.footer__mark--fsa>div>p {
	padding-left: 10px;
}
.footer__mark--fsa>*>figure, .footer__mark--fsa>*>p, .footer__mark--pmark>*>figure, .footer__mark--pmark>*>p {
    display: table-cell;
    vertical-align: middle;
}
.footer__mark--pmark>a>p, .footer__mark--fsa>div>p, .footer__mark--fsa p {
    font-size: 12px;
}
.footer__mark--cap {
    border: 1px solid #000;   
	margin-top: 30px;
	padding: 5px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
}
.footer__inner--other {
    margin: .6944444444vw auto 0;
}
.footer__other--link>li a {
    text-decoration: none;
    padding: 15px;
    display: block;
    color: #111;
    text-align: center;
    font-size: 12px;
}
.footer__other--link>li a:hover {
    text-decoration: underline;
}
.footer__other--copyrights {
    font-size: 12px;
    padding-bottom: 15px;
    text-align: center;
    display: block;
}
/*#goTopBtn {
    position: fixed;
    right: 1rem;
    bottom: 7rem;
    border: 2px solid #cc0033;
    border-radius: 50px;
    width: 45px;
    height: 45px;
    background: #fff url(../img/up.png) no-repeat center;
    cursor: pointer;
}*/
#contents {
    padding-top: 80px;
}
.cta {    
    margin: 0 0 40px;
}
.cta:first-child:last-child {
    margin: 0;
}
.cta p {
	font-size: 1.125rem;
    text-align: center;
}
.cta__button {
	margin: 1rem auto 0;
	max-width: 392px;
    padding: 14px 0;    
    text-decoration: none;
    display: block;
	border-radius: 50px;
    font-family: 'Meiryo', sans-serif;
    font-weight: bold;
    font-style: normal;
    font-size: 1.375rem;
}
.cta__button--red {
    background-color: #cc0033;
    border: 2px solid #cc0033;    
    color: #fff;
    transition: color .3s ease, background-color .3s ease;
}
.cta__button--red:hover {
    background-color: #fff;
	color: #cc0033;
}
.cta__button--red.is-note, .cta__button--red.is-user {
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta__button--red.is-note:before, .cta__button--red.is-user:before {    
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    width: 26px;
    height: 31px;
    margin-right: 0.875rem; 
}
.cta__button--red.is-note:before {
    background-image: url(../img/note.png);
}
.cta__button--red.is-user:before {
    background-image: url(../img/user.png);
}
.cta__button--red.is-note:hover:before {
    background-image: url(../img/note_red.png);
}
.cta__button--red.is-user:hover:before {
    background-image: url(../img/user_red.png);
}
.accordion__item {
    margin: 2rem 0;
	background: #fdf1f3;
}
.accordion__item:first-child:last-child {
    margin: 0;
}
.accordion__item:last-child {
    margin-bottom: 0;
}
.bg-white .accordion__item, .bg-white .accordion__item--a {
    background: #fff;
}
.accordion__item--q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    cursor: pointer;
    margin: 0 2rem;
	font-size: 1.5625rem;
    position: relative;
}
.accordion__item--q:after {
    display: block;
    content: "";
    border: 2px solid #cb0033;
    border-radius: 50px;
    width: 45px;
    height: 45px;
    transition: transform 0.3s ease;
	text-align: center;
    box-sizing: border-box;
    background: #fff url(../img/down-red.png) no-repeat center;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.accordion__item--q > span {
    display: inline-block;
    flex: 1;
}
.accordion__item--a {
    background: url(../img/line.png) repeat-x top center;
    max-height: 0;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
    margin: 0 2rem;
    font-size: 1.25rem;
    position: relative;
}
.accordion__item input[type="checkbox"] {
    display: none;
}
.accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after {
    background: #fff url(../img/minus.png) no-repeat center;
    transform: translateY(-50%) rotate(180deg);
}
.accordion__item input[type="checkbox"]:checked ~ .accordion__item--q + .accordion__item--a {
    max-height: inherit;
    padding: 2rem 0;
}
table.table-border th, table.table-border td {
    border: 1px solid #111;
    background: #fff;
    padding: 0.5rem 1rem;
}
table.vertical-border td, table.vertical-border th, table.horizontal-border td, table.horizontal-border th {
    border: 1px solid #111;
	padding: 3rem;	
}
table.vertical-border th {
    width: 32%;
    font-size: 1.5625rem;
}
table.vertical-border td {
    font-size: 1.25rem;
}
table.horizontal-border {
	width: 100%;
	margin: 40px auto;
	background: #fff;
}
table.horizontal-border td, table.horizontal-border th {
	padding: 10px 1rem;
	border: 1px solid #111;
	font-size: 1.125rem;
	text-align: center;
}
table.horizontal-border th {
	background: #fdf1f3;
}
.loan-simulation {	
    border: 2px solid #cc0033;
    padding: 15px 0 12px;
    max-width: 594px;
    margin: 60px auto 0;
	position: relative;
	text-align: center;
}
.loan-simulation:after {
    display: block;
    content: "";
	background: url(../img/next.png) no-repeat center;
    position: absolute;
    right: 23px;
    top: 50%;
    transform: translateY(-50%);
	width: 38px;
	height: 26px;
}
.loan-simulation .text-1 {
	font-size: 1.375rem;
	position: relative;
	display: inline-block;
}
.loan-simulation .text-1:after {
	display: block;
	content: "";
	position: absolute;
	bottom: -5px;
	width: 100%;
	height: 3px;
    background: #f4e608;
}
.loan-simulation .text-2 {
	margin: 12px 0 0;
    font-size: 1.875rem;
}
.loan-simulation a{
	color: #111;
}
.recommended, .docomo-finance-benefits {
	margin: 70px 0;
    padding: 40px 0;
	background: linear-gradient(0deg, rgba(210, 210, 210, 0.45) 0, rgba(238, 238, 238, 0.45) 50%, rgba(190, 190, 190, 0.45) 100%);
}
.list-recommended li:after {
	display: block;
    content: "";
    margin: 1rem auto 0;
    background: url(../img/shadow.png) no-repeat center;
    width: 253px;
    height: 9px;
}
.recommended--wrap {
	width: 253px;
	height: 253px;
    margin: 0 auto;
    background: url(../img/circle.png) no-repeat center;
	display: flex;
    align-items: center;
    justify-content: center;
}
.recommended--wrap p {
	font-size: 2.5rem;
	text-align: center;
    line-height: 1.2;
}
.recommended--wrap .text-1 {
	font-size: 1.5625rem;
	display: inline-block;
}
.recommended--wrap .text-2 {
	font-size: 3rem;
}
.recommended--wrap .text-3 {
	font-size: 4rem;
}
.overview {
	border: 2px solid #cc0033;
	padding: 48px 72px;
	background: #fff;
	font-size: 1.5rem;
    text-align: center;
}
.overview .subtitle {
	margin-bottom: 28px;
}
.overview .big-text {
	font-size: 72px;
    margin: 0 5px -5px 1px;
    line-height: 1;
}
.overview .condition {
	padding: 48px 72px;
	margin-top: 64px;
	font-size: 20px;
	text-align: left;
}
.overview .condition p {
	margin-bottom: 1rem;
}
.overview .condition p small {
    font-size: 0.9375rem;
}
.overview .condition li:not(:last-child) {
	margin-bottom: 40px;
}
.renew__merit, .renew__merit2 {
	margin-top: 3rem;
}
.renew__merit--root {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 40px;
}
.renew__merit--root .box-l, .renew__merit--root .box-r {
	padding: 20px;
	border-radius: 2rem;
}
.renew__merit--root .box-l {
	background-color: #fdf1f3;
    text-align: center;
    max-width: 310px;
    width: 100%;
}
.renew__merit--root .box-l img {
	margin: 12px auto;
}
.renew__merit--root .box-l dl {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.renew__merit--root .arrow {
	margin: 0 35px;
}
.renew__merit--root .box-r {
	max-width: 510px;
	border: 1px solid #cc0033;
	font-size: 1.5625rem;
}
.renew__merit--root .box-r .big-text {
	font-size: 40px;
}
.renew__merit--root .box-r small {
	font-size: 1.125rem;
}
.renew__merit2 .text-1, .renew__merit2 .text-2 {
    margin: 3rem 0;    
    text-align: center;
}
.renew__merit2 .text-1 {
    font-size: 1.5625rem;
}
.renew__merit2 .text-2 {
    font-size: 1.0625rem;
}
.renew__merit2 .accordion__item--q p {
    font-size: 1.875rem;
    text-align: center;
	flex: 1;
}
.renew__merit2 .accordion__item--a {
    text-align: center;
}
.renew__merit2 .accordion__item--a p {
    margin: 40px 0;
    font-size: 1.25rem;
}
#faq .accordion__item--q:before {
    display: block;
    content: "Q　";
}
#faq .accordion__item--q:after {
    background: #fff url(../img/down-red.png) no-repeat center;
}
#faq  .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after {
    background: #fff url(../img/minus.png) no-repeat center;
}
#faq .accordion__item--a {
	display: flex;
    font-size: 1.5625rem;
}
#faq .accordion__item--a:before {
    display: block;
    content: "A　";
}
.list-benefits {
	margin: 70px 0;
}
.list-benefits li {
    font-size: 1.5625rem;
    text-align: center;
}
.list-benefits small {
    font-size: 1.125rem;
}
.list-loan li {
    padding: 1rem 1.5625rem;
	background: #fdf1f3;
	font-size: 18px;
    box-sizing: border-box;
}
.list-loan .list__item--number {
    background: url(../img/icon.png) no-repeat center;
    color: #fff;
    width: 58px;
    height: 56px;
    display: block;
    margin: 0 auto 1rem;
    line-height: 56px;
	font-weight: bold;
	text-align: center;
	font-size: 42px;
}
.list-loan .list__item--text {
    color: #ce093a;
    min-height: 90px;
	font-weight: bold;
	text-align: center;
	font-size: 30px;
}
.list-loan .list__item--img {
    margin: 0 0 1rem;
    min-height: 111px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.docomo-monthly-rates {
    border: 2px solid #585858;
    border-bottom-width: 7px;
    max-width: 890px;
    margin: 0 auto;
    padding: 0.9375rem;
	font-size: 18px;
	text-align: center;
}
.docomo-monthly-rates .title {
	margin-bottom: 0;
}
.docomo-monthly-rates .rate {
	font-size: 3rem;
    font-weight: bold;
}
.docomo-monthly-rates .rate span {
	font-size: 36px;
}
.field-head {
    background: #f5f5f5;
    text-align: center;
	margin-right: 18px;
	display: flex;
    align-items: center;
    justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 231px;
	height: 74px;
    font-size: 1.25rem;
}
.field-body {
    flex: 1;
}
.field-body-wrap {
    align-items: center;
    display: flex;
}
.form-input-text, .form-select {
    background: #fff;
    border: 2px solid #ababab;
    border-radius: 10px;
    padding: 5px 10px;	
	height: 74px;
	box-sizing: border-box;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
}
.form-input-text {
    width: calc(100% - 55px);
}
.form-input-text:-ms-input-placeholder, .form-input-text::-webkit-input-placeholder, .form-input-text::-moz-placeholder, .form-input-text::-ms-input-placeholder, .form-input-text::placeholder {
    color: #111;
}
.form-input-text:focus, .form-select:focus {
    outline: none
}
.form-select {
    appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding: 10px 40px 10px 12px;
	background-image: url(../img/down.png);
	background-repeat: no-repeat;
	background-position: right 12px center;
	cursor: pointer;
    width: 100%;
}
.form-select::-ms-expand {
	display: none;
}
.field {
    display: flex;
    align-items: flex-start;
}
.field-body-wrap span {
    display: inline-block;
    padding-left: 5px;
    font-size: 1.5625rem;
}
.form-error {
    color: #cc0033;
    display: none;
    margin: 10px 0 0;
}
.is-error .form-error {
    display: block;
}
.is-error .form-input-text,.is-error .form-select {
    background-color: #fdecec;
    border-color: #cc0033;
}
.sim__input--btn {
	margin: 0 auto;
	max-width: 350px;
	text-align: center;
}
.sim__input--btn a {
    border: 3px solid #cc0033;
    border-radius: 50px;
    display: block;
	padding: 12px;
	text-decoration: none;
	color: #cc0033;
	text-align: center;
	font-weight: bold;
	font-size: 22px;
}
.sim__input--btn a:hover {
	background: #cc0033;
	color: #fff;
}
.simulation-merit .js-result {
    margin: 38px auto 0;
    padding: 26px 0 18px;
    background: #edf0f2;
}
.sim__result--panel--l dl {    
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
	align-items: center;
	padding: 10px;
}
.sim__result--panel--l dl:last-child {
    border-bottom: none;
}
.sim__result--panel--l dl dd span {
    display: inline-block;
    padding-left: .15em;
	font-size: 28px;
}
.sim__result--panel--l dl dd strong {
	font-size: 42px;
	color: #cc0033;
}
.sim__result--panel--r .box-1 {
    background-color: #fff;
    border: 1px solid #ccc;
}
.sim__result--panel--r .box-1 dl, .sim__result--panel--r .box-2 dl {
    align-items: center;
    display: flex;
    justify-content: space-between;
    line-height: 2;
}
.sim__result--panel--r .box-1 dl.last {
    border-top: 1px solid #000;
    margin-top: 10px;
    padding-top: 10px;
}
.sim__result--panel--r .box-2 {
    background-color: #fdf2f4;
    border: 1px solid #d80a30;
}
.sim__result--panel--r .box-2 dl dd,.sim__result--panel--r .box-2 dl dt {
    color: #d80a30;
}
.sim__result--panel--r .box-2 p {
    color: #000;
    margin-bottom: .25em;
}
.sim__result--panel--hikaku {
    background-color: rgba(3,53,104,.1);
    display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2%;
	padding: 40px 20px;
}
.sim__result--panel--hikaku--r dd span {
    display: inline-block;
    padding-left: .15em;
	font-size: 26px;
}
.sim__result--panel--hikaku--r dd span.is-reverse {
    padding-left: 0;
    padding-right: .15em
}
.sim__result--panel--hikaku--r dd strong {
    display: inline-block;
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
	font-size: 48px;
	color: #cc0033;
}
.sim__result--panel--l dl dt, .sim__result--panel--r .box-1 dl.last dd,.sim__result--panel--r .box-1 dl.last dt,.sim__result--panel--r .box-1 p, .sim__result--panel--r .box-2 p, .sim__result--panel--hikaku--l p, .sim__result--panel--hikaku--r dt {
	font-weight: bold;
}
.sim__result--panel--r .box-1 dl dd, .sim__result--panel--r .box-2 dl dd {
	text-align: right;
}
.sim__result--panel--r .box-1, .sim__result--panel--r .box-2 {
	padding: 40px 60px;
}
.sim__result--panel--l dl dt, .sim__result--panel--hikaku--l p,.sim__result--panel--r .box-1 dl.last dd,.sim__result--panel--r .box-1 dl.last dt,.sim__result--panel--r .box-1 p,.sim__result--panel--r .box-2 dl dd,.sim__result--panel--r .box-2 dl dt,.sim__result--panel--r .box-2 p {
	font-size: 18px;
}
.sim__result--panel--hikaku--r dt {
    font-size: 1.25rem;
}
.sim__result--panel--l {
    background-color: #fff;
    padding: 30px 10px;
}
.overlay {
    background: rgba(59,59,59,.9);
    padding: 10px 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}
.overlay.active {
    opacity: 1;
    visibility: visible;
}
.overlay .cta {
    margin: 0;
}
.overlay .cta p {
    color: #fff;
}
.overlay .cta__button {
    margin: 5px auto 0;
    padding: 10px 0;
    font-size: 1.25rem;
    max-width: 339px;
    text-align: center;
}
#product-overview .accordion__item--q h2.title {
    display: block;
    flex: 1;
}
#product-overview .accordion__item--a {
    background: #fff;
    margin: 0;
    padding: 0 2rem;
}
#product-overview .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q + .accordion__item--a {
    padding: 2rem;
}
.section01 {
    margin: 40px auto 70px;
}
#simulationField .accordion-menu {
    margin: 70px 0;
}
#intro .number {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
}
.simulation-possible .section01 {
    margin-bottom: 0;
}
.simulation-possible .fv {
    background: url(../img/bg-fv-news-pc.jpg) no-repeat center / cover;
    min-height: 33.583vw;
}
.simulation-possible .fv__row--1 {
    background: url(../img/shadow-2.png) no-repeat center;
    min-width: 274px;
}
.simulation-possible .fv__row--2 {
    text-shadow: 0 0 5px #FFF, 0 0 10px #FFF, 0 0 15px #FFF, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #fff, 0 0 55px #fff, 0 0 75px #fff, 3px 2px 24px rgba(255, 255, 255, 0.98);
    color: #111;
    line-height: 1.4;
    margin: 1rem 0;
}
.simulation-possible .fv__text--2 {
    margin-bottom: 0;
}
.simulation-possible .fv__text--3 {
    text-align: left;
    align-items: flex-end;
    margin: 0;
}
.simulation-possible .fv__text--3 small {
    margin-left: 0.5rem;
}
.simulation-possible .fv__text--3 span {
    margin-bottom: -10px;
}
.simulation-possible .fv__text--3 .label {
    margin: 0 0.25rem -7px 0;
}
.simulation-possible .fv__box {
    min-height: inherit;
    padding: 0.75rem 1rem 1rem;
    border: none;
}
.simulation-possible .recommended {
    background: none;
    margin: -100px 0 0;
    padding: 0;
}
.simulation-possible .recommended h2.title {
    font-size: 40px;
    line-height: 1;
    background: #cc0033;
    color: #fff;
    padding: 7px 0;
    margin-bottom: 1rem;
}
.list-recommended__item {
    border: 1px solid#818181;
    border-bottom: 5px solid #2d2d2a;
    background: #fff;
    text-align: center;
    font-size: 18px;
    padding: 0.5rem;
    line-height: 1.4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}
.list-recommended__item--more {
    text-align: right;
    font-size: 13px;
    background: url(../img/arrow-next.png) no-repeat right center;
    padding-right: 0.5rem;
}
.list-recommended__text {
    font-size: 30px;
    line-height: 1.2;
}
.simulation-possible .docomo-monthly-rates .note {
    max-width: 60%;
    margin: 0 auto;
    text-align: left;
}
#product .accordion__item {
    border-top: 3px solid #cc0033;
    margin: 0;
    background: #fff;
}
#product .accordion__item:last-child {
    border-bottom: 3px solid #cc0033;
}
#product .accordion__item--q {
    background: #fff;
    margin: 0;
    padding: 1rem 2rem;
}
#product .accordion__item--q:after {
    border: none;
    border-radius: 0;
    background: #fff url(../img/plus.png) no-repeat center;
}
#product .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after {
    background: #fff url(../img/minus.png) no-repeat center;
    transform: translateY(-50%) rotate(180deg);
}
#product .accordion__item--a {
    background: #fdf1f3;
    margin: 0;
}
#product .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q + .accordion__item--a {
    margin: 0 0 1rem;
    padding: 2rem;
}
.simulation-possible h3.title {
    font-size: 25px;
    text-align: center;
    margin-top: 3rem;
}
.sim__rate {
    border: 2px solid #cc0033;
    padding: 48px;
    background: #fff;
    font-size: 1.5625rem;
    text-align: center;
}
.sim__rate .accordion__item--q p {
    font-size: 1.875rem;
    text-align: center;
    flex: 1;
}
.sim__rate .accordion__item {
    background: #fff;
}
.sim__rate .accordion__item--q, .sim__rate .accordion__item--a {
    margin: 0;
}
.sim__rate--box {
    margin-top: 2rem;
}
.sim__rate--purchase-title, .sim__rate--guarantee-title {
    background: #fdf1f3;
    font-size: 25px;
    padding: 10px;
}
.sim__rate--purchase .boxs, .sim__rate--guarantee .box {
    margin-top: 4rem;
    text-align: center;
}
.sim__rate--purchase .boxs {
    display: flex;    
}
.sim__rate--purchase .box-l, .sim__rate--purchase .box-r {
    width: 50%;
}
.sim__rate--result .sub {
    line-height: 1.3;
    font-size: 25px;
}
.sim__rate--result .data {
    margin-top: 4rem;
}
.sim__rate--result .data dt {
    font-size: 25px;
}
.sim__rate--result .data dd {
    font-size: 35px;
}
.sim__rate--result .data dd strong {
    font-size: 3rem;
}
#simulationField {
    padding-bottom: 0;
}
#simulationResult:not(.hidden){
    margin-top: 70px;
}
.sim__result--box .js-result-error {
    color: #d80a30;
    display: none;
    text-align: center;
    font-size: 14px;
    margin-top: 0.5rem;
}
.form-input-text.js-result-total {
    font-size: 42px;
    font-weight: bold;
    color: #c30;
    justify-content: flex-end;
}
.modal {
    display: none;
    background: #fff;
    padding: 12px;
    width: 750px;
}
.modal .wrap {
    border: 1px solid #c30;
    padding: 1rem;
    text-align: center;
    min-height: 196px;
    box-sizing: border-box;
}
.modal__title {
    font-size: 30px;
    line-height: 1.2;
    margin: 0.5rem 0 1.5rem;
}
.fancybox-slide--html .fancybox-close-small {
    color: #c30;
    right: 1rem;
    top: 1rem;
}
@media only screen and (min-width: 768px) {
	.sp {
		display: none !important
	}
	.footer__mark {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}
	.footer__mark>li {
		width: 50%;
	}
	.footer__other--link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		text-align: center;
	}
	.sim__input--main {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}
	.sim__result--panel {
		display: flex;
		justify-content: space-between;
	}
    .field.full-row {
        grid-column: 1 / -1; /* Trải dài từ cột 1 đến hết */
    }
	.sim__result--panel--l {
		width: 48%;
	}
	.sim__result--panel--r {
		display: flex;
		flex-direction: column;
		width: 48%;
	}
    .list-recommended, .list-benefits, .list-loan {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem 3.645831vw;
    }
    .accordion__item--q > span {
        padding-right: 4rem;
    }
    .sim__rate--box {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 1rem;
    }
    .sim__result--box .field-head {
        max-width: 454px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .fv {
        padding: 20px 0;
    }
    .simulation-merit .list-recommended, .list-benefits, .list-loan {
        grid-template-columns: repeat(auto-fit, minmax(253px, 1fr));
    }
    .simulation-merit .list-recommended li:nth-child(3), .list-benefits li:nth-child(3) {
        grid-column: 1 / -1;
        justify-self: center;
    }
    .overview, .overview .condition {
        padding: 24px 36px;
    }
    .accordion__item--q {
        font-size: 1.25rem;
        margin: 0 1rem;
    }
    .accordion__item--q:after {
        width: 2rem;
        height: 2rem;
    }
    .accordion__item--q:after, .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after {
        background-size: 50% auto;
    }
    .sim__input--main {
        grid-template-columns: 1fr;
    }
    .footer__other--link>li a {
        padding: 15px 0;
    }
    .renew__merit--root .box-r {
        font-size: 1.25rem;
    }
    .renew__merit--root .arrow {
        margin: 0 1rem;
        width: 50px;
    }
    .renew__merit--root .box-l {
        max-width: 285px;
    }
    .renew__merit--root .box-r .big-text {
        font-size: 36px;
    }
    .sim__rate {
        padding: 1rem;
    }
    .simulation-possible .docomo-monthly-rates .note {
        max-width: inherit;
    }
    .simulation-possible .fv {
        min-height: 63.583vw;
    }
}
@media only screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
    .footer__inner, .header__outer, .inner {
        padding-left: 10px;
        padding-right: 10px;
    }
    .fv {
        background: #ccc url(../img/bg-fv-sp.jpg) no-repeat center / cover;
        min-height: 121%;
    }
    .fv .inner {
        padding-top: 2rem;
    }
    .fv__row--1 {
        font-size: 19px;
        background: url(../img/shadow-1-sp.png) no-repeat center / 100% auto;
        min-width: inherit;
        padding: 12px;
    }
    .fv__row--2 {
        font-size: 27px;
        margin: 1rem 0;
    }
    .fv__row--3 {
        flex-direction: column-reverse;
        align-items: flex-start;
    }
    .fv__text--2 {
        font-size: 18px;
    }
    .fv__box {
        font-size: 15px;
        min-height: inherit;
    }
    .cta p {
        font-size: 13px;
    }
    .cta__button {
        font-size: 1.25rem;
    }
    .loan-simulation .text-1 {
        font-size: 1rem;
    }
    .loan-simulation .text-2 {
        font-size: 1.4375rem;
    }
    h2.title {
        font-size: 1.5625rem;
    }
    .list-recommended, .list-benefits, .list-loan {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .recommended--wrap {
        width: 171px;
        height: 171px;
        background-size: cover;
        margin: 0 auto;
    }
    .recommended--wrap p {
        font-size: 1.75rem;
    }
    .list-recommended li:after {
        width: 171px;
        background-size: 100% auto;
        margin: 1rem auto 0;
    }
    .recommended--wrap .text-1, .fs-24 {
        font-size: 1.0625rem;
    }
    .recommended--wrap .text-2 {
        font-size: 2.1875rem;
    }
    .recommended--wrap .text-3 {
        font-size: 2.875rem;
    }
    .fs-30 {
        font-size: 1.375rem;
    }
    .list-recommended li {
        margin-bottom: 20px;
        width: calc((100% - 10px)/2);
    }
    .list-recommended li:first-child {
        width: 100%;
    }
    .list-recommended li:nth-of-type(2) {
        order: 2;
        margin-left: 10px;
    }
    .overview, .overview .condition {
        padding: 10px 15px;
        font-size: 1rem;
    }
    .overview .subtitle {
        font-size: 1.25rem;
    }
    .overview .big-text {
        font-size: 2.25rem;
    }
    table.horizontal-border td, table.horizontal-border th {
        font-size: 12px;
        padding: 10px 5px;
        vertical-align: middle;
    }
    .overview .condition {
        margin-top: 2rem;
    }
    .renew__merit--root {
        flex-direction: column;
        margin-bottom: 20px;
    }
    .renew__merit--root .arrow {
        margin: 15px auto;
    }
    .renew__merit--root .arrow img {
        transform: rotate(90deg);
        width: 80px;
    }
    .renew__merit--root .box-r {
        font-size: 1.125rem;
    }
    .renew__merit--root .box-r small {
        font-size: 0.875rem;
    }
    .renew__merit--root .box-r .big-text {
        font-size: 1.875rem;
    }
    .renew__merit--root .box-l, .renew__merit--root .box-r {
        padding: 10px;
        border-radius: 1rem;
    }
    .renew__merit2 .text-1 {
        font-size: 1.25rem;
    }
    .renew__merit2 .text-2 {
        font-size: 1.0625rem;
        text-align: left;
    }
    .renew__merit2 .accordion__item--q p {
        font-size: 1.25rem;
    }
    .renew__merit2 .accordion__item--a p {
        margin: 20px 0;
        font-size: 1rem;
    }
    .accordion__item:last-child {
        margin-bottom: 0;
    }
    .accordion__item--q {
        font-size: 1.0625rem;
        margin: 0 1rem;
    }
    .accordion__item--q:after {
        width: 28px;
        height: 28px;
    }
    .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after, #faq .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after {
        background-size: 15px auto;
    }
    .accordion__item--a {
        margin: 0 1rem;
        font-size: 1.0625rem;
    }
    h2 {
        font-size: 1.5625rem;
    }
    #faq h2 {
        text-align: center;
    }
    .accordion__item--q > span {
        padding-right: 2.5rem;
    }
    #faq .accordion__item--q, #faq .accordion__item--a {
        font-size: 1rem;
    }
    #faq .accordion__item--q:after, .accordion__item--q:after {
        background-size: 11px auto;
    }
    .cta__button--red.is-user:before, .cta__button--red.is-note:before {
        background-size: 24px auto;
    }
    .list-benefits {
        margin: 35px 0;
    }
    .list-benefits li {
        font-size: 1.0625rem;
        margin: 0 10px 20px;
        width: calc((100% - 40px) / 2);
    }
    .list__item--img {
        margin-bottom: 10px;
    }
    .list-benefits li img {
        width: 120px;
    }
    .list-benefits small {
        font-size: 0.75rem;
    }
    .list-loan li {
        width: calc((100% - 10px)/2);
        margin: 0 0 20px 10px;
        font-size: 1rem;
        padding: 1rem;
    }
    .list-loan li:nth-of-type(2n+1){
        margin-left: 0;
    }
    .list-loan .list__item--text {
        min-height: 56px;
        font-size: 1.0625rem;
    }
    .list-loan .list__item--img {
        min-height: inherit;
        margin: 10px 0;
    }
    .list-loan .list__item--img img {
        height: 62px;
        width: auto;
    }
    .list-loan .list__item--number {
        background-size: cover;
        width: 33px;
        height: 32px;
        line-height: 32px;
        font-size: 1.5625rem;
    }
    .docomo-monthly-rates {
        font-size: 1rem;
    }
    .docomo-monthly-rates .rate {
        font-size: 2.8125rem;
    }
    .docomo-monthly-rates .rate span {
        font-size: 2rem;
    }
    .field-head {
        font-size: 1.0625rem;
        max-width: 160px;
        height: 65px;
        margin-right: 10px;
    }
    .form-input-text, .form-select {        
        height: 65px;
        font-size: 1.0625rem;
    }
    .form-input-text {
        width: calc(100% - 40px);
    }
    .field-body-wrap span {
        font-size: 1rem;
    }
    .field {
		margin-bottom: 1rem;
	}
    table.table-border {
        margin: 1rem 0 0;
    }
    table.table-border th, table.table-border td {
        font-size: 12px;
        padding: 0.5rem;
    }    
    .sim__result--panel--l dl {
        padding: 10px 0;
    }
    .sim__result--panel--l dl dt, .sim__result--panel--hikaku--l p, .sim__result--panel--r .box-1 dl.last dd, .sim__result--panel--r .box-1 dl.last dt, .sim__result--panel--r .box-1 p, .sim__result--panel--r .box-2 dl dd, .sim__result--panel--r .box-2 dl dt, .sim__result--panel--r .box-2 p {
        font-size: 0.875rem;
    }
    .sim__result--panel--l dl dd strong {
        font-size: 1.5rem;
    }
    .sim__result--panel--l dl dd span {
        font-size: 1rem;
    }
    .sim__result--panel--l, .sim__result--panel--r .box-1, .sim__result--panel--r .box-2 {
        padding: 20px;
        margin-bottom: 20px;
    }
    .sim__result--panel--hikaku {
        padding: 20px;
        flex-direction: column;
    }
    .sim__result--panel--hikaku--r {
        text-align: center;
    }
    .sim__result--panel--hikaku--r dt {
        font-size: 0.875rem;
    }
    .sim__result--panel--hikaku--r dd span {
        font-size: 1rem;
    }
    .sim__result--panel--hikaku--r dd strong {
        font-size: 1.75rem;
        -webkit-transform: translateY(2px);
        transform: translateY(2px);
    }
    table.vertical-border th, table.vertical-border td{
        font-size: 0.9375rem;
        padding: 1rem;
    }
    .footer {
        padding: 20px 0 0;
    }
    .footer__inner--mark {
        padding: 12px;
    }
    .footer__mark--pmark>a>figure {
        height: auto;
        width: 18.75vw;
    }
    .footer__mark>li+li {
        margin-top: 10px;
    }
    .footer__mark--fsa p {
        line-height: 1.65;
    }
    .footer__mark--fsa>div>figure {
        height: auto;
        width: 7.03125vw;
    }
    .footer__mark--cap {
        margin-top: 10px;
        padding: 10px;
        font-size: 12px;
        text-align: left;
    }
    .footer__other--link {
        padding: 1rem 0;
    }
    .footer__other--link>li a {
        text-align: left;
        padding: 5px 10px;
    }
    .footer__other--copyrights  {
        padding-bottom: 0;
    }
    /*#goTopBtn {
        width: 28px;
        height: 28px;
        background-size: 11px auto;
    }*/
    .header__inner--title>a {
        width: 78px;
    }
    .header__inner--description {
        font-size: 0.5625rem;
    }
    .loan-simulation:after {
        right: 0;
        top: 45%;
        background-size: 22px auto;
    }
    .overview .condition p small {
        font-size: 0.75rem;
    }
    .overview .condition .accordion__item--q, .renew__merit2 .text-2 small {
        font-size: 0.9375rem;
    }
    p.note, .docomo-monthly-rates small {
        font-size: 0.6875rem;
    }
    #product-overview .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q + .accordion__item--a {
        padding: 2rem 0;
    }
    #intro .number {
        display: block;
        margin-top: 1rem;
        font-size: 14px;
    }
    #intro .number img {
        width: auto;
        height: 37px;
    }
    .vertical-text {
        font-style: normal !important;
        margin-bottom: 0;
    }
    .simulation-possible .docomo-monthly-rates .note {
        max-width: 100%;
    }
    #product .accordion__item--q {
        padding-left: 0;
    }
    #product .accordion__item--q:after, #product .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q:after {
        background-size: 11px auto;
    }
    #product .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q + .accordion__item--a {
        padding: 1rem;
    }
    .sim__rate {
        padding: 10px 15px;
        font-size: 1rem;
    }
    .simulation-possible h3.title, .sim__rate--purchase-title, .sim__rate--guarantee-title, .sim__rate--result .sub, .sim__rate--result .data dt {
        font-size: 1rem;
    }
    .sim__rate--purchase .boxs, .sim__rate--guarantee .box, .sim__rate--result .data {
        margin: 2rem 0 1rem;
    }
    .sim__rate--result .data dd {
        font-size: 1.25rem;
    }
    .sim__rate--result .data dd strong {
        font-size: 1.5rem;
    }
    .sim__rate--box {
        margin-top: 0;
    }
    .sim__rate .accordion__item input[type="checkbox"]:checked ~ .accordion__item--q + .accordion__item--a {
        padding-bottom: 0;
    }
    .field.sp-block {
        display: block;
    }
    .sp-block .field-head {
        margin-right: 0;
        margin-bottom: 10px;
    }
    .simulation-possible .fv .inner {
        padding-top: 1rem;
    }
    .simulation-possible .fv {
        background: #ccc url(../img/bg-fv-news-sp.jpg) no-repeat center / cover;
        min-height: 126%;
    }
    .simulation-possible .fv__row--1 {
        background: url(../img/shadow-2-sp.png) no-repeat center;
        min-width: 188px;
    }
    .simulation-possible .fv__text--3 {
        font-size: 30px;
    }
    .simulation-possible .fv__text--3 small {
        font-size: 12px;
        margin-left: 0.25rem;
    }
    .simulation-possible .fv__box {
        padding: 0.375rem 0.5rem 0.5rem;
        font-size: 13px;
        text-align: left;
    }
    .simulation-possible .fv__row--first {
        text-align: center;
        display: inline-block;
        margin-bottom: 5px;
    }
    .simulation-possible .recommended {
        margin: 0;
    }
    .simulation-possible .recommended h2.title {
        font-size: 30px;
        padding: 10px 0;
    }
    .list-recommended__item {
        width: 48%;
        box-sizing: border-box;
        margin-bottom: 1rem;
        font-size: 0.75rem;
    }
    .list-recommended__item:nth-of-type(2){
        margin-left: 2%;
    }
    .list-recommended__text {
        font-size: 1rem;
        margin: 5px 0;
        min-height: 38px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .list-recommended__item--more {
        font-size: 0.625rem;
    }
    .simulation-possible .fv__text--3 span {
        margin-bottom: -5px;
    }
    .form-input-text.js-result-total {
        font-size: 24px;
    }
}
