@charset "UTF-8";
/*------------------------------------------------------------------------------
## リセット
------------------------------------------------------------------------------*/
img[src$=".svg"] {width: 100%;}
html{ font-size: 62.5%}
body{
	font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 1.4rem;
	color: #4c4c4c;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;/*PCサイトをスマホで見た時の文字サイズ固定*/
}
@media screen and (min-width: 768px) {
	body {
		font-size: 1.6rem;
		min-width: 1100px;
	}
	.preload * {
		-webkit-transition: none !important;
		-moz-transition: none !important;
		-ms-transition: none !important;
		-o-transition: none !important;
		transition: none !important;
	}
}
@media screen and (max-width: 767px) {
	html{
		scroll-padding-top: 60px;
	}
}
@media screen and (max-width: 374px) {
	body {
		min-width: 375px;
	}
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	border: none;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/** hover *****************************************************************/
@media screen and (min-width: 768px) {
	.hover{
		-webkit-transition: all .1s ease-in-out;
		transition: all .1s ease-in-out;
	}
	.hover:hover{
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha(opacity=70)";
	}
}

/** inner *****************************************************************/
.inner{
	padding: 0 10px;
}
@media screen and (min-width: 768px) {
	.inner,.inner-bg{
		width: 1140px;
		margin: 0 auto;
		padding: 0 20px;
	}
}

/** margin *****************************************************************/
.mb0{margin-bottom: 0!important;}
.mb5{margin-bottom: 5px!important;}
.mb{margin-bottom: 15px!important;}
.mb-s{margin-bottom: 10px!important;}
.mb-l{margin-bottom: 20px!important;}
.mb-ll{margin-bottom: 30px!important;}
.mt5{margin-top: 5px!important;}
.mt-s{margin-top: 10px!important;}
.mt{margin-top: 15px!important;}
.mt-l{margin-top: 20px!important;}
.mt-ll{margin-top: 30px!important;}
.ml-1{margin-left: 1px;}
.ml-2{margin-left: 2px;}
.ml-3{margin-left: 3px;}
.ml5{margin-left: 5px;}
.ml-1em{margin-left: -1em;}
.ml-03em{margin-left: -.3em;}
.ml-05em{margin-left: -.5em;}
.mr-03em{margin-right: -.3em;}
.mr-05em{margin-right: -.5em;}
.mr-1{margin-right: 1px;}
.mr-2{margin-right: 2px;}
.mr-12{margin-right: 12px;}
.pl0{padding-left: 0!important;}
.pb0{padding-bottom: 0!important;}

@media screen and (min-width:768px) {
	.mb{margin-bottom: 20px!important;}
	.mb-s{margin-bottom: 15px!important;}
	.mb-l{margin-bottom: 30px!important;}
	.mb-ll{margin-bottom: 40px!important;}
	.mt-s{margin-top: 15px!important;}
	.mt{margin-top: 20px!important;}
}

@media screen and (max-width:767px) {
	.sp-ml-05em{margin-left: -.5em;}
}

/** section *****************************************************************/
.section:not(:last-child){
	margin-bottom: 40px;
}
.section-s:not(:last-child){
	margin-bottom: 20px;
}
.section-m:not(:last-child){
	margin-bottom: 30px;
}
.section-l:not(:last-child){
	margin-bottom: 40px;
}
.section-bd{
	margin-bottom: 20px;
	padding-bottom: 30px;
	border-bottom: 2px dotted #ccc;
}

@media screen and (min-width: 768px) {
	.section:not(:last-child){
		margin-bottom: 50px;
	}
	.section-s:not(:last-child){
		margin-bottom: 25px;
	}
	.section-m:not(:last-child){
		margin-bottom: 40px;
	}
	.section-l:not(:last-child){
		margin-bottom: 50px;
	}
	.section-bd{
		margin-bottom: 30px;
		padding-bottom: 40px;
	}
}

/** listmark *****************************************************************/
.maru,.shikaku,.kome,.ast,.maru1,.maru2,.maru3,.maru4,.maru5,.dot,.arrow,.maru-w,.nimaru{
	position: relative;
	padding-left: 1.3em;
}
.tyu,.no1,.no2,.no3,.no4,
.kana-a,.kana-i,.kana-ro,.kana-ha{
	position: relative;
	padding-left: 1.7em;
}
.kome1,.kome2,.kome3,.kome4,.kome5,.kome6,.kome7,.kome8,.kome9,.kako1,.kako2,.kako3,.kako4,.kako5,.kako6,.kako7,.ast1,.ast2,.ast3,.ast4,.ast5{
	position: relative;
	padding-left: 2.2em;
}
.ex1,.ex2,.no10,.kome10,.kome11,.kome12{
	position: relative;
	padding-left: 2.6em;
}
.source,.tyu1,.tyu2,.tyu3,.tyu4,.kako-kome,.kako-tyu,
.kako-ast,.kako-ast1,.kako-ast2,.kako-ast3,.kako-ast4,.kako-ast5,.kako-ast6,.kako-ast7,.kako-kome1,.kako-kome2{
	position: relative;
	padding-left: 3.5em;
}

.maru:before,.shikaku:before,.kome:before,.kome2:before,.kome3:before,.kome4:before,.kome5:before,.kome6:before,.kome7:before,.kome8:before,.kome9:before,.kome10:before,.kome11:before,.kome12:before,.kome1:before,
.ast:before,.ast1:before,.ast2:before,.ast3:before,.ast4:before,.ast5:before,.kako-ast:before,.kako-ast1:before,.kako-ast2:before,.kako-ast3:before,.kako-ast4:before,.kako-ast5:before,.kako-ast6:before,.kako-ast7:before,
.maru1:before,.maru2:before,.maru3:before,.maru4:before,.maru5:before,
.kako1:before,.kako2:before,.kako3:before,.kako4:before,.kako5:before,.kako6:before,.kako7:before,
.dot:before,.source:before,.tyu:before,.tyu1:before,.tyu2:before,.tyu3:before,.tyu4:before,.arrow:before,.maru-w:before,
.no1:before,.no2:before,.no3:before,.no4:before,.no10:before,.kana-a:before,.kana-i:before,.kana-ro:before,.kana-ha:before,
.ex1:before,.ex2:before,.kako-kome:before,.kako-tyu:before,.nimaru:before,.kako-kome1:before,.kako-kome2:before{
	position: absolute;
	display: block;
	left: 0;
	font-size: inherit;
}

.maru:before{content: '●';font-family: "メイリオ", Meiryo;color:#aaaaaa;}
.shikaku:before{content: '■';font-family: "メイリオ", Meiryo;}
.kome:before{content: '※';}
.kome1:before{content: '※1';}
.kome2:before{content: '※2';}
.kome3:before{content: '※3';}
.kome4:before{content: '※4';}
.kome5:before{content: '※5';}
.kome6:before{content: '※6';}
.kome7:before{content: '※7';}
.kome8:before{content: '※8';}
.kome9:before{content: '※9';}
.kome10:before{content: '※10';}
.kome11:before{content: '※11';}
.kome12:before{content: '※12';}
.ast:before{content: '＊';}
.ast1:before{content: '＊1';}
.ast2:before{content: '＊2';}
.ast3:before{content: '＊3';}
.ast4:before{content: '＊4';}
.ast5:before{content: '＊5';}
.kako-ast:before{content: '（＊）';}
.kako-ast1:before{content: '（＊1）';}
.kako-ast2:before{content: '（＊2）';}
.kako-ast3:before{content: '（＊3）';}
.kako-ast4:before{content: '（＊4）';}
.kako-ast5:before{content: '（＊5）';}
.kako-ast6:before{content: '（＊6）';}
.kako-ast7:before{content: '（＊7）';}
.kako-kome1:before{content: '（※1）';}
.kako-kome2:before{content: '（※2）';}
.maru1:before{content: '\002460'}
.maru2:before{content: '\002461';}
.maru3:before{content: '\002462';}
.maru4:before{content: '\002463';}
.maru5:before{content: '\002464';}
.nimaru:before{content: '\0025ce';}
.kako1:before{content: '（1）';}
.kako2:before{content: '（2）';}
.kako3:before{content: '（3）';}
.kako4:before{content: '（4）';}
.kako5:before{content: '（5）';}
.kako6:before{content: '（6）';}
.kako7:before{content: '（7）';}
.kako-kome:before{content: '（※）';}
.kako-tyu:before{content: '（注）';}
.no1:before{content: '１.';}
.no2:before{content: '２.';}
.no3:before{content: '３.';}
.no4:before{content: '４.';}
.no10:before{content: '１０.';}
.kana-a:before{content: 'ア.';}
.kana-i:before{content: 'イ.';}
.kana-ro:before{content: 'ロ.';}
.kana-ha:before{content: 'ハ.';}
.dot:before{content: '・';}
.source:before{content: '出典：';}
.tyu:before{content: '注）';}
.tyu1:before{content: '（注1）';}
.tyu2:before{content: '（注2）';}
.tyu3:before{content: '（注3）';}
.tyu4:before{content: '（注4）';}
.ex1:before{content: '例１.';}
.ex2:before{content: '例２.';}

/** header *****************************************************************/
.header{
	position: relative;
	display: block;
	width: 100%;
	padding: 10px;
}
.header__left{
	display: flex;
	flex-direction: row;
	align-items: center;
}
.header__top{
	display: flex;
	flex-direction: row;
	align-items: center;
	min-height: 40px;
}
.ihoken__logo{
	width: 48px;
}
.header__top-icon{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.header__top-icon img{
	width: 30px;
}
.header__top-icon p{
	position: relative;
	font-size: 1.1rem;
	padding-left: 12px;
}
.header__top-icon p::before{
	content: "";
	position: absolute;
	top: -1px;
	bottom: 0;
	left: 0;
	width: 6px;
	height: 6px;
	margin: auto;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border-right: 2px solid var(--gold);
	border-top: 2px solid var(--gold);
}
.header__ttl{
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	margin-left: 10px;
}

.header__right{display: none;}

@media screen and (max-width: 767px) {
	.header{
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		box-shadow: 0px 0px 6px rgba(0,0,0,.2);
		z-index: 10000;
	}
	.ihoken__logo {
		padding-left: 10px;
		margin-left: 10px;
		border-left: 1px solid #ccc;
	}
	.header__top-icon p{display: none;}
	.header__right{display: block;}
	.header__sp{
		display: -ms-flexbox; /* IE10 */
		display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
		display: -webkit-flex; /* Safari6.1以降 */
		display: flex;
	}
	.header__sp-menu{
		width: 40px!important;
		height: 40px!important;
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.header {
		width: 1140px;
		padding: 15px 20px;
		margin: 0 auto;
	}
	.header__left {
		justify-content: space-between;
	}
	.ihoken__logo {
		width: 80px;
	}
	.header__top {
		min-height: 48px;
	}
	.header__top-icon img{
		width: 36px;
		margin-bottom: 2px;
	}
	.header__ttl{
		font-size: 2.4rem;
		margin-left: 12px;
	}
}

/** gnav *****************************************************************/
.gnav {
	display: block;
	background: #fff;
	border-top: solid 3px var(--gold);
	z-index: 20;
}
.gnav__ul {
	position: relative;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 1140px;
	height: 55px;
	padding: 0 20px;
	margin: 0 auto;
}
.gnav__item{
	position: relative;
	width: 100%;
}
.gnav__item > a {
	position: relative;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100%;
	line-height: 1.2;
	font-size: 1.5rem;
	text-align: center;
	-webkit-transition: all .1s ease-in-out;
	transition: all .1s ease-in-out;
	z-index: 5;
}
.gnav__item a span{
	position: relative;
}
.gnav__item:hover > a,.gnav__link.menu_on{
	background-color:#F2ECDA;
	color: #333;
}
.gnav__item a::before,
.gnav__item:last-child a::after{
	background-color: #cccccc;
	bottom: 0;
	content: " ";
	display: block;
	height: calc(100% - 20px);
	margin: auto 0;
	position: absolute;
	top: 0;
	width: 1px;
}
.gnav__item a::before{
	left: 0;
}
.gnav__item:last-child a::after{
	right: 0;
}
@media screen and (max-width: 767px) {
	.gnav {display: none;}
}

/** mega-menu **/
.mega-menu-wrap {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 55px;
	left: 20px;
	box-sizing: border-box;
	width: 1100px;
	padding: 20px 40px;
	background: #fff;
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 0 0 8px 8px;
	z-index: 200;
}
.mega-menu-control a span.hamburger {
	position: relative;
	width: 14px;
	height: 14px;
	margin: 0 8px 0 0;
}
.mega-menu-control a span.hamburger span {
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	background: #ccc;
	-webkit-transition: none;
	transition: none;
}
.mega-menu-control a span.hamburger span:nth-child(1) {top: 0;}
.mega-menu-control a span.hamburger span:nth-child(2) {top: 6px;}
.mega-menu-control a span.hamburger span:nth-child(3) {bottom: 0;}

.gnav__item:hover > a span.hamburger span{
	background: #fff;
}
.mega-menu-box {
	float: left;
	width: 50%;
}
.mega-menu-list{
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: 0;
}
.mega-menu-list li{
	width: calc(100% / 2 - 10px);
}
.mega-menu-list li:nth-child(odd){
	margin-right: 10px;
}
.mega-menu-list li:nth-child(n+3){
	margin-top: 10px;
}
@media screen and (min-width: 768px) {
	.mega-menu-control:hover .mega-menu-wrap {
		visibility: visible;
		opacity: 1;
		-webkit-transition: all .2s ease;
		transition: all .2s ease;
	}
	.mega-menu-box dt:not(:first-of-type) {
		margin-top: 25px;
	}
}
.ttl-type01 {
	font-size: 1.8rem;
	font-weight: bold;
	position: relative;
	margin-bottom: 12px;
	padding: 0 0 0 20px;
	line-height: 1.4;
}
.ttl-type01:before {
	display: block;
	content: '';
	width: 5px;
	height: 100%;
	background: var(--gold);
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.link-txt__arrow01 {
	position: relative;
	padding-left: 18px;
}
.link-txt__arrow01:hover {
	color: var(--gold);
	text-decoration: underline;
}
.link-txt__arrow01::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--gold);
	border-right: 2px solid var(--gold);
	margin: auto;
	position: absolute;
	top: 5px;
	left: -2px;
	display: block;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/** sp-nav *****************************************************************/
.sp-nav{
	display: none;
	font-size: 1.5rem;
	background: #fff;
	width: 100%;
	z-index: 1000;
	overflow-y: auto;
}
@media screen and (max-width: 767px) {
	.container{
		margin-top: 60px;
	}
	.fix-header{
		position: fixed;
		top: 0;
		left: 0;
		width: auto;
		height: auto;
		right: 0;
		z-index: 100;
		background: #fff;
		display: flex;
		flex-direction: column;
	}
	.header{
		flex-shrink: 0;/* サイズ固定部分 */
	}
	.sp-nav{
		flex-grow: 1; /* サイズ可変部分（サブヘッダメニューの開閉によって）*/
	}
	.sp-nav__back a{
		position: relative;
		display: block;
		color: #fff;
		font-weight: bold;
		padding: 8px 10px 8px 30px;
		background-color: var(--gold);
	}
	.sp-nav__back a::before{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 15px;
		width: 10px;
		height: 10px;
		margin: auto;
		border-left: 2px solid #fff;
		border-bottom: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sp-nav__acbtn{
		position: relative;
		display: block;
		padding: 12px 35px 12px 15px;
	}
	.sp-nav__acbtn::before,
	.sp-nav__acbtn::after,
	.sp-nav__subbtn::before,
	.sp-nav__subbtn::after {
		content: '';
		display: inline-block;
		position: absolute;
		background: var(--gold);
		top: 50%;
		bottom: 50%;
		right: 12px;
		width: 15px;
		height: 2px;
		margin: auto;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
		transition: all .3s;
	}
	.sp-nav__acbtn::after,
	.sp-nav__subbtn::after {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
	.sp-nav__acbtn.sp-nav__isopen::before,
	.sp-nav__subbtn.sp-nav__isopen::before {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
	.sp-nav__menu{
		border-top: 1px solid #ddd;
	}
	.sp-nav__menu .sp-nav__top{
		position: relative;
		display: block;
		color: var(--gold);
		font-weight: bold;
		padding: 12px 35px 12px 15px;
		background-color: #F7F4ED;
	}
	.sp-nav__menu .sp-nav__top::before{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		width: 10px;
		height: 10px;
		margin: auto;
		border-right: 2px solid var(--gold);
		border-top: 2px solid var(--gold);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sp-nav__menu .sp-nav__item{
		padding-left: 20px;
	}
	.sp-nav__item span{
		position: relative;
		display: block;
		color: #333;
		padding: 12px 35px 12px 10px;
		border-bottom: 1px solid #ddd;
	}
	.sp-nav__submenu .sp-nav__item:last-child span{
		border-bottom: none;
	}
	.sp-nav__link{
		display: block;
	}
	.sp-nav__link span::before{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		height: 10px;
		width: 10px;
		margin: auto;
		border-right: 2px solid var(--gold);
		border-top: 2px solid var(--gold);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sp-nav__submenu{
		display: none;
		font-size: 1.4rem;
		border-bottom: 1px solid #ddd;
	}
	.sp-nav__submenu .sp-nav__link span::before{
		border-right: 2px solid #ccc;
		border-top: 2px solid #ccc;
	}
}

/** mega-menu（sp-nav） **/
@media screen and (max-width: 767px) {
	.mega-menu-wrap {
		display: none;
		visibility: visible;
		opacity: 1;
		position: relative;
		top: 0;
		padding: 0 15px 15px 0;
		margin-left: 15px;
		width: auto;
		box-shadow: none;
		border-top: 1px solid #ddd;
		border-radius: 0;
		overflow: hidden;
	}
	.mega-menu-box{
		clear: both;
		width: 100%;
	}
	.mega-menu-box dt{
		margin-top: 20px;
	}
	.mega-menu-list li {
		width: calc(100% / 2 - 5px);
	}
	.mega-menu-list li:nth-child(n+3) {
		margin-top: 8px;
	}
	.ttl-type01 {
		font-size: 1.5rem;
		margin-bottom: 8px;
		padding: 0 0 0 16px;
	}
	.link-txt__arrow01 {
		font-size: 1.4rem;
	}
	.link-txt__arrow01:hover {
		color: #333;
	}
	.link-txt__arrow01::after {
		border-top: 2px solid #ccc;
		border-right: 2px solid #ccc;
	}
}

/** pan *****************************************************************/
.pan{
	width: 100%;
	font-size: 1.2rem;
	background: #f3faff;
	padding: 0 10px;
}
.pan__list{
	position: relative;
	overflow: hidden;
	padding-top: 7px;
	padding-bottom: 6px;
	margin: 0 auto;
}
.pan__list ol{
	display: table;
}
.pan__list li{
	display: table-cell;
	vertical-align: middle;
	position: relative;
	margin-right: 10px;
	padding: 0 10px 0 0;
	line-height: 1.4;
}
.pan__list li:not(:first-child){
	padding-left: 10px;
}
.pan__list li:not(:last-child):after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.pan__list li a{
	color: inherit;
}
.time_area {
	text-align: right;
	font-size: 1.2rem;
	color: #999;
	line-height: 1;
	margin: 10px 0 15px;
}

@media screen and (min-width: 768px) {
	.pan{
		min-width: 1140px;
		padding: 0 20px;
		box-shadow: inset 1px 4px 6px -6px rgba(0,0,0,.5);
	}
	.pan__list{
		width: 1100px;
		margin: 0px auto;
	}
	.time_area {
		margin: 15px 0;
	}
	.body-ranking .time_area + .main-1column {
		margin-top: 0;
	}
}
@media screen and (max-width: 599px) {
	.pan__list{
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}

}

/** flex *****************************************************************/
.flex-list{
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: 0;
}
.flex-list > *{
	width: 100%;
}
@media screen and (max-width:767px) {
	.flex-list > *:not(:first-child){
		margin: 10px 0 0 0;
	}
	.flex-sp{
		flex-wrap: wrap;
		margin-left: -10px;
	}
	.flex-sp > *{
		margin: 10px 0 0 8px!important;
	}
	.col-4-2,
	.col-2-2{width: calc(100% / 2 - 10px)!important;}
	.col-3-3{width: calc(100% / 3 - 8px)!important;}
	.col-2-2:nth-child(-n+2),
	.col-4-2:nth-child(-n+2){margin-top: 0!important;}
	.col-3-3:nth-child(-n+3){margin-top: 0!important;}
}

@media screen and (min-width:768px) {
	.flex-list{
		flex-wrap: wrap;
		margin-left: -20px;
	}
	.flex-list > *{
		margin: 20px 0 0 19px;
	}
	.col-2,.col-2-2{width: calc(100% / 2 - 20px)!important;}
	.col-3,.col-3-3{width: calc(100% / 3 - 20px)!important;}
	.col-4,.col-4-2{width: calc(100% / 4 - 20px)!important;}
	.col-5{width: calc(100% / 5 - 20px)!important;}
	.col-2:nth-child(-n+2),
	.col-2-2:nth-child(-n+2){margin-top: 0!important;}
	.col-3:nth-child(-n+3),
	.col-3-3:nth-child(-n+3){margin-top: 0!important;}
	.col-4:nth-child(-n+4),
	.col-4-2:nth-child(-n+4){margin-top: 0!important;}
	.col-5:nth-child(-n+5){margin-top: 0!important;}
}

/** text *****************************************************************/

/*上付き文字*/
sup{
	position: relative;
	vertical-align: top;
	top: 0;
	font-size: 1.2rem;
	padding: 0 5px 0 3px;
}

/*下付き文字*/
sub{
	position: relative;
	bottom: -0.1em;
	vertical-align: baseline;
	line-height: 0;
	font-size: 14px;
	padding: 0 4px;
}

.txt-eng{font-family: -apple-system, BlinkMacSystemFont, Arial ;}
.txt-ss{font-size: 1.2rem !important;}
.txt-s{font-size:1.3rem;}
.txt-l{font-size:1.6rem;}
.txt-ll{font-size: 1.8rem;}
.txt-s > sup{font-size:1rem;}
.txt-b{font-weight: bold;}
.txt-n{font-weight: normal !important;}

@media screen and (min-width:768px) {
	.txt-futai{
		font-size: 1.8rem;
	}
	.txt-l{font-size:1.8rem;}
	.txt-ll{font-size: 2rem;}
}
.txt-under-line{text-decoration: underline;}
.txt-marker-yellow{background: linear-gradient(transparent 60%, #fff3a3 0%);}
.txt-co-red{color:#e23434!important;}
.txt-co-wred{color:#c8161d!important;}
.txt-co-orange{color: #ff681d;}
.txt-co-yellow{color:#fff843!important;}
.txt-co-blue{color: #72ace6 !important;}
.txt-co-gray{color:#808080!important;}
.txt-circle{font-size:2.0rem;line-height: 1;}
@media screen and (min-width:768px) {
	.txt-circle{font-size:3.5rem;line-height: 0.8;}
}

.txt-2lines{
	padding: 15px;
	text-align: center;
	line-height: 1.4;
	font-size:1.6rem;
	font-weight: bold;
	border-top: 2px solid #ccc;
	border-bottom: 2px solid #ccc;
}
.txt-2lines__sub{
	font-size:1.4rem;
}

@media screen and (min-width:768px) {
	.txt-2lines{
		font-size:2rem;
	}
	.txt-2lines__sub{
		font-size:1.6rem;
	}
}

/** Pマーク等
*****************************************************************/
.f-security{
	width: 100%;
	padding: 15px;
	margin-top: 10px;
}
.f-security__txt{
	font-size: 1.2rem;
	margin-top: 15px;
}
.f-security__ul{
	text-align: center;
}
.f-security__item{
	display: inline;
}
.f-security__item:first-child{
	margin-right: 20px;
}
.f-security__item img{
	height: 66px;
}
.pmark{width: 66px!important;}
.isms{width: 136px!important;}
.ssl{width: 130px!important;}

@media screen and (min-width: 768px) {
	.f-security{
		min-width: 1100px;
		padding: 15px 0;
	}
	.f-security__ul{
		display: table;
		margin: 0 auto;
	}
	.f-security__item{
		float: left;
	}
	.f-security__item:not(:last-child){
		margin-right: 20px;
	}
}

/** 承認番号
*****************************************************************/
.f-number{
	padding: 20px 0;
	border-top: 1px solid #cccccc;
}
.f-number .inner{
	margin: 0 auto;
	padding: 0 20px;
}
.f-number__ttl, .f-number__item{
	color: #808080;
	font-size: 1.2rem;
}
.f-number__item{
	position: relative;
	display: inline-block;
	padding-right: 20px;
}

@media screen and (max-width: 767px) {
	.f-number__item{
		display:block;
	}	
}

/** フッター
*****************************************************************/
.footer{
	width: 100%;
	min-width: 1140px;
	position: relative;
	margin-top: 20px;
}
.body-index .footer{
	margin-top: 20px;
}
.fnavi {
	position: relative; 
	width: 100%; 
	max-width: 1200px; 
	padding: 0px; 
	margin: 0 auto;
}
.pagetop {
	width:50px;
	height:50px;
	position: fixed;
	bottom: 50px;
	right: 20px;
	cursor: pointer;
	z-index: 999;
}
.pagetop-sp{
	text-align: center;
	padding: 10px;
	font-size: 1.2rem;
	display: block;
}
.pagetop-sp span{
	display: inline-block;
	position: relative;
	padding: 15px 0 5px;
}
.pagetop-sp span:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 12px;
	height: 12px;
	border-top: 3px solid var(--gold);
	border-right: 3px solid var(--gold);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.footer__link {
	color: #FFF;
	text-align: center;
	width: 100%;
	padding: 7px 0px;
	margin: 0px auto;
	text-decoration: none;
	background: #666666;
}
.footer .ua {
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 0 0;
	text-align: center;
}
.footer .ua a {
	color: #FFF;
}
.footer__link a {
	color: #FFF;
	font-size: 12px;
	text-decoration: none;
}
.footer address {
	color: #666;
	font-size: 12px;
	font-style: normal;
	font-family: Verdana;
	padding: 3px 0;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

@media screen and (min-width: 768px) {
	.pagetop-sp{
		display: none;
	}
	.footer{
		margin-top: 60px;
	}
}
@media screen and (max-width: 767px) {
	.footer{
		min-width: inherit;	
	}
	.footer__link {
		text-align: left;
		padding: 0;
		border-bottom: solid 1px #fff;
		background: #e6e6e6;
	}
	.footer__link .sp-fnav_table {
		display: table;
		width: 100%;
	}
	.footer__link a {
		display: table-cell;
		font-size: 12px;
		color:#333;
		font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
		text-decoration: none;
		vertical-align: middle;
		width: 50%;
		padding: 0.8em 0px 0.8em 3.125%;	/* 20/640*100 */
		border-top: solid 1px #fff;
		height: 43px;
	}
	.footer__link a.twolines {
		padding: 0 0 0 3.125%;	/* 20/640*100 */
		line-height: 1.3;
	}
	.footer__link .sp-fnav_table a:nth-child(3n){
		border-left: solid 1px #fff;
	}
	.footer__link a.sp-fnav_wide {
		width: 100%;
		text-align: center;
	}
	.footer address {
		color: #FFF;
		background: #4d4536;
		font-size: 12px;
		font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
		padding: 0px;
		margin: 0px auto;
		justify-content: center;
		text-align: center;
		align-content: center;
		flex-direction: column;
	}
	.footer address p {
		display: block;
	}
	.footer address .ifc {
		float: none;
		text-align: center;
		padding: 0.8em 0.8em 0;
	}
	.footer address .copy {
		float: none;
		text-align: center;
		padding: 0.4em 0.8em 0.8em;
	}
	.footer address .copy span{
		font-family: Helvetica, sans-serif;
	}
	.fnavi {
		display: none;
	}
	.pagetop {
		width:46px;
		height:46px;
		bottom: 20px;
		right: 10px;
	}
}

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

/* module(ttl)
------------------------------------------------------------------------------*/
.ttl-main{
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 10px;
	color: #fff;
	background: rgb(129,199,60); /* Old browsers */
	background: -moz-linear-gradient(top, #6aa4de 0%, #72ace6 50%, #6aa4de 50%, #72ace6 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #6aa4de 0%,#72ace6 50%,#6aa4de 50%,#72ace6 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #6aa4de 0%,#72ace6 50%,#6aa4de 50%,#72ace6 100%);
	line-height: 1.4;
	display:-webkit-box;
	display:flex;
	-webkit-box-pack:justify;
	align-items: center;  /* 子要素をflexboxにより中央に配置する */
	flex-wrap: wrap;
	min-height: 70px;
}

@media screen and (min-width: 600px) {
	.ttl-main{
		font-size: 2.8rem;
		padding: 20px;
	}
}
@media screen and (max-width: 320px) {
	.ttl-main{
		font-size: 2rem;
	}
}

.ttl-bgline{
	display: table;
	width: 100%;
	font-size: 1.8rem;
	color: inherit;
	font-weight: bold;
	margin-bottom: 15px;
	padding: 12px 15px 8px 10px;
	border-left: solid 5px #72ace6;
	background-color: #f3faff;
	line-height: 1.4;
}
.ttl-bgline span{
	display: table-cell;
	vertical-align: middle;
}
.ttl-bgline__sub{
	font-size:1.6rem;
}
@media screen and (min-width: 768px) {
	.ttl-bgline{
		font-size: 2.2rem;
		margin-bottom: 20px;
		padding: 12px 15px 8px 15px
	}
}

.ttl-bold{
	display: block;
	font-size:2rem;
	font-weight: bold;
	margin-bottom: 5px;
}

.ttl-left-bd{
	font-size:1.6rem;
	border-left: 5px solid #72ace6;
	padding-left: 15px;
	margin: 0 0 10px 0;
}
.ttl-left-bd span{
	font-size: 1.2rem;
	/* font-weight: normal; */
}
.ttl-left-bd__caution{
	display: block;
}
.ttl-left-bd.bd-theft{
	border-color: #00a031;
}

@media screen and (min-width:768px) {
	.ttl-left-bd{
		font-size:1.8rem;
		margin: 0 0 15px 0;
	}
	.ttl-left-bd__caution{
		font-size:1.3rem;
		display: inline-block;
	}
	.ttl-left-bd span{
		font-size: 1.4rem;
	}
}

.ttl-left-bd-ico{
	font-size:1.6rem;
	border-left: 5px solid #72ace6;
	padding-left: 15px;
	margin: 0 0 15px 0;
}
.ttl-left-bd-ico > span{
	display: block;
	font-size: 1.2rem;
	margin-top: 5px;
	margin-bottom: 10px;
}
.ttl-left-bd-ico > span > b{
	color:#fff;
	border-radius: 20px;
	padding: 3px 10px;
}
.ttl-left-bd-ico > span > b:not(:first-child){
	margin-left: 5px;
}

@media screen and (min-width:768px) {
	.ttl-left-bd-ico{
		font-size:2.2rem;
		display: -ms-flexbox; /* IE10 */
		display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
		display: -webkit-flex; /* Safari6.1以降 */
		display: flex;
		-ms-flex-align: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
	}
	.ttl-left-bd-ico > span{
		font-size: 1.4rem;
		margin: 0 0 0 10px;
	}
	.ttl-left-bd-ico > span > b:not(:first-child){
		margin-left: 10px;
	}
}

/* module(text)
------------------------------------------------------------------------------*/
.text_copy{
	font-size: 2.0rem;
	font-weight: bold;
}
.text-box > p:not(:last-child){
	margin-bottom: 15px;
}
.note,.note-r {
	font-size: 1.2rem;
	margin-top: 10px;
	text-align: left;
}
.note li:not(:last-child),
.note-r li:not(:last-child){
	margin-bottom: 3px;
}
.note > li .note {
	margin-top: 3px;
}
.text_bold{
	font-weight: bold;
}
.txt-left{text-align: left!important;}
.txt-center{text-align: center!important;}
.txt-right{text-align: right!important;}

.fz12-10{font-size: 1.2rem !important;}
.fz16-13{font-size: 1.6rem !important;}
.fz18-14{font-size: 1.8rem !important;}
.fz18-15{font-size: 1.8rem !important;}
.fz20-16{font-size: 2.0rem !important;}
.fz24-18{font-size: 2.4rem !important;}
.fz26-22{font-size: 2.6rem !important;}

.fz12{font-size: 1.2rem!important;}
.fz13{font-size: 1.3rem!important;}
.fz15{font-size: 1.5rem!important;}
.fz14{font-size: 1.4rem!important;}
.fz16{font-size: 1.6rem!important;}
.fz17{font-size: 1.7rem!important;}
.fz18{font-size: 1.8rem!important;}
.fz20{font-size: 2.0rem!important;}
.fz22{font-size: 2.2rem!important;}
.fz24{font-size: 2.4rem!important;}
.fz26{font-size: 2.6rem!important;}
.fz28{font-size: 2.8rem!important;}
.fz30{font-size: 3.0rem!important;}

.lh{line-height: 2.0rem;}
.lh14{line-height: 1.4;}

@media screen and (max-width:767px) {
.fz12-10{font-size: 1rem !important;}
.fz16-13{font-size: 1.3rem !important;}
.fz18-14{font-size: 1.4rem !important;}
.fz18-15{font-size: 1.5rem !important;}
.fz20-16{font-size: 1.6rem !important;}
.fz24-18{font-size: 1.8rem !important;}
.fz26-22{font-size: 2.2rem !important;}

.fz12{font-size: 1.3rem!important;}
.fz14{font-size: 1.2rem!important;}
.fz15{font-size: 1.4rem!important;}
.fz16{font-size: 1.5rem!important;}
.fz17{font-size: 1.6rem!important;}
.fz18{font-size: 1.7rem!important;}
.fz20{font-size: 1.8rem!important;}
.fz22{font-size: 2.0rem!important;}
.fz24{font-size: 2.2rem!important;}
.fz26{font-size: 2.4rem!important;}
.fz28{font-size: 2.6rem!important;}	
.text-box-sp > p:not(:last-child){margin-bottom: 8px;}
}

@media screen and (min-width:768px) {
	.note,.note-r {
		font-size: 1.3rem;
		margin-top: 13px;
	}
	.note-r {
		text-align: right;
	}
	.text_center_pc{
		text-align: center!important;
	}
}

/* フォーム部品
========================================================================== */
input[type="text"], button, textarea {
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="text"],
input[type="tel"],
textarea {
	outline: none;
	border: 1px solid #c2cad3;
	padding: 8px;
	font-size: 1.6rem;
	border-radius: 3px;
	/*box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.075);
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;*/
}

input[type="text"]:focus,
textarea:focus {
	box-shadow: 0 0 7px #4db3e0;
	border: 1px solid #4db3e0;
}

textarea {
	max-width: 100%;
}
select {
	outline: none;
	border: 1px solid #c2cad3;
	padding: 6px 6px 8px 6px;
	font-size: 1.6rem;
	border-radius: 3px;
	color: #333;
	/*box-shadow: inset 0 2px 1px rgba(0, 0, 0, 0.075);
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;*/
}
select:focus {
	box-shadow: 0 0 7px #4db3e0;
	border: 1px solid #4db3e0;
}

::-webkit-input-placeholder {
	color: #aaa;
}

::-moz-placeholder {
	color: #aaa;
	opacity: 1;
}

:-ms-input-placeholder {
	color: #aaa;
}

input[type="text"]:disabled {
	background: #f1f1f1;
}

select:disabled {
	background: #f1f1f1;
}
input[type=radio] {
	width: 20px;
	height: 20px;
	vertical-align: middle;
}
.radio{
	padding-left: 5px;
	vertical-align: middle;
}

/*------------------------------------------------------------------------------
開閉アイコン設定
------------------------------------------------------------------------------*/
.ac-icon{
	padding: 5px 50px 5px 15px;
	position: relative;
	cursor: pointer;
}
.ac-icon::before{
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	background-color: #fff;
	border: 1px solid #ccc;
	cursor: pointer;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	box-shadow: 0 1px 0 0 #ccc;
	border-radius: 5px;
}
.ac-icon span::before,
.ac-icon span::after{
	content: "";
	display: inline-block;
	position: absolute;
	background-color: #999;
	top: 0;
	bottom: 0;
	right: 14px;
	width: 12px;
	height: 2px;
	margin: auto;
}
.ac-icon span::after{
	transition:  all .3s;
}
.is_close span::after{
	background-color: #999;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}

.ac-block{
	margin-top: 0!important;
}
.ac-block--l  > *:first-child {
	margin-top: 30px!important;
}
.ac-close + .ac-block{
	display: none;
}

.ac-block  > .tbl:first-child {
	margin-top: 20px!important;
}

@media screen and (min-width: 600px){
	.ac-icon::before{
		width: 24px;
		height: 24px;
		border-radius: 6px;
		box-shadow: 0 2px 0 0 #ccc;
	}
	.ac-icon span::before,
	.ac-icon span::after{
		right: 16px;
	}
}

/*------------------------------------------------------------------------------
Q＆A
------------------------------------------------------------------------------*/
.box-faq .ttl-icon::before{
	background-image: url(../img/ico/ico_faq.svg);
	width: 40px;
	height: 40px;
	background-size: 40px auto;
}
.box-faq:not(:last-child){
	margin-bottom: 15px;
}
.box-faq__q{
	position: relative;
	display: table;
	width: 100%;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 40px;
	margin: 0px;
	border: solid 1px #CCC;
	cursor: pointer;
	background: url(../img/ico/ico_faq_q.svg) no-repeat left 10px top 12px ;
	background-size: 18px auto;
}
.box-faq__q span{
	display: table-cell;
	width: 100%;
	vertical-align: middle;
}
.box-faq__q span::before,
.box-faq__q span::after{ background-color: #999!important;}
.box-faq__a {
	position: relative;
	padding-left: 40px;
	background: url(../img/ico/ico_faq_a.svg) no-repeat left 10px top 5px;
	background-size: 18px 17px;
}
@media screen and (min-width: 600px) {
	.box-faq:not(:last-child){
		margin-bottom: 25px;
	}
}

/* module(table)
------------------------------------------------------------------------------*/
.tbl{
	margin: 0;
	padding: 0px; 
	width: 100%;
	border-top: 1px solid #c9c9c9; 
	border-right: 1px solid #c9c9c9;
	table-layout: fixed;
	word-wrap: break-word;
	white-space: normal;
}
.tbl th,.tbl td{  
	vertical-align: middle; 
	border-bottom: 1px solid #c9c9c9; 
	border-left: 1px solid #c9c9c9;
	padding: 5px;
	text-align: center;
	line-height: 1.4;
}
.tbl th{ 
	background: #ebebeb;
	font-weight: bold;
}

.tbl-list > li:not(:last-child){
	margin-bottom: 5px;
}
.tbl .cell-help{
	position: relative;
}
.tbl .help {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 20px;
	width: 20px;
	border: 2px solid #808080;
	background: #fff;
	border-radius: 4px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
	cursor: pointer;
}
.tbl .help span{
	color: #808080;
	font-size: 1.5rem;
	font-weight: bold;
}
.tbl th.cel-none{
	background: none !important;
	border: none;
}

@media screen and (min-width:768px) {
	.tbl-list > li:not(:last-child){
		margin-bottom: 10px;
	}
	.tbl .help {
		padding-right: 1px;
	}
}
.ui-tooltip {
	padding: 8px 10px;
	position: absolute;
	z-index: 9999;
	max-width: 480px;
	background: #f2f2f2;
	border: 2px solid #e2e2e2;
	border-radius: 5px;
	box-shadow: 0 0 5px #aaa;
	text-align: left;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
@media screen and (max-width:767px) {
	.ui-tooltip{
		width: 48%;
	}
	.body-rakuten .ui-tooltip{
		max-width: 60%;
	}
	.tbl .help {
		border-width: 1px;
		height: 16px;
		width: 16px;
		right: 0px;
		top: unset;
		bottom: 1px;
	}
	.tbl .help span{
		font-size: 1.3rem;
		padding-top: 1px;
		padding-right: 0;
	}
}

.th-left,
.td-left{text-align: left!important;}
.td-price-l{font-size:1.6rem;margin-right: 1px;}
.td-price-s{font-size:1.2rem;margin-left: 1px;}
.td-price > b{display: block;}
.tbl-item-kako{
	display: inline-block;
	margin: 0 -3px;
	font-size:1.2rem;
}
.tbl-txt-l{font-size:2.2rem;}
.tbl-txt-s{font-size:1.4rem;}
.tbl-txt-ss{font-size:1.2rem;}

.tbl-vertical{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	white-space: nowrap;
	text-orientation: upright;
	letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
	.tbl-vertical-sp{
		writing-mode: vertical-lr;
		white-space: nowrap;
		text-orientation: upright;
		-webkit-text-orientation: upright;
		letter-spacing: 0.1em;
	}
}

@media screen and (min-width: 768px) {
	.tbl{font-size: 1.6rem;}
	.tbl th,.tbl td{ padding:10px 5px;}
	.tbl .td-h{padding:20px 5px;}
	.tbl .td-left{padding:10px 15px;}
	.tbl-item-kako{font-size:1.4rem;}
	.td-price-l{font-size:1.8rem;}
	.td-price-s{font-size:1.4rem;}
}

/*--- テーブルセル幅---*/
.wid1em{width: 1em;}
.wid2em{width: 2em;}
.wid4em{width: 4em;}
.wid5{width: 5%;}
.wid8{width: 8%;}
.wid10{width: 10%;}
.wid12{width: 12%;}
.wid15{width: 15%;}
.wid19{width: 19%;}
.wid20{width: 20%;}
.wid21{width: 21%;}
.wid22{width: 22%;}
.wid23{width: 23%;}
.wid25{width: 25%;}
.wid26{width: 26%;}
.wid28{width: 28%;}
.wid30{width: 30%;}
.wid32{width: 32%;}
.wid34{width: 34%;}
.wid35{width: 35%;}
.wid38{width: 38%;}
.wid39{width: 39%;}
.wid40{width: 40%;}
.wid45{width: 45%;}
.wid50{width: 50%;}
.wid70{width: 70%;}
.wid100{width: 100%!important;}

@media screen and (max-width:767px) {
	.wid-sp-1em{width: 2.5em!important;}
	.wid-sp-4em{width: 4em!important;}
	.wid-sp-10{width: 10%!important;}
	.wid-sp-14{width: 14%!important;}
	.wid-sp-18{width: 18%!important;}
	.wid-sp-20{width: 20%!important;}
	.wid-sp-23{width: 23%!important;}
	.wid-sp-30{width: 30%!important;}
	.wid-sp-38{width: 38%!important;}
	.wid-sp-48{width: 48%!important;}
}

/*--- 横スクロールテーブル---*/
@media screen and (max-width: 599px) {
.tbl-scroll {
	position: relative;
	width: 100%;
	overflow: auto;
	background-repeat: no-repeat;
	background-attachment: scroll;
	-webkit-overflow-scrolling: touch;
}
.tbl-scroll table {
	position: relative;
	background-repeat: no-repeat;
	background-attachment: local;
	border-collapse: collapse;
	width: 650px;
}
}

.pre-tbl-condition > li > .tbl{
	width: auto;
}
.pre-tbl-condition > li{
	display: inline-block;
	margin-bottom: 5px;
}
.pre-tbl-condition > li:not(:last-child){
	margin-right: 10px;
}
@media screen and (min-width:768px) {
	.pre-tbl-condition > li > .tbl th,
	.pre-tbl-condition > li > .tbl td{
		padding: 5px 15px;
	}
}

/*（FAQ）txtのみ*/
.tbl.faq-ins-tbl_txt th,
.tbl.faq-ins-tbl_txt td{
	text-align: left;
	padding-left: 1.5rem;
}
.tbl.faq-ins-tbl_txt th{
	width: 30%;
	background:#f3faff;
	font-weight: normal;
}
.tbl.faq-ins-tbl_txt td li{
	text-indent: -0.5rem;
	padding-left: 0.5rem;
}
.tbl.faq-ins-tbl_txt .tbl-txt-ss{
	font-size: 1.2rem;
}
@media screen and (min-width:768px) {
	.tbl.faq-ins-tbl_txt td li{
		text-indent: -1rem;
		padding-left: 1rem;
	}
	.tbl.faq-ins-tbl_txt .tbl-txt-ss{
		font-size: 1.4rem;
	}
}

/*（FAQ）ロゴ入り*/
.faq-ins-tbl .wid30-40{
	width: 40%;
}
.tbl .faq-ins-tbl__company{
	padding: 20px 10px;
}
.faq-ins-tbl__company span:nth-child(1){
	display: block;
	background: #fff;
	border: 1px solid #dddddd;
	position: relative;
	max-width: 120px;
	height: auto;
	margin: 0 auto 10px;
}
.faq-ins-tbl__company span:nth-child(1):before {
	content: "";
	display: block;
	padding-top: 55.69620253164557%;
}
.faq-ins-tbl__company span:nth-child(1) img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.faq-ins-tbl__tel span.txt-co-red{
	display: block;
	font-weight: bold;
	font-size:1.8rem;
	margin: 5px 0;
}
.faq-ins-tbl__tel.operator span:not(:nth-child(2)){
	display: block;
}
.faq-ins-tbl__tel.operator .txt-co-red{
	font-size: 1.4rem;	
}
.tbl td.faq-ins-tbl__tel,
.tbl td.faq-ins-tbl__issue,
.tbl td.faq-ins-tbl__auto{
	padding: 20px 10px;
}
.tbl td.faq-ins-tbl__issue,
.tbl td.faq-ins-tbl__auto{
	text-align: left;
}
.txt-block,
.faq-ins-tbl__issue span,
.faq-ins-tbl__auto span,
.faq-ins-tbl__tel span{
	display: block;
}
.faq-ins-tbl .tag{
	display: inline-block;
	background: #bfbfbf;
	border-radius: 5px;
	padding: 3px 10px 1px;
	color: #fff;
	font-size: 1.4rem;
}
.faq-ins-tbl .tag.pdr-0{
	padding-right: 0;
}
.faq-ins-tbl .tag.on{
	background: #e23434;
}
.faq-ins-tbl .tag.bc-blue{
	background: #3675b4;
}
.faq-ins-tbl .faq-ins-tbl__auto .maru .tag.on,
.faq-ins-tbl__issue .maru .tag{
	margin:2px 5px 0 -18px;
}
.faq-ins-tbl__auto span{
	display: inline-block;
}
.faq-ins-tbl .faq-ins-tbl__auto .tag{
	padding: 3px 6px 1px;
}
.faq-ins-tbl .faq-ins-tbl__auto .tag:first-child,.mr-5{
	margin-right: 5px;
}
.faq-ins-tbl .txt-area{
	margin-top: 1rem;
}
.faq-ins-tbl .text_bold{
	font-size: 1.6rem;
	display: inline-block;
	margin-bottom: 5px;
}
.faq-ins-tbl .faq-ins-tbl__auto .txt-in li{
	text-indent: -1.5rem;
	padding-left: 1rem;
	font-size: 1.4rem;
}
.faq-ins-tbl ul.txt-area li:first-child{
	margin-bottom: 1rem;
}
@media screen and (min-width:768px) {
	.faq-ins-tbl .wid30-40{
		width: 30%;
	}
	.faq-ins-tbl__company span:nth-child(1){
		width: 125px;
	}
	.faq-ins-tbl__tel span.txt-co-red{
	font-size:3rem;
	}
	.faq-ins-tbl__tel.operator .txt-co-red{
		font-size: 1.8rem;	
	}
	.tbl td.faq-ins-tbl__issue,
	.tbl td.faq-ins-tbl__auto{
		padding: 20px;
		text-align: left;
	}
	.faq-ins-tbl .faq-ins-tbl__auto .tag{
		padding: 3px 10px 1px;
	}
	.faq-ins-tbl .faq-ins-tbl__auto .maru .tag.on,
	.faq-ins-tbl__issue .maru .tag{
		margin-left: 0;
	}
	.faq-ins-tbl .faq-ins-tbl__auto .maru::before,
	.faq-ins-tbl__issue .maru::before{
		padding-top: 3px;
	}
	.faq-ins-tbl .text_bold{
		margin-bottom: 0;
		margin-right: 8px;
	}
}

.ac-arrow{
	position: relative;
}
.ac-arrow::before {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	margin: auto;
	background-color: #FFF;
	border: solid 1px #b3b3b3;
	border-radius: 6px;
	box-shadow: 0 2px 0 0 #b3b3b3;
}
.ac-arrow::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 22px;
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #72ace6;
	border-right: 2px solid #72ace6;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.tx_link_list{
	display: flex;
	flex-wrap: wrap;
}
.tx_link_list li{
	width: 48%;
	margin-bottom: 10px; 
}
.tx_link_list li:nth-child(2n){
	margin-left: 2%;
}

/* module(list)
------------------------------------------------------------------------------*/
.list-s {
	font-size: 1.2rem;
	text-align: left;
}
.list-s li:not(:last-child){
	margin-bottom: 3px;
}
@media screen and (min-width:768px) {
	.list-s {
		font-size: 1.3rem;
	}
}

/*------------------------------------------------------------------------------
privacy設定
------------------------------------------------------------------------------*/
#privacy a {
	color: #243795;
}
#privacy > p {
	margin-top: 10px!important;
}
#privacy dl dt {
	font-weight: bold;
	margin: 15px 0 5px;
}
#privacy ul.signature {
	font-size: 1.4rem;
	text-align: right;
	margin: 15px 0 20px;
}
@media screen and (max-width: 767px) {
#privacy ul {font-size: 1.2rem;}
}

#privacy ul.cookie { margin: 10px 0;}
#privacy ul.cookie li:first-child { font-weight: bold;}

#privacy ul li {
	list-style: none;
}
#privacy .inquiry {
	font-size: 1.4rem;
	border: 2px solid #d3d4d5;
	margin-top: 10px;
	padding: 6px 10px 8px 10px;
}
@media screen and (max-width: 767px) {
#privacy .privacy-contents .inquiry{font-size: 1.2rem;}
}

#privacy .inquiry span {
	font-weight: bold;
	line-height: 2;
}
#privacy table {
	font-size: 14px;
	width: 100%;
	margin: 10px 0 20px 0;
	border-top: 1px solid #999;
	border-left: 1px solid #999;
}
#privacy table th {
	padding: 5px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	color: #FFF;
	background-color: #666666;
	text-align: center;
}
#privacy table th:last-child {
	border-right: 1px solid #999;
}
#privacy table tr:last-child th{
	border-bottom: 1px solid #999;
}
#privacy table tr:not(:first-child) th{
	border-right: none;
}
#privacy table tr:first-child th:not(:first-child){
	border-bottom: none;
}
#privacy table td {
	padding: 5px 5px 5px 5px;
	line-height: 1.3;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999;
	border-bottom-color: #999;
}
#privacy table ul.list {
	font-size: 1.4rem;
	text-align: left;
	padding-left: 15px;
	margin: 0;
}
#privacy table ul.list li {
	list-style-type: disc;
	padding: 0;
	margin: 0;
}

/*------------------------------------------------------------------------------
security設定
------------------------------------------------------------------------------*/
#security dl {
	margin-bottom: 15px;

}
#security dl dt {
	font-weight: bold;
	margin: 15px 0 5px;
}
#security .ul-ifc{text-align: right;font-size: 1.4rem;}


@media screen and (max-width: 767px) {
	.body-company .main{
		padding: 0 10px;
	}
}

/*------------------------------------------------------------------------------
footer_navi設定
------------------------------------------------------------------------------*/
.ft_menu_area{ 
	background-color: var(--gold);
}
.body-index .ft_menu_area{margin-top: 0;}
.ft_menu{
	overflow: hidden;
	clear: both;
}
.ft_menu__subitem{
	position: relative;
}
@media screen and (max-width: 767px) {
	.ft_menu .ttl_item{color: #fff;}
	.ft_menu__item{position: relative;}
	.ftmenu__acbtn{
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
		padding: 0;
		overflow: hidden;
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff;
		z-index: 10;
	}
	.ftmenu__acbtn:before{
		content: '';
		position: absolute;
		background-color: #fff;
		top: 50%;
		right: 16px;
		width: 18px;
		height: 2px;
		margin-top: -1px;
	}
	.ftmenu__acbtn:after{
		content: '';
		position: absolute;
		background-color: #fff;
		top: 50%;
		right: 16px;
		width: 18px;
		height: 2px;
		margin-top: -1px;
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
		transition:  all .3s;
	}
	.ftmenu__isopen{
		background: var(--gold);
	}
	.ftmenu__isopen:after{
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	.ft_menu__sublist{ display: none;}
	.ttl_item,
	.ft_menu__subitem, .ft_menu__item.subttl_item{
		position: relative;
		border-bottom:1px solid #fff;
		font-size: 1.4rem;
		padding-left: 15px;
		display: table;
		width: 100%;
		height: 50px;
	}
	.ft_menu__subitem, .ft_menu__item.subttl_item{
		padding-left: 20px;
		background-color: #e3f3ff;
	}
	.ft_menu__subitem a, .ft_menu__item.subttl_item a{
		display: table;
		height: 100%;
		width: 100%;
	}
	.ttl_item span,
	.ft_menu__subitem span, .ft_menu__item.subttl_item span{
		display: table-cell;
		vertical-align: middle;
	}
	.ttl_item span::before,
	.ft_menu__subitem span::before,
	.ft_menu__item.subttl_item span::before{
		content: "";
		position: absolute;
		top: 50%;
		margin-top: -4px;
		right: 80px;
		border-right: 2px solid #fff;
		border-top: 2px solid #fff;
		transform: rotate(45deg);
		width: 8px;
		height: 8px;
	}
	.ttl_item span.arrow_none::before{
		display: none;
	}
	.ft_menu_arrow_right{
		padding-left: 34px;
	}
	.ttl_item span.ft_menu_arrow_right::before{
		right: 24px;
	}
	.ft_menu__subitem span::before,
	.ft_menu__item.subttl_item span::before{
		right: 25px;
		border-color: #72ace6;
	}
	.ft_search_ic{
		position: relative;
	}
	.ft_search_ic:before{
		position: absolute;
		content: "";
		background: url(../img/ico/ic_search.png);
		background-size: 26px 26px;
		background-position: center right;
		background-repeat: no-repeat;
		width: 26px;
		height: 26px;
		top: 12px;
		left: 13px;
	}
	.ft_ranking_ic{
		position: relative;
	}
	.ft_ranking_ic:before{
		position: absolute;
		content: "";
		background: url(../img/ico/ic_search2.png);
		background-size: 28px 22px;
		background-position: center right;
		background-repeat: no-repeat;
		width: 28px;
		height: 22px;
		top: 13px;
		left: 12px;
	}
	.ft_menu__item.subttl_item{
		font-weight: bold;
		background-color: #f0f9ff;
	}
	.sub_block, .sub_block .subsub_item {
		background-color: #f0f9ff;
	}
	.sub_block .subsub_item {
		font-weight: normal;
	}
	.sub_block .subsub_item span::before{
		right: 4.5rem;
	}
	.body-ranking .sub_block .subsub_item span::before{
		right: 3.5rem;
	}
	.sub_block .subsub_item a {
		margin-left: -1rem;
	}
	.sub-ttl.ft_menu__subitem.subsub_item {
		font-weight: bold;
        background-color: #f0f9ff;
		height: 50px;
		padding-left: 0;
    }
}

@media screen and (min-width: 768px) {
	.ft_menu{
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-left: -20px;
	}
	.ft_menu__list {
		margin: 20px 0 0 20px;
		width: calc(100% / 2 - 20px);
	}
	
	.ft_menu_area{ background-color: #f7fcff;}
	.ft_menu_area{
		position: relative;
		padding:20px 0 60px;
		width: 100%;
		min-width: 1140px;
	}
	.ft_menu a{color: #333;}
	.ft_menu__list{ float: left;}
	.ft_menu__sublist::after {
		content: "";
		display: block;
		clear: both;
	}
	.ft_menu__item > .ttl_item{
		font-size: 2.2rem;
		font-weight: bold;
		margin-bottom: 15px;
		display: block;
		padding-bottom: 5px;
		border-bottom: 1px solid var(--gold);
	}
	.ft_menu__item > .ttl_item span{
		position: relative;
		display: inline-block;
	}
	.ft_menu__item > .ttl_item span:after{
		position: absolute;
		content: '';
		top: 0;
		bottom: 0;
		right: -25px;
		margin: auto;
		width: 12px;
		height: 12px;
		border-top: 2px solid var(--gold);
		border-right: 2px solid var(--gold);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.ft_menu__item > .ttl_item span.arrow_none:after{
		display: none;
	}
	.ft_menu__subitem{ font-weight: normal;}
	.ft_menu__subitem{
		float: left;
		width: 49%;
		margin-right: 2%;
		padding: 0 10px 0 0;
		margin-bottom: 10px;
	}
	.ft_menu__subitem .link-arrow:after{
		border-color: #f7fcff;
	}
	
	.ft_menu__subitem:nth-of-type(2n){ margin-right: 0;}
	
	.ft_menu__subitem span::before,
	.ft_menu__subitem span::after{
		position: absolute;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.ft_menu__subitem span::before{
		top: 4px;
		left: 0;
		width: 17px;
		height: 17px;
		background: var(--gold);
		-webkit-border-radius: 50%;
		border-radius: 50%;
	}
	.ft_menu__subitem span::after{
		width: 7px;
		height: 7px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		top: 9px;
		left: 4px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.ft_menu__item > .sub-ttl{
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 15px;
		display: block;
		padding-bottom: 5px;
		width: 100%;
		border-bottom: 1px solid var(--gold);
		position: relative;
	}
	.ft_menu__item > .sub-ttl span:after{
		position: absolute;
		content: '';
		top: 0;
		bottom: 0;
		right: 40px;
		margin: auto;
		width: 10px;
		height: 10px;
		border-top: 2px solid var(--gold);
		border-right: 2px solid var(--gold);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sub-ttl.ft_menu__subitem span::before {
        content: none;
    }
}
