@charset "utf-8";

/*========*/
/* header */
/*========*/

header {
	position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    padding: 12px 16px;
    background-color: #FFF;
    overflow: hidden;
    z-index: 100;
}

header .h-logo {
	float: left;
}

header .link {
	float: right;
	padding: 4px 0;
}	

@media screen and (max-width: 1023px) {

header .link {
	text-align: right;
} 

header .h-logo img,
header .link img {
	width: 80%;
}
}


@media screen and (max-width: 767px) {

header .h-logo img,
header .link img {
	width: 96%;
}

header .h-logo {
    width: 48%;
}

header .link {
	width: 40%;
}

header .link a {
	width: 160px
}

}


/*========*/
/* footer */
/*========*/


.ptop {
	position: fixed;
	right: 72px;
	bottom: 32px;
	z-index: 10;
}

footer {	
	position: relative;
    height: 120px;
    padding: 48px 16px;
    background-color: #F2F2F2;
    font-size: 18px;
    border-top: solid 2px #B8B8B8;
}

footer .contents {
	max-width: 1200px;
    margin: 0 auto;
}

footer a:hover {
	text-decoration: none;
	color: #999;
}

footer .privacy-policy {
	float: left;
	text-decoration: underline;
}

footer .isms-wrap {
	position: absolute;
	top: 16px;
	left: 27%;
}

footer .isms-wrap .isms-list {
	display: flex;
    justify-content: flex-start;
}

footer .isms-wrap .isms-list li {
	max-width: 64px;
	margin-left: 4px;
}

footer .copy {
	float: right;
	color: #999;
	font-size: 12px;
	line-height: 1;
}


@media screen and (max-width: 767px) {

.ptop {
    max-width: 56px;
	bottom: 88px;
	right: 8px;
}

footer {
	height: 104px;
	font-size: 12px;
	padding: 16px;
	border-top: solid 1px #B8B8B8;
}


footer .privacy-policy {
	clear: both;
	font-size: 12px;
}

footer .isms-wrap {
	position: absolute;
	top: 12px;
    right: 12%;
	left: auto;
}

footer .isms-wrap .isms-list {
	display: flex;
    justify-content: flex-start;
}

footer .isms-wrap .isms-list li {
	max-width: 44px;
	margin-left: 8px;
}

footer .copy {
	clear: both;
    text-align: center;
	margin: 48px auto 0;
}

}


/*======*/
/* 共通 */
/*======*/

/* PC/SP出し分け
------------------------------ */
@media screen and (min-width: 768px) {
.sp {
	display: none !important;
}
}

@media screen and (max-width: 767px) {
.pc {
	display: none !important;
}

}

section .contents {
	max-width: 1232px;
	padding: 0 16px;
	margin: 0 auto;
}

section .contents p:not(:last-child),
section .contents ul:not(:last-child),
section .contents ol:not(:last-child) {
	margin-bottom: 1em;
}

.heading01 {
	padding: 88px 0 60px;
	font-family: 'Shippori Mincho B1', serif;
	font-size: 48px;
	font-weight: bold;
	color: #0B1F43;
	text-align: center;
	line-height: 1.2;
}

.heading01 span {
	font-size: 48px;
	color: #0E6DC7;
}

.heading01::after {
	content: '';
	display: block;
	width: 160px;
	height: 1px;
	margin: 16px auto 0;
	background-color: #0E6DC7;
}

.note {
	font-size: 24px;
	text-align: center;

}

section .consultation-btn {
	text-align: center;
    margin: 120px auto 0;
}

@media screen and (max-width: 767px) {

.heading01 {
	padding: 32px 0 16px;
	font-size: 20px;
}

.heading01 span {
	font-size: 28px;
}

.heading01::after {
	width: 100px;
}

.note {
	font-size: 14px;
}

section .consultation-btn {
    margin: 48px auto 0;
	padding: 16px;
}

}



