@charset "UTF-8";
@import "/include/css/common.pc.css";

/* ---------------------------------------------------------
	CSS Document visual
--------------------------------------------------------- */

#visual {
	background: #e3eef0 url(../images/visual_02.jpg) top;
}

#visual .container {
	height: 470px;
	overflow: hidden;
	text-align: left;
	line-height: 470px;
	position: relative;
}

#visual p {
	width: 580px;
	text-align: right;
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

#visual .section {
	display: inline-block;
	vertical-align: middle;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
	font-size: 28px;
	line-height: 1.6;
	color: #000;
	position: relative;
	z-index: 3;
}

#visual .title {
	margin-bottom: 40px;
}

#visual dl {
	margin-bottom: 40px;
	text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff, 0 0 5px #000;
	font-size: 36px;
	line-height: 1.1;
}

#visual dd {
	display: block;
	font-size: 60px;
	color: #ea0e17;
}

#visual .price {
	margin-right: 8px;
	font-size: 96px;
}

/* ---------------------------------------------------------
	CSS Document trouble
--------------------------------------------------------- */

#trouble {
	padding: 40px 0 90px;
	font-size: 0;
}

#trouble h2 {
	margin-bottom: 30px;
	font-weight: normal;
	font-size: 45px;
	line-height: 1;
	color: #000;
}

#trouble p {
	margin-bottom: 50px;
	font-size: 20px;
	line-height: 1.6;
}

#trouble dl {
	display: inline-block;
	vertical-align: top;
	width: 312px;
	font-size: 17px;
	line-height: 1.5;
}

#trouble dl.trouble_02 {
	margin: 0 70px;
}

#trouble dd {
	display: block;
	height: 40px;
	margin-top: 10px;
	border-radius: 40px;
	background: #11adc3;
	font-weight: bold;
	font-size: 17px;
	line-height: 42px;
	color: #fff;
}

/* ---------------------------------------------------------
	CSS Document flow
--------------------------------------------------------- */

#flow {
	margin-bottom: 100px;
	font-weight: bold;
	font-size: 0;
}

#flow h2 {
	height: 140px;
	margin-bottom: 60px;
	background: #11adc3;
	font-size: 60px;
	line-height: 140px;
	color: #fff;
	position: relative;
}

#flow h2:before {
	content: '';
	width: 0;
	height: 0;
	margin-left: -30px;
	border: solid 30px transparent;
	border-top: solid 30px #11adc3;
	position: absolute;
	left: 50%;
	bottom: -60px;
	z-index: 2;
}

#flow .desc {
	margin-bottom: 50px;
	font-weight: normal;
	font-size: 20px;
}

#flow .figure {
	margin-bottom: 50px;
	padding: 50px 40px 100px;
	background: #f5f5f5;
	text-align: justify;
	position: relative;
}

#flow .figure img {
	width: 801px;
	height: 269px;
}

#flow .figure .dl dl {
	width: 540px;
	position: absolute;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.6;
	left: 620px;
}

#flow .figure .dl .flow_01 {
	top: 94px;
}

#flow .figure .dl .flow_02 {
	top: 210px;
}

#flow .figure .dl .flow_03 {
	top: 330px;
}

#flow .figure .dl dt {
	display: none;
}

#flow li {
	display: inline-block;
	vertical-align: top;
	width: 216px;
	margin-right: 70px;
	font-size: 19px;
	position: relative;
}

#flow li:before {
	content: '';
	width: 30px;
	height: 21px;
	background: url(../images/flow_pc.png) top;
	position: absolute;
	top: 100px;
	right: -50px;
}

#flow li:last-child {
	margin-right: 0;
}

#flow li:last-child:before {
	display: none;
}

#flow li span {
	display: block;
	width: 202px;
	height: 202px;
	overflow: hidden;
	margin-bottom: 10px;
	border-radius: 202px;
	border: solid 1px #fff;
	box-shadow: 0 0 0 2px #11adc3;
	position: relative;
	z-index: 2;
}

#flow li img {
	max-width: 200%;
	height: 200px;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
}

#flow p {
	margin-top: 60px;
	padding: 40px;
	border: solid 5px #11adc3;
	font-size: 34px;
	line-height: 1.5;
	color: #000;
}

/* ---------------------------------------------------------
	CSS Document .h2
--------------------------------------------------------- */

.h2 {
	background: #11adc3 url(../images/h2_left.png) no-repeat left top;
}

.h2 span {
	display: block;
	height: 95px;
	background: url(../images/h2_right.png) no-repeat right top;
	font-size: 55px;
	line-height: 97px;
	color: #fff;
}

/* ---------------------------------------------------------
	CSS Document type
--------------------------------------------------------- */

#type {
	margin-top: 100px;
}

#type h2 {
	margin-bottom: 30px;
}

#type p {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 25px;
	line-height: 1.6;
}

#type .section {
	height: 270px;
	position: relative;
}

#type .section h3 {
	width: 100%;
	height: 40px;
	border-radius: 40px;
	background: #0064c2;
	font-size: 18px;
	line-height: 42px;
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}

