@charset "UTF-8";
/*! /css/common.css */

/* font
========================================================================== */
html {
	font-size: 62.5%;
}

body {
	color: #333333;
	font: 1.6rem/1.6 "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	line-height: 1.5;
	min-width: 320px;
}
@media only screen and (max-width: 767px) {
	body {
		font-size: 1.4rem;
	}
}
@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	}
}

*, *::before, *::after {
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1.6;
}

sup {
	position: relative;
	vertical-align: top;
	top: 1px;
	font-size: 1.2rem;
}
br {
	line-height: 0;
}


/* common
========================================================================== */
.hover:hover {opacity: 0.6;}
@media only screen and (max-width: 767px) {
	.hover:hover {opacity: 1;}
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	border: none;
}

/* コンテンツの表示非表示 */
@media screen and (max-width: 767px) {
	.pc-show { display: none!important;}
	.sp-hide { display: none!important;}
}
@media screen and (min-width: 768px) {
	.pc-hide { display: none!important;}
	.sp-show { display: none!important;}
}


/* リストマーク
========================================================================== */
.maru, .maru-nijyu, .shikaku, .kome, .ast,
.maru1, .maru2, .maru3, .maru4, .dot, .arrow {
	position: relative;
	padding-left: 1.1em;
}
.kome1, .kome2, .kome3, .kome4, .kome5, .kome6, .kome7,
.kako1, .kako2, .ast1, .ast2, .ast3, .ast4 {
	position: relative;
	padding-left: 2.2em;
}
.tyu, .kako-ast {
	position: relative;
	padding-left: 2.6em;
}
.source, .tyu1, .tyu2, .tyu3, .tyu4, .tyu5,
.bracket-ast1, .bracket-ast2, .bracket-ast3, .bracket-ast4,
.bracket-ast5, .bracket-ast6, .bracket-ast7, .bracket-ast8, .bracket-ast9 {
	position: relative;
	padding-left: 3.2em;
}
.bracket-ast10 {
	position: relative;
	padding-left: 3.6em;
}
.bracket {
	position: relative;
	padding-left: 2em;
}

.maru:before, .maru-nijyu:before, .shikaku:before,
.kome:before, .kome2:before, .kome3:before, .kome4:before, .kome1:before, .kome5:before, .kome6:before, .kome7:before,
.ast:before, .ast1:before, .ast2:before, .ast3:before, .ast4:before,
.maru1:before, .maru2:before, .maru3:before, .maru4:before,
.kako1:before, .kako2:before, .dot:before, .source:before, .tyu:before, .kako-ast:before,
.bracket-ast1:before, .bracket-ast2:before, .bracket-ast3:before, .bracket-ast4:before, .bracket-ast5:before,
.bracket-ast6:before, .bracket-ast7:before, .bracket-ast8:before, .bracket-ast9:before, .bracket-ast10:before,
.tyu1:before, .tyu2:before, .tyu3:before, .tyu4:before, .tyu5:before,
.arrow:before, .bracket:before {
	position: absolute;
	display: block;
	left: 0;
	font-size: inherit;
}

.maru:before {
	content: '●';
	font-family: "メイリオ", Meiryo;
}
.maru-nijyu:before {
	content: '◎';
	font-family: "メイリオ", Meiryo;
}
.shikaku:before {
	content: '■';
	font-family: "メイリオ", Meiryo;
	color: #ea5121;
}
.kome:before {content: '※';}
.kome1:before {content: '※1';}
.kome2:before {content: '※2';}
.kome3:before {content: '※3';}
.kome4:before {content: '※4';}
.kome5:before {content: '※5';}
.kome6:before {content: '※6';}
.kome7:before {content: '※7';}
.ast:before {content: '＊';}
.ast1:before {content: '＊1';}
.ast2:before {content: '＊2';}
.ast3:before {content: '＊3';}
.ast4:before {content: '＊4';}
.kako-ast:before {content: '（＊）';}
.bracket-ast1:before {content: '（*1）';}
.bracket-ast2:before {content: '（*2）';}
.bracket-ast3:before {content: '（*3）';}
.bracket-ast4:before {content: '（*4）';}
.bracket-ast5:before {content: '（*5）';}
.bracket-ast6:before {content: '（*6）';}
.bracket-ast7:before {content: '（*7）';}
.bracket-ast8:before {content: '（*8）';}
.bracket-ast9:before {content: '（*9）';}
.bracket-ast10:before {content: '（*10）';}
.maru1:before {content: '\002460'}
.maru2:before {content: '\002461';}
.maru3:before {content: '\002462';}
.maru4:before {content: '\002463';}
.kako1:before {content: '（1）';}
.kako2:before {content: '（2）';}
.dot:before {content: '・';}
.source:before {content: '出典：';}
.tyu:before {content: '〔注〕';}
.tyu1:before {content: '（注1）';}
.tyu2:before {content: '（注2）';}
.tyu3:before {content: '（注3）';}
.tyu4:before {content: '（注4）';}
.tyu5:before {content: '（注5）';}
.arrow:before {
	content: '▲';
	font-family: "メイリオ", Meiryo;
	transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}


/* セクション
========================================================================== */
.block-sec:not(:last-child) {margin-bottom: 30px;}
@media screen and (min-width: 768px) {
	.block-sec:not(:last-child) {margin-bottom: 50px;}
}

.elm-section {margin-bottom: 20px!important;}
.elm-section-m {margin-bottom: 25px!important;}
.elm-section-l {margin-bottom: 30px!important;}
@media screen and (min-width: 768px) {
	.elm-section-l {margin-bottom: 40px!important;}
}


/* 余白
========================================================================== */
.mt0 {margin-top: 0 !important;}
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt70 {margin-top: 70px !important;}

.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb40 {margin-bottom: 40px !important;}

.pt0 {padding-top: 0 !important;}

.wid30 {width: 30%;}
.wid20 {width: 20%;}
.wid80 {width: 80%;}


/* inner
========================================================================== */
.header {
	width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}

.main-column, .product-column {
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	.product-column, .main-area__box, .header {
		width: 100%;
	}
}


/* header
========================================================================== */
header {
	position: relative;
	width: 100%;
	background-color: #fff;
}
.header {
	padding: 10px 0;
}