/*======*/
/* main */
/*======*/

.main {
	background: url(/images/main_bg01.jpg) no-repeat;
	background-size: auto 100%;
	background-position: top center;	
	position: relative;
}

.main h1 {
	padding: 8% 0 10%;;
    text-align: center;
}

.main .bn-link {
	position: absolute;
    bottom: 4%;
    left: 0;
    right: 0;
    text-align: center;
    margin: 0px 40px;
}

@media screen and (max-width: 767px) {
.main {
	background: url(/images/main_bg01_sp.jpg) no-repeat;
	background-size: auto 100%;
	background-position: top center;
	background-size: 100% auto;
}

.main h1 {
    padding: 24% 0;
}

.main .bn-link {
    bottom: 0;
}
}


/*=======*/
/* sec01 */
/*=======*/

.sec01 {
	padding: 120px 0 0px;
    margin-bottom: 80px;
}

.sec01 .bn-link {
	position: absolute;
    bottom: 0;
    text-align: center;
}


.sec01 .heading01 {
	padding-top: 32px;
}

.sec01 .box {
	padding: 32px 104px;
	background-color: #F2F2F2;
	overflow: hidden;
}

.sec01 .list-check {
	width: 50%;
	float: left;
	padding: 0 16px;
}

.sec01 .list-check li {
	padding-left: 3em;
	margin-bottom: 24px;
	background: url(/images/sec01_ic01.png) no-repeat;
	background-position: top 6px left;
	background-size: 40px auto;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 24px;
	line-height: 1.8;
	max-width: 424px;
}

.sec01 .list-check li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1023px) {
.sec01 .list-check li {
	padding-left: 48px;
	background-size: 32px auto;
	font-size: 20px;
}
}

@media screen and (max-width: 767px) {

.sec01 {
	margin-bottom: 16px;
	padding: 32px 0 24px;
}

.sec01 .btn-area {
    width: 88%;
    margin: 2% auto 0;
}

.sec01 .heading01 {
	padding-top: 24px;
}


.sec01 .box {
	padding: 48px;
}

.sec01 .list-check {
	width: 100%;
	float: none;
	padding: 0;
}

.sec01 .list-check li {
    background-size: 24px auto;
    font-size: 16px;
}

}


/*=======*/
/* sec02 */
/*=======*/

.sec02 {
	position: relative;
	padding: 72px 0 64px;
	background-color: #F2F2F2;
}

.sec02::before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-style: solid;
	border-width: 44px 177px 0 177px;
	border-color: #FFF transparent transparent transparent;
}

.sec02 .note {
    margin: 24px auto 64px;
}

.sec02 .col {
	width: 48%;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.2);
}

@media screen and (max-width: 767px) {

.sec02 {
	padding: 48px 0 40px;
}

.sec02::before {
	border-width: 32px 90px 0 90px;
}

.sec02 .col {
	width: 100%;
	float: none !important;
	max-width: 580px;
	margin: 0 auto 24px;
}

}

/*=======*/
/* sec03 */
/*=======*/

.sec03 .list-point {
	margin-bottom: 0 !important;
}

.sec03 .list-point li {
	display: table;
	width: 100%;
	margin-bottom: 8px;
	background-color: #F2F2F2;
	table-layout: fixed;
}

.sec03 .list-point li a {
	display: block;
}

.sec03 .list-point li a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.sec03 .list-point .num {
	display: table-cell;
	width: 104px;
	background-color: #0B1F43;
	font-family: 'Shippori Mincho B1', serif;
	font-size: 44px;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
}

.sec03 .list-point .txt {
	display: table-cell;
	padding: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	vertical-align: middle;
}

.sec03 .list-point .txt dt {
	margin-bottom: 16px;
	font-size: 32px;
	color: #0B1F43;
	font-weight: bold;
	line-height: 1.2;
}

.sec03 .list-point .txt dd {
	padding-left: 1em;
    text-indent: -1em;
}

