﻿@charset "utf-8";




/* -----------------------------------------------------------
    nav-nav(サイドナビ追従)
-------------------------------------------------------------- */
.nav-box {
	width: 250px;
    position: sticky;
    top: 160px;
}

.nav-box .company-logo{
	padding: 0 0 10px;
	margin: 0 0 10px;
	/* background-color: #fff; */
	text-align: center;
	font: 700 2.4rem / 1 'Poppins', sans-serif;
	color: var(--main);
	color: #fff;
	/* border-bottom: solid 1px #fff; */

	padding: 20px 0 15px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	background: url(../img/bg-black.jpg) no-repeat center / cover;
	background: url(../img/bg-red-texture.jpg) no-repeat right / cover;
}

.nav-box .ttl-s {
	background-size: 100% auto;
	padding: 15px 25px 20px;
}

.nav-box .side-nav {
	margin: 40px 0 0;
}

.nav-box .side-nav li {
	margin: 0 0 10px;
}

.nav-box .side-nav li p {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	position: relative;
	transition: 0.5s;
	font-weight: bold;
	padding: 15px 25px 15px;
	padding: 15px 25px 15px 0px;
	color: #333;
}

/* .nav-box .side-nav li p::after {
	content: "";
	bottom: 0;
	display: block;
	margin: auto;
	position: absolute;
	right: -10px;
	top: -5px;
	transition: 0.5s;
	width: 30px;
	height: 8px;
	background: url("../img/arrow-icon.png") no-repeat left top / contain;
	z-index: 1;
} */

.nav-box .side-nav li p:hover::after {
	right: -20px;
}

.nav-box .side-nav li p span {
	color: var(--main);
	font: 600 1.2rem / 1 'Poppins', sans-serif;
}

.nav-box .side-nav li p span.side-c-txt {
	color: var(--red);
	font: 500 1.2rem / 1 'Poppins', sans-serif;
}

.nav-box .side-nav li a {
	display: block;
	background: #F1F1F1;
	width: 100%;
	height: 100%;
	position: relative;
}

/* .nav-box .side-nav li a::before{
	content: "";
    position: absolute;
    display: block;
    background-color: var(--main);
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    transition: .4s ease 0s;
} */

.nav-box .side-nav li a:hover{
	opacity: 0.8;
}

.nav-box .side-nav li .u-side-nav{
	padding: 0px 0 10px 20px;
	background-color: #fff;
}

.nav-box .side-nav li .u-side-nav li{
	position: relative;
	padding: 15px 0 15px;
	border-bottom: solid 1px #F1F1F1;
}

.nav-box .side-nav li .u-side-nav li::before{
	position: absolute;
	content: "・";
	color: var(--main);
	left: -18px;
}

.nav-box .side-nav li .u-side-nav a{
	background: none;
	color: #333;
}
/*ホバー*/
@media (hover: hover) and (pointer: fine) {
	.nav-box .side-nav li a:hover p{
		color: var(--main);

	}
	.nav-box .side-nav li .u-side-nav a:hover{
		color: var(--main);
	}
}

@media screen and (max-width: 768px){
	.nav-box {
		margin: 0;
		width: 100%;
		order: 0;
	}


	/*固定用*/
	.is-fixed {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 16;
		width: 100%;
	}
	.nav-box.is-fixed {
		width: calc(100% - 65px) !important;
		z-index: 100;
	}
	
	.nav-box .side-nav{
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin: 40px 0 0px !important;
	}

	.nav-box .company-logo{
		margin: 0;
		padding: 20px 20px 15px;
		text-align: left;
	}

	.nav-box .side-nav li{
		width: calc((100% - 10px) / 2);
		margin: 0;
	}

	.nav-box img{
		width: 280px;
		display: block;
		margin: 0 auto;
	}

	.content-right .ttl-s {
		padding: 15px 0;
	}

	.nav-box .ttl-s span {
		font-size: 1.8rem;
	}

	.nav-box .side-nav li p {
		font-size: 1.6rem;
        line-height: 1;
		padding: 15px 10px;
	}

	.nav-box .side-nav li p span {
		font-size: 1.0rem;
	}

	.nav-box .side-nav li a {
		background: url(../img/side-arrow.png) no-repeat right 10px center;
	}

	.nav-box .side-nav li a:hover {
		background: url(../img/side-arrow.png) no-repeat right 10px center;
	}

	.company-logo .menu-acc-icon::before{
		position: absolute;
        display: inline-block;
        content: "";
        width: 22px;
        height: 22px;
        background: url(../img/icon_plus-wht.png) no-repeat 0 0;
        background-size: 22px 22px;
        top: 18px;
        right: 20px;
	}
	.company-logo.active .menu-acc-icon::before{
        background: url(../img/icon_minus-wht.png) no-repeat 0 0;
        background-size: 22px 22px;
	}

}