.header__aflac {
	display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.header__aflac > p {
	color: #666;
	font-size: 1.2rem;
	text-indent: -0.5em;
	margin-left: 20px;
}

.header__logo {
	display: block;
	width: 180px;
}

@media screen and (min-width:768px) {
	.header {
		position: relative;
		display: flex;
		display: -webkit-box;
		display: -webkit-flex;
		align-items: center;
		justify-content: space-between;
		padding: 10px 40px;
	}
	.header__ifc-tel .btn-tel a {
		display: flex;
		align-items: center;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1;
		text-decoration: none;
		padding: 11px 15px 10px;
		border-radius: 5px;
		box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 2px 0;
	}
	.header__ifc-tel .btn-tel a img {
		width: auto;
		height: 22px;
		margin-right: 8px;
	}
	.btn-tel a {
		color: #0095D5;
		background-color: #fff;
		border: 1px solid #0095D5;
	}
}

@media only screen and (max-width: 767px) {
	header {
		position: relative;
		z-index: 100;
	}
	.header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 2%;
		margin: 8px 0;
		width: 100%;
	}
	.header__logo {
		width: 100px;
		height: auto;
	}
	.header__aflac > p {
		color: #0095D5;
		font-size: 1.0rem;
		margin-left: 8px;
	}
	.header__ifc-tel .btn-tel {
		display: none;
	}
}

.nav-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #0b0b0b;
	opacity: 0.2;
	z-index: 900;
	cursor: pointer;
}

.header__sp-btn,
.sp-nav {
	display: none;
}
@media only screen and (max-width: 767px) {
	.header__sp-btn {
		display: flex;
		flex-direction: row;
	}
	.sp-menu-btn {
		display: block;
		width: 35px;
		height: 35px;
		background: url(/img/icon/icon_menu.svg) no-repeat center center;
		background-size: 35px 35px;
	}
	.btn-close {
		background: url(/img/icon/icon_menu_close.svg) no-repeat center center;
		background-size: 35px 35px;
	}

	.sp-tel-btn {
		display: block;
		width: 35px;
		height: 35px;
		background: url(/img/icon/icon_tel.svg) no-repeat center center;
		background-size: 35px 35px;
		margin-right: 5px;
	}

	.sp-nav {
		position: absolute;
		z-index: 1000;
		background: #fff;
		display: none;
		width: 100%;
	}
	.sp-nav__ttl {
		padding: 5px 10px;
		background: #0095D5;
		color: #fff;
		font-weight: bold;
		font-size: 1.4rem;
		position: relative;
	}
	.sp-nav__ttl span {
		display: block;
	}
	.sp-nav__close {
		padding: 10px;
		background: #e6f5fa;
		color: #0095D5;
		text-align: center;
		font-weight: bold;
		font-size: 1.6rem;
		position: relative;
		border-top: 1px solid #0095D5;
	}
	.sp-nav__close :before {
		content: "";
		width: 20px;
		height: 20px;
		margin-right: 2em;
		background: url(/img/icon/icon_close.gif) no-repeat 0 0;
		background-size: 20px 20px;
	}
	.sp-nav__link {
		padding: 10px;
	}
	.sp-nav__link li:not(:last-child) {
		margin-bottom: 10px;
	}
	.sp-nav__link li a {
		color: #333;
		padding-left: 15px;
		position: relative;
		display: block;
	}
	.sp-nav__link li a:before {
		bottom: 0;
		content: "";
		margin: auto;
		position: absolute;
		left: 0;
		top: 0;
		height: 8px;
		width: 8px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		border-right: 2px solid #0095D5;
		border-top: 2px solid #0095D5;
	}
	.sp-nav > ul {
		border-bottom: 2px solid #0095D5;
	}
}


/* gnav
========================================================================== */
.gnav_block {
	position: relative;
	border-bottom: 4px solid #0095D5;
}
@media screen and (max-width: 767px) {
	.gnav,
	.gnav_block {
		display: none;
	}
}



/* メインビジュアル
========================================================================== */
.main-visual {
	overflow: hidden;
	width: 100%;
	background-color: #e7380d;
	background: repeat-x url("/lp_tsumitasu/img/bg_main_visual.png");
}
.main-visual-inner {
	width: 1200px;
	overflow: hidden;
	padding: 0;
	margin: 0 auto;
}
.main-visual img {
	vertical-align: bottom;
}

@media only screen and (max-width: 767px) {
	.main-visual {
		overflow: hidden;
		width: 100%;
	}
	.main-visual-inner {
		width: 100%;
		overflow: hidden;
	}
	.main-visual img {
		width: 100%;
	}
}
@media only screen and (max-width: 599px) {
	.main-visual-inner {
		padding: 0;
	}
}


/* footer
========================================================================== */
footer {
	font-size: 1.2rem;
	margin: 20px 0 0 0;
	background: #fff;
}

#footerNav {
	border-top: 1px solid #c2cad3;
}
#footerNav ul {
	width: 1100px;
	margin: 0 auto;
	padding: 15px 40px;
}
#footerNav ul::after {
	content: "";
	display: block;
	clear: both;
}
#footerNav ul li {
	float: left;
	padding-right: 15px;
	margin-right: 15px;
	border-right: 1px solid #c2cad3;
}
#footerNav ul li a {
	color: #333;
	text-decoration: none;
}

.fConts-bg {
	background-color: #e9f2f5;
	border-top: 1px solid #c2cad3;
}
.fConts-inner {
	width: 1100px;
	margin: 0 auto;
	padding: 15px 40px;
}
.fConts-inner::after {
	content: "";
	display: block;
	clear: both;
}
.fConts-inner .com-name {
	float: left;
	margin-right: 30px;
}

@media only screen and (max-width: 600px) {
	footer {
		margin-bottom: 49px;
	}
}

#footer-Privacy {
	width: 1100px;
	margin: 0 auto;
	padding: 15px 40px;
	font-size: 1.0rem;
	color: #666;
}
#footer-Privacy,
#footer-Privacy ul {
	display: flex;
	align-items: center;
}
#footer-Privacy li img {
	margin-right: 20px;
}
#footer-Privacy li.isms img {
	width: 124px;
	height: 60px;
}
#footer-Privacy li.pmark img {
	width: 60px;
	height: 60px;
}
#footer-Privacy p {
	width: 720px;
	text-align: left;
}
#footer-copy {
	background-color: #0095D5;
}
#footer-copy address {
	width: 1100px;
	margin: 0 auto;
	padding: 8px 20px;
	color: #fff;
	text-align: center;
	font-size: 1.1rem;
}

