@charset "UTF-8";
* {
  scroll-behavior: smooth;
}
/* ---------- 汎用css ---------- */
body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.4rem;
	line-height: 1.5;
	color: #333;
}
.inner {
	max-width: 1070px;
	padding-left: 15px !important;
	padding-right: 15px !important;
	margin: 0 auto;
}
.inner_s {
	max-width: 830px;
	padding-left: 15px !important;
	padding-right: 15px !important;
	margin: 0 auto;
}
p {
	margin: 15px 0;
}
p:first-child {
	margin-top: 0;
}
p:last-child {
	margin-bottom: 0;
}
a {
	text-decoration: none;
	color: #333;
}
#howto .flow  a,
#wow  a,
.study_single a,
.faq_single a,
.news_single a,
.number_single a,
.guide_single a,
.accordion .accordion_content a,
#product .entry-content a,
#reason .entry-content a,
.entry-content #reason a,
#ideco .entry-content a,
#au .entry-content a,
#condition .entry-content a,
#intermediation .entry-content a {
  text-decoration:underline;
  color:#eb5505;
}
#howto .flow a:hover,
#wow  a:hover,
.study_single a:hover,
.faq_single a:hover,
.news_single a:hover,
.words_single a:hover,
.number_single a:hover,
.guide_single a:hover,
.accordion .accordion_content a:hover,
#product .entry-content a:hover,
#reason .entry-content a:hover,
#ideco .entry-content a:hover,
#condition .entry-content a:hover,
#intermediation .entry-content a:hover{
  text-decoration:none;
}
.word_single a {
  text-decoration:underline dotted;
  color:#eb5505;
}
@media (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
/*padding*/
.p0 {
	padding: 0px !important;
}
.p5 {
	padding: 5px !important;
}
.p10 {
	padding: 10px !important;
}
.p15 {
	padding: 15px !important;
}
.p20 {
	padding: 20px !important;
}
.p25 {
	padding: 25px !important;
}
.p30 {
	padding: 30px !important;
}
.p35 {
	padding: 35px !important;
}
.p40 {
	padding: 40px !important;
}
.p45 {
	padding: 45px !important;
}
.p50 {
	padding: 50px !important;
}
.p100 {
	padding: 100px !important;
}
.pt0 {
	padding-top: 0px !important;
}
.pt5 {
	padding-top: 5px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pt45 {
	padding-top: 45px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pt100 {
	padding-top: 100px !important;
}
.pb0 {
	padding-bottom: 0px !important;
}
.pb5 {
	padding-bottom: 5px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pb25 {
	padding-bottom: 25px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pb45 {
	padding-bottom: 45px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pb100 {
	padding-bottom: 100px !important;
}
.pl0 {
	padding-left: 0px !important;
}
.pl5 {
	padding-left: 5px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.pl15 {
	padding-left: 15px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.pl25 {
	padding-left: 25px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.pl35 {
	padding-left: 35px !important;
}
.pl40 {
	padding-left: 40px !important;
}
.pl45 {
	padding-left: 45px !important;
}
.pl50 {
	padding-left: 50px !important;
}
.pl100 {
	padding-left: 100px !important;
}
.pr0 {
	padding-right: 0px !important;
}
.pr5 {
	padding-right: 5px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pr15 {
	padding-right: 15px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pr25 {
	padding-right: 25px !important;
}
.pr30 {
	padding-right: 30px !important;
}
.pr35 {
	padding-right: 35px !important;
}
.pr40 {
	padding-right: 40px !important;
}
.pr45 {
	padding-right: 45px !important;
}
.pr50 {
	padding-right: 50px !important;
}
.pr100 {
	padding-right: 100px !important;
}
/* margin*/
.m0 {
	margin: 0px !important;
}
.m5 {
	margin: 5px !important;
}
.m10 {
	margin: 10px !important;
}
.m15 {
	margin: 15px !important;
}
.m20 {
	margin: 20px !important;
}
.m25 {
	margin: 25px !important;
}
.m30 {
	margin: 30px !important;
}
.m35 {
	margin: 35px !important;
}
.m40 {
	margin: 40px !important;
}
.m45 {
	margin: 45px !important;
}
.m50 {
	margin: 50px !important;
}
.m100 {
	margin: 100px !important;
}
.mt0 {
	margin-top: 0px !important;
}
.mt5 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt100 {
	margin-top: 100px !important;
}
.mb0 {
	margin-bottom: 0px !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb45 {
	margin-bottom: 45px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.ml0 {
	margin-left: 0px !important;
}
.ml5 {
	margin-left: 5px !important;
}
.ml10 {
	margin-left: 10px !important;
}
.ml15 {
	margin-left: 15px !important;
}
.ml20 {
	margin-left: 20px !important;
}
.ml25 {
	margin-left: 25px !important;
}
.ml30 {
	margin-left: 30px !important;
}
.ml35 {
	margin-left: 35px !important;
}
.ml40 {
	margin-left: 40px !important;
}
.ml45 {
	margin-left: 45px !important;
}
.ml50 {
	margin-left: 50px !important;
}
.ml100 {
	margin-left: 100px !important;
}
.mr0 {
	margin-right: 0px !important;
}
.mr5 {
	margin-right: 5px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mr15 {
	margin-right: 15px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mr25 {
	margin-right: 25px !important;
}
.mr30 {
	margin-right: 30px !important;
}
.mr35 {
	margin-right: 35px !important;
}
.mr40 {
	margin-right: 40px !important;
}
.mr45 {
	margin-right: 45px !important;
}
.mr50 {
	margin-right: 50px !important;
}
.mr100 {
	margin-right: 100px !important;
}
.m0a {
	margin: 0 auto !important;
}
.entry-icon-new {
	background: #eb5505;
	color: #fff;
	border-radius: 50%;
	position: absolute;
	width: 50px;
	height: 50px;
	line-height: 30px;
	z-index: 1;
	padding:10px;
	top: -25px;
	left: -25px;
	text-align: center;
}
img {
	width: auto;
	max-width: 100%;
  height: auto;
}
ul, ol {
	list-style: none;
}
ul, ol, dl {
	margin: 0;
	padding: 0;
}
.ol {
  counter-reset: count;
}
.ol li {
  margin-bottom: 5px;
  padding-left: 1.4em;
  text-indent: -1.4em;
}
.ol li:last-child {
  margin-bottom: 0;
}
.ol li::before {
  counter-increment: count;
  content: counter(count)". ";
  font-weight: bold;
  color: #eb5505;
}
.wrapper {
  padding: 60px 0 200px;
}
.wrapper.webview {
  padding-top: 0;
}
section {
	padding: 60px 0;
}
.bg_white {
	background-color: #fff;
}
.bg_darkgray {
	background-color: #e4e1df;
}
.bg_gray {
	background-color: #f6f6f6;
}
.page_ttl {
	width: 100%;
	min-height: 180px;
	padding-left: 40%;
	color: #fff;
	display: flex;
	align-items: center;
	position: relative;
  background: rgb(250,55,109);
  background: linear-gradient(115deg, rgba(250,55,109,1) 0%, rgba(248,184,76,1) 25%, rgba(251,66,2,1) 60%, rgba(245,106,5,1) 100%);
	z-index: 0;
}
.page_ttl .page_ttl_inner {
	width: calc(100% * 5 / 3);
	max-width: 100vw;

	margin-left: calc(-100% * 2 / 3);
	padding: 20px 0;
	position: relative;
	z-index: 1;
}
.page_ttl h1 {
	margin: 0;
	font-size: 3.2rem;
	line-height: 3.6rem;
}
.page_ttl p {
  margin: 15px 0 0;
  padding-top: 15px;
  border-top: solid 1px #fff;
}
.page_ttl p.dummy_h1 {
	margin: 0;
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 3.6rem;
	padding: 0;
	border: none;
}
h2 {
	padding: 0 10px;
	text-align: center;
	display: table;
	margin: 0 auto 30px;
	font-size: 2rem;
	line-height: 3.6rem;
	position: relative;
}
section h2:nth-of-type(n+2) {
	margin:  50px auto 30px;
}
h2::before {
	content: "";
	width: 100%;
	border-bottom: 2px dotted #eb5505;
	position: absolute;
	bottom: -2px;
	left: 0;
}
h2 span {
	font-size: 3.2rem;
	color: #eb5505;
}
.ttl_balloon {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  background-color: #fff;
  font-size: 1.2rem;
  border: solid 2px #eb5505;
  border-radius: 40px;
  display: block;
  position: relative;
}
.ttl_balloon::before, .ttl_balloon::after {
  content: "";
  margin: 0 auto;
  border: solid transparent;
  position: absolute;
  left: 0;
  right: 0;
}
.ttl_balloon::before {
  width: 16px;
  height: 15px;
  border-top-color: #eb5505;
  border-width: 15px 8px 0;
  bottom: -15px;
}
.ttl_balloon::after {
  width: 14px;
  height: 14px;
  border-top-color: #fff;
  border-width: 14px 7px 0;
  bottom: -11px;
}
.note {
	font-size: 1.2rem;
	line-height: 1.7rem;
	color: #666;
}
section a {
	transition: opacity 0.2s;
}
section a:hover {
	opacity: 0.6;
}
a.more {
	border: 1px solid #eb5505;
	max-width: 400px;
	display: block;
	margin: 30px auto 0;
	padding: 13px 30px 13px 15px;
	text-align: center;
	color: #eb5505;
	position: relative;
	border-radius: 4px;
  text-decoration: none !important;
}
a.more::after {
	width: 10px;
	height: 8px;
	margin: auto 0;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	content: "";
	background: url(../img/arrow.png) no-repeat center;
	transition: right 0.2s ease;
}
a.more:hover::after {
	right: 15px;
}
.more_list {
  display: block;
	text-align: right;
}
.more_list a.more {
	display: inline-block;
	max-width: none;
	margin: 0 10px 0 0;
	padding: 2px 30px 2px 16px;
	font-size: 1.2rem;
	border-radius: 0;
  text-decoration: none !important;
}
.more_list a.more:last-child {
	margin-right: 0;
}
.more_list a.more::after {
	right: 12px;
}
.more_list a.more:hover::after {
	right: 7px;
}
.banner_btn {
	text-align: center;
}
.box {
	background: #fff;
	border: solid 1px #f6f6f6;
	box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
	position: relative;
}
.box2 {  
  border: #ccc 1px solid;
  border-radius: 4px;
  position: relative;  
}
.box3 {
  margin-top: 20px;
  padding: 20px;
  background-color: #fdeee5;
  border-radius: 4px;
}
.box3 .tit {
  margin: 5px 0 25px;
  font-size: 1.6rem;
  color: #eb5505;
  text-align: center;
}
.box3 .tit span {
  padding: 0 5px;
  background: linear-gradient(to bottom, rgba(235, 85, 5, 0) 0%, rgba(235, 85, 5, 0) 69%, rgba(235, 85, 5, 0.2) 70%, rgba(235, 85, 5, 0.2) 100%);
}
.box3 p {
  margin: 0;
  font-size: 1.2rem;
  line-height: 2rem;
}
.box_link {
	display: block;
	top: 0;
	left: 0;
  transition: top 0.2s, left 0.2s, box-shadow 0.2s, opacity 0.2s;
  cursor: pointer;
}
.box_link:hover {
	box-shadow: 4px 4px 10px rgba(0,0,0,0.08);
	top: -4px;
	left: -4px;
	opacity: 0.6;
}

/* コラム一覧 */
.column_list {
	margin: -40px -1.25% 20px -1.25%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.column_list li {
	width: 22.515%;
	margin: 40px 1.24% 0;
  display: flex;
}
.column_list li a{
  color: #333 !important;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.box_column {
	padding: 20px 20px 40px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.box_column .img {
	margin: -21px -21px 0 -21px;
  position: relative;
	text-align: center;
  overflow: hidden;
  padding: 60% 0 0 0;
}
.box_column figure {
	margin: 0 auto;
	text-align: center;
  overflow: hidden;
}
.box_column figure img {
  border-radius: 50%;
  width: 60%;
  height: auto;
  margin: 0 0 15px;
}

.box_column .img .img_inner {
	height: auto;
	background: no-repeat center;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  position: absolute;
  width: 640px;
}
.box_column h4 {
	padding: 15px 0 10px 0;
	margin: 0;
	border-bottom: dotted 1px #ddd;
  width: 100%;
}
.box_column p {
	margin: 10px 0;
  width: 100%;
}
.box_column p.date {
  color:#ccc;
  text-align: right;
  margin: 5px 0;
}
.box_column p.name {
	margin: 0 0 30px 0;
	color: #999;
  float: left;
}
.box_column p.name::before {
	content: '';
	width: 20px;
	height: 14px;
	background: url(../img/column_write.svg) no-repeat center;
	background-size: 100%;
	display: inline-block;
}
.box_column p.view {
	margin: 0 0 30px;
	color: #999;
  float: left;
}
.box_column p.view::before {
	content: '';
	width: 20px;
	height: 12px;
	margin-right: 5px;
	background: url(../img/column_view.svg) no-repeat center;
	background-size: 100%;
	display: inline-block;
}
.box_column p.link {
	margin: 0;
	color: #eb5505;
  text-align: right;
  clear: both;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
.box_column p.link::after {
	content: url(../img/arrow.png);
	display: inline-block;
	margin-left: 5px;	
	right: 0;
	position: relative;
}
.box .box_ttl {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	font-size: 2rem;
  font-weight: normal;
  line-height: 2.6rem;
	color: #eb5505;
	text-align: center;
	transform: translateY(-50%);
	text-shadow: -2px 0 0 #fff, 0 2px 0 #fff, 2px 0 0 #fff, 0 -2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 2px -2px 0 #fff;
}
.box .box_ttl .strong {
	font-size: 2.4rem;
}
.box .box_ttl2 {
	font-size: 2rem;
  line-height: 2.6rem;
  margin: 50px 0 20px;
  border-bottom: #ccc 2px solid;
  padding: 5px 10px;
}
.lyt_content {
  display: table;
  table-layout: fixed;
}
.lyt_txt, .lyt_img {
	display: table-cell;
	vertical-align: middle;
}
.app {
	margin-bottom: 60px;
}
.app .download {
	padding: 25px 0;
	background: url(../img/app_download_bg_pc.jpg) no-repeat center;
	background-size: cover;
  color: #fff;
}
.app .download .inner_s {
	position: relative;
}
.app .download .ico {
	width: 120px;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -60px;
}
.app .download h2 {
	margin: 0 0 15px 0;
	text-align: left;
	display: block;
}
.app .download h2::before {
	content: none;
}
.app .download a {
	margin-right: 30px;
	display: inline-block;
	transition: opacity 0.2s;
}
.app .download a:hover {
	opacity: 0.6;
}
.app .web_conversion img{
  width: 170px;
}
.app .copy {
	margin: 20px 0;
	padding: 10px 5px 5px 5px;
	font-size: 1.8rem;
	line-height: 3.6rem;
	color: #eb5505;
	text-align: center;
	border: solid 2px #eb5505;
}
.app .copy .l {
	font-size: 3.2rem;
	font-weight: bold;
}
.app .copy .s {
	font-size: 2.4rem;
	font-weight: bold;
}
.app .note {
	margin: 0;
}
.pagenation {
	display: table;
	text-align: center;
	margin: 50px auto 0;
}
.pagenation li {
	display: inline-block;
	min-width: 65px;
}
.pagenation li a {
	border: solid 1px #eb5505;
	display: inline-block;
	color: #eb5505;
	padding: 9px;
	height: 40px;
  min-width: 150px;
  background-repeat: no-repeat;
  line-height: 2rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none !important;
}
.pagenation li.prev a {
	background: url(../img/arrow2.png) no-repeat right center;
	background-position: left 10px center;
	padding-left: 30px;
  width: 200px;
}
.pagenation li.center a {
	margin: 0 20px;
}
.pagenation li.next a {
	background: url(../img/arrow.png) no-repeat right center;
	background-position:  right 10px center;
	padding-right: 30px;
  width: 200px;
}
.pagenation li a:hover{
  opacity: 0.7;
}
.pager {
	text-align: center;
	margin: 30px auto 0;
}
.pager li {
	display: inline-block;
	margin: 0 5px;
}
.pager li a,
.pager li span {
	height: 25px;
	padding: 2px 8px;
	font-size: 1.2rem;
	color: #eb5505;
	border: solid 1px #eb5505;
	text-align: center;
	display: block;
  line-height: 21px;
}
.pager li span.current {
	color: #fff;
	background: #eb5505;
}
.anker_list {
	margin-top: 50px;
	padding: 20px 25px 10px 25px;
	border: dotted 1px #ddd;
	border-width: 1px 0;
}
.anker_list li {
	margin: 0 21px 10px;
	display: inline-block;
}
.anker_list li a:hover {
	opacity: 0.6;
}
.anker_list li a::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-left: 6px;
	border: solid 1px #eb5505;
	border-width: 0 0 1px 1px;
	display: inline-block;
	position: relative;
	top: -2px;
	transform: rotate(-45deg);
}
.anker_list li.right a::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-left: 6px;
	border: solid 1px #eb5505;
	border-width: 0 0 1px 1px;
	display: inline-block;
	position: relative;
	top: -2px;
	transform: rotate(-135deg);
}
.post_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.post_list::after {
	content: " ";
	display: block;
	clear: both;
	height: 1px;
	width: 100%;
	position: relative;
	top: -1px;
	border-bottom: solid 1px #fff;
}
.post_list li {
	width: 33.33%;
	display: flex;
	padding: 15px 20px;
	position: relative;
	border-bottom: dotted 1px #ddd;
}
.post_list li span {
	display: none;
}
.post_list li:before {
	content: "";
	border-radius: 4px;
	height: 8px;
	width: 8px;
	border :solid 2px #eb5505;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 21px;
}
.post_list li a.current{
  color: #eb5505;
}
.category_list {
  display: flex;
  justify-content: space-between;
  margin: 30px 0 0;
}
.category_list li {
  display: flex;
  flex-direction: column;
	width: 49%;
  border: #eb5505 1px solid;
  border-radius: 3px;
  position: relative;
}
.category_list li a {
  color: #eb5505;
  display: flex;
  align-items:center;
	padding: 15px 50px 15px 20px;
  flex: 1;
}
.category_list li::after {
  width: 10px;
  height: 8px;
  margin: auto 0;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  content: "";
  background: url(../img/arrow.png) no-repeat center;
  transition: right 0.2s ease;
}
.accordion {
	margin-top: 20px;
	padding: 5px !important;
}
.accordion .accordion_ttl {
	padding: 13px 70px 13px 35px;
	font-size: 1.6rem;
	position: relative;
	border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.accordion .accordion_ttl:hover, .accordion .accordion_ttl.open {
	background-color: #fdeee6;
}
.accordion .accordion_ttl::before, .accordion .accordion_ttl::after {
  content: "";
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background: #fff content-box;
  border: solid #eb5505;
  border-width: 9px 4px;
  border-radius: 5px;
	position: absolute;
	right: 25px;
	top: 50%;
}
.accordion .accordion_ttl::after {
  border-color: transparent;
  transform: rotate(90deg);
}
.accordion .accordion_ttl.open::after {
	content: none;
}
.accordion .accordion_content {
	padding: 20px 25px;
	margin: 0;
	display: none;
}
.accordion .accordion_content table {
	width: 100%;
	border-spacing: 2px;
	border-collapse: separate;
}
.accordion .accordion_content table th,
.accordion .accordion_content table td {
	padding: 10px 5px;
	border: solid 1px #ddd;
	font-size: 12px;
	line-height: 18px;
}
.accordion .accordion_content table th {
	text-align: center;
	font-weight: bold;
	color: #fff;
	background-color: #ed6e29;
	border-color: #ed6e29;
  white-space: nowrap;
}
.accordion .accordion_content table .contents {
  width: 40%;
}
.accordion .accordion_content table .document {
  width: 40%;
}
.accordion .accordion_content table .pdf {
  text-align: center;
  width: 10%;
  min-width: 50px;
}



.dl dt{
  font-weight: bold;
}
.dl dd{
  margin: 0 0 15px;
}
.table {
	width: 100%;
	border-spacing: 2px;
	border-collapse: separate;
}
table.equality{
  table-layout: fixed;
}
.table th,
.table td {
	padding: 10px;
	border: solid 1px #ddd;
}
.table th {
	background-color: #f5aa82;
	color: #fff;
	min-width: 10rem;
	border-color: #f5aa82;
}
.table td {
	color: #333;
	text-align: left;
}
.anker {
	margin-top: -60px;
	position: absolute;
}
.anker2 {
	margin-top: -80px;
	position: absolute;
}
.breadcrumbs {
  padding: 5px 0;
  font-size: 1.2rem;
  line-height: 2rem;
  color: #999;
}
.breadcrumbs .breadcrumbs_list > li  {
  display: inline;
}
.breadcrumbs .breadcrumbs_list > li a {
  color: #eb5505;
  transition: opacity .2s;
}
.breadcrumbs .breadcrumbs_list > li a:hover {
  opacity: .6;
}
/*font*/
.fs12{
  font-size:1.2rem !important;
}
.fs13{
  font-size:1.3rem !important;
}
.fs14{
  font-size:1.4rem !important;
}
.fs15{
  font-size:1.5rem !important;
}
.fs16{
  font-size:1.6rem !important;
}
.fs18{
  font-size:1.8rem !important;
}
.fs20{
  font-size:2rem !important;
}
.fs22{
  font-size:2.2rem !important;
}
.fs24{
  font-size:2.4rem !important;
}
.fs26{
  font-size:2.6rem !important;
}
.fs42{
  font-size:4.2rem !important;
}
/* ソーシャルボタン */
.share ul li{
  display: inline;
}
.share ul li span{
  border-radius: 4px;
  float: left;
  background-repeat: no-repeat;
  display: block;
  overflow: hidden;
  height: 32px;
  line-height: 32px;
  padding: 0;
  width: 32px;
  margin:0 4px;
}
.share .facebook span{
  background-color: rgb(59, 89, 152);
}
.share .twitter span {
  background-color: rgb(85, 172, 238);
}
.share .line span {
  background-color: rgb(0, 195, 0);
}

/* ---------- 共通部分 ---------- */
footer .top_btn {
	width: 60px;
	height: 60px;
	background-color: #eb5505;
	border-radius: 50%;
	overflow: hidden;
	text-indent: 100%;
  white-space: nowrap;
	position: absolute;
	top: -75px;
  right: 15px;
}
footer.view .top_btn:hover {
	opacity: 0.6;
}
footer .top_btn::before {
	content: "";
	width: 16px;
	height: 16px;
	margin: 0 auto;
	border: solid #fff;
	border-width: 2px 2px 0 0;
	position: absolute;
	top: 26px;
	left: 0;
	right: 0;
	transform: rotate(-45deg);
}
footer .fix_content {
  width: 100%;
  position: relative;
  z-index: 10;
}
footer.fix .fix_content {
	position: fixed;
	left: 0;
	bottom: 0;
}
footer:not(.fix) {
	padding-top: 0 !important;
}
/* ヘッダー
header {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	width: 100%;
	height: 60px;
	padding: 15px 0;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	z-index: 20;
}
header .inner {
	position: relative;
}
header .logo {
	float: left;
	width: 186px;
  max-width: 186px;
  margin: 0;
  line-height: 0;
}
header .logo a {
	display: block;
	width: 100%;
	height: 100%;
}
header .logo img{
	height: 29px;
  width: 183px;
}
header .sub_nav {
	position: absolute;
	right: 10px;
	top: -15px;
	text-align: right;
}
header .sub_nav ul li {
	display: inline-block;
  margin-left: 8px;
  vertical-align: top;
  transition: opacity 0.2s;
}
header .sub_nav ul li:hover {
	opacity: .6;
}
header .sub_nav ul li a {
	border: solid 1px #eb5505;
	border-top: none;
	padding: 0 10px;
	border-radius: 0 0 4px 4px;
	line-height: 23px;
	color: #eb5505;
	display: block;
  text-decoration: none !important;
}
header .sub_nav ul li.login a {
  padding-left: 32px;
  background: url(../img/login_ico.png) no-repeat center left 8px #eb5505;
  background-size: 16px;
  font-size: 1.2rem;
	color: #fff !important;
}
header .g_nav {
	position: absolute;
	right: 10px;
	top: 16px;
}
header .g_nav ul {
  font-size: 0;
  line-height: 0;
}
header .g_nav ul li {
	display: inline-block;
  margin-right: 40px;
	position: relative;
}
header .g_nav ul li::before {
	content: "";
	display: block;
	top: 20px;
	width: 0;
	height: 2px;
  background: #eb5505;
  box-sizing: content-box;
	position: absolute;
	transition: width 0.3s, padding 0.3s, left 0.3s;
	left: 50%;
}
header .g_nav ul li:hover::before {
  width: 100%;
  padding: 0 5px;
	left: -5px;
}
header .g_nav ul li::after {
	content: "";
	height: 3px;
	width: 3px;
	border-radius: 3px;
	background: #eb5505;
	display: inline-block;
	position: absolute;
	top: 8px;
	right: -22px;
}
header .g_nav ul li:nth-child(7) {
	margin-right:0;
}
header .g_nav ul li:nth-child(7)::after {
	content: none;
}
header .g_nav ul li a {
  display: block;
  font-size: 1.2rem;
  line-height: 2rem;
	vertical-align: middle;
  text-decoration: none !important;
  color: inherit !important;
}
header .g_nav ul li .sub-menu {
	position: absolute;
	z-index: 1;
	left: -20px;
	top: 20px;
	padding-top: 9px;
}
header .g_nav ul li .sub-menu li {
	background: #fff;
	margin-right: 0;
	display: block;
	border-top: 1px dotted #eee;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
header .g_nav ul li .sub-menu li:before, header .g_nav ul li .sub-menu li:after {
	content: none;
}
header .g_nav ul li .sub-menu li a {
	padding: 10px 20px;
	white-space: nowrap;
	transition: opacity 0.2s;
}
header .g_nav ul li .sub-menu li a:hover {
	opacity: 0.6;
}
@media (min-width: 1080px) {
header .g_nav {
  display: block !important;
}
header .g_nav ul li .sub-menu {
	display: none !important;
}
header .g_nav ul li:hover .sub-menu {
	display: block !important;
}
}
/* フッター
footer {
	position: relative;
	text-align: center;
}
footer nav ul {
	padding: 18px 0 8px;
	border-bottom: 1px dotted #ddd;
  font-size: 0;
}
footer nav ul li {
	display: inline-block;
  font-size: 1.2rem;
  margin: 0 0 10px -1px;
	padding: 0 25px;
  border: solid #eee;
  border-width: 0 1px;
}

footer nav ul li.blank a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 10px;
  margin-left: 5px;
  background: url(../img/blank_ico.png) no-repeat center;
  background-size: contain;
}
footer nav ul li a {
  text-decoration: none !important;
  color: inherit !important;
}
footer nav ul li a:hover {
	opacity: 0.6;
}
footer p.logo {
	margin: 25px 0;
}
footer p.logo img {
	max-width: 197px;
}
footer .trust, footer .right {
  display: block;
	margin: 10px 0;
	color: #999;
	font-size: 1.2rem;
	line-height: 2rem;
}
footer p.trust {
	margin: 20px 0;
}
footer .banner {
	background: rgba(235, 85, 5, 0.5);
	padding: 10px 0;
}
footer .banner a {
	display: inline-block;
	transition: opacity 0.2s;
}
footer .banner a:hover {
	opacity: 0.6;
}
footer .banner .store {
	width: 50%;
	float: left;
	position: relative;
}
footer .banner .banner_inner {
  padding: 1.042% 0;
  background-color: #fff;
  font-size: 0;
	border-radius: 4px;
}
footer .banner .banner_inner a {
  margin: 0 3.125%;
  font-size: 1.4rem;
}
footer .banner .store .banner_inner a {
  width: 35.417%;
}
footer .banner .inner > div:nth-child(1){
  padding-right: 3.847%;
}
footer .banner .inner > div:nth-child(2){
  padding-left: 3.75%;
  border-left: #fff 1px solid;
}
footer .banner .balloon {
	width: 40%;
	margin: 0;
	position: absolute;
	top: -74%;
	left: 50px;
  display: none;
}
footer .banner .web {
	width: 50%;
	text-align: center;
  float: left;
  position: relative;
}
footer .banner .web .btn img{
  width: 100%;
}
footer .contact {
	text-align: center;
  border-top:dotted 1px #ddd;
  padding: 50px 15%;
}
*/

.header {
  position: sticky;
  top: -76px;
  z-index: 2000;
  background-color: #fff;
}
.header__top {
  height: 76px;
  border-bottom: solid 1px #eb5505;
}
.header__top .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.header__logo a {
  display: block;
}

.header__logo a img {
  width: 182px;
}

/* お問い合わせ */
.contact {
  margin: 90px 0 50px;
}
.contact__box {
  border: solid 10px #f9ccb4;
  border-radius: 4px;
}
.contact__main {
  display: flex;
}
.contact__title {
  padding: 10px 20px 20px;
  margin: 0;
  font-size: 2.4rem;
  font-weight: bold;
  width: 100%;
  background: #f9ccb4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;  
}
.contact__title img {
  filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(3deg) brightness(0%) contrast(60%);
}
.contact__lead {
  width: 100%;
  padding: 20px;
  font-size: 1.8rem;
  text-align: center;
}
.contact-tel{
  border: #ccc 2px solid;
  border-radius: 5px;
  padding: 30px;
}
.contact__nonmember {
  padding: 0px 20px 50px;
  border-right: #f9ccb4 1px dotted;
  width: 100%;
  flex-grow: 1;  
}
.contact__member {
  width: 100%;
  padding: 0px 20px 50px;
}
.contact-chat__title {
  padding: 10px;
  color: #3da5ce;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-radius: 4px;
}
.contact-chat__title img,
.contact-tel__title img{
  width: 50px;
  margin: 0 10px 0 0;
  display: inline;
}
.contact-chat__btn {
  display: block;
  background: #3da5ce;
  color: #fff;
  font-size: 2rem;
  padding: 15px;
  border-radius: 3px;
  text-align: center;
  position: relative;
  transition: opacity .2s;
}
.contact-chat__btn::after {
  content: "";
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto 0;
  border: solid #fff;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
}
.contact-chat__btn:hover {
  opacity: .6;
}
.contact-tel__title {
  margin: 0 0 10px;
  color: #eb5505;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.contact-tel__number {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #eb5505;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
}
.contact-tel__number img {
  width: 28px;
  height: 36px;
  margin-right: 15px;
}
.contact__time {
  margin: 15px 0 0;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}
.contact__note {
  margin: 5px 0 0;
  font-size: 1.6rem;
  text-align: center;
}
/* ボタン */
.button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 30px;
}
.button__link {
  display: flex;
  position: relative;
  width: 100%;
  max-width: 380px;
  padding: 14px 10px;
  background-color: #fff;
  color: #eb5505;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  border: solid 1px #eb5505;
  border-radius: 4px;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
}
.button__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto 0;
  border: solid #eb5505;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
}
.button__link:not([disabled]):hover {
  opacity: .6;
  cursor: pointer;
}
.button__link--fill {
  background-color: #eb5505;
  color: #fff;
}
.button__link--fill::after {
  border-color: #fff;
}
.button__link--fill2 {
  background-color: #e29e38;
  border-color: #e29e38;
  color: #fff;
}
.button__link--fill2::after {
  border-color: #fff;
}
.button__link[disabled] {
  background-color: #ddd;
  border: #ddd 1px solid;
}
.button__link[disabled]:hover {
  opacity: 1;
}
.button__link--blank::after {
  background: url(../img/ico_blank.svg) no-repeat center;
  filter: invert(41%) sepia(38%) saturate(5921%) hue-rotate(3deg) brightness(96%) contrast(96%);
  width: 28px;
  height: 24px;
  border: none;
  transform: rotate(0deg);
}
.button__link--fill.button__link--blank::after {
  filter: invert(0%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
}
.button__link--pdf::after {
  background: url(../img/ico_pdf.png) no-repeat center;
  background-size: contain;
  width: 28px;
  height: 24px;
  border: none;
  transform: rotate(0deg);
}
.footer__top {
  padding: 90px 0 100px;
  background-color: #f9fafa;
}
.footer__4column {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 30px;
}
.footer-nav + .footer-nav {
  margin-top: 45px;
}
.footer-mainnav__link {
  display: block;
  padding-bottom: 8px;
  font-size: 1.4rem;
  font-weight: bold;
  border-bottom: solid 1px #ddd;
  transition: opacity .2s;
}
.footer-mainnav__link:hover {
  opacity: .6;
}
.footer-subnav > li {
  margin-top: 20px;
}
.footer-subnav > li > a {
  font-size: 1.4rem;
  transition: opacity .2s;
}
.footer-subnav > li > a:hover {
  opacity: .6;
}
.footer-mainnav__btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 40px;
  height: 54px;
}
.footer-mainnav__btn::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border: solid #333;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
  transition: border-color .2s;
}
.js-accordion--open .footer-mainnav__btn::after {
  top: 4px;
  transform: rotate(225deg);
}
.footer__bottom {
  padding: 80px 0 10px;
}
.footer__other ul {
  display: flex;
  flex-wrap: wrap;
}
.footer__other ul > li {
  margin-right: 18px;
  padding-right: 18px;
  border-right: solid 1px #ddd;
}
.footer__other ul > li > a {
  font-size: 1.4rem;
  transition: opacity .2s;
}
.footer__other ul > li > a:hover {
  opacity: .6;
}
.footer__logo {
  width: 250px;
  margin-top: 50px;
}
.footer__logo a {
  display: block;
}
.footer__logo a img {
  display: block;
}
.footer__info {
  margin-top: 25px;
  font-size: 1.4rem;
}
.footer__copylight {
  display: block;
  margin-top: 45px;
  font-size: 1.4rem;
}


/* ---------- 固定ページ ---------- */
/* TOP */
#top .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(70%);
  -moz-filter: opacity(70%);
  -o-filter: opacity(70%);
  -ms-filter: opacity(70%);
  filter: opacity(70%);
  transition: 0.2s linear;
}
#top .mainvisual_inner{
  position: relative;
  overflow: hidden;
  padding: 29.5% 0 0 0;
}
#top .slider{
  display: none;
}
#top .slider.slick-initialized{
  display: block; /*slick-initializedが付与されたら表示*/
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.slick-slide img{
  width: 100%;
}
#top #news {
	padding-bottom: 0;
}
#top #news .news {
	padding: 0 0 0 160px;
	position: relative;
}
#top #news .news .ttl {
	width: 100px;
	margin: 0;
	padding: 0;
	background-color: #eb5505;
	font-size: 1.4rem;
	color: #fff;
	line-height: 40px;
	position: absolute;
	top: 0;
	left: 0;
}
#top #news .news .ttl::before {
	content: "";
	width: 20px;
	height: 40px;
	border: solid 20px transparent;
	border-left-color: #eb5505;
	border-right-width: 0;
	position: absolute;
	top: 0;
	left: auto;
	right: -20px;
}
#top #news .news .ttl span{
  font-size:1.2rem;
  color:#fff;
}
#top #news .news .date, #top #news .news .txt {
	margin: 0;
	display: table-cell;
	vertical-align: top;
}
#top #news .news .date {
	width: 100px;
	margin-right: 15px;
	color: #eb5505;
}
#top #news .news .txt {
	width: calc(100% - 105px);
}
#top #lead {
  padding-bottom: 0;
}
#top #lead .box {
	padding: 30px 20px;
}
#top #lead p {
	line-height: 2.9rem;
	text-align: center;
}
#top #what .logo {
	text-align: center;
	margin: 0 auto 30px;
	max-width: 40%;
}
#top #what p {
	line-height: 2.9rem;
  text-align: left;
}
#top #simulation p {
	text-align: center;
}
#top #simulation p a {
	display: block;
	margin-top: 20px;
}
#top #simulation p a:hover {
	opacity: 0.7;
}
#top #special ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#top #special ul li {
	display: flex;
	width: 30.77%;
	margin-right: 3.84%;
}
#top #special ul li a {
	padding: 20px 30px;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
}
#top #special ul li:last-child {
	margin-right: 0;
}
#top #special ul li h3 {
	color: #eb5505;
	font-size: 2.4rem;
	margin: 0;
	font-weight: normal;
	position: relative;
	text-align: center;
}
#top #special ul li h3 span {
	position: relative;
	padding: 0 20px;
	line-height: 1;
}
#top #special ul li h3::before,
#top #special ul li h3::after {
	position: relative;
	content: "";
	display: inline-block;
	width: 45px;
	background: #eb5505;
	height: 2px;
	top: -9px;
}
#top #special ul li img {
	margin: 10px auto;
	display: table;
	width: 65px;
}
#top #special ul li p {
	margin: 0;
}
/* auのiDeCo */
#au #reason .box {
	margin-top: 100px;
	padding: 40px 15px;
}
.box .box_ttl .point {
	position: absolute;
	left: 0;
	right: 0;
	top: -25px;
	width: 100px;
	margin: auto;
	background-color: #eb5505;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2rem;
	color: #fff;
	text-shadow: none;
	border-radius: 4px;
}
.box .box_ttl .point::before{
	content: "";
	position: absolute;
	right: -15px;
	top: -15px;
	width: 17px;
	height: 17px;
	background: url(../img/au_ttl_ico.png) no-repeat center;
}
.box .box_ttl .point.circle {
  line-height: 30px;
  width: 30px;
  display: inline-block;
  border-radius: 50%;
  height: 30px;
  top: -2px;
  position: relative;
  margin: 0 10px 0 0;
}
.box.point .col_wrapper {
	margin: 40px 0;
}
#au #reason .img {
	margin-bottom: 20px;
	text-align: center;
}
#au #reason .more_list{
	margin-top: 20px;
}
#au #reason .smartphone .lyt_txt {
	width: 64%;
}
#au #reason .easy .lyt_txt {
	width: 59.13%;
}
.col_wrapper .col {
  width: 50%;
  float: left;
}
.col_wrapper .col:nth-child(1) {
  padding-right: 40px;
  border-right: 1px dotted #ddd;
}
.col_wrapper .col:nth-child(2) {
  padding-left: 40px;
}
.col_wrapper .col .logo p {
  display: inline-block;
  margin: 0 0 15px;
  padding: 10px 15px;
  font-weight: bold;
  color: #fff;
  border-radius: 17px;
  position: relative;
  line-height: 1;
}
.col_wrapper .col .logo p::before {
  content: "";
  width: 10px;
  height: 10px;
  border: solid transparent;
  border-width: 10px 0 0 10px;
  position: absolute;
  bottom: -8px;
  left: 50px;
}
.col_wrapper figure {
  margin: 0;
}
.col_wrapper .col .txt {
  margin-bottom: 10px;
}
.col_wrapper .col .txt span {
  margin: 0 5px;
  font-size: 2.8rem;
}
.col_wrapper .col.orange .logo p {
  background-color: #eb5505;
}
.col_wrapper .col.orange .logo p::before {
  border-top-color: #eb5505;
}
.col_wrapper .col.orange .txt span {
  color: #eb5505;
}
.col_wrapper .col.red .logo p {
  background-color: #d70c18;
}
.col_wrapper .col.red .logo p::before {
  border-top-color: #d70c18;
}
.col_wrapper .col.red .txt span {
  color: #d70c18;
}
.col_wrapper .col.yellow .logo p {
  background-color: #ee9a07;
}
.col_wrapper .col.yellow .logo p::before {
  border-top-color: #ee9a07;
}
.col_wrapper .col.yellow .txt span {
  color: #ee9a07;
}
.col_wrapper .col.yellow .detail {
  background-color: #fdf5e6;
}
.col_wrapper .col.yellow .detail h4 {
  color: #ee9a07;
}
.col_wrapper .col.yellow .detail h4 span {
  background: linear-gradient(to bottom, rgba(238, 154, 7, 0) 0%, rgba(238, 154, 7, 0) 69%, rgba(238, 154, 7, 0.2) 70%, rgba(238, 154, 7, 0.2) 100%);
}
#au #reason .plan_list {
  margin-top: 5px;
}
#au #reason .plan_list li {
  height: 50px;
  display: table;
  width: 100%;
  table-layout: fixed;
  border-bottom: dotted 1px #eb5505;
}
#au #reason .plan_list li .copy {
  display: table-cell;
  width: 25%;
  background-color: #fff;
  line-height: 1.8rem;
  text-align: center;
  vertical-align: middle;
  position: relative;
}
#au #reason .plan_list li .copy::after {
  content: "";
  width: 14px;
  height: 14px;
  margin: auto 0;
  border: solid #eb5505;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 0;
  right: -30px;
  bottom: 0;
  transform: rotate(45deg)
}
#au #reason .plan_list li .name {
  display: table-cell;
  width: 75%;
  padding-left: 55px;
  font-size: 1.8rem;
  line-height: 3rem;
  vertical-align: middle;
}
#au #reason .plan_list li .name .tag {
  display: inline-block;
  margin-right: 10px;
  padding: 2px 5px;
  background-color: #eb5505;
  font-size: 1.2rem;
  line-height: 2rem;
  vertical-align: middle;
  color: #fff;
  border-radius: 4px;
}
#au #reason .plan_list li .name .point {
  height: 30px;
  padding: 3px 10px;
  background-color: #eb5505;
  font-size: 1rem;
  line-height: 1.2rem;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 15px;
  float: right;
}
#au #reason .plan_list li .name .ttl {
  font-weight: bold;
  color: #595757;
  vertical-align: middle;
}
#au #reason .plan_list li .name .ttl img {
  max-height: 20px;
}
#au #reason .plan_list li .name .point.none {
  background-color: #ddd;
  color: #333;
}
#au #reason .lineup-category {
  border: #ccc 1px solid;
  border-radius: 5px;
  position: relative;
  margin: 30px 0;
  padding: 30px;
  text-align: center;
}
#au #reason .lineup-category .lineup-category__title {
  margin: 0 0 20px;
  text-align: center;
}
#au #reason .lineup-category .lineup-category__title span {
  font-size: 2rem;
  font-weight: bold;
  color: #eb5505;
  position: relative;
  background: #fff;
  display: inline-block;
}

