@charset "utf-8";
/*  CSS Document  */
/*
=====================================

シンプルなdl ol ul

=====================================
*/
/*common*/
.smpl_ul, .arrow_ul, .border_ul, .check_ul .smpl_ol, .smpl_dl, .circle_ol {
	margin: 15px 0;
	position: relative;
	z-index: 2;
	opacity: 1!important;
}
.arrow_ul a, .border_ul a, .check_ul a, .smpl_ol a, .smpl_dl a, .circle_ol a {
	display: block;
}
/*smpl_ul*/
.smpl_ul > li {
	list-style: outside none none;
	margin-left: 7px;
	position: relative;
	padding-left: 15px;
}
.smpl_ul > li::before {
	color: #E4C572;
	content: "●";
	display: inline-block;
	font-size: 8px;
	margin-right: 6px;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 5px;
}
/*arrow_ul*/
.arrow_ul > li {
	padding-left: 14px;
	position: relative;
	margin-bottom: 5px;
}
.arrow_ul a {
	position: relative;
	z-index: 1;
}
.arrow_ul > li::before {
    content: "\f054";
    font-family: "Font Awesome 5 Pro";
    background-size: cover;
    color: #666;
    border-radius: 30px;
    position: absolute;
    top: 4px;
    font-size: 7px;
    left: 0;
    width: 16px;
    box-sizing: border-box;
    line-height: 6px;
    padding: 5px 0 0 0;
}
.arrow_ul > li:hover::before {
	opacity: 0.8;
}
.arrow_ul > li.under {
	margin: -5px 0 5px 18px;
	padding-left: 23px;
	font-size: 0.9em;
}
.arrow_ul > li.under::before {
	content: "";
	background: url(../../img/icons/ks_arrow.png) no-repeat left;
	background-size: cover;
	width: 15px;
	height: 15px;
	top: 50%;
	transform: translateY(-50%);
 -webkit- transform: translateY(-50%);
	left: 1px;
	margin-top: -1px;
}
.arrow_ul > li.under::before {
	background: url(../../img/icons/ks_arrow_hover.png) no-repeat left;
}
.arrow_ul > li.under a {
	color: #7a7c7f;
}
/*check_ul*/
.check_ul > li {
	margin: 5px 0;
}
.check_ul > li::before {
	content: "\f14a";
	font-family: "Font Awesome 5 Pro";
	margin-right: 10px;
	color: #cda135;
}
.wide100 {
	width: 100% !important;
	min-height: 200px;
	box-sizing: border-box;
}
/*border_ul*/
.border_ul {
	border-top: 1px solid #ccc;
}
.border_ul li {
	padding: 10px 0;
	border-bottom: 1px solid #ccc;
}
/*slash_ul*/
.slash li {
	display: inline-block;
	margin-right: 2px;
}
.slash li::after {
	content: "/";
	padding-left: 5px;
	color: #CCC;
}
.slash li:last-child::after {
	display: none;
}
/*smpl_ol ＆ circle_ol*/
.circle_ol {
	margin: 20px 0;
}
.smpl_ol > li, .circle_ol > li {
	counter-increment: cnt 1;
	list-style-position: inside;
	list-style-type: none;
	padding: 2px 0 2px 28px;
	position: relative;
	margin-bottom: 10px;
	letter-spacing: normal;
}
.circle_ol > li {
	padding: 2px 0 2px 40px;
}
.smpl_ol > li::before {
	content: "(" counter(cnt, decimal) ") ";
	left: 0;
	position: absolute;
	color: #333;
}
.circle_ol > li::before {
	content: counter(cnt, decimal);
	left: 0;
	top: 0;
	position: absolute;
	color: #ccc;
	border: 2px solid #ccc;
	padding: 3px 9px 2px;
	border-radius: 30px;
	font-weight: bold;
	font-size: 12px;
}
.circle_ol > li:nth-child(n+10)::before {
	padding: 4px 6px;
}
/*smpl_dl*/
.smpl_dl {
	letter-spacing: -0.4em;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
.smpl_dl dt {
	width: 20%;
	display: inline-block;
	vertical-align: middle;
	letter-spacing: normal;
}
/*news_dl*/
.news_dl dd {
	box-sizing: border-box;
}
.news_cat_icon {
	font-size: 11px;
	background: #666;
	color: #fff;
	padding: 1px 4px;
	border-radius: 5px;
	margin-right: 3px;
	width: 80px;
	left: 0;
	text-align: center;
}
@media only screen and (max-width : 1200px) {
.smpl_dl dt {
	width: 20%;
}
}
.smpl_dl dd {
	vertical-align: middle;
	display: inline-block;
	width: 77%;
	margin-left: 1%;
	letter-spacing: normal;
}
.smpl_dl > div {
	display: block;
	padding: 13px 0;
	border-bottom: 1px solid #ccc;
}
.smpl_dl > div:last-child {
	border-bottom: none;
}
@media only screen and (max-width : 760px) {
.smpl_dl {
	font-size: 15px;
}
.smpl_dl dt {
	width: 100%;
	color: #666;
	margin: 0 0 9px;
	font-weight: bold;
}
.smpl_dl dd {
	width: 100%;
	margin-left: 0;
}
}
/*リストのオプション*/
ul.lines li {
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
ul.box, ol.box {
	padding: 15px;
	border: 1px solid #f1f1f1;
	background: #f9f9f9;
	border-radius: 3px;
}
ul.box li:last-child {
	border-bottom: none;
}
.yoko li {
	display: inline-block;
	margin-right: 15px;
	vertical-align: middle;
}
/*
=====================================
//シンプルなdl ol ul
=====================================
*/
/*
=====================================

SWITCH

=====================================
*/
.switch {
	margin-right: auto;
	margin-left: auto;
	max-width: 280px;
	text-align: center;
	clear: both;
	display: block;
	padding-top: 10px;
}
.switch a {
    width: 100%;
    display: block;
    display: inline-block;
    background: #ff830a;
    text-decoration: none;
    box-sizing: border-box;
    padding: 13px 20px 15px;
    border-radius: 36px;
    position: relative;
    bottom: 0;
    transform: scale(1);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
    color: #fff !important;
    overflow: hidden;
    line-height: 1.5em;
    max-width: 230px;
}
.switch a:hover {
	transform: scale(0.95);
}
.switch .fa-external-link {
	color: #333;
}
/*conversion_switch*/
.switch.conversion {
	white-space: nowrap;
}
.switch.conversion a {
	color: #fff!important;
	background: #accf1f; /* Old browsers */
	background: -moz-linear-gradient(left, #accf1f 0%, #3fc136 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #accf1f 0%, #3fc136 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #accf1f 0%, #3fc136 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#accf1f', endColorstr='#3fc136', GradientType=1 ); /* IE6-9 */
	border: #58c74f solid 1px;
}
/*white_switch*/
.switch.white a {
	color: #333!important;
	background: #fff; /* Old browsers */
	border:none;
}
@media screen and (max-width: 600px) {
.switch {
	max-width: none;
}
.switch a {
	width: 80%;
	margin-right: 10%;
	margin-left: 10%;
}
}
/*
=====================================
//SWITCH
=====================================
*/
/*
=====================================

サイドメニュー

=====================================
*/
/* サイドメニューの下部 */
.side_under {
	text-align: center;
	font-size: 0.8em;
	color: #666;
	margin-bottom: 50px;
}
#r_side .side_under .su_title {
	text-align: center;
	padding: 10px;
	background: #f1f1f1;
	margin-top: 30px;
}
#r_side .side_under p {
	margin-bottom: 20px;
}
#r_side .side_under img {
	display: block;
	margin-bottom: 5px;
}
/*  矢印付きボタン  */
.arrow_btn {
	background: #FFF;
	padding: 12px 20px 10px;
	border: 1px solid #ccc;
	float: right;
}
.arrow_btn img {
	margin-right: 10px;
	margin-bottom: -4px;
}
/*
=====================================
//サイドメニュー
=====================================
*/
/*
=====================================

QA
 
=====================================
*/
.qa {
	margin-top: 30px;
}
.qa span {
	color: #F30;
	font-weight: bold;
}
.qa div {
	margin-bottom: 10px;
	line-height: 2;
	background: #fff;
}
.qa p{
	margin-top:0;
}
.qa dt, .qa dd {
    padding: 20px 35px 20px 55px;
    display: block;
    line-height: 1.5em;
	position:relative;
}
.qa dd {
    padding-right: 0;
    margin-left: 40px;
}
.qa dt {
    background: #fff8eb;
    position: relative;
}
.qa dt::before, .qa dd::before {
    font-size: 17px;
    font-weight: bold;
    position: absolute;
    left: 12px;
    top: 17px;
    color: #fff;
    width: 35px;
    height: 35px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 30px;
    padding: 5px 0 0 0;
}
.qa dt::before {
    content: "Q";
	background:#EF8526;
    margin-top: -3px;
}
.qa dd::before {
	content: "A";
    background:#F30;
}
/*すべて開く/閉じるボタン*/
.qa input {
	width: 100%;
	padding: 10px 0;
	border-radius: 3px;
}
.qa input:active {
	background: #e5e5e5;
}
/* 開閉ボタン */
.qa dt::after {
	content: "\f0fe";
	font-family: "Font Awesome 5 Pro";
	float: right;
	text-indent: 0;
	color: #999;
	font-size: 20px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
 -webkit- transform: translateY(-50%);
}
.qa dt.open::after, .qa dt.show::after {
	content: "\f146";
}
@media only screen and (max-width : 760px) {
.qa dd {
	padding-left: 60px;
}
}
/*
=====================================
//QA
=====================================
*/
/*
=====================================

#footer
 
=====================================
*/
/* #footer全体 */
#gotop {
	text-align: center;
	margin-top: 60px;
}
#footer {
	clear: both;
}
/*sitemap*/
#footer_sitemap {
    margin-top: 50px;
    padding: 40px 0 20px;
    border-top: 3px solid #f1f1f1;
    background: #fff;
}
#footer_sitemap .menu_parents a, #footer_sitemap .menu_child a {
	padding: 5px 0 5px 15px;
	display: block;
	position: relative;
}
#footer_sitemap .menu_parents a::before, #footer_sitemap .menu_child a::before {
	color: #ccc;
	font-size: 12px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
 -webkit- transform: translateY(-50%);
	position: absolute;
}
.img_skip img {
    display: none!important;
}
#footer_sitemap .menu_parents a::before {
	content: "\f054";
	font-family: "Font Awesome 5 Pro";
}
#footer_sitemap .menu_child {
	padding-left: 14px;
	box-sizing: border-box;
}
#footer_sitemap .menu_child a::before {
	content: "";
	background: url(../../img/icons/ks_arrow.png) no-repeat;
	height: 12px;
	width: 12px;
	background-size: cover;
	left: -2px;
}
#footer_sitemap p {
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 10px;
	margin-bottom: 15px;
	border-bottom: 1px solid #ccc;
	margin: 20px 0 10px;
}
/* #footer_sitemap_under */
#footer_sitemap_under {
    padding: 30px 0;
    position: relative;
    background: #f9f9f9;
    border-top: 2px solid #e5e5e5;
    border-bottom: 2px solid #e5e5e5;
}
#footer_sitemap_under ul {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
 -webkit- transform: translateY(-50%) translateX(-50%);
	margin: 0;
}
#footer_sitemap_under ul li {
	margin: 0 0 0 20px;
	display: inline-block;
	white-space: nowrap;
}
/* #footer_btm */
#footer_btm {
    border-top: 3px solid #f1f1f1;
    text-align: center;
    padding-top: 35px;
    background: #fff;
	font-size: 12px;
}
#footer_btm img{
	display:block;
	margin:0 auto 30px;
	width:233px;
	height:auto;
}
footer small {
	display: block;
	font-size: 12px;
	color: #fff;
	margin-top:40px;
	padding: 40px 0;
	background: #ff830a;
}
@media only screen and (min-width : 1200px) {
#footer_sitemap .split3 > li p:first-child{
	margin-top:0;
}
#footer_sitemap .split3 > li:first-child,#footer_sitemap .split3 > li:nth-child(2){
		padding-right:35px;
		border-right:1px dashed #ccc;
}
#footer_sitemap .split3 > li:nth-child(2),#footer_sitemap .split3 > li:nth-child(3){
		padding-left:15px;
}
}
/*
=====================================
//footer
=====================================
*/
/*
=====================================

COMMON

=====================================
*/
/* 文字色 */
.color_black,.color_black a{
	color: #333!important;
}
.color_white,.color_white a{
	color: #fff!important;
}
/* リンク着色 */
.txtlink a, .linktxt a, .txt_link a, .link_txt a {
    color: #39C!important;
    position: relative;
	font-weight:bold;
    display: inline-block!important;
}
.txtlink a::after,.linktxt a::after,.txt_link a::after,.link_txt a::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #39C;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .2s;
	right: 0;
	margin: 0 auto;
}
.txtlink a:hover::after,.linktxt a:hover::after,.txt_link a:hover::after,.link_txt a:hover::after {
	transform: scale(1, 1);
	transform-origin: left top;
}
/*小さい文字*/
.mini {
	font-size: 12px!important;
}
/* table */
table {
	background: #FFF;
	margin: 10px 0;
}
table td, table th {
	padding: 15px;
	border: 1px solid #ccc;
	vertical-align: middle;
}
table th {
	background: #f1f1f1;
	text-align: center;
	white-space: nowrap;
}
/* リンク画像のロールオーバー半透明 */
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
::-moz-selection {
 background: #ff830a;
 color:#FFF; /* Firefox */
}
strong {
	font-size: 1.2em;
	font-weight:bold;
}
/*mt_clear*/
.mt_clear {
	margin-top: 10px!important;
}
/*iframe*/
iframe {
	margin: 15px 0;
}
/*アンダーライン*/
.under_line {
	background: linear-gradient(transparent 60%, rgba(252,105,105,0.2) 60%);
}
/* 右寄りのリンク */
.txt_r {
	text-align: right!important;
}
.txt_r a {
	color: #333;
}
/* ※注釈 */
.kome {
	margin: 10px 0 10px 15px;
	display: block;
	font-weight: 100;
	font-size: 0.9em;
	color: #666;
	text-indent: -1.2em;
}
.kome::before {
	content: "※";
	margin-right: 3px;
	font-weight: bold;
}
/*記事末の署名*/
.shomei {
	padding: 15px 30px;
	background: #f9f9f9;
	border-radius: 3px;
	border: 1px solid #ccc;
	margin-top: 30px;
}
/*補足*/
.hosoku {
	padding: 20px;
	background: #FAEDD6;
	margin-top: 20px;
}
/*switch装飾*/
.inner_tel .split2 .switch a {
	position: relative
}
.inner_tel .split2 .switch a::before {
	content: "\f08e";
	font-family: "Font Awesome 5 Pro";
	color: #fff;
	top: 5px;
	right: 5px;
	font-family: 10px;
	position: absolute
}
/*
=====================================
//COMMON
=====================================
*/
/*
=====================================

ANIMATION

=====================================
*/
.anim_in.action {
	opacity : 1;
}
/*direction*/
.anim_in.up.action,.anim_in.right.action,.anim_in.left.action,.anim_in.down.action{
	transform : translate(0, 0);
}
/*ズーム*/
.zoom.action {
	animation-name: zoomer;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
}
.minzoom.action {
	animation-name: minzoomer;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
/*flash*/
.anim_in.flash.action{
	animation-name:flash_in;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;	
}
/*フォーカス*/
.anim_in.focus_in.action {
	animation-name: text-focus-in;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}
/*幕*/
.anim_in.open_b, .anim_in.open_t, .anim_in.open_r, .anim_in.open_l, .anim_in.open_lr {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.anim_in.open_b::before, .anim_in.open_t::before, .anim_in.open_r::before, .anim_in.open_l::before {
	content: "";
	background: #83c92e;
	width: 100%;
	position: absolute;
	height: 100%;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 20;
	/*animation*/
	-webkit-transition: all 0.6s ease-in-out;
	-moz-transition: all 0.6s ease-in-out;
	-o-transition: all 0.6s ease-in-out;
	transition: all 0.6s ease-in-out;
}
.anim_in.open_b::after, .anim_in.open_t::after, .anim_in.open_r::after, .anim_in.open_l::after, .anim_in.open_lr::before, .anim_in.open_lr::after {
	content: "";
	background: #FC3;
	width: 100%;
	position: absolute;
	height: 100%;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 10;
	/*animation*/
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
before, .anim_in.open_l::after {
	content: "";
	background: #ff830a;
	width: 100%;
	position: absolute;
	height: 100%;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 20;
	/*animation*/
	-webkit-transition: all 0.6s ease-in-out;
	-moz-transition: all 0.6s ease-in-out;
	-o-transition: all 0.6s ease-in-out;
	transition: all 0.6s ease-in-out;
}
.anim_in.open_lr::before, .anim_in.open_lr::after {
	background: #FFF;
	box-sizing: border-box;
}
.anim_in.open_b.action::before, .anim_in.open_b.action::after {
	height: 0;
}
.anim_in.open_t.action::before, .anim_in.open_t.action::after {
	height: 0;
	top: 0;
	bottom: inherit;
}
.anim_in.open_r.action::before, .anim_in.open_r.action::after, .anim_in.open_lr.action::before {
	width: 0;
	left: inherit;
}
.anim_in.open_l.action::before, .anim_in.open_l.action::after, .anim_in.open_lr.action::after {
	width: 0;
	right: inherit;
}
/* animation_options */
.delay1.action {
	animation-delay: 0.3s;
}
.delay2.action {
	animation-delay: 0.6s;
}
.delay3.action {
	animation-delay: 0.9s;
}
/*keyframes*/
@keyframes txt_move {
 from {
 margin: 0;
}
to {
	margin: 5px 0;
}
}
@keyframes flash_in{
0%{
	filter: brightness(200%);
}
100%{
	filter: brightness(100%);
}
}
@keyframes zoomer {
 0% {
transform: scale(0.8);
}
 50% {
transform: scale(1.2);
}
 70% {
transform: scale(0.8);
}
 85% {
transform: scale(1.05);
}
 100% {
transform: scale(1);
}
}
@keyframes minzoomer {
 0% {
transform: scale(0.9);
}
 100% {
transform: scale(1);
}
}
@keyframes show {
 from {
 opacity: 0;
}
to {
	opacity: 1;
}
}
@keyframes txt_move {
 from {
 margin: 0;
}
to {
	margin: 5px 0;
}
}
@keyframes vertical {
 0% {
transform:translateY(-6px);
}
 100% {
transform:translateY( 0px);
}
}
@keyframes text-focus-in {
 0% {
	 transform: scale(1.3);
 -webkit-filter: blur(12px);
 filter: blur(12px);
}
 100% {
	 transform: scale(1);
 -webkit-filter: blur(0px);
 filter: blur(0px);
}
}
@media only screen and (max-width : 760px) {
/*direction初期化*/
.up,.right,.left,.down{
	transform : translate(0, 0)!important;
}
}
/*
=====================================
//ANIMATION
=====================================
*/
@media only screen and (max-width : 760px) {
/* common */
#footer_sitemap {
    padding: 0 0 20px;
}
/*table*/
table {
	width: 100%;
	table-layout: auto;
}
table th, table td {
	white-space: normal;
	word-break: break-all;
}
}
/*
=====================================

印刷用

=====================================
*/
@media print {
body {
	background: none;
	padding-top: 0!important;
}
header, #footer, footer, #r_side {
	display: none;
}
}
/*
=====================================
//印刷用
=====================================
*/