@media only screen and (max-width: 767px) {
	#footerNav ul {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}
	#footerNav ul li {
		float: none;
		padding: 0;
		margin: 0;
		border: none;
	}
	#footerNav ul li a {
		float: left;
		display: block;
		width: 50%;
		padding: 10px 8px;
		margin: 0;
		border-right: 1px solid #c2cad3;
		border-bottom: 1px solid #c2cad3;
	}
	#footerNav ul li:nth-child(2n) a {
		border-right: none;
	}
	#footerNav li:nth-child(2n+1):last-child a {
		border-right: none;
		border-bottom: none;
		width: 100%;
	}

	.fConts-inner {
		width: 100%;
		padding: 10px;
	}
	.fConts-inner .com-name {
		float: none;
		margin-right: 30px;
	}

	#footer-Privacy {
		width: 100%;
		padding: 15px 10px 0;
		text-align: center;
		flex-direction: column;
	}
	#footer-Privacy p {
		width: 100%;
		margin: 10px;
	}
	#footer-copy address {
		width: 100%;
		padding: 5px 10px;
	}
}


/* SP用固定フッターナビ
========================================================================== */
@media screen and (min-width: 600px) {
	#spfnav-fixed {
		display: none !important;
	}
}

#spfnav-fixed {
	display: table;
	bottom: -50px;
	width: 100%;
	height: 50px;
	position: fixed;
	z-index: 9999;
	background: #fff;
	box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 5px;
	-moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 5px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 3px 5px;
	-webkit-transition-timing-function: ease;
	transition-timing-function: ease;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
}

#spfnav-fixed.slide-sp {
	bottom: 0;
}

#spfnav-fixed .menu-bottom-block {
	color: #0095D5;
	display: table-cell;
	border-right: 1px solid #d9d9d9;
	vertical-align: middle;
	padding: 5px;
	text-align: center;
}
#spfnav-fixed .menu-bottom-block:nth-child(2) {
	padding: 8px 5px 5px;
}
#spfnav-fixed .menu-bottom-block:last-child {
	border-right: none;
}

#spfnav-fixed .menu-bottom-sp-siryo {
	background-color: #fa9e00;
	border-radius: 5px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	display: block;
	height: 40px;
	line-height: 40px;
}

#spfnav-fixed a {
	text-decoration: none;
	color: #665933;
}

#spfnav-fixed img {
	width: 16px;
	vertical-align: middle;
	margin-right: 8px;
}

#spfnav-fixed .menu-bottom-sp-siryo img {
	width: 22px;
	padding-bottom: 3px;
}
#spfnav-fixed .menu-bottom-block:nth-child(2) img {
	padding-bottom: 2px;
}

#pagetop_sp {
	width: 40px;
	position: relative;
}
#pagetop_sp:after {
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 13px;
	height: 13px;
	border-top: 2px solid #0095D5;
	border-right: 2px solid #0095D5;
	top: 23px;
	left: 0;
	right: 0;
	transform: rotate(-45deg);
}


/* module（layout）
========================================================================== */
.row-col2, .row-col3, .row-col4, .row-col5 {
	display: grid;
	gap: 15px 0;
}
@media screen and (min-width: 768px) {
	.row-col2, .row-col3, .row-col4, .row-col5 {
		gap: 20px;
	}
	.row-col2 {grid-template-columns: repeat(2, 1fr);}
	.row-col3 {grid-template-columns: repeat(3, 1fr);}
	.row-col4 {grid-template-columns: repeat(4, 1fr);}
	.row-col5 {grid-template-columns: repeat(5, 1fr);}
}


/* module（text）
========================================================================== */
.txt-s {
	font-size: 1.4rem !important;
}
.txt-ss {
	font-size: 1.2rem !important;
}
.txt-m {
	font-size: 1.6rem !important;
}
.txt-l {
	font-size: 1.8rem !important;
}

.txt-bold {
	font-weight: bold !important;
}
.txt-normal {
	font-weight: normal !important;
}

.txt-underline {
	text-decoration: underline !important;
}

.txt-cen {
	text-align: center;
}
.txt-right {
	text-align: right !important;
}

.txt-bg {
	display: inline-block;
	color: #fff;
	padding: 5px 10px;
	margin-right: 10px;
	background: #666;
}

.txt-note {
	font-size: 1.2rem;
	margin-top: 15px;
}
.txt-source {
	font-size: 1.2rem;
	margin-top: 15px;
	text-align: right;
}
@media screen and (max-width: 767px) {
	.txt-source {
		text-align: left;
	}
	.txt-source > * {
		display: block;
	}
}

.txt-caution{
	font-size: 1.2rem;
	background: url(/img/icon/icon_caution.svg);
	background-size: 22px 20px;
	background-repeat: no-repeat;
	background-position: left top;
	min-height: 22px;
	padding: 0 0 0 35px;
}
@media screen and (min-width: 768px) {
	.txt-caution{
		background-size: 30px 27px;
		background-position: left center;
		padding: 0 0 0 45px;
	}
}

.txt-pagecaution {
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	padding: 0 10px;
	margin: 20px auto 10px;
}
.txt-number {
	color: #808080;
	font-size: 1.2rem;
	text-align: right;
	padding: 0 10px;
	margin: 10px auto 0;
}
@media screen and (min-width: 768px) {
	.txt-pagecaution {
		width: 1100px;
		padding: 0 40px;
		margin: 30px auto 10px;
	}
	.txt-number {
		width: 1100px;
		padding: 0 40px;
	}
}


/* module（color）
========================================================================== */
.txt-color__black {
	color: #333;
}
.txt-color__orange {
	color: #ed6d46;
}
.txt-color__pink {
	color: #eb6161;
}
.txt-color__blueD {
	color: #0d6fb8;
}
.txt-color__green {
	color: #21a167;
}
.txt-color__red {
	color: #e72548 !important;
}


/* module（list）
========================================================================== */
.list li{
	font-size: 1.4rem;
	margin-bottom: 5px;
	text-align: left;
}
.list-s li{
	font-size: 1.4rem;
	margin-bottom: 5px;
	text-align: left;
}
.list-ss li,
.list-note li{
	font-size: 1.2rem;
	margin-bottom: 5px;
	text-align: left;
}
@media screen and (min-width: 768px) {
	.list li{
		font-size: 1.6rem;
	}
}
.list li:last-child,
.list-s li:last-child,
.list-ss li:last-child,
.list-note li:last-child {
	margin-bottom: 0;
}

.list-note{
	margin-top: 15px;
}

/* 2カラム 3カラム*/
@media screen and (min-width: 768px) {
	.list-col2,
	.list-col3 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 10px;
	}
	.list-col3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.list-col2 li:nth-last-child(-n+2),
	.list-col3 li:nth-last-child(-n+3) {
		margin-bottom: 0;
	}
}