#au #reason .lineup-category .lineup-category__title span:before, #au #reason .lineup-category .lineup-category__title span:after {
    display: block;
    content: "";
    width: 30px;
    height: 2px;
    background-color: #eb5505;
    position: absolute;
    top: 50%;
}
#au #reason .lineup-category .lineup-category__title span:before {
  left: -28px;
  transform: rotate(-115deg) translateY(-50%);
}
#au #reason .lineup-category .lineup-category__title span:after {
  right: -32px;
  transform: rotate(-65deg) translateY(-50%);
}
#au #reason .lineup-category .lineup-category__lead {
  margin: 0 0 30px;
}
#au #reason .lineup-category__balance {
  margin: 10px 0 0;
}
#au #reason .lineup-category__balance .lineup-category__icon {
  padding: 5px 10px;
  border-radius: 30px;
  background: #eb5505;
  color: #fff;
}
#au #reason .lineup-category__balance .lineup-category__point {
  border: #eb5505 1px solid;
  color: #eb5505;
  padding: 5px 10px; 
  border-radius: 15px;
  margin: 0 0 0 10px;
  font-size: 1rem;
}
#au #reason .lineup-category__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  margin: 10px 0 0;
}
#au #reason .lineup-category__list li .lineup-category__icon {
  padding: 5px 10px;
  border-radius: 30px;
}
#au #reason .lineup-category__list li:nth-of-type(1) .lineup-category__icon {
  background: #fdd000;
}
#au #reason .lineup-category__list li:nth-of-type(2) .lineup-category__icon {
  background: #fff571;
}
#au #reason .lineup-category__list li:nth-of-type(3) .lineup-category__icon {
  background: #006cb8;
  color: #fff;  
}
#au #reason .lineup-category__list li:nth-of-type(4) .lineup-category__icon {
  background: #9fd8f7;
}
#au #reason .lineup-category__list li:nth-of-type(5) .lineup-category__icon {
  background: #9070af;
  color: #fff;    
}
#au #reason .lineup-category__list li:nth-of-type(6) .lineup-category__icon {
  background: #5cb531;
  color: #fff;    
}

