@charset "UTF-8";

@media screen and (max-width: 767px) {
	/*-------------------------------------------
	layout
	-------------------------------------------*/
	#wrap {
		transform: none !important; /* fixed対策 */
	}
	@media screen and (max-width: 320px) {
		header[role="banner"] .headerInner .logoWrap.simpleToggleResona {
			width: 120px;
		}
	}
	.headerInner > .headerTop > .simHeaderBtn01 {
		top: 16px;
		right: 10px;
		font-size: 1.0rem;
	}
	.headerInner > .headerTop > .simHeaderBtn01 > a {
		padding: 4px !important;
	}
	.headerInner > .headerTop > .simHeaderBtn01 > a > span {
		padding: 0 20px !important;
	}
	.headerInner > .headerTop > .simHeaderBtn01 > a > span::before {
		left: 10px;
	}
	.headerInner > .headerTop > .simHeaderBtn01 > a > span::after {
		right: 10px;
	}
	.loanSimulator {
		display: block;
	}
	.simulationResultBlock01 {
		position: relative;
		bottom: 0;
	}


	/*-------------------------------------------
	parts
	-------------------------------------------*/
	/* full column */
	#mainArea .coverTitle + .v3_fullColumnB01 {
		margin-top: 0;
	}
	.v3_fullColumnA01:not(:first-child) {
		padding-left: 10px;
		padding-right: 10px;
	}

	/* column */
	.simSpColumn01 {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		padding-top: 0;
	}

	/* tab */
	.simModalTablist.tabList > ul > li > div > a {
		padding: 4px 10px 2px;
	}
	.simComparison .tabList [role="tablist"] [role="tab"] > a br {
		display: block;
	}
	.simSaveDate01 {
		font-size: 1.2rem;
	}
	.simOrder01 {
		width: 18px;
		height: 18px;
		border-radius: 18px;
		line-height: 18px;
		font-size: 1.3rem;
	}

	/* table */
	.v4-glyphScroll01.column1 {
		display: none;
	}
	.simComparisonTable {
		overflow-x: auto;
		/*width: calc(100% + 10px);*/
	}
	.simComparisonTable.column1 {
		overflow-x: visible;
		width: 100%;
	}
	.simComparisonTable tr .simTableNoBorder {
		border-left: 1px solid #e1e1e1;
	}
	.simComparisonTable tr .simTableColChild {
		border-right: 1px solid #e1e1e1;
	}
	.simComparisonTable.column1 .w22p {
		width: 38% !important;
	}
	.simComparisonTable.column2 .w22p {
		width: 33% !important;
	}
	.simComparisonTable::-webkit-scrollbar {
		width: auto;
		height: 15px;
	}
	.simComparisonTable::-webkit-scrollbar-track {
		background: #dedede;
		border-radius: 10px;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		-ms-border-radius: 10px;
		-o-border-radius: 10px;
		border-radius: 10px;
	}
	.simComparisonTable::-webkit-scrollbar-thumb {
		background: #0c3bbc;
		border: solid 3px #dedede;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		-ms-border-radius: 10px;
		-o-border-radius: 10px;
		border-radius: 10px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.simComparisonTable .simTable {
		/*min-width: 360px;*/
		border-left: 0;
		border-collapse: separate;
		border-spacing: 0;
		font-size: 0.75em;
	}
	.column1 .simTable {
		min-width: 0;
	}
	.column2 .simTable {
		min-width: 337px
	}
	.simTable .sticyCell01 {
		z-index: 1;
		position: -webkit-sticky;
		position: sticky;
		left: 0;
		padding-right: 5px;
		padding-left: 5px;
		border-left: 1px solid #e1e1e1;
	}

	/* btn */
	.btnSimT02,
	.btnSimT03,
	.btnSimT04 {
		padding: 5px 0 7px;
		border-radius: 20px;
		font-size: 0.875em;
	}
	.btnSimPcMulti {
		line-height: inherit;
	}
	.v3-boxModal .v3-itemModal .btnSimT01 > span {
		font-size: 1.0em;
	}
	.v3-boxModal .v3-itemModal .btnSimT01 > span::before,
	.btnSimT02 > span::before,
	.btnSimT03 > span::before,
	.btnSimT04 > span::before {
		margin-top: -7px;
	}

	/* simulationResultBlock01 */
	.simulationResultBlock01 > .inner {
		z-index: 100;
		position: fixed;
		width: 100%;
		margin: 40px -10px 0;
		padding: 0 18px 15px;
		border-radius: 0;
		bottom: -200px;
		transition: bottom 1.0s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.simulationResultBlock01 > .inner.hide {
		bottom: -200px;
	}
	.simulationResultBlock01 > .inner.catHide {
		bottom: 0;
	}
	.simulationResultBlock01 > .inner.catShow {
		bottom: 0;
	}
	.simulationResultBlock01 > .inner.focusHide {
		bottom: -200px !important;
	}
	.simulationResultBlock01 > .inner::before {
		content: '';
		display: block;
		position: absolute;
		top: -40px;
		left: 110px;
		width: 50px;
		height: 46px;
		background: none;
		/*background-size: 50px 46px;*/
	}
	.simulationResultBlock01 > .inner.hide::before {
		background: url(/kojin/jutaku/simulation/karikae/images/ico_nya01.png) 0 0 no-repeat;
		background-size: 50px 46px;
	}
	.simulationResultBlock01 > .inner.fixed::before {
		background: url(/kojin/jutaku/simulation/karikae/images/ico_nya03.png) 0 0 no-repeat;
		background-size: 50px 46px;
	}
	.simulationResultBlock01 > .inner::after {
		content: '';
		display: block;
		position: absolute;
		top: -30px;
		left: 85px;
		width: 40px;
		height: 30px;
		background: url(/kojin/jutaku/simulation/karikae/images/ico_tail01.png) 0 0 no-repeat;
		background-size: 40px 30px;
	}
	.simulationResultBlock01 .resultHead {
		margin: 15px 0 -5px;
		padding-bottom: 0;
		border-bottom: 0;
		font-size: 0.875em;
		text-align: left;
	}

	.resultContent {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.resultTotalBlock01 {
		width: 100%;
	}
	.resultTotalBlock01 {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-bottom: 4px;
		border-width: 1px;
	}
	.resultTotalBlock01 dd {
		display: flex;
		align-items: center;
	}
	.resultTotalBlock01 .resultMainNum {
		margin-right: 4px;
		font-size: 0.875em;
	}
	.resultTotalBlock01 .resultSubNum {
		font-size: 0.875em;
	}

	.resultTotalBlock01 dt,
	.resultAnnualBlock01 dt,
	.resultMainBlock01 dt {
		font-size: 0.75em;
	}

	.resultAnnualBlock01,
	.resultMainBlock01 {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		margin-top: 0;
		padding: 2px 0;
	}
	.resultMainBlock01 {
		padding-top: 6px;
	}
	.resultMainBlock01 .resultMainNum,
	.resultAnnualBlock01 .resultMainNum,
	.resultMainBlock01 .resultSubNum,
	.resultAnnualBlock01 .resultSubNum {
		display: inline-block;
		font-size: 0.875em;
	}
	.resultMainBlock01 dt,
	.resultAnnualBlock01 dt {
		display: table-cell;
	}
	.resultMainBlock01 dd,
	.resultAnnualBlock01 dd {
		display: table-cell;
	}

	/* simulationResultButton */
	.simulationResultButton {
		margin-top: -15px;
		padding-top: 10px;
	}
	.simulationResultButton li {
		margin-top: 10px;
	}
	.simulationResultButton .spColumnA2 > *:nth-child(odd) {
		padding-right: 2%;
	}
	.simulationResultButton .spColumnA2 > *:nth-child(even) {
		padding-left: 2%;
	}

	/* simSettingButtonArea01 */
	.simSettingButtonArea01 {
		width: 100%;
		margin: 0 0 30px;
	}
	.simSettingButtonArea01 > .button {
		width: auto;
		min-width: 120px;
		padding: 15px 0;
		border-radius: 0 10px 10px 0;
		font-size: 1.0em;
		line-height: 1.4;
	}
	.simSettingButtonArea01 > .button > span {
		margin-left: -10px;
		font-size: 0.875em;
	}
	.simSettingButtonArea01 > .description {
		width: 100%;
		padding: 0 20px;
		border-radius: 10px 0 0 10px;
		font-size: 0.875em;
		line-height: 1.4;
	}

	/*-------------------------------------------
	modal
	-------------------------------------------*/
	.simModalWrap.comparison {
		overflow-x: visible;
		padding: 0;
	}
	.simAgreement {
		padding: 0 10px;
	}
	.simComparison .simulationConversion01 {
		padding-left: 0;
		padding-right: 0;
	}
	.simSaveText01 {
		top: -30px;
		margin: 0;
		padding: 10px;
	}

	/*-------------------------------------------
	form Setting
	-------------------------------------------*/
	.simFiledset01 .inputNum > input {
		width: 5em;
	}
	/* bonus */
	.simBonusNum {
		justify-content: flex-end;
	}
	.simBonusNum .bonusPct {
		margin-right: 20px;
		padding: 8px 14px;
		font-size: 0.875em;
		line-height: 1.2;
	}
	.simBonusNum .bonusPct > dl {
		display: block;
		width: 100%;
	}
	.simBonusNum .bonusPct > dl > dt,
	.simBonusNum .bonusPct > dl > dd {
		display: block;
	}
	.simBonusNum .bonusPct > dl > dt::after {
		display: none;
	}
	.simBonusNum .bonusPct > dl > dd {
		color: #0c3bbc;
	}
	.simBonusNum .bonusPct > dl > dd .bonusPctNum {
		min-width: 1.5em;
		width: auto;
		text-align: left;
	}
	.simFiledset01 .simBonusNum .inputNum {
		margin-bottom: 0;
	}

	/* tooltip */
	.simTooltip01 {
		width: 16em;
		margin-left: -3.6em;
		font-size: 0.875em;
	}
	.simBonusNum .simTooltip01{
		margin-left: -9.5em;
	}


	.simulationForm .simulationGroup01 {
		margin-top: 55px;
	}
	.simulationForm .simulationGroup01:first-child {
		margin-top: 0;
	}
	.simulationForm .simulationGroup01 .simlationGroupHead01 {
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-bottom: solid 1px #e1e1e1;
		color: #0c3bbc;
		font-size: 2.2rem;
		font-weight: bold;
		text-align: center;
	}
	.simulationForm .simFiledset01:last-child {
		border-bottom: 0;
	}
	.simulationForm .simFiledset01:last-of-type > dl {
		border-bottom: solid 1px #e1e1e1;
	}
	.simFiledset01 > dl {
		display: block;
		width: auto;
		margin: 0 0 20px;
		padding-bottom: 35px;
		border-top: 0;
		border-bottom: solid 1px #e1e1e1;
	}
	.simFiledset01 .simFiledset01Inner {
		padding: 0 30px 40px;
	}
	.simFiledset01 .legend {
		display: block;
		width: auto;
		padding: 0;
	}
	.simFiledset01 .simFiledset01Inner {
		display: block;
		width: auto;
		padding: 0 10px;
		border-left: 0;
	}

	/* simPlanList01 */
	.simPlanBlock01 {
		margin: 20px 0 0;
	}
	.simPlanList01 {
		margin-bottom: 30px;
		font-size: 1.0em;
	}
	.simPlanBlock01 .simPlanButton01 {
		margin-top: 0;
	}
	.planRadioList01 input + label > .planApplyWrap {
		min-width: 65px;
	}

	/* simulationMvBlock */
	.simulationMvBlock01 > .columnInner {
		padding: 30px 0 0;
		min-height: 95px;
		background: url(/kojin/jutaku/simulation/karikae/images/shinki_bg_01.png) no-repeat left 10px top -38px;
		background-size: 219px 196px;
	}
	.simulationMvBlock01 .simulationTabBlock01 {
		left: 50%;
		margin-left: -47%;
		width: 94%;
	}
	.simulationMvBlock01 .simulationTabBlock01 .simulationTabList > li > * {
		padding: 9px 5px;
		width: 100%;
	}
	.simulationMvBlock01 .simulationTabBlock01 .simulationTabList > li > span,
	.simulationMvBlock01 .simulationTabBlock01 .simulationTabList > li > [aria-selected="true"] {
		padding: 12px 5px;
	}
	.simulationMvBlock01.jsItemClose01 .title {
		padding: 0 39px;
	}

	/* simulationConversion */
	.v3-boxModal.fullColumnModal01 .fullColumnModalInner01 {
		margin: 0 10px;
	}
	.simulationConversion01.v3_fullColumnA01:not(:first-child) {
		margin-top: 68px;
	}
	.simulationConversion01 .columnInner::before {
		top: -32px;
		left: 0;
		height: 32px;
		background-size: cover;
	}

	.simComparison .simulationConversion01 {
		margin-left: 0;
		margin-right: 0;
	}

	/* simulationCarousel */
	.simulationCarousel01 .v3-cardblockA01 {
		width: 100%;
	}
	.simulationCarousel01 .v3-cardblockA01 > .v3-blockInner {
		padding-top: 40px;
	}
	.simulationCarousel01 .carouselList > li,
	.simulationCarousel01 .bx-viewport .carouselList > li a {
		width: 100%;
	}
	.simulationCarousel01.autoControls .bx-controls {
		padding: 12px 80px 12px 40px;
	}
	.simulationCarousel01.autoControls .bx-prev::before {
		left: 10px;
	}
	.simulationCarousel01.autoControls .bx-next::after {
		right: 50px;
	}
	.simulationCarousel01.autoControls .bx-controls-auto {
		right: 8px;
	}
	.simulationCarousel01.autoControls .bx-start::before {
		right: -.3em;
	}

	/* notes */
	.attentionBlock01.jsAccTitle > .blockInner > .blockTitle {
		padding: 25px 24px;
	}

	/*-------------------------------------------

	/kojin/jutaku/help/consultation.html

	-------------------------------------------*/
	.consultation_layout01 .text01.glyphLamp01 > span::before {
		margin-top: -16px;
	}
	.consultation_layout01 .text02 {
		font-size: 1em;
	}
	.v2-listMarkCheck02.text02 *[class*="glyphCheck"] > span {
		padding-left: 2em;
	}
	.v2-listMarkCheck02.text02 *[class*="glyphCheck"] > span:before {
		top: -4px;
		font-size: 28px;
	}
}