#type .section.f_right h3 {
	background: #ff9900;
}

#type .section ul {
	width: 600px;
	height: 230px;
	margin: 0 20px;
	padding: 45px 40px;
	background: url(../images/type_05.png) top;
}

#type .section.f_right ul {
	width: 480px;
	background: url(../images/type_06.png) top;
}

#type .section li {
	display: inline-block;
	vertical-align: top;
	margin: 0 30px;
	font-weight: bold;
	font-size: 20px;
	line-height: 1;
}

#type .section li img {
	margin-bottom: 15px;
}

#type .section li span {
	font-weight: normal;
	font-size: 15px;
}

/* ---------------------------------------------------------
	CSS Document model
--------------------------------------------------------- */

#model {
	margin-top: 100px;
}

#model h2 {
	margin-bottom: 30px;
}

#model p {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 25px;
	line-height: 1.6;
}

#model .clearfix {
	margin: 0 100px;
}

#model .section {
	width: 467px;
}

#model h3 {
	height: 55px;
	margin-bottom: 10px;
	border-radius: 5px;
	background: #11adc3;
	font-size: 20px;
	line-height: 56px;
	color: #fff;
}

#model .section p {
	margin-bottom: 15px;
	text-align: left;
	font-weight: normal;
	font-size: 15px;
	line-height: 1.6;
}

#model .section dl {
	height: 49px;
	padding: 0 20px;
	border: solid 2px #000;
	font-weight: bold;
	font-size: 15px;
	line-height: 45px;
}

#model .section dt {
	float: left;
}

#model .section dl span {
	border-bottom: solid 2px #0064c2;
}

#model .section dl span:last-child {
	border-bottom: solid 2px #ea0e17;
}

#model .section dd {
	float: right;
}

/* ---------------------------------------------------------
	CSS Document price
--------------------------------------------------------- */

#price {
	margin-top: 100px;
}

#price h2 {
	margin-bottom: 30px;
}

#price .desc p {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 25px;
	line-height: 1.6;
}

#price .desc ul {
	display: inline-block;
	vertical-align: top;
	margin-bottom: 40px;
	text-align: left;
	font-weight: bold;
	font-size: 16px;
}

#price .section {
	margin-bottom: 60px;
	padding: 40px 80px 60px;
	background: #f5f5f5;
	position: relative;
}

#price .section h3 {
	width: 590px;
	height: 80px;
	padding-left: 80px;
	background: #4aba52 url(../images/price_h3.png) no-repeat right top;
	text-align: left;
	font-weight: bold;
	font-size: 36px;
	line-height: 84px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}

#price .price_02.section h3 {
	background-color: #3477d1;
}

#price .price_03.section h3 {
	background-color: #d18d34;
}

#price .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

#price .flex p {
	padding-top: 3em;
	text-align: left;
	font-weight: bold;
	font-size: 26px;
	letter-spacing: 0.05em;
	color: #143b7b;
}

#price .flex img {
	height: 234px;
}

#price .overflow {
	margin-bottom: 20px;
}

#price table {
	width: 100%;
	background: #fff;
}

#price th {
	width: 33.33333333333%;
	padding: 8px 0 7px;
	border: solid 1px #ccc;
	background: #505050;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	color: #fff;
}

#price td {
	width: 25%;
	padding: 8px 0 7px;
	border: solid 1px #ccc;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}

#price td:nth-child(1) {
	color: #fff;
}

#price .price_01 tr:nth-child(2) td:nth-child(1) {
	background: #59d363;
}

#price .price_01 tr:nth-child(3) td:nth-child(1) {
	background: #51c65b;
}

#price .price_01 tr:nth-child(4) td:nth-child(1) {
	background: #4aba52;
}

#price .price_01 tr:nth-child(5) td:nth-child(1) {
	background: #44ad4d;
}

#price .price_02 tr:nth-child(2) td:nth-child(1) {
	background: #4087eb;
}

#price .price_02 tr:nth-child(3) td:nth-child(1) {
	background: #3a7ddd;
}

#price .price_02 tr:nth-child(4) td:nth-child(1) {
	background: #3477d1;
}

#price .price_02 tr:nth-child(5) td:nth-child(1) {
	background: #2f6cc2;
}

#price .price_02 tr:nth-child(6) td:nth-child(1) {
	background: #2a65b7;
}

#price .price_02 tr:nth-child(7) td:nth-child(1) {
	background: #245dab;
}

#price .price_03 tr:nth-child(2) td:nth-child(1) {
	background: #eba340;
}

#price .price_03 tr:nth-child(3) td:nth-child(1) {
	background: #dd993a;
}

#price .price_03 tr:nth-child(4) td:nth-child(1) {
	background: #d18d34;
}

#price .price_03 tr:nth-child(5) td:nth-child(1) {
	background: #c2842f;
}

#price .section li {
	text-align: left;
	font-size: 16px;
}

#price .contact p {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 18px;
}

#price .contact li a {
	display: inline-block;
	vertical-align: top;
	width: 610px;
	height: 100px;
	margin-top: 20px;
	border-radius: 100px;
	background: #1e4580;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 25px;
	line-height: 102px;
	color: #fff;
	position: relative;
	cursor: pointer;
	transition: .4s;
}