/* iDeCo(イデコ)とは */
#ideco #why .job_list {
	display: flex;
  flex-wrap: wrap;
}
#ideco #why .job_list li {
  margin: 5px 15px;
  text-align: center;
  font-weight: bold;
  width: calc(25% - 30px);
}
#ideco #why .job_list img {
  width: 90%;
}
#ideco #tax .box {
	margin: 50px 0;
	padding: 40px 15px;
}
#ideco #tax .txt {
	margin: 0;
}
#ideco #tax .more_list {
	margin-top: 20px;
}
#ideco #tax .tax_list {
	margin-top: 20px;
}
#ideco #tax .tax_list li {
	padding-right: calc(50% - 300px);
	float: left;
	box-sizing: content-box;
  position: relative;
}
#ideco #tax .tax_list li:last-child {
	padding-right: 0;
}
#ideco #tax .tax_list li::before {
	content: "";
	width: 47px;
	height: 47px;
	margin: auto 0;
	background: url(../img/ideco_arrow.png) no-repeat center;
	position: absolute;
	right: calc(50% - 124px);
	top: 0;
	bottom: 0;
}
#ideco #tax .tax_list li:last-child::before {
	content: none;
}
#ideco #tax .tax_list li .tax_inner {
	width: 200px;
	height: 200px;
	background:#fff no-repeat center top 40px;
	border: solid 2px;
	border-radius: 50%;
	display: table;
	box-sizing: border-box;
  position: relative;  
}
#ideco #tax .tax_list li .tax_inner .ttl {
	margin: 0;
	padding: 5px 15px;
	font-weight: bold;
	color: #fff;
	border-radius: 4px;
  width: 120px;
	position: absolute;
	top: -10px;
	left: calc(50% - 60px);
  text-align: center;
}
#ideco #tax .tax_list li .tax_inner .txt {
	padding-top: 110px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.8rem;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}
#ideco #tax .tax_list li:nth-child(1) .tax_inner {
	background-image: url(../img/ideco_tax_01.svg);
	border-color: #f7507f;
}
#ideco #tax .tax_list li:nth-child(1) .tax_inner .ttl {
  background-color: #f7507f;
}
#ideco #tax .tax_list li:nth-child(1) .tax_inner .txt {
	color: #f7507f;
}
#ideco #tax .tax_list li:nth-child(2) .tax_inner {
	background-image: url(../img/ideco_tax_02.svg);
	border-color: #eb5505;
}
#ideco #tax .tax_list li:nth-child(2) .tax_inner .ttl {
  background-color: #eb5505;
}
#ideco #tax .tax_list li:nth-child(2) .tax_inner .txt {
	color: #eb5505;
}
#ideco #tax .tax_list li:nth-child(3) .tax_inner {
	background-image: url(../img/ideco_tax_03.svg);
	border-color: #ee9a07;
}
#ideco #tax .tax_list li:nth-child(3) .tax_inner .ttl {
	background-color: #ee9a07;
}
#ideco #tax .tax_list li:nth-child(3) .tax_inner .txt {
	color: #ee9a07;
}
#ideco .service_banner {
  background: #efefef;
  padding: 35px;
  text-align: center;
}
#ideco .service_banner ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
}
#ideco .service_banner ul li {
  width: 31.33%;
  margin: 0 1%;
}
#ideco #attention2 .box {
  margin: 50px 0;
  padding: 40px 15px;
}
#ideco #attention2 .att_list {
  display: flex;
  margin: 15px auto 30px;
}
#ideco #attention2 .att_list li {
  width: 33.33%;
  text-align: center;
  position: relative;
  counter-reset: list;
  counter-increment: title;
}
#ideco #attention2 .att_list li:before {
  content:counter(title) ;
  position: absolute;
  top: 20px;
  z-index: 10;
  color: #eb5505;
  background: #fff;
  border: #eb5505 1px solid;
  border-radius: 50%;
  line-height: 30px;
  width: 30px;
  height: 30px;
  left: calc( 50% - 20px );
}
#ideco #attention2 .att_list li .att_inner {
	width: 250px;
	height: 250px;
	background:#FFF9F6 no-repeat center center;
  background-size: 40%;
	border: #eb5505 solid 1px;
	border-radius: 50%;
	box-sizing: border-box;
  position: relative;  
}
#ideco #attention2 .att_list li .att_inner .ttl {
	margin: 0;
  font-size: 1.6rem;
	font-weight: bold;
	color: #eb5505;
	position: absolute;
	bottom: 20px;
	left: calc(50% - 75px);
  text-align: center;
  width: 150px;
}
#ideco #attention2 .att_list li .att_inner .txt {
	padding-top: 110px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.8rem;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}
#ideco #attention2 .att_list li:nth-child(1) .att_inner {
	background-image: url(../img/advantage_att2.png);
}
#ideco #attention2 .att_list li:nth-child(2) .att_inner {
	background-image: url(../img/advantage_att4.png);
}
#ideco #attention2 .att_list li:nth-child(3) .att_inner {
	background-image: url(../img/advantage_att3.png);
}
#ideco #attention2 dt {
  font-weight: bold;
  margin: 15px 0 5px;
  font-size: 1.6rem;
}
#ideco #attention2 dd {
  margin: 0 0 30px;
}

/* iDeCoの加入方法 */
#howto .anker_banner {
	text-align: center;
}
#howto .anker_banner a {
	max-width: 47%;
	display: inline-block;
}
#howto .app.howto {
	margin-bottom: 0;
}
#howto .app.howto .download {
  background: #fdf5e6;
  color: #ea5504;
}
#howto .anker_banner a:first-child {
	margin-right: 3.84%;
}
#howto .flow.inner,
#howto .flow .inner {
  max-width: 1100px;
  padding-left: 30px !important;
  padding-right: 30px !important;
}
#howto .flow ol {
  counter-reset:number; 
}
#howto .flow ol li {
  background: #fff;
  border: solid 1px #f6f6f6;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
  position: relative;
  display: flex;
  margin-top: 20px;
  margin-bottom: 40px;
}
#howto .flow ol li:last-child {
	margin-bottom: 0;
}
#howto .flow ol li:before {
	counter-increment: number;
	content: counter(number);
  font-size: 3.6rem;
  font-weight: bold;
  display: inline-block;
  position: absolute;
  left: -20px;
  top: -20px;
	background: #f7507f;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	color: #FFF;
	text-align: center;
}
#howto .flow ol li .left {
	width: 36.55%;
	min-width: 330px;
	padding: 30px;
}
#howto .flow ol li .right {
	width: 63.45%;
	padding: 30px;
	background: #feedf2;
	text-align: center;
}
#howto .flow ol li .left h3 {
	color: #f7507f;
	font-size: 2.4rem;
	line-height: normal;
	margin: 0 0 20px;
}
#howto .flow ol li .left p strong {
	color: #f7507f;
}
#howto .flow ol li .right figure {
	display: inline-block;
	margin: 0;
	text-align: center;
}
#howto .flow ol li:nth-child(2) .right {
	display: flex;
}
#howto .flow ol li:nth-child(2) .right figure {
	display: block;
	float: left;
}
@media screen and (min-width:768px) {
#howto .flow ol li:nth-child(3) .right figure:last-child {
	position: relative;
    top: -15px;
}
}
#howto .flow ol li .right figure:first-child {
	margin-right: 3.84%;
}
#howto .flow ol li .right figure.entry {
	display: flex;
	text-align: left;
}
#howto .flow ol li .right figure.entry span {
	margin:  0 0 10px;
}
#howto .flow ol li .right figure.entry img {
	float: left;
	height: max-content;
	margin-right: 20px;
}
#howto .flow ol li .right figure.entry div,
#howto .flow ol li .right figure.entry p {
	font-size: 1.2rem;
}
#howto.flow  ol li .right figure:first-child{
	margin-right: 3.84%;
}
#howto .flow ol li .right figure figcaption span {
	display: table;
	margin: 0 auto 10px;
	background: #f7507f;
	color: #FFF;
	font-weight: bold;
	padding: 2px 10px;
	border-radius: 4px;
}
#howto .flow ol li .right figure figcaption ul li {
	color: #f7507f;
	counter-increment: none;
}
#howto .flow .more_list {
  text-align: left;
}	
#howto .flow .more_list a{
  text-decoration: none;
}

