@charset "UTF-8";

@media screen and (max-width: 767px) {

.pc { display: none; }
.sp { display: block; }

/* header */
header {
	padding: 5px 0 0;
}

.logo_area .companyLogo {
	padding-right: 56px;
}


/* sp hmenu start */

.openbtn02 {
	display: block;
	position: fixed;
	z-index: 9999;
	top: 0px;
	right: 0px;
	cursor: pointer;
	width: 50px;
	height:50px;
	background-color: #fcc800;
}
	
/*×に変化*/	
.openbtn02 span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
	background-color: #fff;
		width: 45%;
	}

.openbtn02 span:nth-of-type(1) {
	top:15px;	
}

.openbtn02 span:nth-of-type(2) {
	top:23px;
}

.openbtn02 span:nth-of-type(3) {
	top:31px;
}

.openbtn02.active span:nth-of-type(1) {
	top: 18px;
	left: 18px;
	transform: translateY(6px) rotate(-45deg);
	width: 30%;
}

.openbtn02.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn02.active span:nth-of-type(3){
	top: 30px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
}

#h-nav{
	background:#fcc800;
	border-bottom: none;
}

#h-nav.m_fixed{
	top:-120%;
}


/*アクティブクラスがついたら位置を0に*/
#h-nav.panelactive{
	top: 0 !important;
}

/*ナビゲーションの縦スクロール*/
/* #h-nav.panelactive #h-nav-list{
	position: fixed;
	z-index: 999; 
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	background:#6fafdd;
} */

/*ナビゲーション*/
#h-nav ul {
	margin: 50px auto 0;
	display: block;
	font-size: 1.0rem;
	color: #fff;
	border-top: 1px solid;
}

#h-nav ul li {
	width: 100%;
}

#h-nav ul li a {
	height: auto;
	padding: 15px 0;
	font-size: 1.0rem;
	color: #fff;
	font-weight: bold;
	border-bottom: 1px solid;	
}

#h-nav ul li a::after {
	display: none;
}

/* sp hmenu end */

.section01 {
	background-size: 260% auto;
}

.content01 {
	padding-top: 14%;
}

.content01>h2 {
	width: 83%;
}

.content01>p {
	width: 60%;
	margin-top: -3.7%;
	margin-left: 38%;
	margin-bottom: 4.5%;
}

.main_slider {
	padding-bottom: 50px;
}

.main_slider li {
	width: 240px;
	margin: 0 10px;
}

.btn_area {
	padding: 10px 15px;
}

.btn_area p.txt {
	font-size: 1.0rem;
	padding: 0 10px;
	margin-bottom: 10px;
}

.btn_area p.txt::before,
.btn_area p.txt::after {
	width: 2px;
}

.btn_area p.btn a {
	font-size: 0.875rem;
	height: 50px;
	background-position: right 12px center,0% 0%,50% 0%,100% 0%;
	background-size: 27px auto,44% 100%,13% 100%,44% 100%;
	border-radius: 5px !important;	
	/* box-shadow: 0 4px 0 #d93d00; */
}

.btn_area p.btn a span {
	font-size: 1.25rem;
}

.section02 {
	padding: 70px 0 0;
}

.section02 h2 {
	margin: 0 auto 30px;
}

.content02_t {
	padding: 25px 0 120px;
}

.content02_t li {
	margin-bottom: 15px;
}

.content02_t li h3 {
	height: 50px;
	font-size: 1.5rem;
	border: 3px solid #004267;
	border-radius: 25px;
}

.content02_t li h3 span {
	padding-left: 35px;
	background-size: 32px auto;
}

.content02_t li p {
	margin-top: -25px;
	padding: 35px 15px 15px;
	font-size: 1.125rem;
	border-radius: 10px;
}

.content02_b {
	margin-top: -100px;
	padding-top: 50px;
	border-top-left-radius: 50% 100px;
	border-top-right-radius: 50% 100px;
}

.content02_b dl dt {
	font-size: 1.125rem;
	padding: 7px;
}

.content02_b dl dd {
	font-size: 1.0rem;
	padding: 15px 7px;
}

.content02_b div {
	margin: 10px auto 0;
	font-size: 0.75rem;
}

.section03 {
	padding: 70px 0 0;
}

.content03 {
	padding: 30px 0 120px;
}

.content03>ul>li {
	margin-bottom: 30px;
}

.content03>ul>li h3 {
	height: 50px;
	font-size: 1.5rem;
	border: 3px solid #004267;
	border-radius: 25px;
}

.content03>ul>li h3 span {
	padding-left: 35px;
	background-size: 32px auto;
}

.content03>ul>li div {
	margin-top: -25px;
	padding: 40px 20px 0;
	font-size: 1.125rem;
	border-radius: 10px;
}