/* 横並び */
@media screen and (min-width: 768px) {
	.list-side li {
		display: inline-block;
		margin-bottom: 0;
	}
	.list-side li:not(:last-child) {
		margin-right: 5px;
	}
}


/* module（btn）
========================================================================== */
.wrap-procedure {
	background: #fff8cc;
	margin: 10px 0;
}
.inner-procedure {
	display: flex;
	gap: 0 20px;
	width: 1100px;
	padding: 20px 80px;
	margin: 0 auto;
}

.btn-proceed {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff !important;
	font-weight: bold;
	font-size: 2.4rem;
	text-align: center;
	width: 100%;
	padding: 26px 0 22px;
	margin: 0 auto;
	background: #fa9e00;
	border-radius: 5px;
	border-bottom: 4px solid #f38400;
}
.btn-proceed span{
	font-size: 2.2rem;
}
.btn-proceed.btn-shiryo img {
	width: 34px;
	height: 34px;
	margin-right: 12px;
}

.btn-proceed.btn-sim {
	background: #fa8500;
	border-bottom: 4px solid #f06800;
}
.btn-proceed.btn-sim img {
	width: 32px;
	height: 32px;
	margin: 0 10px 4px;
}

@media only screen and (max-width: 767px) {
	.inner-procedure {
		gap: 0 10px;
		width: 100%;
		padding: 20px 10px;
		margin: 0 auto;
		text-align: center;
	}

	.btn-proceed {
		flex-direction: column;
		font-size: 2.0rem;
		line-height: 1.4;
		padding: 10px 5px;
		margin: 0 auto;
		border-bottom: 3px solid #f38400;
	}
	.btn-proceed span{
		font-size: 1.6rem;
	}
	.btn-proceed.btn-shiryo img {
		width: 28px;
		height: 28px;
		margin: 0 0 5px;
	}
	.btn-proceed.btn-sim img {
		width: 26px;
		height: 26px;
		margin: 0 0 5px;
	}
}
@media only screen and (max-width: 375px) {
	.btn-proceed {
		font-size: 1.9rem;
	}
}

.box-procedure{
	text-align: center;
	margin-top: 15px;
}
.box-procedure p{
	color: #fa8500;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.box-procedure .btn-proceed{
	padding: 14px 0;
}
@media only screen and (min-width: 768px) {
	.box-procedure{
		max-width: 540px;
		margin: 20px auto 0;
	}
	.box-procedure p{
		font-size: 1.8rem;
	}
	.box-procedure .btn-proceed{
		padding: 20px 0 16px;
	}
}


/* module（box）
========================================================================== */
.box-border {
	padding: 10px;
	border: 1px solid #ccc;
	margin-top: 20px;
}
.box-border--dot {
	border: 1px dotted #b3b3b3;
}
@media screen and (min-width: 768px) {
	.box-border {
		padding: 15px 20px;
	}
}

/*注意文言*/
.box-caution {
	font-size: 1.4rem;
	line-height: 1.6;
	margin: 15px 0 0 0;
	padding: 15px 50px 15px 100px;
	border: 2px solid #e72548;
	background: url(/img/icon/icon_caution.svg);
	background-size: 36px 36px;
	background-repeat: no-repeat;
	background-position: 33px center;
}
.box-caution span {
	font-weight: bold;
	display: block;
}

@media screen and (max-width: 767px) {
	.box-caution {
		padding: 15px 15px 15px 50px;
		background-size: 30px 30px;
		background-position: 10px center;
	}
}


/* module(table)
========================================================================== */
.tbl{
	font-size: 1.4rem;
	margin: 0;
	padding: 0px;
	border-bottom: 2px solid #cccccc;
	border-left: 2px solid #cccccc;
	width: 100%;
	table-layout: fixed;
	word-wrap: break-word;
	white-space: normal;
}
.tbl th,.tbl td{
	vertical-align: middle;
	border-top: 2px solid #cccccc;
	border-right: 2px solid #cccccc;
	text-align: center;
	font-size:1.4rem;
	line-height: 1.4;
	padding: 10px 8px;
}
.td__left{
	text-align: left!important;
}

/*--- テーブルスクロール ---*/
@media screen and (max-width: 767px) {
	/*ブロックごとスクロール*/
	.block-scroll {
		position: relative;
		overflow: auto;
		white-space: nowrap;
	}
	.block-scroll table{
		width: 100%;
		white-space: nowrap;
		table-layout: inherit!important;
	}
	/*テーブルだけスクロール*/
	.tbl-scroll{
		position: relative;
		display: block;
		overflow: scroll;
		white-space: normal;
	}
	/*スクロール画像表示*/
	.block-scroll:not(.scrolled)::after,
	.tbl-scroll:not(.scrolled)::after {
		content: " ";
		position: absolute;
		top: 50px;
		bottom: auto;
		left: 0;
		right: 0;
		display: block;
		width: 140px;
		height: 120px;
		margin: auto;
		background-image: url(/img/common/img_tbl-arrow.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		opacity: 0.6;
		z-index: 10;
	}
}

/*--- テーブルのセル幅 ---*/
.wid5{width: 5%;}
.wid10{width: 10%;}
.wid15{width: 15%;}
.wid20{width: 20%;}
.wid25{width: 25%;}
.wid30{width: 30%;}
.wid35{width: 35%;}
.wid40{width: 40%;}
.wid45{width: 45%;}
.wid50{width: 50%;}


/* module（img）
========================================================================== */
.img-res {
	width: 100%;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.img-res img {
		width: 100%;
	}
}


/* module（icon)
========================================================================== */
.pagetop a {
	position: fixed;
	right: 30px;
	bottom: 0;
	display: block;
	height: 60px;
	width: 60px;
	text-indent: -200px;
	opacity: 0.6;
	margin: 0;
	padding: 0;
	text-decoration: none;
	overflow: hidden;
	z-index: 10;
	background: #555;
}
.pagetop a:hover {
	background: #ea5121;
	opacity: 1;
}
.pagetop a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 50%;
	display: block;
	width: 14px;
	height: 14px;
	margin-top: -3px;
	margin-right: -7px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(-45deg);
}
.pagetop a {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 600px) {
	.pagetop a {
		display: none;
	}
}