/* -----------------------------
	table
-------------------------------- */
.table {
	text-align: left;
	border-collapse: collapse;
	font-size: 1.5rem;
	line-height: 1.8;
	border-top: 1px #ddd solid;
	width: 100%;
}

.table tr {
	border-bottom: 1px #ddd solid;
}

.table th{
	width: 250px;
	padding: 20px 40px 20px 40px;
}

.table td {
	padding: 20px 0px;
    background-color: #fff;
}

.table td p {
	margin: 0 0 10px;
}

.table td p:last-of-type {
	margin: 0;
}

.table td li p{
	margin: 0;
}

.table td .cont-ttl::before{
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 8px 0 0;
	background-color: #333;
	vertical-align: 0.1em;
}

.table td .ttl::before{
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	/*border-radius: 50%;*/
	margin: 0 8px 0 0;
	background-color: #333;
	vertical-align: 0.3em;
}

.table td .fee{
	line-height: 1.0;
	margin: 0 0 0 10px !important;
	font-size: 1.4rem;
}

.table td span.num{
	font-size: 2.4rem;
	font-weight: 600;
	font-family: var(--font-en);
	padding: 0 3px;
	letter-spacing: -0.03em;
}

.table td .att {
	font-size: 1.5rem;
	font-weight: 500;
	width: 100%;
	display: inline-block;
	padding-left: 1.5rem;
	text-indent: -1.5rem;
	margin: 10px 0 0;
}

@media screen and (max-width: 768px) {

	.table {
		margin: 30px 0 30px;
        width: 100% !important;
	}

	.table td {
		padding: 20px 10px 20px 10px;
		vertical-align: top;
	}

	.table tr th {
		width: 100%;
		padding: 13px 15px 15px;
		vertical-align: top;
        background-color: #f0f0f0;
	}

	.table{
		border: 1px #ddd solid;
		margin: 0;
	}

	.table th{
		width: 100%;
		display: block;
		padding: 5px 15px;
		border-right: none;
		/*border-bottom: 1px #d6d6d6 solid;*/
	}

	.table td{
		width: 100%;
		display: block;
		font-weight: 600;
		padding: 13px 15px 15px;
		font-size: 1.4rem;
		line-height: 1.2;
	}

	.table td li{
		margin: 0 0 15px;
	}

	.table td .cont-ttl::before{
		width: 8px;
		height: 8px;
		margin: 0 5px 0 0;
		vertical-align: 0.1em;
	}

	.table td .ttl::before{
		width: 3px;
		height: 3px;
		margin: 0 5px 0 0;
	}

	.table td .fee{
		line-height: 1.2;
		margin: 0 0 0 10px;
		font-size: 1.4rem;
	}

	.table td span.num{
		font-size: 2.0rem;
	}
}

/* -----------------------------
	disc-list
-------------------------------- */
.disc-list {
	margin: 10px 0;
}

.disc-list li.disc-item {
	position: relative;
	padding-left: 1.6rem;
	line-height: 1.6;
}

.disc-list li.disc-item::before {
	content: "・";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	color: var(--main);
}

.disc-list .disc-item + .disc-item {
    margin: 5px 0 0;
}
@media screen and (max-width: 768px) {}

/* -----------------------------
	num-list
-------------------------------- */
.num-list li.num-item{
    position: relative;
	line-height: 1.6;
}

.num-list li.num-item .num{
	color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    line-height: 1;
    font-size: 2.0rem;
    background: var(--main);
    border-radius: 30px;
	position: absolute;
	left: 0;
}

.num-list .num-item + .num-item{
    margin: 8px 0 0;
}
@media screen and (max-width: 768px) {}

/* -----------------------------
	fs-wrap
-------------------------------- */
.fs-wrap{
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (max-width: 768px) {}