.content03>ul>li div p {
	width: 100%;
}

.content03>ul>li ul li {
	box-sizing: border-box;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	padding: 35px 0 35px 35px;
	border-bottom: 3px dotted #004267;
	background-position: left 35px;
	background-size: 22px auto;
}

.content03>ul>li ul li span::after {
	bottom: 3px;
	height: 6px;
}

.section04 {
	margin-top: -100px;
	padding-top: 75px;
	padding-bottom: 40px;
	border-top-left-radius: 50% 100px;
	border-top-right-radius: 50% 100px;
}

.section04 h2 {
	font-size: 1.5rem;
	padding-bottom: 2px;
	margin-bottom: 30px;
	border-bottom: 3px dotted;
	letter-spacing: 1px;
}

.content04>p {
	width: 100%;
	margin: 0 auto 30px;
}

.content04>p a {
	font-size: 1.125rem;
	height: 50px;
	background-position: right 12px center,0% 0%,50% 0%,100% 0%;
	background-size: 27px auto,44% 100%,13% 100%,44% 100%;
	border-radius: 5px !important;
}

.content04 ul li {
	padding-bottom: 25px;
	margin-bottom: 40px;
	border-bottom: 1px solid #02649b;
}

.content04 ul li::after {
	bottom: -12px;
	height: calc( 32px / 2.666 );
	width: 32px;
}

.content04 ul li p:nth-of-type(1) {
	width: 60px;
	height: 60px;
	margin: 0 auto 20px;
	border-radius: 30px;
	font-size: 0.75rem;
}

.content04 ul li p:nth-of-type(1) span {
	font-size: 1.125rem;
}

.content04 h3 {
	font-size: 1.0rem;
	margin-bottom: 20px;
}

.content04 ul li p:nth-of-type(2) {
	font-size: 0.875rem;
}

.section05 {
	padding: 75px 0;
}

.section05 h2 {
	font-size: 1.5rem;
	padding-bottom: 2px;
	margin-bottom: 10px;
	border-bottom: 3px dotted #a7a6a1;
	letter-spacing: 1px;
}

.content05 dl {
	font-size: 0.75rem;
	line-height: 2.0;
}

.content05 dl dt {
	padding: 24px 15px 20px 30px;
	background-position: left 23px;
	background-size: 21px auto;
	border-top: 1px solid #02649b;
}

.content05 dl dt.open {
	padding: 24px 15px 6px 30px;
}
  
.content05 dl dt::before,
.content05 dl dt::after {
	height: 3px;
	width: 15px;
}
  
.content05 dl dd {
	padding: 3px 0 20px 30px;
	background-position: left 3px;
	background-size: 21px auto;
}

.section06 {
	padding: 75px 0 45px;
}

.section06 h2 {
	font-size: 1.5rem;
	padding-bottom: 2px;
	margin-bottom: 30px;
	border-bottom: 3px dotted;
	letter-spacing: 1px;
}

.content06 ul li {
	margin-bottom: 30px;
}

.content06 ul li>div {
	padding: 10px 20px;
	font-size: 0.75rem;
	border-radius: 10px;

}

.simulation {
	padding: 50px 0;
}

.simulation h2 {
	font-size: 1.5rem;
	margin-bottom: 10px;
	/* border-bottom: 3px dotted; */
	letter-spacing: 1px;
}

.form_area>p {
	font-size: 1.25rem;
	margin-bottom: 20px;
}

.err_area {
	padding: 10px;
	margin-bottom: 15px;
}

.form_area dl {
	margin-bottom: 30px;
	display: block;
}

.form_area dl dt {
	display: block;
	padding: 10px 7px;
	width: 100%;
}

.form_area dl dd {
	padding: 10px 7px;
	width: 100%;
	border-left: 1px solid #000;
}

.form_area dl dd p.w01 {
	width: 2.0em;
	text-align: center;
}

.btn_area02 {
	display: block;
	width: 100%;
	margin: 0 auto;
}

.btn_area02 p {
	width: 90%;
	max-width: 500px;
	margin: 0 auto 10px;
}

.contact_btn {
	font-size: 1.125rem;
	height: 50px;
	background-position: right 10px center,0% 0%,50% 0%,100% 0%;
	background-size: 20px auto,44% 100%,13% 100%,44% 100%;
	border-radius: 5px !important;
}

.footer_copy {
	padding: 15px 0;
	font-size: 0.75rem;
}

}

@media screen and (max-width: 380px) {

.content02_t li h3 {
	font-size: 6.3vw;
}

.content02_t li p {
	font-size: 4.7vw;
}

.content03>ul>li h3 {
	font-size: 6.3vw;
}

.content03>ul>li div {
	font-size: 4.7vw;
}

}