#howto .beginner h2 span {
    color: #eb5505;
}
#howto .beginner ol li .left h3 span {
	background: -webkit-linear-gradient(rgba(247, 80, 127, 0) 0%, rgba(247, 80, 127, 0) 69%, rgba(247, 80, 127, 0.2) 70%, rgba(247, 80, 127, 0.2) 100%);
	background: -o-linear-gradient(rgba(247, 80, 127, 0) 0%, rgba(247, 80, 127, 0) 69%, rgba(247, 80, 127, 0.2) 70%, rgba(247, 80, 127, 0.2) 100%);
	background: linear-gradient(rgba(247, 80, 127, 0) 0%, rgba(247, 80, 127, 0) 69%, rgba(247, 80, 127, 0.2) 70%, rgba(247, 80, 127, 0.2) 100%);
}
#howto .beginner ol li .right figure.entry div {
	color: #f7507f;
}
#howto .exp ol li .left h3 span {
	background: -webkit-linear-gradient(rgba(238, 154, 7, 0) 0%, rgba(238, 154, 7, 0) 69%, rgba(238, 154, 7, 0.2) 70%, rgba(238, 154, 7, 0.2) 100%);
	background: -o-linear-gradient(rgba(238, 154, 7, 0) 0%, rgba(238, 154, 7, 0) 69%, rgba(238, 154, 7, 0.2) 70%, rgba(238, 154, 7, 0.2) 100%);
	background: linear-gradient(rgba(238, 154, 7, 0) 0%, rgba(238, 154, 7, 0) 69%, rgba(238, 154, 7, 0.2) 70%, rgba(238, 154, 7, 0.2) 100%);
}
#howto .exp ol li .right figure figcaption span,
#howto .exp ol li:before {
	background: #ee9a07;
}
#howto .exp ol li .right {
	background: #fdf5e6;
}
#howto .exp h2 span,
#howto .exp .tac strong,
#howto .exp ol li .left h3,
#howto .exp ol li .left p strong,
#howto .exp ol li .right figure.entry div {
    color: #ee9a07;
}
#howto .require .inner_s {
    padding: 30px 60px !important;
	margin: 40px auto;
}
#howto .require strong {
	color: #eb5505;
}
#howto .require ol li ul li {
	padding-left: 1.4rem;
	position: relative;
}
#howto .require ol li ul li:before {
	content: "";
	display: inline-block;
	margin-right: 5px;
	background: #eb5505;
	width: 4px;
	height: 4px;
	border-radius: 2px;
    margin-left: 2rem;
	left: -17px;
    top: 10px;
	position: absolute;
}

/* iDeCoの加入条件 */
#condition .box {
  padding: 50px 0;
}
#condition #commission .detail {
  table-layout: fixed;
}
#condition .procedure {
  border:#eb5505 2px dashed;
  padding: 15px;
  margin: 30px 0;
}
#condition .procedure dl dt {
  background: #eb5505;
  color: #fff;
  padding: 5px;
}
#condition .procedure dl dd {
  margin: 0;
  padding: 5px;
}
#condition .attention dt {
  background: #efefef; 
  padding: 5px;
  font-weight: bold;
}
#condition .attention dd {
  margin: 0;
  padding: 5px;
}

/* iDeCoのメリットと留意点 */
#advantage #timing .chart_img {
	position: relative;
}
#advantage #timing .chart_img .anker_link {
  width: 18.1%;
  background-color: #fff;
  border-radius: 50%;
  opacity: 0;
  position: absolute;
  transition: opacity .2s #fff;
}
#advantage #timing .chart_img .anker_link:hover {
  opacity: 0.4;
}
#advantage #timing .chart_img .anker_link::before {
  content: "";
  width: 100%;
  padding-top: 100%;
  display: block;
}
#advantage #timing .chart_img .anker_link_1 {
  top: 47.2%;
  left: 6.9%;
}
#advantage #timing .chart_img .anker_link_2 {
  top: 18.4%;
  left: 34.6%;
}
#advantage #timing .chart_img .anker_link_3 {
  top: 0;
  left: 66.8%;
}
#advantage #timing .banner {
	margin-top: 40px;
	text-align: center;
}
#advantage #timing .ttl_balloon {
  width: 100px;
  margin: 40px auto;
  padding-top: 50px;
  background: no-repeat top 8px center;
  background-size: 40px;
  font-weight: bold;
  color: #eb5505;

  text-align: center;
}
#advantage #timing1 .ttl_balloon {
  background-image: url(../img/timing_1.png);
}
#advantage #timing2 .ttl_balloon {
  background-image: url(../img/timing_2.png);
}
#advantage #timing3 .ttl_balloon {
  background-image: url(../img/timing_3.png);
}
#advantage #timing1 .ttl_balloon {
  color: #f7507f;
  border-color: #f7507f;
}
#advantage #timing3 .ttl_balloon {
  color: #ee9a07;
  border-color: #ee9a07;
}
#advantage #timing1 .ttl_balloon::before {
  border-top-color: #f7507f;
}
#advantage #timing3 .ttl_balloon::before {
  border-top-color: #ee9a07;
}
#advantage #timing .box {
	padding: 50px 0;
}
#advantage #timing h4 {
	font-size: 1.6rem;
	display: inline-block;
	position: relative;
  margin: 0 0 15px;
  color: #eb5505;
}
#advantage #timing h4 span {
  padding: 0 5px;
}
#advantage #timing1 h4 span {
	background: linear-gradient(to bottom, rgba(247, 80, 127, 0) 0%, rgba(247, 80, 127, 0) 69%, rgba(247, 80, 127, 0.2) 70%, rgba(247, 80, 127, 0.2) 100%);
}
#advantage #timing2 h4 span {
	background: linear-gradient(to bottom, rgba(235, 85, 5, 0) 0%, rgba(235, 85, 5, 0) 69%, rgba(235, 85, 5, 0.2) 70%, rgba(235, 85, 5, 0.2) 100%);
}
#advantage #timing3 h4 span {
	background: linear-gradient(to bottom, rgba(238, 154, 7, 0) 0%, rgba(238, 154, 7, 0) 69%, rgba(238, 154, 7, 0.2) 70%, rgba(238, 154, 7, 0.2) 100%);
}
#advantage #timing1 h3,
#advantage #timing1 h4,
#advantage #timing1 strong {
	color: #f7507f;
}
#advantage #timing3 h3,
#advantage #timing3 h4,
#advantage #timing3 strong {
	color: #ee9a07;
}
#advantage #timing1 .image {
	background: #fff;
	padding: 20px;
	margin-top: 20px;
}
#advantage #timing .detail {
	background: #fdeee5;
	padding: 20px 40px;
	margin: 30px auto 0;
}
#advantage #timing1 .detail {
	background: #feedf2;
}
#advantage #timing3 .detail {
	background: #fdf5e6;
}
#advantage #timing .detail p {
	margin: 0;
}
#advantage #attention .box {
  margin: 40px 15px 0;
  padding: 30px 0;
}
#advantage #attention .box p:last-child {
  margin-bottom: 0;
}
#advantage #attention .box .lyt_img {
  width: 100px;
}
#advantage #attention .box .lyt_txt {
  width: calc(100% - 100px);
  padding-left: 40px;
}
/* 運営における役割分担・年金資産の保護 */
#role .box {
	padding: 20px;
}
/* 節税シュミレーション */
#simulation h3 {
	padding: 0 10px;
	text-align: center;
	display: table;
	margin: 0 auto 10px;
	font-size: 2rem;
	line-height: 3.6rem;
	position: relative;
}
#simulation h3::before {
	content: "";
	width: 100%;
	position: absolute;
}
#simulation #case .txt {
  text-align: center;
}
#simulation #case .case_list {
  margin: 40px 0 0;
}
#simulation #case .case_list li {
  width: calc(50% - 30px);
  margin: 0 15px 30px;
  padding: 20px;
  float: left;
}
#simulation #case .case_list li .profile {
  margin: 15px 0 25px;
  padding: 10px 10px 10px 100px;
  background-color: #f6f6f6;
  border-radius: 4px;
  position: relative;
}
#simulation #case .case_list li .profile::before {
  content: "";
  width: 68px;
  height: 120px;
  background: no-repeat center bottom 0;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 15px;
}
#simulation #case .case_list li:nth-child(1) .profile::before {
  background-image: url(../img/simulation_profile_01.png);
}
#simulation #case .case_list li:nth-child(2) .profile::before {
  background-image: url(../img/simulation_profile_02.png);
}
#simulation #case .case_list li:nth-child(3) .profile::before {
  background-image: url(../img/simulation_profile_03.png);
}
#simulation #case .case_list li:nth-child(4) .profile::before {
  background-image: url(../img/simulation_profile_04.png);
}
#simulation #case .case_list li .profile p span {
  font-weight: bold;
  color: #eb5505;
}
#simulation #case .case_list li .profile .job_txt {
  margin: 0 0 5px;
  font-size: 1.8rem;
}
#simulation #case .case_list li .profile .installment_txt, #simulation #case .case_list li .profile .income_txt {
  margin: 0;
}
#simulation #case .case_list li .profile .installment_txt::before, #simulation #case .case_list li .profile .income_txt::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  vertical-align: middle;
  border: solid transparent;
  border-width: 3px 0 3px 6px;
  border-left-color: #333;
}
#simulation #case .case_list li .yearly, #simulation #case .case_list li .total {
  text-align: center;
}
#simulation #case .case_list li .yearly {
  margin-bottom: 20px;
}
#simulation #case .case_list li .yearly h4, #simulation #case .case_list li .total h4 {
  margin: 0 0 5px;
  font-size: 1.4rem;
}
#simulation #case .case_list li .yearly p, #simulation #case .case_list li .total p {
  margin: 0;
  font-size: 1.8rem;
  font-weight: bold
}
#simulation #case .case_list li .yearly p {
  line-height: 4.4rem;
}
#simulation #case .case_list li .total p {
  line-height: 3.2rem;
}
#simulation #case .case_list li .yearly p span {
  margin: 0 5px;
  padding: 0 5px;
  font-size: 4rem;
  color: #eb5505;
  border-bottom: solid 2px #eb5505;
  position: relative;
}
#simulation #case .case_list li .yearly p span::before {
  content: "";
  width: 17px;
  height: 17px;
  background: url(../img/au_ttl_ico.png) no-repeat center;
  position: absolute;
  right: -34px;
  top: 4px;
}
#simulation #case .case_list li .total p span {
  padding: 0 5px;
  font-size: 2.8rem;
  color: #eb5505;
}
#simulation .ttl_balloon {
  padding-top: 50px;
  line-height: 2rem;
  color: #eb5505;
}
#simulation .ttl_balloon span {
  width: 80px;
  font-size: 4rem;
  line-height: 5rem;
  position: absolute;
  top: 5px;
  left: -2px;
}
#simulation .input .ttl {
  font-size: 2rem;
  line-height: 0;
  text-align: center;
}
#simulation .input .ttl .ttl_inner {
  line-height: 3.2rem;
  vertical-align: middle;
}
#simulation .input .ttl::before {
  content: "";
  width: 50px;
  height: 50px;
  margin-right: 15px;
  background: no-repeat center;
  background-size: contain;
  vertical-align: middle;
  display: inline-block;
}
#simulation .input_job .ttl::before {
  background-image: url(../img/simulation_input_01.png);
}
#simulation .input_installment .ttl::before {
  background-image: url(../img/simulation_input_02.png);
}
#simulation .input_income .ttl::before {
  background-image: url(../img/simulation_input_03.png);
}
#simulation .input_age .ttl::before {
  background-image: url(../img/simulation_input_04.png);
}
#simulation .input_spouse .ttl::before {
  background-image: url(../img/simulation_input_05.png);
}
#simulation .input_dependents .ttl::before {
  background-image: url(../img/simulation_input_06.png);
}
#simulation .input .ttl .small {
  font-size: 1.6rem;
  font-weight: normal;
}
#simulation .input .ttl .val {
  margin: 0 5px;
  padding: 0 5px;
  font-size: 3.6rem;
  color: #eb5505;
}
#simulation .job .input .ttl {
  margin: 40px 0;
}
#simulation .job .job_list {
  margin: 0 0 -20px;
  font-size: 0;
  text-align: center;
}
#simulation .job .job_list > li {
  width: 29.64%;
  margin: 0 1.808% 20px;
  display: inline-block;
}
#simulation .job .job_list > li input[type="radio"] {
  display: none;
}
#simulation .job .job_list > li p {
  margin: 0;
  padding: 146px 0 12px;
  background: no-repeat center bottom 45px;
  background-size: 146px;
  font-size: 2rem;
  font-weight: bold;
  vertical-align: middle;
  transition: background-color 0.2s, color 0.2s;
}
#simulation .job .job_list > li:nth-child(1) p {
  background-image: url(../img/simulation_job_00.png);
}

#simulation .job .job_list > li:nth-child(2) p {
  background-image: url(../img/simulation_job_01.png);
}
#simulation .job .job_list > li:nth-child(3) p {
  background-image: url(../img/simulation_job_02.png);
}
#simulation .job .job_list > li:nth-child(4) p {
  background-image: url(../img/simulation_job_03.png);
}
#simulation .job .job_list > li:nth-child(5) p {
  background-image: url(../img/simulation_job_04.png);
}
#simulation .job .job_list > li:nth-child(6) p {
  background-image: url(../img/simulation_job_05.png);
}
#simulation .job .job_list > li p .small {
  font-size: 1.2rem;
}
#simulation .job .job_list > li input[type="radio"]:checked + p {
  background-color: #eb5505;
  color: #fff;
}
#simulation .parameter {
  display: none;
  margin-top: 60px;
  padding: 0 0 15px;
  border-bottom: #ccc 1px dotted;
}
#simulation .parameter .input {
  margin-top: 20px;
}
#simulation .parameter .input .ttl {
  margin: 0 0 10px;
}
#simulation .parameter .box {
  padding: 20px 50px;
}
#simulation .parameter .range_wrapper {
  padding: 8px 0;
  position: relative;
}
#simulation .parameter .range_wrapper .range {
  height: 16px;
  margin: 0 10px;
  padding: 1px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 1px #ddd inset;
  position: relative;
}
#simulation .parameter .range_wrapper .ui-slider-range {
  height: 100%;
  background-color: #eb5505;
  border-radius: 4px;
}
#simulation .parameter .range_wrapper .ui-slider-handle {
  width: 20px;
  height: 32px;
  margin-left: -10px;
  background-color: #fff;
  border: solid 2px #eb5505;
  border-radius: 5px;
  position: absolute;
  top: -8px;
  z-index: 1;
  cursor: pointer;
}
#simulation .parameter .range_wrapper .ui-slider-handle:focus {
  outline: none;
}
#simulation .parameter .range_wrapper .range_unit {
  margin: 0;
  padding: 0 10px;
  background-color: #fff;
  font-size: 1.2rem;
  line-height: 1.8rem;
  color: #eb5505;
  border: solid 1px #eb5505;
  border-radius: 10px;
  position: absolute;
  top: -30px;
}
#simulation .parameter .range_wrapper .range_unit::before, #simulation .parameter .range_wrapper .range_unit::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 18px;
}
#simulation .parameter .range_wrapper .range_unit::before {
  width: 10px;
  height: 10px;
  border-top-color: #eb5505;
  border-width: 10px 5px 0;
}
#simulation .parameter .range_wrapper .range_unit::after {
  width: 8px;
  height: 8px;
  margin: 0px 1px;
  border-top-color: #fff;
  border-width: 8px 4px 0;
}
#simulation .parameter .range_wrapper .range_unit.min {
  left: -4px;
}
#simulation .parameter .range_wrapper .range_unit.min::before, #simulation .parameter .range_wrapper .range_unit.min::after {
  left: 8px;
}
#simulation .parameter .range_wrapper .range_unit.max {
  right: -4px;
}
#simulation .parameter .range_wrapper .range_unit.max::before, #simulation .parameter .range_wrapper .range_unit.max::after {
  right: 8px;
}
#simulation .send {
  padding-top: 0;
}
#simulation .send .send_btn {
  margin-top: 60px;
  text-align: center;
  display: none;
}
#simulation .send .send_btn button {
  max-width: 480px;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.2s;
}
#simulation .send .send_btn button:hover {
  opacity: 0.6;
}
#simulation .send .note {
  margin: 40px 0 0;
}
#simulation .modal {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s, visibility 0.2s;
  z-index: 10000;
}
#simulation .modal.on {
  visibility: visible;
  opacity: 1;
}
#simulation .modal .modal_overlay {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}
#simulation #modal_job {
  font-size: 2rem;
}
#simulation .modal .modal_content {
  width: 560px;
  height: 600px;
  margin: auto;
  padding: 30px 40px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.1);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