.sec03 .list-point .img {
	display: table-cell;
	width: 28%;
	vertical-align: bottom;
}

.sec03 .plus {
	margin-bottom: 8px !important;
	text-align: center;
}

@media screen and (max-width: 767px) {

.sec03 .list-point li {
	display: block;
	max-width: 444px;
	margin: 0 auto 16px;
}

.sec03 .list-point .num {
	width: 100%;
	display: block;
	margin-bottom: 0;
	font-size: 24px;
}

.sec03 .list-point .txt {
	display: block;
	padding: 16px;
	font-size: 12px;
}

.sec03 .list-point .txt dt {
	margin-bottom: 8px;
	font-size: 16px;
}

.sec03 .list-point .img {
	display: block;
	width: 100%;
}

.sec03 .plus img {
	width: 32px;
}

}


/*=======*/
/* sec04 */
/*=======*/

.sec04 .data-case dt {
	margin-bottom: 16px;
	font-size: 32px;
	line-height: 1.3;
	font-weight: bold;
}

.sec04 .wrap {
	position: relative;
	max-width: 1920px;
	height: 360px;
	margin: 0 auto 24px;
	overflow: hidden;
}

.sec04 .wrap .inner-txt {
	position: relative;
	width: 480px;
	padding: 0 16px 16px;
	background-color: #FFF;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	z-index: 1;
}

.sec04 .wrap.type02 .inner-txt {
	margin-right: 0;
	margin-left: auto;
}

.sec04 .wrap .img {
	position: absolute;
	max-width: 1200px;
	top: 0;
	z-index: 0;
}

.sec04 .wrap.type01 .img {
	right: 0;
}

.sec04 .wrap.type02 .img {
	left: 0;
}

.sec04 .contents h3 {
	color: #0E6DC7;
    font-family: 'Shippori Mincho B1', serif;
    font-size: 28px;
    text-align: center;
    margin-bottom: 16px;
}

.sec04 .contents .flow-img {
	max-width: 960px;
	border: solid 2px #0E6DC7;
    border-radius: 10px;
	text-align: center;
    margin: 0 auto 120px;
}

.sec04 .contents .flow-img img {
	padding: 8px;
}


@media screen and (max-width: 1023px) {

.sec04 .wrap {
	height: auto;
	max-width: 800px;
	margin: 0 auto 40px;
}

.sec04 .wrap .inner-txt {
	position: relative;
	width: 100%;
	margin-top: 0;
	margin-bottom: 16px;
	padding: 0;
	background-color: #FFF;
	z-index: 1;
}

.sec04 .wrap.type02 .inner-txt {
	margin-right: 0;
	margin-left: 0;
}

.sec04 .wrap .img {
	position: static;
}

.sec04 .contents .flow-img {
	margin-bottom: 56px;
}
}


@media screen and (max-width: 767px) {

.sec04 .data-case dt {
	margin-bottom: 8px;
	font-size: 18px;
}

.sec04 .data-case dd {
	font-size: 14px;
}

.sec04 .wrap .inner-txt .data-case dd img{
	width: 50%;
}

.sec04 .box {
	padding: 2px;
}

.sec04 .box-inner {
	padding: 16px 8px;
}

.sec04 .contents h3 {
	font-size: 14px;
    margin-bottom: 8px;
}

.sec04 .contents .flow-img {
	border: solid 1px #0E6DC7;
    border-radius: 8px;
}

}


/*=======*/
/* sec05 */
/*=======*/
.sec05 {
	padding-bottom: 40px;
	background: #E5F6FB;
}

.sec05 .box {
	display: table;
	width: 100%;
	margin-bottom: 32px;
	background-color: #FFF;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.2);
	table-layout: fixed;
}

.sec05 .box .img {
	display: table-cell;
	width: 40.5%;
	vertical-align: top;
}

.sec05 .box .txt {
	display: table-cell;
	padding: 40px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	vertical-align: middle;
}

