@charset "utf-8";

/*-------------------------------
	.Optional1
-------------------------------*/
.Optional1{}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){    
    
}
@media screen and (max-width:768px){
	
}
/*-------------------------------
	Optional2
-------------------------------*/
.Optional2{
	padding-top: 14rem;
	padding-bottom: 18rem;
}
.Optional2__block{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
/*-----.Optional2__block__left__body*/
.Optional2__block__left__body{
	width: 35rem;
}
.Optional2__block__title{
    font-size: 3rem;
    font-family: var(--mincho);
    font-weight: 600;
    line-height: calc(4.8 / 3);
    letter-spacing: .05em;
    color: var(--blackcolor);	
}
/*-----.Optional2__block__right__body*/
.Optional2__block__right__body{
	width: calc(100% - 35rem);
	max-width: 52.6rem;
}
.Optional2__block__text{
	letter-spacing: .01em;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){    
    
}
@media screen and (max-width:768px){
	.Optional2{
		padding-top: var(--padding-topbottom);
		padding-bottom: var(--padding-topbottom);
	}
	.Optional2__block{
		flex-direction: column;
	}
	/*-----.Optional2__block__left__body*/
	.Optional2__block__left__body{
		width: 100%;
	}
	.Optional2__block__title{
		font-size: 4.5rem;	
	}
	/*-----.Optional2__block__right__body*/
	.Optional2__block__right__body{
		width: 100%;
		max-width: unset;
	}
}


/*-------------------------------
	Optional3
-------------------------------*/
.Optional3{
	padding-top: 18rem;
}
.Optional3__container:not(:last-of-type){
	margin-bottom: 8.4rem;
}
.Optional3__title{
	margin-bottom: 4rem;
    font-size: 2.8rem;
    font-family: var(--mincho);
    font-weight: 600;
    line-height: calc(4 / 2.8);
    letter-spacing: .05em;
	text-align: center;
    color: var(--blackcolor);
	display: block;
}
/*-----Optional3-01__block1__body*/
.Optional3-01__block1__body{
	width: 100%;
	overflow-x: scroll;
}
.Optional3-01__block1__image{
    width: 100%;
}
.Optional3-01__block1__image img{
	width: 100%;
}

/*-----Optional3-02__block1__body*/
.Optional3-02__block1__body{
	margin-bottom: 10.7rem;
	width: 100%;
	overflow-x: scroll;
}
.Optional3-02__table{
	width: 100%;
}

/**-------.Optional3-02__table*/
.Optional3-02__table{
	width: 100%;
	table-layout: fixed;
}
.Optional3-02__table tr{
	width: 100%;
}
.Optional3-02__table,
.Optional3-02__table th,
.Optional3-02__table td {
    box-sizing: border-box;
}
.Optional3-02__table tr + tr{
	border-top: 1px solid #707070;
}
.Optional3-02__table tr th + th,
.Optional3-02__table tr td{
	border-left: 1px solid #707070;
}
.Optional3-02__table tr:last-of-type{
	border-bottom: 1px solid #707070;
}
/*-------tr*/
tr.Optional3-02__table__head th,
tr.Optional3-02__table__cont th{
	background: #B0BAC4;
	font-size: 1.4rem;
	letter-spacing: .01em;
	line-height: calc(2 / 1.4);
	color: #fff;
    vertical-align: middle;
}
tr.Optional3-02__table__head th{
	padding: 1rem 2.3rem 1rem 2.3rem;
	text-align: center;
	position: relative;
}
tr.Optional3-02__table__cont th{
	padding: 2rem 2.3rem 2rem 2.3rem;
	text-align: left;
	position: relative;	
}
tr.Optional3-02__table__head th,
tr.Optional3-02__table__cont th{	
	width: 27.5rem;
}
tr.Optional3-02__table__head th:nth-of-type(2),
tr.Optional3-02__table__cont td{
	width: calc(100% - 27.5rem);
}
/*-------td*/
tr.Optional3-02__table__cont td{
	padding: 2.6rem 1.2rem;
	background: #fff;
	font-size: 1.4rem;
	letter-spacing: .01em;
	line-height: calc(2 / 1.4);
    vertical-align: middle;
}

/*-----Optional3__block2*/
.Optional3__block2{

}
.Tenken-D3__block2__Text{
	margin-bottom: 4rem;
}
.Tenken-D3__block2__list li{
	padding-left: 0;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){    
    
}
@media screen and (max-width:768px){
	.Optional3{
		padding-top: var(--padding-topbottom);
	}
	.Optional3__container:not(:last-of-type){
		margin-bottom: var(--padding-topbottom);
	}
	.Optional3__title{
		margin-bottom: 6rem;
		font-size: 4.2rem;
	}
	/*-----Optional3-01__block1__body*/
	.Optional3-01__block1__body{
		width: 100%;
		overflow-x: scroll;
	}
	.Optional3-01__block1__image{
		width: 110rem;
	}
	.Optional3-01__block1__image img{
	}

	/*-----Optional3-02__block1__body*/
	.Optional3-02__block1__body{
		margin-bottom: 10.7rem;
		width: 100%;
		overflow-x: scroll;
	}
	.Optional3-02__table{
		width: 100%;
	}

	.Optional3-02__table{
		width: 150rem;
	}
	.Optional3-02__title{
		margin-bottom: 7.5rem;
		font-size: 3.8rem;
	}
	.Optional3-02__text{
		margin-bottom: 4.5rem;
	}
	.Optional3-02__block{
		width: 100%;
  		overflow-x: auto;
	}
	/**-------.Optional3-02__table*/
	.Optional3-02__table{
  		white-space: nowrap;
		width: 160rem;
	}
	/*-------tr*/
	tr.Optional3-02__table__head th,
	tr.Optional3-02__table__cont th{
		font-size: 2.45rem;
	}
	tr.Optional3-02__table__head th{
		padding: 1.75rem 2.3rem 1.75rem 2.3rem;
	}
	tr.Optional3-02__table__cont th{
		padding: 3.5rem 2.3rem 3.5rem 2.3rem;
	}
	tr.Optional3-02__table__cont th .Optional3-02__table__No{
		width: 8rem;
		position: absolute;
		left: 3rem;
	}
	/*-------td*/
	tr.Optional3-02__table__cont td{
		padding: 1.5rem 1.2rem;
		font-size: 2.45rem;
	}	
	tr.Optional3-02__table__head th,
	tr.Optional3-02__table__cont th{	
		width: 27.5rem;
	}
	tr.Optional3-02__table__head th:nth-of-type(2),
	tr.Optional3-02__table__cont td{
		width: calc(100% - 27.5rem);
	}
}


/*-------------------------------
	Optional4
-------------------------------*/
.Optional4{
	padding-top: unset;
    border-top-left-radius: unset !important;
    border-top-right-radius: unset !important;
	margin-top: 0 !important;
}
.Optional4__inner{
	padding-top: 19.2rem;
	position: relative;
}
.Optional4__inner::before{
    width: calc(100% - (var(--padding-leftright) * 2));
    max-width: var(--maxwidth);
	height: 1px;
	background: var(--blackcolor);
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	display: block;
	content: "";
}
.Optional4__block{
	margin-bottom: 8rem;
}
/*-----Optional4__block2*/
.Optional4__block2 + .Optional4__block2{
	margin-top: 9.6rem;
}
.Optional4__block__title{	
    margin-bottom: 4.5rem;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: calc(4 / 2.4);
    letter-spacing: .05em;
    color: var(--blackcolor);
}
@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){    
    
}
@media screen and (max-width:768px){
	.Optional4{
	}
	.Optional4__inner{
		padding-top: var(--padding-topbottom);
	}
	.Optional4__inner::before{
		width: calc(100% - (var(--padding-leftright) * 2));
	}
	.Optional4__block{
		margin-bottom: 12rem;
	}
	.Optional4__block .Tenken-D1__block__body{
		margin-bottom: 5rem;
	}
	/*-----Optional4__block2*/
	.Optional4__block2 + .Optional4__block2{
		margin-top: 12rem;
	}
	.Optional4__block__title{	
		margin-bottom: 5.5rem;
		font-size: 3.6rem;
	}
}