#simulation .modal_inner {
  width: 100%;
}
#simulation .modal h2 {
  margin-bottom: 25px;
}
#simulation .modal h2 span{
  color: #333;
}
#simulation .modal .box{
  border:none;
  box-shadow: none;
  padding: 0 60px;
}
#simulation .modal .input_installment .ttl::before {
  display: none;
}
#simulation .modal .parameter .input .ttl {
  margin: 0;
}
#simulation .modal .input .ttl .val{
  font-size: 2rem;
}
#simulation .modal .input .ttl .ttl_inner{
  font-size: 1.4rem;
}
#simulation .modal .profile {
  margin-bottom: 10px;
  padding: 10px 10px 10px 140px;
  background-color: #f6f6f6;
  border-radius: 4px;
  position: relative;
}
#simulation .modal .profile::before {
  content: "";
  width: 100px;
  height: 86px;
  background: no-repeat center bottom 0;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 15px;
}
#simulation .modal .profile[data-modalimg="0"]::before {
  background-image: url(../img/simulation_job_00.png);
}
#simulation .modal .profile[data-modalimg="1"]::before {
  background-image: url(../img/simulation_job_01.png);
}
#simulation .modal .profile[data-modalimg="2"]::before {
  background-image: url(../img/simulation_job_02.png);
}
#simulation .modal .profile[data-modalimg="3"]::before {
  background-image: url(../img/simulation_job_03.png);
}
#simulation .modal .profile[data-modalimg="4"]::before {
  background-image: url(../img/simulation_job_04.png);
}
#simulation .modal .profile[data-modalimg="5"]::before {
  background-image: url(../img/simulation_job_05.png);
}
#simulation .modal .profile p span {
  font-weight: bold;
  color: #eb5505;
}
#simulation .modal .profile .job_txt {
  margin: 0 0 5px;
  font-size: 1.8rem;
}
#simulation .modal .profile .installment_txt, #simulation .modal .profile .income_txt, #simulation .modal .profile .age_txt {
  display: inline-block;
  margin: 0 15px 0 0;
  line-height: 2rem;
}
#simulation .modal .profile .installment_txt::before, #simulation .modal .profile .income_txt::before, #simulation .modal .profile .age_txt::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  vertical-align: middle;
  border: solid transparent;
  border-width: 3px 0 3px 6px;
  border-left-color: #333;
}
#simulation .modal .profile .age_txt {
  margin-right: 0;
}
#simulation .modal .txt {
  margin: 0;
  text-align: center;
}
#simulation .modal .txt span {
  font-size: 1.8rem;
  font-weight: bold;
  color: #eb5505;
}
#simulation .modal .result {
  margin: 5px 0 20px;
  padding: 5px 0 5px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 3rem;
  text-align: center;
  border: solid 2px #eb5505;
  border-radius: 4px;
}
#simulation .modal .result span {
  display: inline-block;
  margin: 0 5px;
  font-size: 2.4rem;
  color: #eb5505;
  position: relative;
}
#simulation .modal .result span.deco::before {
  content: "";
  position: absolute;
  right: -44px;
  top: 2px;
  width: 17px;
  height: 17px;
  background: url(../img/au_ttl_ico.png) no-repeat center;
}
#simulation .modal .note {
  margin: 0;
}
#simulation .modal .modal_exit {
  width: 60px;
  height: 60px;
  padding-top: 40px;
  background-color: #eb5505;
  font-size: 1rem;
  line-height: 1rem;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  position: absolute;
  top: -20px;
  right: -20px;
  cursor: pointer;
  transition: opacity .2s;
}
#simulation .modal .modal_exit:hover {
  opacity: 0.6;
}
#simulation .modal .modal_exit::before, #simulation .modal .modal_exit::after {
  content: "";
  width: 30px;
  height: 2px;
  margin: auto;
  background-color: #fff;
  position: absolute;
  top: -10px;
  right: 0;
  bottom: 0;
  left: 0;
}
#simulation .modal .modal_exit::before {
  transform: rotate(45deg);
}
#simulation .modal .modal_exit::after {
  transform: rotate(-45deg);
}
#simulation .modal .btn a{
  display: inline-block;
  background: #eb5700;
  border-radius: 4px;
  padding: 10px 20px;
  color: #fff;
}
#simulation .modal table th,
#simulation .modal table td{
  vertical-align: top;
}
#simulation .modal h3{
  position: relative;  
}
#simulation .modal h3:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #eb5505;
  -webkit-transform: rotate(-120deg);
  transform: rotate(-120deg);
  left: -25px;
}
#simulation .modal h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #eb5505;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  right: -25px;
}
#simulation .modal h3 span{
  color: #eb5505;
  margin:0 auto;
  position: relative;
}
#simulation .modal .btn_breakdown{
  margin: 0 0 0 30px;
  font-size: 1.4rem;
  font-weight: normal;
  border:#ccc 1px solid;
  display: inline-block;
  padding: 7px 25px 7px 10px;
  line-height: 1;
  border-radius: 30px;
  position: relative;
}
#simulation .modal .btn_breakdown:hover {
  opacity: 0.7;
}
#simulation .modal .btn_breakdown:after{
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  border-style: solid;
  border-color: #eb5505 transparent transparent transparent;
  border-width: 5px 5px 0 5px;
  transform: rotate(0);
  transition:0.5s all; 
}
#simulation .modal .btn_breakdown.open:after{
  transform: rotate(180deg);
  transition:0.5s all;
}


#simulation .modal table .breakdown{
  line-height: 1.5;
  display: none;
}

/* ふるさと納税シュミレーション */
.tab li {
  display: inline-block;
  min-width: 47%;
}
.tab li:first-child {
  margin: 0 3.84% 0 0;
}
.tab li a {
  padding: 30px 25px;
  margin: 2px;
  background-color: #ccc;
  display: inline-block;
  outline: solid 4px #ccc;
  border: solid 1px #fff;
  position: relative;
  width : 100%;
  font-weight: bold;
  color: #fff;
}
.tab li a.current, .tab li a:hover {
  background: #eb5505;
  color: #fff;
  outline: solid 4px #eb5505;
  border: solid 1px #fff;
}
.tab li a.current:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -15px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #eb5505 transparent transparent transparent;
  border-width: 10px 10px 0 10px;
}
.tab_btn li {
  display: inline-block;
  min-width: 47%;
  position: relative;
}
.tab_btn li:first-child {
  margin: 0 3.84% 0 0;
}
.tab_btn li a {
  padding: 30px 25px;
  margin: 2px;
  background-color: #eb5505;
  display: inline-block;
  outline: solid 4px #eb5505;
  border: solid 1px #fff;
  position: relative;
  width : 100%;
  font-weight: bold;
  color: #fff;
}
.tab_btn li a:hover {
  background: #fff;
  color: #eb5505;
}
.tab_btn .arrow {
    position: relative;
    display: inline-block;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}
.tab_btn .arrow::before,
.tab_btn .arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 10;
}
.tab_btn .arrow::before {
  width: 20px;
  height: 20px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #fff;
}
.tab_btn .arrow::after {
  right: 20px;
  top: 5px;
  box-sizing: border-box;
  width: 5px;
  height: 5px;
  border: 5px solid transparent;
  border-top: 5px solid #eb5505;
}
#ideco-furusato p span{
  color:#eb5505;
  font-weight: bold;
}
#ideco-furusato .btn-radio {
  cursor: pointer;
  display: inline-block;
  -webkit-user-select: none;
  user-select: none;
}
#ideco-furusato .btn-radio svg {
  fill: none;
  vertical-align: middle;
}
#ideco-furusato .btn-radio svg circle {
  stroke-width: 2;
  stroke: #ddd;
}
#ideco-furusato .btn-radio svg path {
  stroke: #eb5505;
}
#ideco-furusato .btn-radio svg path.inner {
  stroke-width: 6;
  stroke-dasharray: 19;
  stroke-dashoffset: 19;
}
#ideco-furusato .btn-radio svg path.outer {
  stroke-width: 2;
  stroke-dasharray: 57;
  stroke-dashoffset: 57;
}
#ideco-furusato .btn-radio input {
  display: none;
}
.btn-radio input:checked + svg path {
  transition: all 0.4s ease;
}
#ideco-furusato .btn-radio input:checked + svg path.inner {
  stroke-dashoffset: 38;
  transition-delay: 0.3s;
}
#ideco-furusato .btn-radio input:checked + svg path.outer {
  stroke-dashoffset: 0;
}
#ideco-furusato .btn-radio span {
  display: inline-block;
  vertical-align: middle;
}
#ideco-furusato .btn-radio input:checked + span {
  color:#fff;
}
#ideco-furusato .input_dependents dl {
  display: table;
  width: 100%;
  margin: 0 auto;
  line-height: 1;
}  
#ideco-furusato .input_dependents dt{
  display: table-cell;
  vertical-align: middle;
}
#ideco-furusato .input_dependents dd{
  display: table-cell;
  text-align: right;
  vertical-align: middle;
}
#ideco-furusato input[type=number]{
  padding: 5px;
  text-align: center;
  font-size: 30px;
  width: 50px;
  -moz-appearance:textfield;
  vertical-align: middle;
}
#ideco-furusato input[disabled] {
    color: #666;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}        
#ideco-furusato .input_dependents .minus,
#ideco-furusato .input_dependents .plus{
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  color: #eb5505;
  width: 30px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%;
  border: #eb5505 2px solid;
  margin:0 5px;
  font-weight: bold;
} 
#ideco-furusato .box{
  margin:50px 0 0;
  padding:50px;
}
#ideco-furusato table {
  border-collapse: collapse;
  width:100%;
  border-spacing: 2px;
  border-collapse: separate;
}
#ideco-furusato table th,
#ideco-furusato table td{
  padding: 10px 5px;
  border: solid 1px #ddd;
  text-align: center;
  font-size: 12px;
}
#ideco-furusato table th {
  background-color: #f5aa82;
  color: #fff;
  border-color: #f5aa82;
}
#ideco-furusato .send .send_btn {
  margin-top: 60px;
  text-align: center;
  display: none;
}
#ideco-furusato .send .send_btn button {
  max-width: 480px;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.2s;
}
#ideco-furusato .send .send_btn button:hover {
  opacity: 0.6;
}
#ideco-furusato #results {
  margin: 15px 0 0;
  text-align: center;
}
#ideco-furusato #results:not(.fix) {
  padding-top: 0 !important;
}
#ideco-furusato .result {
  padding: 5px;
  background: rgba(235, 85, 5, 0.5);
  opacity: 0;
}
#ideco-furusato .result .inner_s {
  background: #fff;
  padding: 10px;
  border-radius: 3px;
}
#ideco-furusato #results.fix .result {
  position: fixed;
  left: 0;
  bottom: 0;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 100;
  width: 100%;
  visibility: hidden;
}
#ideco-furusato #results.view.fix .result,
#ideco-furusato #results.view.normal .result {
  opacity: 1;
  visibility: visible;
}
#ideco-furusato .small {
    font-size: 1rem;
  }
#ideco-furusato .fc-orange {
    color: #eb5505;
}
#ideco-furusato .input .input {
   margin: 0;
}
#ideco-furusato input[disabled=disabled]{
  -webkit-text-fill-color: #333;
  color: #333;
  opacity: 1;
}

/* 運用商品の選び方 */
#product .plan .box {
	padding: 40px;
	margin: 60px 0 0;
}
#product .plan .plan_bg2 {
	margin: 40px 0;
	padding: 0 50px;
	background-image: url("../img/product_bg2.png");
	background-repeat: no-repeat;
	background-position: left 12px center;
	background-size: 19.1px auto;
  background-size: contain;  
}
#product .plan .plan_bg1 {
	padding: 20px 40px;
	background-image: url("../img/product_bg1.png");
  background-repeat: repeat-y;
  background-position: top center;
}
#product .plan .planlist li {
	margin-bottom: 20px;
}
#product .plan .planlist li h3 {
	background: #eb5505;
	color: #FFF;
	padding: 10px 20px;
  margin: 0;
}
#product .plan .planlist li .white {
	background: #FFF;
	padding: 20px;
	position: relative;
	border: solid 1px #eb5505;
}
#product .plan .planlist li .white img {
  width: calc(100% - 190px);
  height: auto;
  max-width: 372px;
}
#product .plan .planlist li .white p {
	margin: 0 0 10px;
}
#product .plan .planlist li .white a {
	position: absolute;
	right: 20px;
	bottom: 20px;
}
#list .combi li {
	width: calc(50% - 15px);
	float: left;
	padding: 20px;
	text-align: center;
	margin-top: 20px;
}
#list .combi li:first-child {
	margin-right: 30px;
}
#list .combi li h3 {
	color: #eb5505;
	margin-top: 0;
}
#list .combi li h3 span {
	display: inline-block;
	background: #eb5505;
	color: #FFF;
	padding: 5px 10px;
	margin-left: 10px;
}


/* 指定運用商品 */
#default .howto h3 {
  margin: 20px 0;
  padding-left: 15px;
  font-size: 1.8rem;
  line-height: 2.4rem;
  border-left: solid 5px #ed6e29;
  text-align: left;
}
#default .howto .tar a{
  margin:0 15px 0 0;
  color: #eb5505;
}
#default .howto .tar a:after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 10px;
  margin-left: 5px;
  background: url(../img/blank_ico.png) no-repeat center;
  background-size: contain;
}
#default .howto .schedule td,
#default .howto .schedule th {
	padding: 10px;
	position: relative;
}
#default .howto .schedule {
	width: calc(100% - 50px);
	position: relative;
	min-height: 230px;
}
#default .howto .schedule thead th {
	background: #eb5505;
	color: #FFF;
}
#default .howto .schedule thead th:last-child{
	width: 50px;
	position: absolute;
  right: -50px;
  line-height: 1.6rem;
  padding: 10px 15px;
	background: #FFF;
	color: #eb5505;
	border: solid 1px #eb5505;
}
#default .howto .schedule tbody p {
	writing-mode: tb-rl; /* IE用 */
	writing-mode: vertical-rl; /* Chrome、Firefox用 */
	margin: 0 auto;
	white-space: nowrap;
	width: 1em; /* firefox対策 */
	line-height: 1em; /* firefox対策 */
	text-orientation: upright;
  max-height: 180px;
}
#default .howto .schedule tbody th {
	vertical-align: top;
  text-align: left;
	padding: 10px;
}
#default .howto .schedule tbody td {
	vertical-align: top;
	text-align: center;
  padding: 20px 10px 10px;
}
#default .howto .schedule td.arrow {
  min-width: 44px;
}
#default .howto .schedule td.arrow:before {
	content: "";
	display: block;
  width: calc(100% - 30px);
  top: 10px;
  position: absolute;
  height: 2px;
  background: #eb5505;
}
#default .howto .schedule td.arrow:after {
	content: "";
	position: absolute;
	display: block;
	right: 15px;
	top: 4px;
  width: 0;
  height: 0;
  border-left: 10px solid #eb5505;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}
#default .howto .schedule tbody td .att {
	max-width: 330px;
  margin: 10px auto 0;
	background: rgba(237,108,0,0.1);
	padding: 10px;
	text-align: left;
}
#default .howto .schedule tbody td .att .post {
	background: #FFF;
	border: solid 1px #ed6c00;
	text-align: center;
	padding: 3px 10px;
	margin: 10px 0;
}
#default .howto .schedule tbody td .att .arrow {
	text-align: right;
	padding-right: 30px;
	position: relative;
	font-size: 1.2rem;
}
#default .howto .schedule tbody td .att .arrow:before {
	content: "";
	display: inline-block;
  width: 20px;
	top: 10px;
	right: 2px;
  position: absolute;
  height: 2px;
  background: #eb5505;
}
#default .howto .schedule tbody td .att .arrow:after {
	content: "";
	position: absolute;
	display: block;
	right: 0;
	top: 4px;
  width: 0;
  height: 0;
  border-left: 10px solid #eb5505;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}