.sec05 .box .txt h3 {
	margin-bottom: 16px;
	font-size: 32px;
	line-height: 1.2;
	font-weight: bold;
}


@media screen and (max-width: 767px) {

.sec05 .box {
	display: block;
	max-width: 486px;
	margin: 0 auto 24px;
}

.sec05 .box .img {
	display: block;
    width: 64%;
    margin: 0 auto;
    text-align: center;
    padding-top: 16px;
}

.sec05 .box .txt {
	display: block;
	width: 100%;
	padding: 16px;
	font-size: 14px;
}

.sec05 .box .txt h3 {
	font-size: 16px;
}

.sec05 .box .txt p {
	font-size: 12px;
}

}


/*=======*/
/* sec06 */
/*=======*/

.sec06 {
	margin-bottom: 80px;
}

.sec06 .box {
	margin-bottom: 16px;
	padding: 16px;
	background-color: rgba(255,255,255,.8);
}

.sec06 .box .img {
	margin-top: 64px;
}

.sec06 .col3 {
	font-size: 0;
	text-align: center;
}

@media screen and (max-width: 767px) {

.sec06 {
	margin-bottom: 40px;
	padding-bottom: 0;
}

.sec06 .box {
	margin-bottom: 16px;
	padding: 16px;
}

.sec06 .box p {
	font-size: 12px;
}

.sec06 .box .img {
	margin-top: 0;
}

}


/*=======*/
/* sec07 */
/*=======*/

.sec07 {
	padding-bottom: 80px;
	background: #E5F6FB;
}

.sec07 h3 {
	margin-bottom: 16px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: bold;
	text-align: left;
}

.sec07 .box {
	display: flex;
	justify-content: space-around;
}

.sec07 .box .txt {
	width: 50%;
	padding-right: 44px;
}

.sec07 .box .img {
	width: 50%;
}

@media screen and (max-width: 767px) {

.sec07 {
	padding-bottom: 40px;
}

.sec07 h3 {
    font-size: 16px;
}

.sec07 .box {
	display: block;
}

.sec07 .box .txt {
	width: 100%;
	padding-right: 0;
	font-size: 12px;
}

.sec07 .box .img {
	width: 100%;
	padding: 8px;
}

}



/*=======*/
/* sec08 */
/*=======*/
.sec08 .contents dt {
	background: url(/images/sec08_ic01.png) no-repeat;
    background-position: center left;
    background-size: 60px;
    line-height: 1.6;
	padding: 1rem 0 1rem 6rem;
	margin-bottom: 16px;

}

.sec08 .contents dd {
	background: url(/images/sec08_ic02.png) no-repeat;
    background-position: center left;
    background-size: 60px;
    line-height: 1.6;
	padding: 1rem 0 1rem 6rem;
	margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
.sec08 .contents dl {
	margin-top: 16px;
}

.sec08 .contents dt {
	background-position: top left;
	font-size: 12px;
	background-size: 32px;
    line-height: 1.6;
        padding: 0 0 1rem 3rem;
    margin-bottom: 8px;
}

.sec08 .contents dd {
	background-position: top left;
	font-size: 12px;
	background-size: 32px;
    line-height: 1.6;
        padding: 0 0 1rem 3rem;
    margin-bottom: 8px;
}
}
/*=======*/
/* sec09 */
/*=======*/
.sec09 {
	margin-bottom: 80px;
}

.sec09 .flow-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	margin: 120px auto 0;
}


.sec09 .flow-list .spacer {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}

.sec09 .flow-list li {
width: 28%;
margin: 0 2% 8%;
box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.2);
}

.sec09 .flow-box {
	max-width: 380px;
	background-color: #FFF;
	padding: 16px;
	min-height: 368px;
}

.sec09 .flow-list li .flow-box.first-row {
	min-height: 496px;
}

.sec09 .flow-box .ic {
	text-align: center;
    margin-top: -80px;
}