/* module（accordion）
========================================================================== */
.ttl-ac {
	position: relative;
	display: table;
	cursor: pointer;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	width: 100%;
	min-height: 40px;
	margin: 0 0 15px 0;
	padding: 5px 40px 5px 10px;
	background: #efefef;
}
.ttl-ac span {
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
.ttl-ac::before {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	background-color: #fff;
	border: 1px solid #b3b3b3;
	cursor: pointer;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -16px;
	border-radius: 6px;
}
.ttl-ac span::before,
.ttl-ac span::after {
	content: "";
	display: inline-block;
	position: absolute;
	background-color: #333;
	top: 50%;
	right: 19px;
	width: 12px;
	height: 2px;
	margin-top: -2px;
}
.ttl-ac span::after {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	transition: all .3s;
}

.ac-block {
	display: none;
	margin-bottom: 20px;
}
.ac-open span::after {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
	.ttl-ac {
		font-size: 1.8rem;
	}
	.ttl-ac::before {
		width: 20px;
		height: 20px;
		margin-top: -10px;
		border-radius: 5px;
	}
	.ttl-ac span::before,
	.ttl-ac span::after {
		right: 14px;
		margin-top: -1px;
	}
}


/* モーダル（magnific-popup）
========================================================================== */
.mfp-hide {
	display: none !important;
}
.magnific-block {
	position: relative;
	max-width: 820px;
	padding: 20px;
	margin: 0 auto;
	background: #fff;
}
.mfp-content .ttl-main {
	padding-top: 0;
}
.mfp-inner {
	background: #fffde5;
	padding: 20px;
}
.mfp-inner .image {
	text-align: center;
	margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
	.mfp-content #modalA,
	.mfp-content #modalB,
	.mfp-content #modalC,
	.mfp-content #modalD {
		width: 820px !important;
	}
}
@media screen and (max-width: 767px) {
	.mfp-wrap {
		-webkit-overflow-scrolling: touch;
	}
	.mfp-content {
		padding: 5px !important;
	}
	.magnific-block {
		padding: 10px;
	}
	.mfp-content .ttl-main {
		padding-top: 5px;
	}
	.mfp-inner {
		background: #fffde5;
		padding: 10px;
	}
	.mfp-inner .image {
		margin-bottom: 10px;
	}
	.mfp-inner .image img {
		width: 100%;
	}
	.mfp-content #modal-kogaku img {
		width: 100%;
	}
}

/* モーダル（テキストリンク）*/
.popup-txt {
	display: inline-block;
	padding: 0 0 0 22px;
	position: relative;
	text-decoration: underline;
	color: #1D3994 !important;
}
.popup-txt:hover {
	text-decoration: none;
}
.popup-txt:before {
	display: block;
	content: '?';
	font-family: Arial;
	width: 16px;
	height: 16px;
	background: #1D3994;
	position: absolute;
	top: 0;
	bottom: 2px;
	margin: auto;
	left: 2px;
	font-size: 12px;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

/*ヘッダー＆フッター固定電話 モーダル*/
.mfp-content:has(#sp-modal-tel) {
	max-width: 730px !important;
	padding: 0;
}
#sp-modal-tel {
	text-align: center;
	padding: 0 0 25px;
}

#sp-modal-tel button {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
}
#sp-modal-tel .mfp-close{
	font-size: 32px;
}
@media screen and (max-width: 767px) {
	#sp-modal-tel .mfp-close {
		font-size: 26px;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}
}

#sp-modal-tel .question {
	font-size: 1.7rem;
	font-weight: bold;
	padding: 15px 10px;
	margin-bottom: 20px;
	background: #F5F5F5;
}
#sp-modal-tel .buttons button {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
	font-size: 1.6rem;
	width: 90%;
	padding: 20px 10px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 2px 0;
	cursor: pointer;
}
#sp-modal-tel .buttons button:not(:last-child) {
	margin-bottom: 12px;
}
#sp-modal-tel .modal-tel__block a {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	margin: 0 auto;
}
#sp-modal-tel .modal-tel__block img {
	width: 22px;
	vertical-align: middle;
	margin-right: 8px;
}
#sp-modal-tel .modal-tel__block .modal-tel__num {
	display: flex;
	align-items: center;
	font-family: Arial, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
	color: #0095D5;
	font-weight: bold;
	font-size: 3.4rem;
	letter-spacing: 0.02em;
}
#sp-modal-tel .modal-tel__block .modal-tel__num span {
	color: #fff;
	font-weight: normal;
	font-size: 1.2rem;
	background-color: #0095D5;
	padding: 5px;
	margin-left: 8px;
	vertical-align: middle;
}
#sp-modal-tel .modal-tel__block .txt-note {
	text-align: center;
}
#sp-modal-tel .modal-link__block {
	padding: 0 15px;
}
#sp-modal-tel .modal-link__block .modal-link__btn {
	display: block;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	background-color: #0095D5;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 2px 0;
	padding: 20px 8px 18px;
	margin: 12px auto 0;
	width: 90%;
}
#sp-modal-tel .modal-link__block .modal-link__btn img {
	width: 16px;
	vertical-align: middle;
	margin: 0 0 3px 3px;
}
#sp-modal-tel .modal-link__block.block-deduction {
	display: flex;
	justify-content: center;
	text-align: left;
	padding: 10px;
	margin: 10px 0 0;
	border: 1px dotted #ccc;
}
#sp-modal-tel #tel-modal__back-button {
	color: #333;
	font-size: 1.3rem;
	padding: 8px 30px;
	margin: 15px auto 0;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 6px;
	cursor: pointer;
}
#sp-modal-tel #tel-modal__back-button span {
	position: relative;
	padding-left: 15px;
}
#sp-modal-tel #tel-modal__back-button span::before {
	content: '';
	position: absolute;
	height: 8px;
	width: 8px;
	border-right: 1px solid #B3B3B3;
	border-top: 1px solid #B3B3B3;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0
}
@media screen and (min-width: 768px) {
	#sp-modal-tel {
		padding: 0 0 32px;
	}
	#sp-modal-tel .question {
		font-size: 2.2rem;
		padding: 20px 10px;
		margin-bottom: 24px;
	}
	#sp-modal-tel .buttons button {
		font-size: 1.8rem;
		width: 60%;
		padding: 24px 10px;
	}
	#sp-modal-tel .buttons button:not(:last-child) {
		margin-bottom: 16px;
	}
	#sp-modal-tel .modal-tel__block .modal-tel__num {
		font-size: 4.2rem;
	}
	#sp-modal-tel .modal-tel__block .modal-tel__num span {
		font-size: 1.5rem;
		padding: 6px 8px;
		margin: 0 12px 5px;
	}
	#sp-modal-tel .modal-tel__block img {
		width: 24px;
	}
	#sp-modal-tel .modal-tel__block .txt-note {
		font-size: 1.4rem;
	}
	#sp-modal-tel .modal-link__block {
		padding: 0 40px;
	}
	#sp-modal-tel .modal-link__block .modal-link__btn {
		font-size: 1.8rem;
		margin: 20px auto 0;
		width: 60%;
	}
	#sp-modal-tel .modal-link__block.block-deduction {
		padding: 15px;
	}
	#sp-modal-tel #tel-modal__back-button {
		font-size: 1.4rem;
		margin: 20px auto 0;
	}
}