#default .howto .schedule sup{
    position: absolute;
    top: 5px;
    right: 5px;
}
/* 商品一覧 */
#list #listbtn a {
  display: block;
  width: 47.5%;
}
#list #listbtn a:nth-child(1) {
  float: left;
}
#list #listbtn a:nth-child(2) {
  float: right;
}
#list .product_table thead tr {
  background-color: #eb5505;
}
#list .product_table tbody tr:nth-child(odd) {
  background-color: #f6f6f6;
}
#list .product_table tbody tr:nth-child(even) {
  background-color: #fff;
}
#list .product_table th {
  padding: 10px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 2rem;
  color: #fff;
  border-right: dotted 1px #fff;
}
#list .product_table th:last-child {
  border-right: none;
}
#list .product_table td {
  padding: 20px;
  text-align: center;
  border-right: dotted 1px #ccc;
}
#list .product_table td:last-child {
  border-right: none;
}
#list .product_table td a {
  color: #eb5505;
  text-decoration: underline;
}
#list .product_table td span {
  display: block;
  padding-top: 15px;
  position: relative;
  transition: opacity .2s;
}
#list .product_table td a:hover {
  opacity: .6;
}
#list .product_table .product_img {
  width: 100px;
  margin: 0 auto 10px;
}
#list .product_table .product_nm {
  margin: 0;
  padding-top: 10px;
  font-weight: bold;
  color: #eb5505;
  position: relative;
  z-index: 2;
}
#list .product_table .product_img + .product_nm {
  padding-top: 0;
}
#list .product_table .point {
  width: 130px;
  height: 20px;
  margin: 0 auto;
  padding: 3px 0;
  background-color: #eb5505;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.4rem;
  color: #fff;
  border-radius: 10px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;  
  z-index: 1;
}
#list .product_table .point_none {
  background-color: #fff;
  color: #333;
  border: #ddd 1px solid;
}
#list .product_table .pdf {
  width: 24px;
  margin: 0 auto;
  padding-top: 0;
}
#list .more_list {
  margin-top: 20px;
}
/* 手数料 */
#commission strong {
	color: #eb5505;
}
#commission strong.price {
	font-size: 2.4rem;
}
#commission strong.price span {
	font-size: 1.6rem;
}
#commission .free {
	text-align: center;
}
#commission .free img {
	width: 100%;
	max-width: 696px;
	height: auto;
}
#commission .image {
	text-align: center;
}
#commission .image .box {
	display: inline-block;
	margin: 20px; 
	min-width: 240px;
	padding: 20px 0;
}
#commission .image .box img  {
	max-width: 144px;
}
#commission .image p  {
	font-size: 1.2rem;
	margin: 0 0 15px;
}
#commission .box dd {
	text-align: center;
}
#commission .detail {
	width: 100%;
	border-spacing: 2px;
	border-collapse: separate;
}
#commission .detail th,
#commission .detail td {
	padding: 10px 5px;
	border: solid 1px #ddd;
	text-align: center;
	font-size: 12px;
	line-height: 18px;
}
#commission .detail th {
	background-color: #f5aa82;
	color: #fff;
	border-color: #f5aa82;
}
#commission .detail th.if {
	color: #f5aa82;
	background-color: #fff;
	border-color: #fff;
	border-bottom: solid 1px #ddd;
}
#commission .detail td {
	color: #333;
}
#commission .detail .tal {
	text-align: left !important;
}
#commission .detail th.bg {
	background-color: #ed6e29;
	border-color: #ed6e29;
}
#commission .detail td.bg {
	background-color: #f6f6f6;
}
#commission .detail .strong {
	font-size: 16px;
	font-weight: bold;
	color: #ed6e29;
}
/* 資産形成を学ぶトップ */
#learn #column .column_list {
  margin: 0 -1.443% 20px -1.443%;
}
#learn #author .author_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 20px;
}
#learn #author .author_list li {
  width: 31%;
}
#learn #seminar .seminar_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 20px;
}
#learn #seminar .seminar_list li {
  width: 31%;
}

/* iDeCoを学ぶ */
#learn #study .study_list {
  margin-bottom: 20px;
  padding-top: 5px;
  font-size: 0;
  text-align: center;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#learn #study .study_list > li {
  padding: 30px 30px 10px;
  font-size: 1.4rem;
  width: 31%;
}
#learn #study .study_list .cat_icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 5px;
  background: no-repeat center;
  background-size: contain;
  display: block;
}
#learn #study .study_list .post_list li {
  width: 100%;
  text-align: left;
	float: none;
}
#learn #words .box,
.guide_single .box {
  padding: 20px 40px;
  margin-bottom: 20px;
}

/* 特集 */
.special_list .box {
  margin: 20px 0;
  padding: 20px;
}
.special_list figure {
  width: 50%;
  float: left;
  margin: 0 3% 0 0;
}
.special_list .post_list{
  float: right;
  width: 47%;
  padding: 0 !important;
}
.special_list .post_list li{
  float: none;
  width: 100%;  
}
.special_list2 {
  margin: -40px -1.25% 20px -1.25%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.special_list2 li {
  width: 30%;
  margin: 40px 1.24% 0;
  display: flex;
}
.special_list2 p{
  font-size: 1.2rem;
}

/* archive */
#archive section:nth-of-type(even) {
	background-color: #f6f6f6;
}
#archive .post_list {
	padding: 20px 40px;
}
#archive h2 .cat_icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 10px;
  background: no-repeat center;
  background-size: contain;

  display: block;
}
#archive .seminar,
#archive .column,
#archive .news{
  padding: 60px 0;
}
#special .special{
  padding: 0 0 60px 0;
}
#archive .news .news_category_list {
  margin:0 0 30px;
}
#archive .news .news_category_list li {
  float: left;
  margin:0 5px 0 0;
}
#archive .news .news_category_list li a{
  display: inline-block;
  background:#fff;
  padding:5px 15px;
  border-radius: 20px;
  border: #ccc 1px solid;
}
#archive .news .news_category_list li a.current {
  background: #ed6e29;
  border-color: #ed6e29;
  color: #fff;
  pointer-events:none;
}
#archive .news .news_category_list li a:hover {
  background: #efefef;
}
#archive .news .news_list .date, #archive .news .news_list .txt {
  display: inline-block;
  padding: 15px 0;
  font-size: 1.4rem;
  border-bottom: dotted 1px #eb5505;
}
#archive .news .news_list .date {
  width: 92px;
  padding-right: 15px;
  color: #eb5505;
}
#archive .news .news_list .txt {
  width: calc(100% - 97px);
  margin-left: 0;
}
#archive .news .news_list .txt a {
  transition: opacity .2s;
}
#archive .news .news_list .txt a:hover {
  opacity: .6;
}
/*ニュースのキャンペーンカテゴリ*/
#archive .news .news_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#archive .news .news_list li {
	width: 31.33%;
	margin: 1%;
  position: relative;
  display: flex;
}
#archive .news .news_list li .end{
  position: absolute;
  background: rgba(0,0,0,0.5);
  color:#fff;
  display: flex;
  font-size: 1.2rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 1;
  text-align: center;
  top: 0;
  left: 0;
}
#archive .news .news_list li a{
  display: block;
  overflow: hidden;
  padding: 20px;
}
#archive .news .news_list li time{
  font-size: 1.2rem;
  display: block;
  margin: 15px 0 0;
}
#archive .news .news_list .box_column h4 {
  border: none;
}

/* コラム(webview)の一覧 */
.webview #column .column{
  padding: 0 0 30px;
}
.webview #column .column .inner{
  margin: 0;
  padding: 0 !important;
}
.webview #column .column .column_list {
  margin: 0 0 30px;
}
.webview #column .column .column_list li {
  border-bottom: #ddd 1px solid;
  width :100%;
  margin: 0;
  padding: 5px;
}
.webview #column .column .column_list li a{
  display: block;
  padding: 0 !important;
  overflow: hidden;
  width: 100%;
}
.webview #column .box_column h4{
  border: none;
  margin: 0;
  padding: 0;
}
.webview #column .box_column .img {
  float: left;
  margin:0 10px 0 0;
  width: 25%;
  border-radius: 8px;
  border: #efefef 1px solid;
  padding: 0;
}
.webview #column .box_column .img:before {
  display: none;
}
.webview #column .box_column .img_inner{
  position: static;
}
.webview #column .box_column time{
  font-size: 1.1rem;
  color:#999;
}
.webview #column .column .column_list li:nth-child(4n):after{
  border:none;
}
/* single */
#single .entry-content {
	padding: 60px 0;
}
#single .entry-content h1 + section {
  margin-top: 0;
}
#single .entry-content section {
  margin-top: 60px;
	padding: 0;
}
#single .end{
  color: #eb5505;
}
#single .box {
	padding: 30px 39px 40px;
}
#single .box2 {
	padding: 30px;
}
#single .box table {
	width: 100%;
}
#single h1.title {
	font-size: 2.2rem;
	border-bottom: 1px dotted #ddd;
	position: relative;
	padding: 0 0 15px 40px;
	width: 100%;
	text-align: left;
	font-weight: bold;
}
#single h1.title span {
	font-size: 1.4rem;
  font-weight: normal;
  color: #999;
}
#single h1.title:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background: no-repeat left center;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 0;
	border-bottom: none;
}
#single #study_single h1.title:before {
	background-image: url(../img/study_icon.png);
}
#single #column_single h1.title:before {
	background-image: url(../img/column_icon.png);
}
#single #seminar_single h1.title:before {
	background-image: url(../img/seminar_icon.png);
}
#single #words_single h1.title:before {
	background-image: url(../img/words_icon.png);
}
#single #faq_single h1.title:before {
	background-image: url(../img/faq_icon.png);
}
#single #news_single h1.title:before {
	background-image: url(../img/news_icon.png);
}
#single #guide_single h1.title:before {
	background-image: url(../img/faq_icon.png);
}
#single h2 {
  display: block;
  margin: 60px 0 15px;
  padding: 0 0 0 10px;
  font-size: 2rem;
  line-height: 2.6rem;
  border-left: solid 5px #ed6e29;
  text-align: left;
}
#single h2::before {
  content: none;
}
#single h1 + h2, #single h2:first-child {
  margin-top: 0;
}
#single h3 {
  margin: 40px 0 10px;
  padding-bottom: 5px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.6rem;
  color: #ed6e29;
  border-bottom: solid 2px #ed6e29;
}
#single h1 + h3, #single h3:first-child {
  margin-top: 0;
}
#single p:last-child {
  margin-bottom: 0;
}
#study_single .img {
  margin: 40px 0;
  text-align: center;
}
#study_single .img:last-child {
  margin-bottom: 0;
}
#study_single .img img {
  width: 100%;
}
#single .img .caption {
  margin-bottom: 0;
  color: #2f796b;
}
#single .normal {
	font-size: 1.4rem;
	font-weight: normal;
}
#single .maker {
	background: linear-gradient(transparent 70%, #f5aa82 60%);
	padding-bottom: 3px;
}
#single table {
	width: 100%;
	border-collapse: collapse;
}
#single table th,
#single table td {
	padding: 10px 5px;
	border: solid 1px #ddd;
}
#single table th {
	text-align: center;
	min-width: 10rem;
	font-weight: bold;
	color: #fff;
	background-color: #ed6e29;
}
#single table th.white {
	background-color: #f5aa82;
	border-color: #f5aa82;
}
#single .table_0009_01 td {
	padding: 4px 5px;
}
#single .up {
  padding: 2px;
	background: #2f796b;
	color: #fff;
}
#single .down {
  padding: 2px;
	background-color: #6bb0a4;
	color: #fff;
}
/* コラム */

/* コラム投稿ページ */
#column_single .article_header_meta {
  border-top: #fff 1px solid;
  border-bottom: 1px dotted #ddd;
  padding: 10px;
  background: #fefefe;
  margin: -30px 0 30px;
  position: relative;
}
#column_single figure {
  margin: 0;
}
#column_single img {
  margin: 30px auto;
  display: block;
}
#column_single .txt_box {
  max-width: 560px;
  margin: 0 auto;
  padding: 30px 40px;
  border: solid 1px #eb5505;
  border-radius: 4px;
  font-size: 1.2rem;
}
#column_single .txt_box dt {
  font-weight: bold;
}
#column_single .txt_box dd {
  margin: 0 0 15px;
}
#column_single .txt_box .copy {
  background: #efefef;
  border-radius: 3px;
  padding: 15px;
}
#column_single .column_single a,
#calendar .entry-content a,
#guide_single .entry-content [data-list-style=circle] a{
  color: #eb5505;
  text-decoration: underline dotted;
}
#column_single .column_single a:has(figcaption) {
  color: inherit;
  text-decoration: none;
}
#column_single .single_author {
  border: #ccc 1px solid;
  border-radius: 4px;
  padding:35px;
}
#column_single .single_author img {
  margin: 0;
  border-radius: 50%;
  display: inline-block;
}
#column_single .single_author figure{
  float: left;
  width: 150px;
  margin:0 30px 0 0;
}
#column_single .single_author .profile {
  float: right;
  width: calc( 100% - 180px );
  line-height: 1.5;
  font-size:1.3rem;
}
#column_single .single_author .name {
  font-size: 2.5rem;
  letter-spacing: 1rem;
  margin:0 0 15px;
}
#column_single .single_author .author_link {
  text-align: center;
}
#column_single .single_author .author_link a{
  border-radius: 5px;
  border: #eb5505 1px solid;
  display: inline-block;
  padding:10px 30px;
  text-decoration: none;
}

/* セミナー */
#seminar .seminar .seminar_list {
  margin: 0 -1.25% 20px -1.25%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#seminar .seminar .seminar_list > li {
  width: 47%;
  float: left;
  margin: 20px 1.5%;
  display: flex;
}
#seminar .seminar .seminar_list > li a{
  position: relative;
  display: flex;
  flex-direction: column;
}
#seminar .seminar .seminar_list > li .box_column {
  padding: 20px;
}
#seminar .seminar .seminar_list > li:last-child:after {
  content: none;
}
#seminar .seminar .seminar_list li .img{
  padding: 16.66% 0 0 0;
}
#seminar .seminar .seminar_list .chapter {
  padding:10px 10px 10px 30px;
  border: #fdeee6 3px dotted;
  border-radius: 15px;
}
/* セミナー投稿ページ */
#seminar_single img {
  margin: 30px auto;
  display: block;
}
#seminar_single .txt_box {
  max-width: 560px;
  margin: 0 auto;
  padding: 30px 40px;
  border: solid 1px #eb5505;
  border-radius: 4px;
  font-size: 1.2rem;
}
#seminar_single .txt_box dt {
  font-weight: bold;
}
#seminar_single .txt_box dd {
  margin: 0 0 15px;
}
#seminar_single .copyright {
  text-align: right;
  font-size:1.2rem;
  line-height: 1.5;
  color:#666;
  margin: 30px 0 0;
}
#seminar_single .txt_box .copy {
  background: #efefef;
  border-radius: 3px;
  padding: 15px;
}
#seminar_single .column_single a,
#calendar .entry-content a{
  color: #eb5505;
  text-decoration: underline dotted;
}
#seminar_single .single_author {
  border: #ccc 1px solid;
  border-radius: 4px;
  padding:35px;
}
#seminar_single .single_author img {
  margin: 0;
  border-radius: 50%;
  display: inline-block;
}
#seminar_single .single_author figure{
  float: left;
  width: 150px;
  margin:0 30px 0 0;
}
#seminar_single .single_author .profile {
  float: right;
  width: calc( 100% - 180px );
  line-height: 1.5;
  font-size:1.3rem;
}
#seminar_single .single_author .name {
  font-size: 2.5rem;
  letter-spacing: 1rem;
  margin:0 0 15px;
}
#seminar_single .single_author .author_link {
  text-align: center;
}
#seminar_single .single_author .author_link a{
  border-radius: 5px;
  border: #eb5505 1px solid;
  display: inline-block;
  padding:10px 30px;
  text-decoration: none;
}

/* faq*/
#faq_single #faq{
  padding: 30px 39px 40px;
  margin: 0;
}
.relation {
  border-top:#ccc 1px dotted;
  padding: 15px 0 0;
}
.relation h4{
  margin:0 0 5px;
  padding: 0 0 0 10px;
  border-left: #ccc 5px solid;
}
.faq_accordion .accordion_ttl {
	padding-left: 70px;
  background-image: url(../img/faq_icon.png);
  background-repeat: no-repeat;
  background-position: left 20px center;
	background-size: 30px;
}
/* 諸変更手続き */
.number_accordion .set {
  border: #ccc 1px solid;
  border-radius: 5px;
  padding: 15px;
}
.number_accordion .accordion_ttl {
	border: #f5aa82 1px solid;
  background:#fff6f2;
}
.number_accordion h5 {
  font-size: 1.6rem;
  margin: 0 0 10px;
  border-left: #eb5505 5px solid;
  padding: 0 0 0 10px;
}