.sec09 .flow-box .ttl {
	text-align: center;
    font-size: 24px;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: bold;
    color: #0B1F43;
}

.sec09 .note {
	margin: -40px auto 80px;
}

.sec09 .consultation-btn {
	margin-top: 0;
}

@media screen and (max-width: 1200px) {
.sec09 .flow-list {
	align-items: stretch;
}

.sec09 .flow-list li .flow-box.first-row {
	min-height: 0;
}

.sec09 .flow-box .ic {
	width: 40%;
    margin: -30% auto 8%;
}

.sec09 .flow-box .ttl {
	font-size: 20px;
}

.sec09 .flow-box .txt {
	font-size: 16px;
}


}

@media screen and (max-width: 1023px) {
.sec09 .flow-list {
	display: block;
	margin: 16px auto 0;
    padding: 24px 24px 0;
}

.sec09 .flow-list li {
	width: 100%;
	max-width: 400px;
    margin: 0 auto;
}

.sec09 .flow-box,
.sec09 .flow-list li .flow-box.first-row{
	padding: 32px;
	min-height: auto;
	margin: 0 auto 40px;
}

.sec09 .flow-box:not(last-child) {
	margin: 0 auto 40px;
}

.sec09 .flow-box .ic {
	max-width: 80px;
	margin: -56px auto;
}

.sec09 .flow-box .ttl {
	font-size: 16px;
    padding-top: 72px;
}

.sec09 .note {
	margin: 0 auto 80px;
}

}

@media screen and (max-width: 767px) {
.sec09 {
	margin-bottom: 40px;
} 

.sec09 .flow-box .txt {
	font-size: 12px;
}
}
/*=============*/
/* sec-contact */
/*=============*/
.sec-contact {
	margin-top: 64px;
	padding-bottom: 80px;
	background: #F2F2F2;
	text-align: center;
}

.sec-contact .heading01 {
	padding: 88px 0 40px;
}

.sec-contact .heading01::after {
	content: none;
}

.sec-contact .corporate-overview li {
	line-height: 2;
}

.sec-contact .corporate-overview li span {
	font-weight: 100;
}

.sec-contact h3 {
	font-family: 'Shippori Mincho B1', serif;
	font-size: 24px;
	font-weight: bold;
}

.sec-contact .box {
	border: solid 2px #CCC;
    max-width: 840px;
    margin: 16px auto 80px;
    padding: 24px;
}

.sec-contact .box p{
	font-size: 24px;
	line-height: 1.2;
	font-weight: bold;
}

.sec-contact .box li {
	font-size: 24px;
	line-height: 1.2;
    padding-bottom: 1rem;
}
.sec-contact .box li span {
	font-weight: 100;
}

@media (min-width: 751px) {
.sec-contact .box li a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}
}

@media screen and (max-width: 767px) {
.sec-contact {
	margin-top: 32px;
	padding-bottom: 8px;
}

.sec-contact .heading01 {
	padding: 40px 0 16px;
}

.sec-contact .corporate-overview li {
	font-size: 12px;
	line-height: 1.4;
}

.sec-contact h3 {
	font-size: 16px;
}

.sec-contact .box {
	padding: 4px;
	margin-bottom: 40px;
}

.sec-contact .box p {
	font-size: 16px;
	line-height: 1;
	padding-top: 4px;
}

.sec-contact .box li {
	font-size: 12px;
	line-height: 1;
}
}


/*======================*/
/*　　　sec-contact　　　*/
/* メールでのお問い合わせ */
/*======================*/
.sec-contact .inner {
	margin-top: 40px;
}

.sec-contact .inner form .table {
	width: 100%;
}

.sec-contact .inner form .table th {
	width: 30%;
	font-size: 20px;
	text-align: left;
	padding-bottom: 20px;
}