#price .contact li a:after {
	content: '';
	width: 16px;
	height: 16px;
	margin-top: -11px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 40px;
}

#price .contact li a:hover {
	opacity: 0.6;
}

/* ---------------------------------------------------------
	CSS Document case
--------------------------------------------------------- */

#case {
	margin-top: 130px;
}

#case h2 {
	margin-bottom: 40px;
}

#case p {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 25px;
	line-height: 1.6;
}

#case .list ul {
	font-size: 0;
}

#case .list li {
	display: inline-block;
	vertical-align: top;
	width: 260px;
	margin-right: 20px;
	margin-bottom: 40px;
}

#case .list li:nth-child(4n) {
	margin-right: 0;
}

#case .find {
	height: 275px;
	background: #f5f5f5;
	text-align: left;
	position: relative;
}

#case .find img {
	width: 260px;
	height: 146px;
}

#case .find dt {
	width: 260px;
	height: 146px;
}

#case .find dd {
	padding: 20px;
	text-align: left;
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
	position: relative;
	z-index: 2;
}

#case .find:hover dd {
	width: 100%;
	margin-top: 0;
	height: 275px;
	padding-top: 30px;
	background: #fc50b6;
	position: absolute;
	top: 0;
	left: 0;
}

#case .find dd span:first-child {
	display: block;
	width: 110px;
	height: 20px;
	margin-bottom: 10px;
	background: #fc50b6;
	text-align: center;
	font-weight: bold;
	font-size: 13px;
	line-height: 21px;
	color: #fff;
}

#case .find:hover dd span:first-child {
	width: 100%;
	height: 22px;
	background: none;
	text-align: left;
	font-size: 20px;
}

#case .find dd a {
	display: block;
	text-decoration: none;
	font-weight: bold;
	font-size: 15px;
	color: #000;
}

#case .find:hover dd a {
	color: #fff;
}

#case .find dd span:last-child {
	display: none;
	margin-top: 10px;
}

#case .find:hover dd span:last-child {
	display: block;
}

#case .btn li a {
	display: inline-block;
	vertical-align: top;
	width: 610px;
	height: 100px;
	margin-top: 20px;
	border-radius: 100px;
	background: #0064c2;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 25px;
	line-height: 102px;
	color: #fff;
	position: relative;
}

#case .btn li a:before {
	content: '';
	width: 16px;
	height: 16px;
	margin-top: -11px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 40px;
}

#case .btn li a:hover {
	opacity: 0.8;
	filter: Alpha(opacity=80);
}

/* ---------------------------------------------------------
	CSS Document access
--------------------------------------------------------- */

#access {
	margin-top: 60px;
	padding: 60px 0;
	border-top: solid 1px #dadada;
	background: #fbfbfb;
}

#access h2 {
	margin-bottom: 40px;
	font-weight: bold;
	font-size: 48px;
	line-height: 1.2;
	color: #000;
}

#access .find {
	display: inline-block;
	vertical-align: top;
	width: 470px;
	height: 250px;
	padding-top: 90px;
	background: #b70000 url(../images/access_01.png) no-repeat top;
}

#access .find:last-child {
	margin-left: 100px;
	background: #008b2e url(../images/access_03.png) no-repeat top;
}

#access .find:hover {
	opacity: 0.8;
	filter: Alpha(opacity=80);
}

#access dt {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 30px;
	line-height: 1;
	color: #fff;
}

#access dd {
	margin-bottom: 20px;
	font-size: 20px;
	line-height: 1;
	color: #fff;
}

#access li a {
	display: inline-block;
	vertical-align: top;
	width: 240px;
	height: 42px;
	background: #fff;
	text-decoration: none;
	font-weight: bold;
	font-size: 17px;
	line-height: 44px;
	color: #b70000;
}

#access .find:last-child li a {
	color: #008b2e;
}

/* ---------------------------------------------------------
	CSS Document repeater
--------------------------------------------------------- */

#repeater {
	border-top: solid 1px #fff;
	background: #f2cf35;
	color: #1e4580;
}

#repeater .container {
	height: 420px;
	padding-top: 60px;
	background: url(../images/repeater_01.png) no-repeat right top;
	text-align: left;
}

#repeater .nth1 {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 48px;
	line-height: 1.5;
}

#repeater small {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.1;
	color: #333;
}

#repeater li a {
	display: inline-block;
	vertical-align: top;
	width: 610px;
	height: 100px;
	margin-top: 20px;
	border-radius: 100px;
	background: #1e4580;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
	font-size: 25px;
	line-height: 102px;
	color: #fff;
	position: relative;
}

#repeater li a:before {
	content: '';
	width: 16px;
	height: 16px;
	margin-top: -11px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 40px;
}

#repeater li a:hover {
	opacity: 0.8;
	filter: Alpha(opacity=80);
}

/* ---------------------------------------------------------
	CSS Document footer
--------------------------------------------------------- */

#footer {
	margin-top: 0;
}