/* 用語集 */
#words_single .box table th a {
	color: #fff;
	text-decoration: underline;
}
/* 各種方針 */
#terms .terms {
  padding: 60px 0;
}
#terms .terms_list li {
  padding: 15px 0 15px 15px;
  border-bottom: dotted 1px #ccc;
}
#terms .terms_list li a {
  position: relative;
  transition: opacity .2s;
}
#terms .terms_list li a:hover {
  opacity: .6;
}
#terms .terms_list li a::before {
  content: "";
  width: 6px;
  height: 6px;
  border: solid #eb5505;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  position: absolute;
  top: 6px;
  left: -15px;
}
#terms .terms_list li.blank a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 10px;
  margin-left: 5px;
  background: url(../img/blank_ico.png) no-repeat center;
  background-size: contain;
}
/* 個人型年金規約 */
#flag .box {
	padding: 20px;
	margin-top: 40px;
}
#flag .download {
	font-size: 1.4rem;
	background: #eb5505;
	color: #fff;
	display: inline-block;
	padding: 8px 20px;
	margin: 20px auto 0;
  border-radius: 4px;
}
/* text */
#txt_page {
  margin-top: 60px;
  margin-bottom: 60px;
}
#txt_page .txt {
  margin: 60px 0;
}
#txt_page .txt:first-child {
  margin-top: 0;
}
#txt_page .txt:last-child {
  margin-bottom: 0;
}
#txt_page p {
  margin-top: 0;
}
#txt_page .ol > li {
  margin-bottom: 25px;
}
#txt_page .ol > li:last-child {
  margin-bottom: 0;
}
#txt_page .txt_box {
  max-width: 560px;
  margin: 0 auto;
  padding: 30px 40px;
  border: solid 1px #eb5505;
  border-radius: 4px;
}
#txt_page .txt_box h4 {
  margin: 0 0 5px;
  color: #eb5505;
}
/* 404 */
#notfound .entry-content {
  padding: 60px 0;
}
#notfound .box {
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 0;
}
#notfound .box p {
  text-align: center;
}
/* 「auのiDeCo」アプリ */
#apps .intro {
    margin: auto;
    display: table;
}
#apps .app_icon {
	width: 120px;
	float: left;
	margin-right: 20px;
}
#apps .box {
	margin-top: 60px;
	padding: 40px 15px;
}
#apps .box p {
	text-align: center;
}
#apps .picture img {
	width: 160px;
}
#apps .picture {
	width: 100%;
  text-align: center;
  display: block;
	margin-top: 20px;
}
#apps .picture figure:nth-of-type(2) {
  padding-left: 40px;
}
#apps .img {
	display: inline-block;
	margin: 0;
}
#apps .img img {
	margin-bottom: 10px;
}
#apps .box .more_list {
	margin-top: 20px;
}
#single #news_single .faq_single a{
	color: #eb5505;
	text-decoration: underline;
}
/* 掛金と拠出限度額 */
#installment #case .txt {
  text-align: center;
}
#installment #case .case_list {
  margin: 40px 0 0;
}
#installment #case .case_list li {
  width: calc(50% - 30px);
  margin: 0 15px 30px;
  padding: 20px;
  float: left;
}
#installment #case .case_list li .profile {
  margin: 15px 0 25px;
  padding: 10px 10px 10px 100px;
  background-color: #f6f6f6;
  border-radius: 4px;
  position: relative;
  min-height: 108px;
}
#installment #case .case_list li .profile::before {
  content: "";
  width: 68px;
  height: 120px;
  background: no-repeat center bottom 0;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 15px;
}
#installment #case .case_list li:nth-child(1) .profile::before {
  background-image: url(../img/simulation_profile_04.png);
}
#installment #case .case_list li:nth-child(2) .profile::before {
  background-image: url(../img/simulation_profile_01.png);
}
#installment #case .case_list li:nth-child(3) .profile::before {
  background-image: url(../img/simulation_profile_02.png);
}
#installment #case .case_list li:nth-child(4) .profile::before {
  background-image: url(../img/simulation_profile_03.png);
}
#installment #case .case_list li:nth-child(5) .profile::before {
  background-image: url(../img/simulation_profile_06.png);
}
#installment #case .case_list li:nth-child(6) .profile::before {
  background-image: url(../img/simulation_profile_05.png);
}
#installment #case .case_list li .profile .job_txt {
  margin: 10px 0 5px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #eb5505;
}
#installment #case .case_list li .profile .job_txt span {
  font-weight: normal;
  font-size: 1.2rem;
  color: #333;
}
#installment #case .case_list li .profile .installment_txt{
  margin: 0;
}
#installment #case .case_list li .profile .installment_txt::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  vertical-align: middle;
  border: solid transparent;
  border-width: 3px 0 3px 6px;
  border-left-color: #333;
}
#installment #case .case_list li .price {
  text-align: center;
}
#installment #case .case_list li .price dt {
  margin: 15px 0 0;
  font-size: 1.4rem;
  float: left;
}
#installment #case .case_list li .price dd {
  margin: 0 0 5px;
  text-align: right;
}
#installment #case .case_list li .price dd span {
  margin: 0 5px;
  padding: 0 5px;
  font-size: 3rem;
  color: #eb5505;
  position: relative;
  font-weight: bold;
}
#installment #case .case_list li .total p span {
  padding: 0 5px;
  font-size: 2.8rem;
  color: #eb5505;
}
#installment h3 {
	padding: 0 10px;

	text-align: center;
	display: table;
	margin: 80px auto 30px;
	font-size: 2rem;
	line-height: 3.6rem;
	position: relative;
}
#installment h3 .ttl_balloon {
	padding-top: 10px;
	line-height: 2rem;
	color: #eb5505;

}
#installment h3 .ttl_balloon span {
  width: 80px;
  font-size: 4rem;
  line-height: 5rem;
  position: absolute;
  top: 24px;
  left: -2px;
}
#installment .job .job_list {
  margin: 0 -1.875% -20px;
  text-align: center;
}
#installment .job .job_list > li {
  width: 29.64%;
  margin: 0 1.65% 20px;
  display: inline-block;
  background: #fff;
}
#installment .job .job_list > li .profession {
  margin: 0;
  padding: 146px 0 0;
  background: no-repeat center bottom 45px;
  background-size: 146px;
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: middle;
  transition: background-color 0.2s, color 0.2s;
}
#installment .job .job_list > li:nth-child(1) .profession {
  background-image: url(../img/simulation_job_01.png);
}
#installment .job .job_list > li:nth-child(2) .profession {
  background-image: url(../img/simulation_job_02.png);
}
#installment .job .job_list > li:nth-child(3) .profession {
  background-image: url(../img/simulation_job_03.png);
}
#installment .job .job_list > li:nth-child(4) .profession {
  background-image: url(../img/simulation_job_04.png);
}
#installment .job .job_list > li:nth-child(5) .profession {
  background-image: url(../img/simulation_job_05.png);
}
#installment .job .job_list > li .price{
  margin:10px 0;
}
#installment .job .job_list > li .price span {
  color: #eb5505;
  font-weight: bold;
  font-size: 2.5rem;
}
#installment .merit .box{
  padding: 10px;
  margin: 0 0 50px;
}

/* author一覧 */
#authors ul li{
  border:#eee 1px solid;
  border-radius: 4px;
  padding: 35px;
  margin: 0 0 15px;
}
#authors ul li img{
  border-radius: 50%;
}
#authors ul li figure {
  float: left;
  margin: 0 30px 0 0;
  width: 150px;
}
#authors ul li .profile {
  float: right;
  width: calc( 100% - 180px);
}
#authors ul li .name{
  font-size: 2.5rem;
  letter-spacing: 1rem;
}
#authors ul li a{
  color: #eb5505;
}
#authors .author_link {
  text-align: center;
}
#authors .author_link a{
  border-radius: 5px;
  border: #eb5505 1px solid;
  display: inline-block;
  padding:10px 30px;
  text-decoration: none;
}

/* 大和のiDeCo
----------------------------------------*/
#daiwa_ideco{
  padding: 0;
}
#daiwa_ideco h1 img {
  max-width: 800px;
  width: 100%;
}
#intermediation h1{
  margin:50px auto;
  text-align: center;
  color: #eb5700;
  line-height: 1.5;
}
#intermediation .image_title {
  margin: 0;
}
#intermediation .image_title::before{
  border: none;
}
#intermediation h3 {
  border-left: 5px solid #eb5700;
  font-size: 1.8rem;
  padding-left: 10px;
  margin: 30px 0;
}
#intermediation .box.border_orange {
  border-radius: 15px;
  border: #eb5505 10px solid;
}
#intermediation .box.border_blue {
  border-radius: 15px;
  border: #cbedff 10px solid;
  box-shadow:none;
}
#intermediation .inner_s .dib{
  display: inline-block;
  border-radius: 30px;
  border:#efefef 3px solid;
}
#intermediation .inline-block {
  display: inline-block;
}
#intermediation .ckeckbtn {
  border-top: #ccc 1px dotted;
  padding: 20px 0 0;
}
#intermediation .error {
  color: #FF0000;
  background: #FFF2F2;
  padding: 5px;
  display: none;
}
#intermediation .download {
  color:#eb5700;
  border-radius: 25px;
  border:#eb5700 1px solid;
  text-decoration: none;
  background: #fff;
  position: relative;
  padding: 5px 45px 5px 20px;
  display: inline-block;
}
#intermediation .download:hover{
  background: #eb5700;
  color: #fff;
  opacity: 1;
}
#intermediation .download:before{
   position: absolute;
   content: '';
   width: 20px;
   height: 20px;
   background: #eb5700;
   border-radius: 50%;
   top: 21%;
   right: 7px;
}
#intermediation .download:after{
   position: absolute;
   content: '';
   width: 0;
   height: 0;
   border: solid 4px transparent;
   border-left: solid 6px #fff;
   top: 39%;
   right:9px;
}

/* 支店選択 */
#intermediation .radio_box {
  margin: 5px 0;
  background: #fff;
  border-radius: 4px;
  padding: 10px;
}
#intermediation .gray_box{
  background: #f2f2f2;
  font-size: 1.6rem;
}
/*select*/
#intermediation select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	margin: 0;
	padding: 9px 35px 9px 12px;
	background: #fff;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	box-sizing: border-box;
	border: 1px solid #ccc;
	width: 100%;
}
#intermediation .select_box {
	display: inline-block;
	position: relative;
	z-index: 1;
	width: 100%;
  margin:5px 0;
}
#intermediation .select_box select {
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 44px;
}
#intermediation .select_box select::-ms-expand {
　display: none;
}
#intermediation .select_box::after {
	position: absolute;
	z-index: 2;
	right: 15px;
	top: 28%;
	content: "▼";
	color: #eb5700;
	font-size: 14px;
	width: 14px;
	height: 22px;
	display: block;
	text-align: center;
  pointer-events: none;
}
#intermediation #area[disabled],
#intermediation #branch[disabled],
#intermediation .select_box[data-disabled=true]::after{
  opacity:0.3;
}

/* 規約 */
#intermediation .terms_box {
	border: 1px solid #ccc;
	max-height: 300px;
	overflow-y: scroll;
}
#intermediation .agreement_box label {
	font-size: 1.6rem;
}
/*btns*/
#intermediation .btns li:first-child{
	float: left;
	width:48%;
}
#intermediation .btns li:last-child{
	float: right;
	width:48%;
}
#intermediation input[type="button"], #intermediation input[type="submit"] {
	cursor: pointer;
}
#intermediation input[type="button"]:hover,
#intermediation input[type="submit"]:hover {
	opacity: 0.6;
	transition-duration: 0.4s;
}
#intermediation input[type="submit"][disabled],
#intermediation input[type="button"][disabled]{
	background-color: #ccc;
	cursor: default;
  box-shadow: 0px 5px 0px 0px rgba(86, 74, 62);
}
#intermediation input[type="submit"][disabled]:hover,
#intermediation input[type="button"][disabled]:hover{
	opacity: 1.0;
}
#intermediation input[type="submit"],
#intermediation input[type="button"] {
	background: #eb5700;
	border-radius: 50px;
	color: #fff;
	display: block;
	font-size: 1.8rem;
	padding: 30px 140px 30px 100px;
	box-shadow: 0px 5px 0px 0px rgba(140, 70, 0);
	text-align: center;
	width: 80%;
  margin: 0 auto;
}
    
/*checkbox*/
#intermediation .checkbox_wrapper {
  border:#ccc 2px solid;
  background: #fff;
  padding: 10px 15px;
  position: relative;
  margin: 50px 0 0;
}
#intermediation .checkbox_wrapper.clear{
  background:#eee;
}
#intermediation .checkbox_wrapper span {
  background: #eb5505;
  color:#fff;
  position: absolute;
  top:-34px;
  left:-2px;
  padding: 5px 15px 5px 25px;
  font-size:1.2rem;
  border-radius: 5px 5px 0 0;
}
#intermediation .checkbox_wrapper span:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#intermediation input[type=checkbox] {
  display: none;
}
#intermediation .checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;

  vertical-align: middle;
  cursor: pointer;
}
#intermediation .checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  content: '';
}
#intermediation .checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #eb5700;
  border-bottom: 3px solid #eb5700;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#intermediation input[disabled="disabled"] + .checkbox {
 color:#ccc;
}
#intermediation input[disabled="disabled"] + .checkbox:after{
  border-color: #efefef;
}

#intermediation input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}
/* 年金番号 */
#number .box {
	margin-bottm: 50px;
	padding: 40px 80px;
}

/* 書き方コンテンツ
----------------------------------------*/
#wow .attention {
  border: #eb5505 3px solid;
  padding: 15px;
  position: relative;
  margin: 30px 0;
}
#wow .attention:before {
  content: "i";
  font-size: 85%;
  margin-right: 5px;
  display: inline-block;
  vertical-align: 2px;
  width: 1.5em;
  height: 1.5em;
  text-align: center;
  line-height: 1.8;
  border-radius: 50%;
  background: #eb5505;
  color: #fff;
  font-weight: bold;
}
#wow .print{
  text-align: center;
  margin: 30px 0;
}
#wow .print a {
  display: inline-block;
  background: #fff6f7;
  border: #e60012 2px solid;
  border-radius: 5px;
  padding: 15px;
  text-decoration: none;
  color: #e60012;
}
#wow .print img {
 width: 30px; 
}
#wow .box{
  padding: 50px;
}
#wow ol {
  padding: 0;
  text-indent: 0;
}
#wow ol > li{
  margin: 0 0 50px;
  padding: 0 0 0 40px;
}
#wow ol > li:last-child {
  margin: 0;
}
#wow ol > li:before {
  float: left;
  font-weight: bold;
  background: #f375a8;
  display: inline-block;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin: 0 15px 0 0;
  content: counter(title);
}
#wow ol h3,
#wow ol h4{
  font-size: 1.6rem;
  line-height: 3rem;
}
#wow #case .case_list {
  margin: 40px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#wow #case .case_list > li {
  margin: 0 15px 30px;
  padding: 15px 15px 10px;
  width: calc(50% - 30px);
}
#wow #case .case_list > li .profile {
  margin: 10px 0 15px;
  padding: 10px 10px 10px 100px;
  background-color: #f6f6f6;
  border-radius: 4px;
  position: relative;
  min-height: 108px;
}
#wow #case .case_list > li .profile::before {
  content: "";
  width: 68px;
  height: 120px;
  background: no-repeat center bottom 0;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 15px;
}
#wow #case .case_list > li:nth-child(1) .profile::before {
  background-image: url(../img/simulation_profile_04.png);
}
#wow #case .case_list > li:nth-child(2) .profile::before {
  background-image: url(../img/simulation_profile_01.png);
}
#wow #case .case_list > li:nth-child(3) .profile::before {
  background-image: url(../img/simulation_profile_06.png);
}
#wow #case .case_list > li:nth-child(4) .profile::before {
  background-image: url(../img/simulation_profile_05.png);
}
#wow #case .case_list > li .profile .job_txt {
  margin: 30px 0 5px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #eb5505;
}
#wow #case .case_list > li .profile .job_txt span {
  font-weight: normal;
  font-size: 1.2rem;
  color: #333;
}
#wow #case .case_list ul li a:before,
#wow .own_list ul li a:before,
#wow .other_list ul li a:before {
  content: url(../img/arrow.png);
  display: inline-block;
  margin-right: 5px;
}
#wow #case .case_list ul li a,
#wow .own_list ul li a,
#wow .other_list ul li a{
  color: #333;
  border: #f5aa82 1px solid;
  border-radius: 5px;
  margin: 0 5px 5px 0;
  padding: 5px;
  text-decoration: none;
  display: block;
  background: #fff;
}
#wow #case .case_list ul li span,
#wow .own_list ul li span{
  color: #fff;
  background: #f5aa82;
  border-radius: 5px;
  margin:0 5px 0 0;
  font-size:1.2rem;
  padding:3px;
}
#wow #case .case_list ul li .company span{
  text-decoration: none;
}
#wow .plus{
	font-size: 50px;
	position: relative;
	width: 0.4em;
	height: 1.6em;
	background-color: #f5aa82;
  margin: 0 auto;
}
#wow .plus:before {
	position: absolute;
	top: 0.6em;
	left: -0.6em;
	width: 1.6em;
	height: 0.4em;
	content: "";
	background-color: #f5aa82;
}
#wow .table.denial th {
  background: #efefef;
  border-color: #ccc;
  color: #333;
}
#wow .nav_box {
  border: #efefef 5px solid;
  padding: 30px;
}
#wow .own_list .job_txt {
  font-size: 1.8rem;
  font-weight: bold;
  height: 50px;
  background-size: contain;
  background-position: center;
  text-align: center;
  padding: 50px 0 0;
  position: relative;
  top: -50px;
  background-color:#fff;
  width: 50%;
  margin: 0 auto 30px;
}
#wow .own_list .job_txt span {
  font-weight: normal;
  font-size: 1.2rem;
  color: #333;
  display: block;
}
#wow .own_list .job_txt.a1 {
  background-image: url(../img/simulation_profile_04.png);
}
#wow .own_list .job_txt.b1 {
  background-image: url(../img/simulation_profile_01.png);
}
#wow .own_list .job_txt.c1 {
  background-image: url(../img/simulation_profile_06.png);
}
#wow .own_list .job_txt.d1 {
  background-image: url(../img/simulation_profile_05.png);
}
#wow .own_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#wow .own_list ul li {
	width: 50%;
  display: flex;
}
#wow .own_list ul li a {
  color: #333 !important;
  text-decoration: none !important;
  width: 100%;
}
#wow .other_list {
  margin: 30px 0 0;
  padding: 30px;
  background: #efefef;
  border: #ccc 1px dashed;
}
#wow .other_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#wow .other_list ul li {
	width: 33%;
  display: flex;
}
#wow .other_list ul li a {
  color: #333 !important;
  text-decoration: none !important;
  width: 100%;
  border-color: #ccc;
}