.sec-contact .inner form .table th .any,
.sec-contact .inner form .table th .required {
	display: block;
	float: right;
    padding: 0 8px;
    border: 1px solid #666;
    border-radius: 2px;
    font-size: 14px;
    margin-right: 24px;
	line-height: 1.4;
}

.sec-contact .inner form .table th .required {
	border: 1px solid #FF0000;
	color: #FF0000;
}

.sec-contact .inner form .table td {
	width: 70%;
	padding-bottom: 20px;
}

.sec-contact .inner form .table td input,
.sec-contact .inner form .table td select,
.sec-contact .inner form .table td textarea {
	width: 100%;
	background-color: #FFF;
	border: solid 1px #FFF;
	padding: 12px;
}

.sec-contact .inner form .table .last-data {
	border-bottom: none;
}


/* .sec-contact .inner .privacy-box {
	height: 160px;
	margin: 0 0 24px;
	padding: 24px;
	overflow-y: scroll;
	border-radius: 8px;
	background-color: #FFF;
}
.sec-contact .inner .agree-bt {
	text-align: center;
} 
.sec-contact .inner .agree-bt label {
	display: inline-block;
	width: 100%;
	max-width: 264px;
	padding: 16px;
	border-radius: 8px;
	border: 1px solid #0A6FAC;
	font-size: 18px;
	line-height: 1;
	color: #000;
	background-color: #FFF;
	transition: 0.5s all;
}*/

/* .sec-contact .inner .select label {
	border: 2px solid #85E8E8;
} */

.sec-contact .inner .list-bt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 40px auto 80px;
}

.sec-contact .inner .list-bt.flex li {
	margin: 40px 40px 0;
}

.sec-contact .inner .list-bt .com-bt {
	border: none;
	cursor: pointer;
}

.sec-contact .inner .end-msg {
	text-align: center;
}

@media screen and (max-width: 1023px) {
.sec-contact .inner form .table th {
	font-size: 16px;
}
}


@media (max-width: 767px) {
.sec-contact .inner {
	margin-top: 24px;
}

.sec-contact .inner form .table {
	margin: 24px auto 0;
	padding-left: 16px;
	padding-right: 16px;
}


.sec-contact .inner form .table th {
	display: block;
	width: 100%;
	padding-bottom: 0;
	font-size: 14px;
}

.sec-contact .inner form .table th .any,
.sec-contact .inner form .table th .required {
	display: inline-block;
	float: none;
	margin: 0 0 4px 16px;
}

.sec-contact .inner form .table td {
	display: block;
	width: 100%;
}

.sec-contact .inner form .policy {
	font-size: 12px;
}

.sec-contact .inner .list-bt {
	display: block;
	/* width: 60%;
	max-width: 264px; */
	margin: 24px auto;
}
}


/*======================*/
/*　　　contact　　　*/
/* エラー、確認、完了 */
/*======================*/
.contact {
	margin-top: 100px;
}

.contact .sec-contact {
	margin-top: 0;
}

.contact .sec-contact .contents {
	padding-top: 80px;
}

.contact .sec-contact .inner form .table .error {
	display: block;
	color: #F00;
	text-align: left;
}

.contact .sec-contact .inner .list-bt li {
	margin: 0 12px;
}

.contact .sec-contact .inner .list-bt .btn02 .prev {
	display: block;
    width: 254px;
    height: 58px;
    padding: 20px 16px;
    background-color: #FE9423;
    border: 1px solid #FE9423;
    text-decoration: none;
    font-size: 18px;
	font-weight: bold;
    line-height: 1;
    color: #FFF;
    text-align: center;
    transition: 0.5s all;
}

.contact .sec-contact .inner .list-bt .btn02 a {
	display: block;
	color: #FFF;
    text-decoration: none;
}

.contact.confirm form .table td  {
    text-align: left;
}



@media (max-width: 767px) {
.contact .sec-contact .inner .list-bt .btn02 {
	margin: 0 auto 16px;
}
}