/* 見出し
========================================================================== */

/* ttl-main */
.ttl-main {
	color: #ea5121;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	margin-bottom: 20px;
}

.ttl-main--img{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 20px;
}
.ttl-main--img .img-logo {
	width: 200px;
}
@media only screen and (max-width: 767px) {
	.ttl-main {
		font-size: 2.0rem;
		margin-bottom: 10px;
	}
	.ttl-main--img{
		flex-direction: column;
		gap: 10px 0;
	}
}

/* ttl-block */
.ttl-block {
	margin-bottom: 40px;
}
.ttl-block .ttl-center {
	text-align: center;
	color: #ea5121;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
}
.ttl-block .ttl-center span {
	position: relative;
}
.ttl-block .ttl-center span:before {
	position: absolute;
	height: 50px;
	width: 10px;
	content: "";
	margin: auto;
	top: 0;
	bottom: 0;
	left: -30px;
	border-top: 2px solid #ea5121;
	border-bottom: 2px solid #ea5121;
	border-left: 4px solid #ea5121;
}
.ttl-block .ttl-center span:after {
	position: absolute;
	height: 50px;
	width: 10px;
	content: "";
	margin: auto;
	top: 0;
	bottom: 0;
	right: -30px;
	border-top: 2px solid #ea5121;
	border-bottom: 2px solid #ea5121;
	border-right: 4px solid #ea5121;
}
.ttl-block .txt-center {
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.ttl-block {
		margin-bottom: 15px;
	}
	.ttl-block .ttl-center {
		font-size: 2.0rem;
		font-weight: bold;
		line-height: 1.4;
	}
	.ttl-block .ttl-center span {
		padding: 0;
		margin-bottom: 5px;
	}
	.ttl-block .ttl-center span:before,
	.ttl-block .ttl-center span:after {
		display: none;
	}
}

/* ttl-square */
.ttl-square {
	position: relative;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 1.2em;
	margin-bottom: 15px;
}
.ttl-square:before {
	content: "■";
	display: block;
	position: absolute;
	color: #ea5121;
	font-family: "メイリオ", Meiryo;
	font-size: inherit;
	left: 0;
}
@media screen and (max-width: 767px) {
	.ttl-square {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
}

/* ttl-bg */
.ttl-bg {
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	padding: 10px 15px;
	margin-bottom: 15px;
	background: #666;
}
@media screen and (max-width:767px) {
	.ttl-bg {
		font-size: 1.8rem;
		padding: 8px 12px;
		margin-bottom: 10px;
	}
}

/* ttl-bold */
.ttl-bold {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
	.ttl-bold {
		font-size: 1.6rem;
		margin-bottom: 10px;
	}
}


/* その他共通
========================================================================== */
.wrap-sec {
	padding: 56px 0;
	background: #fdf3df;
}
.inner-wrap {
	width: 1100px;
	padding: 0 40px;
	margin: 0 auto;
}
.bg-white {
	padding: 40px;
	background: #fff;
	border-radius: 10px;
}
@media only screen and (max-width: 767px) {
	.wrap-sec {
		padding: 32px 0;
	}
	.inner-wrap {
		width: 100%;
		padding: 0 10px;
		margin: 0 auto;
	}
	.bg-white {
		padding: 15px;
	}
}


/*「まずは3つのお金に分けてみましょう」
========================================================================== */
.box-threemoney {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.txt-threemoney {
	font-size: 1.8rem;
	line-height: 2;
}
.txt-money {
	display: inline-block;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 5px 15px 2px 10px;
	margin: 5px 10px 5px 0;
	border-radius: 5px;
}
.txt-money.money01 {background-color: #63a2d8;}
.txt-money.money02 {background-color: #ea5121;}
.txt-money.money03 {background-color: #fba61c;}

.txt-money .txt-num {
	padding: 2px 5px 0;
	margin-right: 10px;
	background-color: #fff;
	border-radius: 3px;
}
.txt-money.money01 .txt-num {color: #63a2d8;}
.txt-money.money02 .txt-num {color: #ea5121;}
.txt-money.money03 .txt-num {color: #fba61c;}

.txt-threemoney .txt-bold {font-size: 2.4rem;}

@media only screen and (min-width: 768px) {
	.txt-threemoney {
		white-space: nowrap
	}
	.box-threemoney .img-res{
		width: auto;
		margin-top: 10px;
	}
}
@media only screen and (max-width: 767px) {
	.box-threemoney{
		flex-direction: column;
		gap: 10px 0;
	}
	.txt-threemoney {font-size: 1.6rem;}
	.txt-money {
		font-size: 1.8rem;
		padding: 2px 10px;
		margin: 2px 5px 2px 0;
	}
	.txt-money .txt-num {
		padding: 2px 5px;
		margin-right: 5px;
	}
	.txt-threemoney .txt-bold {font-size: 1.7rem;}
}


/*「特徴と違いをみてみましょう」
========================================================================== */
#wrap-compare.wrap-sec {
	background-color: #fff;
}
#wrap-compare.wrap-sec .bg-white {
	padding: 0;
}
@media only screen and (min-width: 768px) {
	#wrap-compare.wrap-sec .bg-white {
		padding: 0 40px;
	}
}

#wrap-compare.wrap-sec .ttl-main {
	color: #333;
}
#wrap-compare.wrap-sec .ttl-main span{
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 0 5px 0px;
}
@media only screen and (min-width: 768px) {
	#wrap-compare.wrap-sec .ttl-main {
		margin-bottom: 30px;
	}
	#wrap-compare.wrap-sec .ttl-main span{
		margin: 0 5px 0 0;
	}
}

#wrap-compare .txt-compare p{
	font-size: 1.8rem;
}
#wrap-compare .txt-compare p:not(:last-child) {
	margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
	#wrap-compare .txt-compare p{
		font-size: 1.5rem;
	}
}

