@charset "utf-8";

@media screen and (max-width : 768px){

/* ----------------------------------------
	section_style
---------------------------------------- */

	#section_style {
		background-image: url(../img/bg.png);
	}
	#section_style h3 {
		width: calc(630 / 750 * 100vw);
	}

	#section_style h3+.link {
		padding: 50px 0;
	}
	#section_style h3+.link a {
		padding-bottom: 10px;
		border-bottom: 1px solid;
	}
	#section_style h3+.link a::after {
		right: 0;
		top: 0;
		width: 24px;
		height: 24px;
		margin-left: 10px;
		background-size: 100%;
		vertical-align: top;
		transform: rotateZ(90deg);
	}

	#section_style li>figure img {
		box-shadow: 8px 8px 15px rgba(0,0,0,.3);
	}

	#section_style .frontgrill>figure {
		width: calc(400 / 520 * 100%);
		margin: auto;
	}
	#section_style li>div figure {
		border: 4px solid #fff;
	}


/* ----------------------------------------
	section_simulation
---------------------------------------- */

	#section_simulation {
		position: relative;
		padding-top: 80px;
		border-top: 1px solid #dcdcdc;
	}
	#section_simulation a[name] {
		position: absolute;
		top: -87px;
	}
	#section_simulation h3 {
		text-align: center;
		font-family: var(--font-bold);
		font-size: 24px;
	}

	#section_simulation input {
		display: none;
	}

	#section_simulation .img {
		position: relative;
		margin: 20px 0;
	}
	#section_simulation .img img {
		opacity: 0;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 100%;
		transition: .5s;
		transition-property: opacity, z-index;
	}

	#simulation_input_equip_on:checked~#simulation_input_fr_front:checked~.img .front.on,
	#simulation_input_equip_off:checked~#simulation_input_fr_front:checked~.img .front.off,
	#simulation_input_equip_on:checked~#simulation_input_fr_rear:checked~.img .rear.on,
	#simulation_input_equip_off:checked~#simulation_input_fr_rear:checked~.img .rear.off {
		opacity: 1;
		position: relative;
		z-index: 2;
	}

	#section_simulation .control {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	#section_simulation .control label {
		display: inline-block;
		text-align: center;
		font-size: 14px;
		transition: .2s;
	}

	#section_simulation .control .equip label {
		box-sizing: border-box;
		width: 80px;
		border: 1px solid #dcdcdc;
		background: #f0f0f0;
		line-height: 35px;
	}

	#simulation_input_equip_on:checked~.control .equip .on,
	#simulation_input_equip_off:checked~.control .equip .off {
		border-color: #444;
		background: #444;
		color: #fff;
	}

	#section_simulation .control .fr {
		position: relative;
	}
	#section_simulation .control .fr label {
		visibility: hidden;
		opacity: 0;
		position: relative;
		z-index: 1;
		padding: 0 2px 10px 40px;
		border-bottom: 1px solid #0064a1;
		white-space: nowrap;
		transition: .2s;
		transition-property: visibility, opacity, z-index;
	}

	#section_simulation .control .fr .rear {
		position: absolute;
		left: 0;
		top: 0;
	}

	#simulation_input_fr_front:checked~.control .fr .rear,
	#simulation_input_fr_rear:checked~.control .fr .front {
		visibility: visible;
		opacity: 1;
		z-index: 2;
	}

	#section_simulation .control .fr label::before {
		content: '';
		position: absolute;
		left: 2px;
		top: 0;
		width: 28px;
		height: 100%;
		background: url(../img/icon_fr.png) 0 0 / 100% no-repeat;
	}
}