/* 大和金融商品仲介
----------------------------------------*/
.daiwa_ifa h1{
  font-weight: normal;
  border-bottom: #ccc 1px solid;
  position: relative;
  padding: 15px;
}
.daiwa_ifa .bx-viewport,
.daiwa_ifa .bx-controls-direction {
  max-width: 800px;
}
.daiwa_ifa h1:before {
  content: "　" ;
  border-bottom: #eb5505 1px solid;
  width: 200px;
  position: absolute;
  bottom: -1px;
  left: 0;
}
.daiwa_ifa h2 {
  border-left: #eb5505 8px solid;
  background: #efefef;
  display: block;
  text-align: left;
  padding:10px 15px;
}
.daiwa_ifa .feature {
  border: #ccc 1px solid;
  border-radius: 4px;
  padding: 10px 15px;
  margin:30px 0;
  text-align: center;
}
.daiwa_ifa .feature span {
  background: #eb5505;
  color:#fff;
  padding: 5px 10px;
  border-radius: 4px;
  margin: 0 10px 0 0;
}
.daiwa_ifa a{
  text-decoration:underline;
  color:#eb5505;
}
.daiwa_ifa h2:before{
  border-bottom: none;
}
.daiwa_ifa .grid h3{
  background:#ece7de;
  padding:1rem;
  margin: 0;
}
.daiwa_ifa .grid-col {
  margin:0 0 20px;
}
.daiwa_ifa .grid-col img{
  margin: 0 1rem;
  float: left;
}
.daiwa_ifa #merit p{
  overflow: hidden;
  margin: 2rem 1rem;
}
.daiwa_ifa ul[data-col]{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.daiwa_ifa ul[data-col="2"] li{
  margin-bottom: 3rem;
  width: 49%;
  border: #ccc 3px solid;
}
.daiwa_ifa .conversion {
  border:#eb5505 3px solid;
  border-radius: 5px;
  padding: 30px 50px;
}
.daiwa_ifa .conv_btn a{
	background: #eb5700;
	border-radius: 50px;
	color: #fff !important;
	display: block;
	font-size: 1.8rem;
  padding: 15px 10px;
	box-shadow: 0px 5px 0px 0px rgba(140, 70, 0);
	text-align: center;
	width: 80%;
  margin: 0 auto;
  text-decoration: none !important;
  position: relative;
}
.daiwa_ifa .conv_btn p {
  background:#fff;
  border:#ccc 1px solid;
  color: #eb5505;
  border-radius: 10px;
  padding: 10px;
  font-size:12px;
  display: inline-block;
  vertical-align: middle;
  margin: 0 20px 0 0;
}
.daiwa_ifa .conv_btn p span{
  font-size:20px;
}
.daiwa_ifa .conv_btn a.disabled{
  pointer-events: none;
  background:#ccc;
  box-shadow: 0px 5px 0px 0px rgba(86, 74, 62);
}
.daiwa_ifa .conv_btn a.disabled p{
  color: #ccc;
}

.daiwa_ifa .daiwa_login_btn a{
  border-radius: 50px;
  border: #eb5505 2px solid;
  color:#eb5505;
  display: inline-block;
  margin: 0 auto;
  padding: 10px 20px;
  text-decoration: none;
}
.daiwa_ifa .conv_btn a:hover,
.daiwa_ifa .daiwa_login_btn a:hover{
  opacity: 0.6;
  transition-duration: 0.4s;
}
.daiwa_ifa .rule {
  color: #666;
  border-top:#ccc 1px solid;
  padding: 50px 0 0 0;
  margin: 50px 0 0 0;
}
.daiwa_ifa .rule h2{
  text-align: center;
  display: block;
  margin: 0 auto 15px;
  padding: 0;
}
.daiwa_ifa .rule h2:before{
   border:none;
}
.daiwa_ifa .cp{
  line-height: 1.5;
}
.daiwa_ifa .check{
  display: inline-block;
}
.daiwa_ifa .rule h2{
  background: none;
  border: none;
}
.daiwa_ifa .rule dl dt {
  font-weight:bold;
  background:#efefef;
  padding:10px 15px;
}
.daiwa_ifa .rule dl dd{
  margin: 10px 0 30px;
}
.daiwa_ifa .rule table {
  border-collapse: collapse;
}
.daiwa_ifa .rule table th{
  background: #efefef !important;
  border: #ccc 1px solid !important;
  padding: 5px;
  min-width: 200px;
  color: #333 !important;
}
.daiwa_ifa .rule table th[colspan]{
  background:#ccc !important;
  border: none !important;
}
.daiwa_ifa .rule table td{
  border: #ccc 1px solid;
  padding: 5px;
}

/* ideco LP
----------------------------------------*/
#ideco_lp{
  font-size: 1.6rem;
  margin: 29px 0 0;
  line-height: 1.8;
}
#ideco_lp .main-visual{
  text-align: center;
  max-width:1356px;
  margin: 0 auto;
}
#ideco_lp .main-visual h1{
  background:url(../img/lp/lp-main-visual.png) no-repeat;
  background-size: contain;
  text-indent: -9999pt;
  padding: 35.6% 0 0;
  width:100%;
}
#ideco_lp .main-visual > div{
  position: relative;
}
#ideco_lp .main-visual a{
  border-radius: 30px;
  background-image: -moz-linear-gradient( 0deg, rgb(255,127,193) 0%, rgb(255,194,48) 100%);
  background-image: -webkit-linear-gradient( 0deg, rgb(255,127,193) 0%, rgb(255,194,48) 100%);
  background-image: -ms-linear-gradient( 0deg, rgb(255,127,193) 0%, rgb(255,194,48) 100%);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
  border:#fff 2px solid;
  color: #fff;
  padding:15px 50px;
  position: absolute;
  top: 55%;
  left: 17%;
  -webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
  -o-transition: all 0.3s;
	transition: all 0.3s;
}
#ideco_lp .main-visual a:hover{
  transform: scale(1.2);
}
#ideco_lp p span{
  color: #eb5505;
  font-weight: bold;
}
#ideco_lp .fl{
  float:left;
  max-width: 30%;
  margin:0 30px 0 0;
}
.youtube{
  position: relative;
  overflow: hidden;
  padding: 28.12% 0;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.youtube.icon:before {
  position: absolute;
  background: url(../img/icon_yt_mono_light.png);
  content: "";
  background-size: 100%;
  width: 70px;
  height: 50px;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  opacity: .90;
  transition: .5s;
  z-index: 1;
}
.youtube:hover {
  cursor: pointer;
}
.youtube:hover:before {
    background-image: url(../img/icon_yt_rgb.png);
}
.youtube img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
#ideco_lp .bg_blue {
  background-image: -moz-linear-gradient( 0deg, rgb(9,178,209) 0%, rgb(71,208,184) 100%);
  background-image: -webkit-linear-gradient( 0deg, rgb(9,178,209) 0%, rgb(71,208,184) 100%);
  background-image: -ms-linear-gradient( 0deg, rgb(9,178,209) 0%, rgb(71,208,184) 100%);
}
#ideco_lp .bg_blue h2:before{
  border-color: #fff;
}
#ideco_lp .bg_blue h2 span,
#ideco_lp .bg_blue p{
  color: #fff;
}
#ideco_lp .common_btn a,
#ideco_lp .common_btn a::after {
  -webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
  -o-transition: all 0.3s;
	transition: all 0.3s;
}
#ideco_lp .common_btn {
  text-align: center;
  margin: 25px 0 0;
  font-size:1.4rem;
}
#ideco_lp .common_btn a {
  color:#fff;
  background:#eb5505;
  border-width:2px;
  border-style: solid;
  border-color: #eb5505;
  position:relative;
  display:inline-block;
  padding:0.5rem 2rem;
  text-align:center;
  text-decoration: none;
  font-weight:bold;
}
#ideco_lp .common_btn a:before,
#ideco_lp .common_btn a:after {
  content:'';
  display:block;
  position:absolute;
  border-color:#eb5505;
  box-sizing:border-box;
  border-style:solid;
  width:1em;
  height:1em;
  transition:all 0.3s ease-in-out
}
#ideco_lp .common_btn a:before {
  top:-6px;
  left:-6px;
  border-width:2px 0 0 2px;
  z-index:5;
}
#ideco_lp .common_btn a:after {
  bottom:-6px;
  right:-6px;
  border-width:0 2px 2px 0;
}
#ideco_lp .common_btn a:hover:before,
#ideco_lp .common_btn a:hover:after {
  width:calc(100% + 12px); 
  height:calc(100% + 12px);
}
#ideco_lp .common_btn a:hover {
  color:#eb5505;
  background-color:#fff;
  border-color:#fff;
  opacity: 1;
}
.customer {
  margin: 50px auto 0;
  text-align: center;
}
.customer img{
  width: 80%;
  border: #ccc 1px solid;
  border-radius: 5px;
  padding: 30px 120px;
}
#ideco_lp .grid-col {
  margin:0 0 20px;
}
#ideco_lp .grid-col img{
  width: 100%;
}
#ideco_lp ul[data-col]{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#ideco_lp ul[data-col="2"] li{
  margin-bottom: 3rem;
  width: 49%;
  border: #ccc 1px solid;
  text-align: center;
  padding: 25px;
  border-radius: 5px;
}
#ideco_lp ul li .ttl{
  font-weight: bold;
  letter-spacing: 2px;
}
/* auの確定拠出年金 */
#pension .box {
	margin-top: 100px;
	padding: 40px 15px;
}
#pension dl dt {
  font-weight: bold;
  text-align: center;
  margin: 0 0 15px;
}
#pension dl dd {
  margin:0;
}
#pension .col_wrapper{
  padding: 30px;
}
.mini_list{
  padding: 0 0 20px;
  margin: 0;
}
.mini_list.column_list li {
  border-bottom: #ddd 1px solid;
  width :100%;
  margin: 0;
  padding: 5px;
}
.mini_list.column_list li a{
  display: block;
  padding: 0 !important;
  overflow: hidden;
  width: 100%;
}
.mini_list.column_list h4{
  border: none;
  margin: 0;
  padding: 0;
}
.mini_list.column_list .img {
  float: left;
  margin:0 10px 0 0;
  width: 25%;
  border-radius: 8px;
  border: #efefef 1px solid;
}
.mini_list.column_list .img:before {
  display: none;
}
.mini_list.column_list .img_inner{
  position: static;
}

.mini_list.word_list::after {
	content: " ";
	display: block;
	clear: both;
	height: 1px;
	width: 100%;
	position: relative;
}
.mini_list.word_list li {
	padding: 15px 20px;
	position: relative;
	border-bottom: dotted 1px #ddd;
}
.mini_list.word_list li span {
	display: none;
}
.mini_list.word_list li:before {
	content: "";
	border-radius: 4px;
	height: 8px;
	width: 8px;
	border :solid 2px #eb5505;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 21px;
}
.mini_list.word_list li a.current{
  color: #eb5505;
}
#pfm #mainvisual,
#lp4 #mainvisual{
  max-width: 1366px;
  margin: 0 auto;
}
/* リアクションボタン */
.reaction_buttons{
  text-align:center !important;
  font-size: inherit !important;
  border: #efefef 5px solid;
  padding: 20px;
}
.reaction_buttons li.reaction_button:hover {
  background: #ff8000 !important;
  border-color: #fff !important;
}

/* カレンダーページ */
#calendar [data-col]{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#calendar [data-col="2"] > li{
  margin-bottom: 3rem;
  width: 48%;
  border: #ccc 1px solid;
  text-align: center;
  padding: 25px;
  border-radius: 5px;
  counter-reset: list;
  counter-increment: title;
  position: relative;
}
#calendar [data-col="3"] > li{
  margin-bottom: 3rem;
  width: 32%;
  border: #ccc 1px solid;
  text-align: center;
  padding: 25px;
  border-radius: 5px;
  counter-reset: list;
  counter-increment: title;
  position: relative;
}
#calendar [data-col="3"] > li:before{
  content:counter(title);
  border:#eb5505 1px solid;
  color: #fff;
  border-radius: 50%;
  background: #eb5505;
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
}
#calendar [data-col="3"] > li:after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: 0;
  top: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: transparent transparent transparent #eb5505;
  border-width: 20px 0 20px 20px;
}
#calendar [data-col="3"] > li:last-child:after {
  content:none;
}
#calendar [data-col="3"] > li img{
  border: #ccc 1px solid;
}
#calendar .schedule h3{
  background:#efefef;
  padding: 20px;
  margin:0 0 20px;
}
#calendar .schedule .timeline {
  margin: 30px 0 0 0;
  padding: 0;
  list-style: none;
  position: relative;
}
#calendar .schedule .timeline:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  height: 95%;
  background: #eb5700;
  left: calc(38% - 11px);
}
#calendar .schedule .timeline > li {
  position: relative;
}
#calendar .schedule .timeline > li time {
  display: block;
  padding: 10px;
  position: absolute;
  color: #eb5700;
  width: 31%;
  text-align:right;
}
#calendar .schedule .timeline > li:nth-child(n + 2) time,
#calendar .schedule .timeline > li:nth-child(n + 2) .tmicon{
  top: 15px;
}
#calendar .schedule .timeline > li .tmicon {
  width: 50px;
  height: 50px;
  position: absolute;
  text-align: center;
  left: 37%;
  top: 0;
  margin: 0 0 0 -30px;
}
#calendar .schedule .timeline > li .tmlabel {
  margin: 0 0 0 43%;
  background: #fff;
  -webkit-filter:drop-shadow(0px 0px 3px rgba(0,0,0,0.1));
  line-height: 1.4;
  position: relative;
  border-radius: 30px;
  padding: 10px 15px;
  text-align: left;
}
#calendar .schedule .timeline > li .tmlabel:after {
  left: -15px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-right-color: #fff;
  border-width: 10px;
  top: calc(50% - 10px);
}
#calendar .schedule .timeline > li .tmcaption {
  margin: 0 0 0 calc(43% + 10px);
  position: relative;
  text-align: left;
  font-size: 1.2rem;
  color:#999;
}

/* 使い方ガイド */
.guide_list {
	margin: -40px -1.25% 20px -1.25%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.guide_list li {
	width: 30.33%;
	margin: 40px 1.5% 0;
  display: flex;
}
.guide_list li a{
  color: #333 !important;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  border-radius: 15px;
  overflow: hidden;
}
.box_guide {
	padding: 20px 20px 40px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.box_guide .img {
	margin: -21px -21px 0 -21px;
  position: relative;
	text-align: center;
  overflow: hidden;
}
.box_column figure {
	margin: 0 auto;
	text-align: center;
  overflow: hidden;
}
.box_column figure img {
  border-radius: 50%;
  width: 60%;
  height: auto;
  margin: 0 0 15px;
}


.guide_single .index {
  background: #fafafa;
  padding: 24px 32px;
}
.guide_single .index_list li {
  border-bottom: #ccc 1px dotted;
  padding: 10px 0;
}
.guide_single .index_list li:last-child {
  border: none;
}
.guide_single h1.title{
  padding: 0 0 20px;
}
.guide_single ol {
  counter-reset: title;
}
.guide_single ol > li {
  counter-increment: title;
  margin: 0 0 50px 0;
  border-bottom: #ccc 1px dotted;
  padding: 0 0 50px;
}
.guide_single ol > li:last-child {
  margin: 0;
  padding: 0;
  border: none;
}
.guide_single ol > li > p:before {
  content: counter(title) ".";
  font-weight: bold;
}
.guide_single ol > li img {
  max-width: 300px;
  width: 100%;
  margin: 0 10px;
  border: #efefef 2px solid;
}


/* modal */
.modal-content {
  position: fixed;
  width: 100%;
  max-width: 767px;
  z-index: 1110;
  display: none;
  margin: 0 auto;
}
.modal-content.ad .modal-main{
  margin:0;
  padding:0;
  width:auto;
  overflow: visible;
  max-height: none;
}                
.modal-content a {
  text-decoration: underline;
  color: #eb5505;
}

.modal-content a strong {
  color: #d9300a;
  text-decoration: underline;
}
.modal-close {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 1110;
}
.modal-main {
  margin: 30px;
  max-height: calc((80vh - 120px));
  overflow: auto;
  padding: 30px;
  background: #fff;
  font-size: 1.4rem;
  -webkit-overflow-scrolling:touch;
}
div#modal-overlay {
  position: fixed;
  top: 0;
  z-index: 1000;
  height: 100vh;
  width: calc(100vw + 30px);
  background: #000;
  opacity: 0.3;
  overflow-y: scroll;
}