#wrap-compare.wrap-sec .txt-tsumitasu {
	color: #ea5121;
	background: linear-gradient(transparent 60%, rgba(234, 81, 33, 0.2) 0%);
}
#wrap-compare.wrap-sec .txt-nisa {
	color: #6eb92c;
	background: linear-gradient(transparent 60%, rgba(110, 185, 44, 0.2) 0%);
}
#wrap-compare.wrap-sec .txt-ideco {
	color: #2f55a5;
	background: linear-gradient(transparent 60%, rgba(47, 85, 165, 0.2) 0%);
}

.tbl-feature {
	width: 100%;
	table-layout: fixed;
	margin: 15px 0 0;
}
.tbl-feature th,
.tbl-feature td {
	padding: 8px;
	background: #fff;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #ccc;
}
.tbl-feature thead th {
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.tbl-feature thead th:nth-child(1) {
	border: none;
}
.tbl-feature thead th.plan1 {
	background: #ea5121;
}
.tbl-feature thead th.plan2 {
	background: #6eb92c;
}
.tbl-feature thead th.plan2_sub {
	color: #6eb92c;
	font-size: 1.4rem;
	background: #fff;
}
.tbl-feature thead th.plan3 {
	background: #2f55a5;
}

.tbl-feature thead th.frame  {
	border-top:solid 4px #ea5121;
	border-left:solid 4px #ea5121;
	border-right:solid 4px #ea5121;
}
.tbl-feature tbody td.frame  {
	border-left:solid 4px #ea5121;
	border-right:solid 4px #ea5121;
}
.tbl-feature tbody tr:last-child td.frame{
	border-bottom:solid 3px #ea5121;
}
.tbl-feature tbody th {
	font-weight: bold;
	background-color: #ebebeb;
}

.tbl-feature .td__left{
	text-align: left;
}

@media screen and (min-width:768px) {
	.tbl-feature {
		margin: 30px 0 0;
	}
	.tbl-feature .col2,
	.tbl-feature .col5 {
		width: 220px;
	}
	.tbl-feature thead th {
		font-size: 2.0rem;
	}
	.tbl-feature thead th.plan2_sub {
		font-size: 1.6rem;
	}
	.tbl-feature td {
		font-size: 1.5rem;
	}
}


/*「ツミタスで～資産形成をはじめてみませんか？」
========================================================================== */
#wrap-features.wrap-sec {
	background-color: #ea5121;
}
#wrap-features.wrap-sec .ttl-main {
	color: #fff;
}

.list-features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 30px;
}
.list-features__item {
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
}
.list-features__item dt {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 15px;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: left;
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 3px solid #ea5121;
}
.list-features__item dt span{
	color: #fff;
	font-size: 1.8rem;
	padding: 5px 10px;
	background-color: #ea5121;
	border-radius: 5px;
}

.list-features__item:nth-child(3) dt,
.list-features__item:nth-child(4) dt {
	font-size: 1.9rem;
}
.list-features__item:nth-child(3) dt span,
.list-features__item:nth-child(4) dt span {
	color: #ea5121;
	background-color: #fff;
	border: 1px solid #ea5121;
}

.list-features__item dd {
	font-size: 1.8rem;
}
.list-features__item dd p.txt-cen {
	font-weight: bold;
}
.list-features__item dd .tag-course {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 10px;
}
.list-features__item dd .tag-course li {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 5px 15px;
}
.list-features__item dd .tag-course li:first-child {background-color: #f55e22;}
.list-features__item dd .tag-course li:nth-child(2) {background-color: #4791d1;}
.list-features__item dd .tag-course li:nth-child(3) {background-color: #29a362;}
.list-features__item dd .tag-course li:last-child {background-color: #6b7ac7;}

@media screen and (max-width:767px) {
	.list-features{
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 15px;
	}
	.list-features__item {
		padding: 15px;
	}
	.list-features__item dt {
		font-size: 2.0rem;
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	.list-features__item dt span{
		font-size: 1.6rem;
	}
	.list-features__item:nth-child(3) dt,
	.list-features__item:nth-child(4) dt {
		flex-direction: column;
		gap: 8px 0;
		font-size: 1.7rem;
	}
	.list-features__item dd {
		font-size: 1.6rem;
	}
	.list-features__item dd .tag-course li{
		font-size: 1.6rem;
	}
}


/* ツミタスのご契約例とイメージ図
========================================================================== */

/* block-case
------------------------------------------------------------*/
.block-case{
	margin-top: 20px;
}
.block-case dl{
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
}
.block-case dl:first-child{
	margin: 0 0 10px;
}
.block-case dl dt{
	font-size: 1.6rem;
	font-weight: bold;
	padding: 6px 10px;
	background-color: #f1ecda;
}
.block-case dl dd{
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	padding: 12px 15px;
	text-align: center;
	border: 2px solid #f1ecda;
	border-top: none;
	border-radius: 0 0 8px 8px;
}
.block-case dl dd .txt-henrei{
	color: #ec3e13;
	padding: 3px 5px;
	margin-left: 5px;
	border: 1px solid #ec3e13;
	border-radius: 3px;
}
.block-case dl dd .txt-ruikei{
	color: #fff;
	padding: 4px 6px;
	margin-right: 10px;
	background-color: #126db3;
	border-radius: 3px;
}
.block-case dl dd p:first-child .txt-num {font-size: 3.2rem;}
.block-case dl dd p:nth-child(2) .txt-num {font-size: 2.2rem;}

.block-case dl dd .box-arrow{
	position: relative;
	color: #fff;
	line-height: 1.2;
	padding: 10px 5px 5px;
	margin: 20px 0 0 25px;
	background-color: #338acc;
}
.block-case dl dd .box-arrow::before{
	position: absolute;
	content: '';
	display: block;
	width: 0;
	height: 0;
	top: -8px;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	border-bottom: 25px solid #338acc;
	border-left: 65px solid transparent;
	border-right: 65px solid transparent;
}
.block-case dl dd .box-arrow .box-arrow__rate{
	color: #126db3;
	font-size: 1.4rem;
	padding: 3px 20px;
	margin-top: 5px;
	background-color: #fff;
	border-radius: 3px;
}
@media screen and (max-width: 767px) {
	.block-case dl dd .txt-henrei,
	.block-case dl dd .txt-ruikei{
		display: block;
		margin: 8px 0 3px;
	}
	.block-case dl dd p:first-child .txt-num {font-size: 2.6rem;}
	.block-case dl dd p:nth-child(2) .txt-num {font-size: 2.0rem;}
}
@media screen and (min-width: 768px) {
	.block-case{
		display: flex;
	}
	.block-case dl:first-child{
		margin: 0 20px 0 0;
	}
	.block-case dl dt{
		font-size: 1.8rem;
		padding: 8px 15px;
	}
	.block-case dl dd{
		font-size: 1.5rem;
	}
	.block-case dl dd p:first-child .txt-num {line-height: 1.8;}
}


/* 月払保険料例
========================================================================== */
@media screen and (max-width: 767px) {
	#wrap-price {
		background-color: #fff;
	}
	#wrap-price .bg-white {
		padding: 0;
	}
}

.sec-price:not(:last-child) {
	margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.sec-price:not(:last-child) {
		margin-bottom: 30px;
	}
}

.sec-price .ttl-bg{
	color: #fff;
}
.ttl-bg--man {
	background-color: #4c95d9;
}
.ttl-bg--woman {
	background-color: #f56e90;
}

/* box-hosyo--scroll
========================================================================== */
.box-hosyo--scroll{
	position: relative;
}

.box-hosyo--scroll .tbl-sim .col2 {
	width: 80px;
}
.box-hosyo--scroll .tbl-sim .col3,
.box-hosyo--scroll .tbl-sim .col5,
.box-hosyo--scroll .tbl-sim .col7,
.box-hosyo--scroll .tbl-sim .col9 {
	width: 60px;
}
@media screen and (max-width: 767px) {
	.box-hosyo--scroll .tbl-sim{
		position: relative;
		display: block;
		overflow-x: scroll;
		/* min-width: 840px; */
		table-layout: fixed!important;
		white-space: nowrap;
	}
	.box-hosyo--scroll .tbl-sim .th-sticky,
	.box-hosyo--scroll .tbl-sim .th-sticky2 {
		position: sticky;
		top: 0;
		left: 0;
		z-index: 5;
	}
	.box-hosyo--scroll .tbl-sim .th-sticky {
		border-right: none;
	}
	.box-hosyo--scroll .tbl-sim .th-sticky::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-right: 2px solid #ccc;
	}
	.box-hosyo--scroll .tbl-sim .th-sticky2 {
		left: 114px;
	}

	.box-hosyo--scroll .tbl-sim .col1 {
		width: 114px;
		min-width: 114px;
	}
	.box-hosyo--scroll .tbl-sim .col2 {
		width: 75px;
		min-width: 75px;
	}
	.box-hosyo--scroll .tbl-sim .col3,
	.box-hosyo--scroll .tbl-sim .col5,
	.box-hosyo--scroll .tbl-sim .col7,
	.box-hosyo--scroll .tbl-sim .col9 {
		width: 50px;
		min-width: 50px;
	}
	.box-hosyo--scroll .tbl-sim .col4,
	.box-hosyo--scroll .tbl-sim .col6,
	.box-hosyo--scroll .tbl-sim .col8,
	.box-hosyo--scroll .tbl-sim .col10 {
		width: 100px;
		min-width: 100px;
	}

	.box-hosyo--scroll:not(.scrolled)::after {
		content: " ";
		position: absolute;
		top: 50px;
		bottom: auto;
		left: 0;
		right: 0;
		display: block;
		width: 140px;
		height: 120px;
		margin: auto;
		background-image: url(/img/common/img_tbl-arrow.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		opacity: 0.6;
		z-index: 10;
	}
}


/* tbl-sim
========================================================================== */
.tbl-sim {
	margin: 20px 0 0;
	border-collapse: separate;
	table-layout: fixed;
	width: 100%;
}
.tbl-sim__caption {
	font-size: 1.2rem;
	text-align: right;
	margin-bottom: 3px;
}
.tbl-sim th,
.tbl-sim td {
	position: relative;
	font-size: 1.5rem;
	text-align: center;
	vertical-align: middle;
	padding: 15px 8px;
	line-height: 1.3;
}
.tbl-sim th {
	text-align: left;
	border-right: 2px solid #cecece;
	font-weight: bold;
	position: relative;
}
.tbl-sim td{
	border-right: 2px solid #cecece;
}

.tbl-sim th.item-ttl {
	background-color: #f5f5f5;
}
.tbl-sim td .price{
	font-size: 2.2rem !important;
	font-weight: bold;
}
.tbl-sim td .txt-bold{
	font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
	.tbl-sim th,
	.tbl-sim td {
		letter-spacing: 0.05em;
	}
}
@media screen and (max-width: 767px) {
	.tbl-sim {
		margin: 15px 0 0;
	}
	.tbl-sheet .price {
		font-size: 2.2rem !important;
	}
	.tbl-sheet .tbl-sim__price .price {
		font-size: 2.4rem !important;
	}
	.tbl-sim td .txt-bold{
		font-size: 1.4rem;
	}
}

.top-bd, .middle-bd, .bottom-bd, .bottom-dot, .bottom-toku-dot{
	padding: 0!important;
	height: 0!important;
}
.top-bd::before, .middle-bd::before, .bottom-bd::before, .bottom-dot::before, .bottom-toku-dot::before{
	height: 0!important;
}

.top-bd {border-top: 2px solid #ccc;}
.middle-bd {border-bottom: 1px dotted #ccc;}
.bottom-bd {border-bottom: 2px solid #ccc;}
.bottom-dot {border-bottom: 2px dotted #c1c1c1;}
.bottom-toku-dot {border-bottom: 2px dotted #c1c1c1;}
.left-bd {border-left: 2px solid #cecece;}

.bd-top-add {border-top: 2px solid #ccc;}
.bd-bottom-dot {border-bottom: 2px dotted #ccc;}
.bd-right-none {border-right: none!important;}

/* 年齢 */
.plan__ttl th,
.plan__ttl td{
	color: #fff;
	font-weight: bold;
	height: auto;
	background-color: #666666;
}
.plan__ttl th{
	border: none;
	border-right: 2px solid #cecece;
}
.plan__ttl .tbl-sim__logo{
	background-color: #fff;
}
.plan__ttl td{
	border-top: 2px solid #cecece;
}

/* 月払保険料 */
.tbl-sim__price th,
.tbl-sim__price td{
	border-top: 2px solid #cecece;
	border-bottom: 2px solid #cecece;
}
.tbl-sim__price th{
	background: #fff;
	border-left:2px solid #cecece;
}
.tbl-sim__price th span {font-weight: normal;}
.tbl-sim__price td {background: #fffde4;}
.tbl-sim__price .price {color: #ff0000;}

/* 累計払込保険料 */
.tbl-sim__span th,
.tbl-sim__span td {
	height: auto;
	background-color: #fff;
}
.tbl-sim__span th {
	font-weight: normal;
	border-left: 2px solid #cecece;
}
