@charset "UTF-8";
body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #333333;
}
img {
  height: auto;
  max-width: 100%;
}


main {
	overflow: hidden;
}



.img {overflow: hidden;
white-space: nowrap;
text-indent: 999%;}


.flex {
  display: flex;
  justify-content: space-between; /* 左右両端揃え */
  align-items: center;  
}

.wrap {
	width: 1100px;
	margin: 0 auto;
	overflow: hidden;
}


header .wrap {
	max-width: 1400px;
	width: 94%;
}

header h1 {
	width: 300px;
}

header {
background:rgba(255,255,255,0.6);
padding: 20px;
position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 3;
}

header nav {
	width: 50%;
}


header ul {
	text-align: right;

}

header ul li {
	display: inline-block;
	margin-left: 4%;

}
header ul li a {
  display: block; /* 常に block にしておく */
  padding-bottom: 5px; /* 常に高さ確保 */
  border-bottom: 1px solid transparent; 
}


header ul li a:hover {
color: #1c3b81;
	border-bottom: 1px solid #1c3b81;
}

footer small {
	display: block;
	background: #77848b;
	color: white;
	text-align: center;
	padding: 25px;
}

footer div.area {
	background: url("../images/foot_bk.png") no-repeat;
	background-position: center;
	background-size: cover;
	padding:70px 0 25px;
}

footer article.wrap {
	background: white;
	padding: 60px;
	width: 1100px;
}

footer article.wrap dl {
	width:76%;

}

footer article.wrap dt {
	display: flex;
  align-items: flex-end;
	justify-content: left;
}

footer article.wrap dt span {
	font-size: 22px;
	display: inline-block;
	margin-left: 30px;
}

footer article.wrap dd {
	padding-top: 20px;
}


footer article.wrap div {

	width: 20%;
}
footer article.wrap div a {
	display: block;
	position: relative;
text-align: right;
}
footer article.wrap div a span.vec {
	position: absolute;
	top: 7px;
	left: 50px;
}
footer article.wrap div a:hover span.vec {
	left: 0;
	transition: 1s;
	left: 80px;
}



footer ul li {
	display: inline-block;
	margin-left: 4.5%;

}
footer ul li a {
  display: block; /* 常に block にしておく */
  padding-bottom: 5px; /* 常に高さ確保 */
  border-bottom: 1px solid transparent; 
}


footer ul li a:hover {
color: #1c3b81;
	border-bottom: 1px solid #1c3b81;
}

footer aside.wrap {
    margin-top: 15px;
}

footer aside ul {
    width: 1050px;
    margin-left: auto;
    padding: 20px 0 0;
    text-align: right;
    padding-left: 75px;
    background: url(../images/logo.png) no-repeat;
    background-position: left 80%;
    background-size:185px;
}

a.fix_btn {
	display: block;
	width: 130px;
	position: fixed;
	right: 3%;
	bottom: 7%;
	z-index: 3;
}
a.fix_btn:hover {
transition: transform 0.5s ease;
transform: scale(1.1);
	
}

#top .top_greet {
	background: url("../images/content1_bk.png") repeat-y;
	background-position: center bottom;
	background-size: 100%;
}

#top .top_greet .fv {
background: url("../images/fv_bk.png") no-repeat;
    background-size: 1900px auto;
    background-position: center;
    height: 997px;
}

#top .top_greet .fv .wrap {
	padding-top: 250px;
	width: 1400px;
}


#top .top_greet .fv h2 {
	height: 451px;
	background: url("../images/fv_txt.png") no-repeat;
	background-position: left center;
}

#top .about {
	padding: 10% 0;
}

h3.title {
	text-align: center;
}

h3.title span {
	display: inline-block;
	padding-top: 20px;
}
#top .about dl dt,#top .about dl dd {
	text-align: center;
}

dt.center_bar {
	text-align: center;
	padding: 3% 0;
}

#top .about dl dt {

}
#top .about dl dd {
	font-size: 22px;
	line-height: 50px;
}

#top .about dl {
	padding: 0% 0 6%;
}

#top .btn {
	text-align: center;
}
#top .btn a:hover img {
transition: transform 0.5s ease;
transform: scale(1.1);
	
}


#top .service {
	padding: 80px 0;
	background: url("../images/service_bk1.png") no-repeat,url("../images/service_bk2.png") no-repeat;
	background-position: right 80px,left 90%;
}

#top .service .shadow {
box-shadow: 0px 0px 15px -5px #777777;
	background: white;
	margin-bottom: 3%;
}

#top .service ul {
  display: flex;
  flex-wrap: wrap; /* 折り返し */
  margin: 0;
  padding: 0;
  list-style: none;
}
#top .service ul li {
  flex: 0 0 calc(100% / 3); /* 3等分 */
  box-sizing: border-box;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding:40px 20px;
  text-align: center;
}

#top .service ul li:nth-of-type(3n) {
	border-right: none;
}

#top .service ul li span {
	display: block;
	padding-top: 7%;
}

#top .philosophy {
	padding: 80px 0;
	background:#e4edf3;
}




#top .philosophy .sec {
	margin-bottom: 6%;
}

#top .philosophy .sec1 {
background: url("../images/philosophy_pic1.png") no-repeat;
	background-position: right center;
	background-size: auto 732px;
padding: 9rem 0;
}
#top .philosophy .sec2 {
background: url("../images/philosophy_pic2.png") no-repeat;
	background-position: left center;
	background-size: auto 732px;
padding: 9rem 0;
}
#top .philosophy .sec3 {
background: url("../images/philosophy_pic3.png") no-repeat;
	background-position: right center;
	background-size: auto 732px;
padding: 9rem 0;
}
#top .philosophy .sec4 {
background: url("../images/philosophy_pic4.png") no-repeat;
	background-position: left center;
	background-size: auto 732px;
padding: 9rem 0;
	margin-bottom: 0;
}








#top .philosophy .sec article {
  position: relative;

    overflow: visible;
  z-index: 2;
}
#top .philosophy .sec article::before {
  content: "";
  position: absolute;
  top: 0;
    left: -80%;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  z-index: -1;
}

#top .philosophy .sec_rev article::before {
display: none;
}
#top .philosophy .sec_rev article::after {
content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: -50%;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

/* 左側テキスト */
#top .philosophy .sec article div {
	width: 50%;
  background: #fff;
position: relative;
	padding:7rem 2rem;
}
/* 左側テキスト */
#top .philosophy .sec_rev article div {
margin-left: auto;
}






/* 白背景を斜めカットする */
#top .philosophy .sec article div::before {
  content: "";
  position: absolute;
  top: 0;
left: 0;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  z-index: -1;
}

#top .philosophy .sec_rev article div::before {
display: none;
}
#top .philosophy .sec_rev article div::after {
  content: "";
  position: absolute;
  top: 0;
left: -20%;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
  z-index: -1;
}



#top .philosophy h2 {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
}
#top .philosophy .num {
  color: #0056b3;
  font-weight: bold;
  margin-right: .5rem;
}
#top .philosophy p {
  line-height: 2.4;
  color: #333;
}


/* 下層 */

.common_title {
background: url("../images/common_title_bk.png") no-repeat;
    background-size: 1900px auto;
    background-position: center;
	height: 490px;
}

.common_title h2 {
	text-align: center;
	padding-top: 12%;
}

main.common {
	padding: 5% 0;
}



/* 特定商取引法 */
.commerce dl {
padding: 30px 0;
}

.commerce dl:nth-of-type(odd) {
	background: #f4f7f9;
}

.commerce dt,.commerce dd {
display: table-cell;
	line-height: 160%;
	vertical-align: middle;
}

.commerce dt {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	width: 280px;
}
.commerce dd {
padding-left: 20px;
}



/* 利用規約 */


.rules dt {
padding-left: 50px;
font-size: 22px;
font-weight: bold;
background: url("../images/bar_icon.png") no-repeat;
background-position: left center;
	margin-bottom: 2.5%;
}

.rules dd {
	line-height: 260%;
	padding-bottom: 3%;
	font-size: 15px;
	border-bottom: 1px solid;
	margin-bottom: 5%;
}

.rules dd ol {
list-style: initial;
  list-style-position: outside; /* デフォルトの外側に番号 */
list-style-type: lower-roman;
margin: 3% 0;
padding-left: 3%;
}
.rules dd:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}



/* プライバシーポリシー */
.policy ul {
background: #f4f7f9;
	padding: 50px;
	margin: 3% 0;
	list-style: disc;
}

.policy ul li {
	font-weight: bold;
	margin-bottom: 3%;
}
.policy ul li:last-of-type {
	margin-bottom: 0;
}
.policy p {
	line-height: 200%;
}


/* 会社概要 */

.common_title.about {
background: url("../images/common_title_bk.png") no-repeat #e7eef4;
    background-size: 1900px auto;
    background-position: center;
	height: 490px;
}
main.about dl.list {
padding: 30px 0;
}
main.about dl.list dt,
main.about dl.list dd {
display: table-cell;
	line-height: 160%;
	vertical-align: middle;
}

main.about dl.list dt {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	width: 280px;
}
main.about dl.list dd {
padding-left: 20px;
}


main.about dl.list:nth-of-type(odd) {
	background: white;
}

main.about dl.list:nth-of-type(2n) {
	background:#f4f7f9;
}
main.about aside {
	margin-top: 6%;
}
main.about aside iframe {
display: block;
	width: 100%;
	height: 500px;
}

main.common.about {
	padding-top: 0;
}

main.about .what {
	padding: 80px 0 0;
	background:#e7eef4;
position: relative;
    margin-bottom: 8%;
}
main.about .what .ab {
    position: absolute;
    top: 14%;
    width: 42vw;
	max-width: 760px;
    left: calc(50% - 45%);
    z-index: 2;
}



main.about .what .sec {
background: url("../images/about_what_bk.png") no-repeat;
	background-position: left bottom;
	background-size:100%;
padding: 9rem 0 20rem;
}


main.about .what .sec article {
  position: relative;

    overflow: visible;
  z-index: 2;
}
main.about .what .sec article::before {
  content: "";
  position: absolute;
  top: 0;
    left: -80%;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  z-index: -1;
}

main.about .what .sec_rev article::before {
display: none;
}
main.about .what .sec_rev article::after {
content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: -50%;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

/* 左側テキスト */
main.about .what .sec article div {
	width: 50%;
  background: #fff;
position: relative;
	padding:7rem 2rem;
}
/* 左側テキスト */
main.about .what .sec_rev article div {
margin-left: auto;
}


main.about .what .sec_rev article div h2 {
	padding-bottom: 5%;
}
main.about .what .sec_rev article div h2 img {

}


/* 白背景を斜めカットする */
main.about .what .sec article div::before {
  content: "";
  position: absolute;
  top: 0;
left: 0;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  z-index: -1;
}

main.about .what .sec_rev article div::before {
display: none;
}
main.about .what .sec_rev article div::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    right: 0;
    bottom: 0;
    width: 120%;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
    z-index: -1;
}
main.about .what .sec article div p {
	line-height: 240%;
}



/* 事業内容 */

main.service .sec1 {
	background: url("../images/service_sec1.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding: 5rem 0 6rem;
}
main.service .sec2 {
	background: url("../images/service_sec2.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 5rem 0 4rem;
}
main.service .sec3 {
	background: url("../images/service_sec3.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding: 5rem 0 6rem;
}
main.service .sec4 {
	background: url("../images/service_sec4.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 5rem 0 4rem;
}
main.service .sec5 {
	background: url("../images/service_sec5.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding: 5rem 0 6rem;
}
main.service .sec6 {
	background: url("../images/service_sec6.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 5rem 0 4rem;
}


main.service .wrap {
	width: 1400px;
}

main.service section dl {
width: 600px;
margin-left: 100px;
}

main.service section.rev .flex {
    justify-content: left;
}

main.service section.rev dl {
width: 600px;
}



main.service section dl dt {
font-size: 32px;
	font-weight: bold;
padding-left: 50px;
    background: url(../images/bar_icon.png) no-repeat;
    background-position: left center;
    margin-bottom: 4%;
}
main.service section dl dd {
	line-height: 240%;
}
main.service section dl dd ul {
	margin: 5% 0;
}
main.service section dl dd ul li {
	font-weight: bold;
	padding: 10px 0 10px 50px;
	background: url("../images/check_icon.png") no-repeat;
	background-position: left center;
	
}

main.contact p {
	padding: 4% 0;
	text-align: center;
}
section.contact button {
	border: none;
	background: none;
	cursor: pointer;
}

section.contact dl {
	margin: 3% 0;
	display: flex;

}

section.contact dt {
	width: 260px;
	padding-left: 40px;
	font-size: 1.05em;
	padding-top: 1.5%;
	font-weight: bold;
}
section.contact dd {
	width: 800px;
}
label a {
	text-decoration: underline;
}

section.contact dd input.f-16 {
	width: 100%;
	padding:1.5% 2%;
	border:none;
	background: #f4f7f9;
}

section.contact dd textarea {
	width: 100%;
	padding:1.5% 2%;
	border:none;
	background: #f4f7f9;
	min-height: 300px;
}


section.contact dl.radio div {
	margin: 1% 0;
}

section.contact dl.radio label {
	font-size: 1.3em;
	color: #0c0834;
	margin-left: 10px;
	font-weight: bold;

}
input[type="checkbox"] {
  appearance: auto;      /* 標準の見た目に戻す */
  -webkit-appearance: auto; /* Safari用 */
  -moz-appearance: auto;    /* Firefox用 */
}



@media (min-width: 1024px) {
.sp {
        display: none !important;
    }
}


@media (min-width: 768px) and (max-width: 1023px) {
.pc {
display: none !important;
}

img {
max-width: 100%;
height: auto !important;
}



/*ハンバーガーメニュー*/

.header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 5;
padding: 2% 0;
width: 100%;
background-color: white;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
}
.logo {
width: 20%;
}

/* ハンバーガーボタンのデザイン */
.drawer__button {
  position: relative;
  width: 3rem;
  height: 3rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
}
/* ハンバーガーボタン内の線 */
.drawer__button > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2px;
  background-color:#1369b3;
  transform: translateX(-50%);
}
.drawer__button > span:first-child {
  transform: translate(-50%, calc(-50% - 0.5rem));
  transition: transform 0.3s ease;
}
.drawer__button > span:nth-child(2) {
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
  transform: translate(-50%, calc(-50% + 0.5rem));
  transition: transform 0.3s ease;
}
/* 展開時のデザイン */
.drawer__button.active > span:first-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer__button.active > span:nth-child(2) {
  opacity: 0;
}
.drawer__button.active > span:last-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
/* メニューのデザイン */
.drawer__nav {
  position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.drawer__nav.active {
  opacity: 1;
  visibility: visible;
}
.drawer__nav__inner {
  position: relative;
  width:100%;
  height: 100%;
  background-color:#dbe5ec;
  padding: 4rem 1.5rem 1rem;
  margin: 0 0 0 auto;
  overflow: scroll;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.drawer__nav.active .drawer__nav__inner {
  transform: translateX(0);
}
.drawer__nav__menu {
  list-style: none;
  padding-left: 0;
padding-top: 15%;
	background: url("../images/logo.png") no-repeat;
background-position: center top;
	background-size: 25%;
}
.drawer__nav__link {
  display: block;
  color: black;
        text-align: center;
  text-decoration: none;
  padding: 3rem 1rem;
  border-bottom: solid 1px #194aa2;
}
.drawer__nav__link img {
width: 60%;
}

.drawer__nav__item:nth-of-type(3) .drawer__nav__link,
.drawer__nav__item:last-of-type .drawer__nav__link {
		border: none;
	}



/* ハンバーガーメニュー展開時、背景を固定 */
body.active {
  height: 100%;
  overflow: hidden;
}



.wrap {
	width: 92%;
	margin: 0 auto;
	overflow: hidden;
}


header .wrap {
	max-width: 1400px;
	width: 94%;
}


footer small {
	display: block;
	background: #77848b;
	color: white;
	text-align: center;
	padding: 25px;
}

footer div.area {
	background: url("../images/foot_bk.png") no-repeat;
	background-position: center;
	background-size: cover;
	padding:70px 0 25px;
}

footer article.wrap {
	background: white;
	padding:10% 5%;
	width:90%;
}

footer article.wrap dl {
	width:76%;

}

footer article.wrap dt {
	display: flex;
  align-items: flex-end;
	justify-content: left;
}

footer article.wrap dt span {
	font-size: 22px;
	display: inline-block;
	margin-left: 30px;
}

footer article.wrap dd {
	padding-top: 20px;
}


footer article.wrap div {

	width: 20%;
}
footer article.wrap div a {
	display: block;
	position: relative;
text-align: right;
}
footer article.wrap div a span.vec {
	position: absolute;
	top: 7px;
	left: 50px;
display: none;
}
footer article.wrap div a:hover span.vec {
	left: 0;
	transition: 1s;
	left: 80px;
}



footer ul li {
	display: inline-block;
	margin-left: 5%;

}
footer ul li a {
  display: block; /* 常に block にしておく */
  padding-bottom: 5px; /* 常に高さ確保 */
  border-bottom: 1px solid transparent; 
}


footer ul li a:hover {
color: #1c3b81;
	border-bottom: 1px solid #1c3b81;
}

footer aside.wrap {
    margin-top: 15px;
}

footer aside ul {
width:100%;
    margin-left: auto;
    padding: 50px 0 0;
    text-align: right;
    padding-left: 75px;
    background: url(../images/logo.png) no-repeat;
    background-position: left center;
}

a.fix_btn {
	display: none;
	width: 130px;
	position: fixed;
	right: 3%;
	bottom: 7%;
	z-index: 3;
}
a.fix_btn:hover {
transition: transform 0.5s ease;
transform: scale(1.1);
	
}

#top .top_greet {
	background: url("../images/content1_bk.png") repeat-y;
	background-position: center bottom;
background-size: cover;
}

#top .top_greet .fv {
background:none;
    height:auto;
}
#top .top_greet .fv img {
width: 100%;
}

#top .top_greet .fv .wrap {
padding-top: 250px;
width: 1400px;
}


#top .top_greet .fv h2 {
	height: 451px;
	background: url("../images/fv_txt.png") no-repeat;
	background-position: left center;
}

#top .about {
	padding:10% 0 10%;
}

h3.title {
	text-align: center;
    font-size: 24px;
}

h3.title span {
	display: inline-block;
	padding-top: 20px;
}
#top .about dl dt,#top .about dl dd {
	text-align: center;
}

dt.center_bar {
	text-align: center;
	padding: 3% 0;
height: 50px;
        overflow: hidden;
        padding: 0;
        margin: 6% auto;
}

#top .about dl dt {
	height: 50px;
	overflow: hidden;
	padding: 0;
	margin: 6% auto;
}
#top .about dl dd {
	font-size: 20px;
	line-height: 200%;
}

#top .about dl {
	padding: 0% 0 12%;
}

#top .btn {
	text-align: center;
}
	#top .btn img {
		width: 60%;
	}


#top .btn a:hover img {
transition: transform 0.5s ease;
transform: scale(1.1);
	
}


#top .service {
	padding: 80px 0;
	background: url("../images/service_bk1.png") no-repeat,url("../images/service_bk2.png") no-repeat;
	background-position: right 80px,left 90%;
        background-size: 45%;
}

#top .service .shadow {
box-shadow: 0px 0px 15px -5px #777777;
	background: white;
	margin-bottom: 3%;
}

#top .service ul {
  display: flex;
  flex-wrap: wrap; /* 折り返し */
  margin: 0;
  padding: 0;
  list-style: none;
}
#top .service ul li {
  flex: 0 0 calc(100% / 2); /* 3等分 */
  box-sizing: border-box;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding:20px 10px;
  text-align: center;
}

#top .service ul li:nth-of-type(3n) {
  border-right: 1px solid #ccc;
}
#top .service ul li:nth-of-type(2n) {
  border-right: none;
}


#top .service ul li span {
	display: block;
	padding-top: 7%;
}

	#top .service aside.btn {
		width: 92%;
		margin: 15% auto 0;
	}










#top .philosophy {
	padding:10% 0;
	background:#e4edf3;
}

	#top .philosophy .title {
        width: 40%;
		margin: 0 auto;
	}



#top .philosophy .sec {
	margin-bottom: 15%;
}

#top .philosophy .sec1 {
background: url("../images/philosophy_pic1.png") no-repeat;
	background-position: right center;
	background-size: auto 732px;
padding: 9rem 0;
}
#top .philosophy .sec2 {
background: url("../images/philosophy_pic2.png") no-repeat;
	background-position: left center;
	background-size: auto 732px;
padding: 9rem 0;
}
#top .philosophy .sec3 {
background: url("../images/philosophy_pic3.png") no-repeat;
	background-position: right center;
	background-size: auto 732px;
padding: 9rem 0;
}
#top .philosophy .sec4 {
background: url("../images/philosophy_pic4.png") no-repeat;
	background-position: left center;
	background-size: auto 732px;
padding: 9rem 0;
	margin-bottom: 0;
}




#top .philosophy .sec article {
  position: relative;

    overflow: visible;
  z-index: 2;
}
#top .philosophy .sec article::before {
  content: "";
  position: absolute;
  top: 0;
    left: -80%;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  z-index: -1;
}

#top .philosophy .sec_rev article::before {
display: none;
}
#top .philosophy .sec_rev article::after {
content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: -50%;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

/* 左側テキスト */
#top .philosophy .sec article div {
width: 60%;
background: #fff;
position: relative;
padding: 3rem 1rem;
}
/* 左側テキスト */
#top .philosophy .sec_rev article div {
margin-left: auto;
}






/* 白背景を斜めカットする */
#top .philosophy .sec article div::before {
  content: "";
  position: absolute;
  top: 0;
left: 0;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  z-index: -1;
}

#top .philosophy .sec_rev article div::before {
display: none;
}
#top .philosophy .sec_rev article div::after {
  content: "";
  position: absolute;
  top: 0;
left: -20%;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
  z-index: -1;
}



#top .philosophy h2 {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
}
#top .philosophy .num {
  color: #0056b3;
  font-weight: bold;
  margin-right: .5rem;
}
	#top .philosophy .num img {
		width: auto;
	}


#top .philosophy p {
  line-height: 2.4;
font-size: 18px;
  color: #333;
}


/* 下層 */

.common_title {
background:none;
	height: auto;
	position: relative;
}
	.common_title img {
		width: 100%;
	}

.common_title h2 {
	position: absolute;
	width: 70%;
	text-align: center;
top: auto;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 30%;
}

.common_title.rules h2 {
width: 50%;
}
.common_title.about h2 {
width: 50%;
}
.common_title.service h2 {
width: 50%;
}
main.common {
	padding: 10% 0;
}



/* 特定商取引法 */
.commerce dl {
padding: 30px 15px;
}

.commerce dl:nth-of-type(odd) {
	background: #f4f7f9;
}

.commerce dt,.commerce dd {
display: table-cell;
	line-height: 160%;
	vertical-align: middle;
}

.commerce dt {
text-align: center;
font-size: 20px;
font-weight: bold;
width: 140px;
}


.commerce dd {
padding-left: 20px;
font-size: 16px;
}



/* 利用規約 */


.rules dt {
font-size: 32px;
font-weight: bold;
padding-left: 10%;
background: url(../images/bar_icon.png) no-repeat;
background-position: left center;
background-size: 8%;
margin-bottom: 4%;
}

.rules dd {
line-height: 220%;
padding-bottom: 8%;
font-size: 16px;
border-bottom: 1px solid;
margin-bottom: 8%;
}

.rules dd ol {
list-style: initial;
  list-style-position: outside; /* デフォルトの外側に番号 */
list-style-type: lower-roman;
margin: 3% 0;
padding-left: 3%;
}
.rules dd:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}



/* プライバシーポリシー */
.policy ul {
background: #f4f7f9;
padding: 5% 5% 5% 10%;
margin: 10% 0;
	list-style: disc;
}

.policy ul li {
	font-weight: bold;
	margin-bottom: 6%;
	
}
.policy ul li:last-of-type {
	margin-bottom: 0;
}
.policy p {
	line-height: 200%;
}


/* 会社概要 */

.common_title.about {
background:#e7eef4;
	height:auto;
}
main.about dl.list {
padding: 30px 15px;

}
main.about dl.list dt,
main.about dl.list dd {
display: table-cell;
	line-height: 160%;
	vertical-align: middle;
}

main.about dl.list dt {
text-align: center;
        font-size: 20px;
        font-weight: bold;
        width: 140px;
}
main.about dl.list dd {
        padding-left: 20px;
        font-size: 16px;
}
	main.about h3.title {
	width: 80%;
		margin: 0 auto;
	}

main.about dl.list:nth-of-type(odd) {
	background: white;
}

main.about dl.list:nth-of-type(2n) {
	background:#f4f7f9;
}
main.about aside {
	margin-top: 6%;
}
main.about aside iframe {
display: block;
	width: 100%;
	height: 300px;
}

main.common.about {
	padding-top: 0;
}

main.about .what {
	padding: 80px 0 0;
	background:#e7eef4;
position: relative;
    margin-bottom: 14%;
}
main.about .what .ab {
position: absolute;
top: 42%;
width: 65%;
max-width: 760px;
left: -5%;
z-index: 2;
bottom: auto;
}



main.about .what .sec {
background: url("../images/about_what_bk_sp.png") no-repeat;
	background: none;
	background-position: left bottom;
	background-size:100%;
padding: 0rem;
}


main.about .what .sec article {
  position: relative;
        padding-bottom:15%;
    overflow: visible;
  z-index: 2;
}
main.about .what .sec article::before {
  content:none;
  position: absolute;
  top: 0;
    left: -80%;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  z-index: -1;
}

main.about .what .sec_rev article::before {
display: none;
}
main.about .what .sec_rev article::after {
  content:none;
    position: absolute;
    top: 0;
    left: auto;
    right: -50%;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

/* 左側テキスト */
main.about .what .sec article div {
        width: 100%;
        background: none;
        position: relative;
        padding: 0;
}
/* 左側テキスト */
main.about .what .sec_rev article div {
margin-left: auto;
}


main.about .what .sec_rev article div h2 {
        padding-bottom: 5%;
        width: 80%;
        margin: 0 auto;
}
main.about .what .sec_rev article div h2 img {

}


/* 白背景を斜めカットする */
main.about .what .sec article div::before {
  content:none;
  position: absolute;
  top: 0;
left: 0;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  z-index: -1;
}

main.about .what .sec_rev article div::before {
display: none;
}
main.about .what .sec_rev article div::after {
  content:none;
    position: absolute;
    top: 0;
    left: -60%;
    right: 0;
    bottom: 0;
    width: 120%;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
    z-index: -1;
}
main.about .what .sec article div p {
line-height: 240%;
text-align: center;
font-size:20px;
}



/* 事業内容 */

	main.service h3.title {
		width: 80%;
		margin: 0 auto;
			line-height: 200%;
	}




main.service .sec1 {
  background: url("../images/service_sec1_sp.png"), /* 背景画像 */
    linear-gradient(to right, rgba(213, 223, 231, 1), rgba(231, 239, 245, 1)) ;/* グラデーション */
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	padding: 3rem 0 5rem;
}
main.service .sec2 {
	background: url("../images/service_sec2_sp.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 0;
	padding: 3rem 0 5rem;
}
main.service .sec3 {
  background: url("../images/service_sec3_sp.png"), /* 背景画像 */
    linear-gradient(to right, rgba(213, 223, 231, 1), rgba(231, 239, 245, 1)) ;/* グラデーション */
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	padding: 3rem 0 5rem;
}
main.service .sec4 {
	background: url("../images/service_sec4_sp.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	margin: 0;
	padding: 3rem 0 5rem;
}
main.service .sec5 {
  background: url("../images/service_sec5_sp.png"), /* 背景画像 */
    linear-gradient(to right, rgba(213, 223, 231, 1), rgba(231, 239, 245, 1)) ;/* グラデーション */
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	padding: 3rem 0 5rem;
}
main.service .sec6 {
	background: url("../images/service_sec6_sp.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 5rem 0 0;
}


main.service .wrap {
width: 90%;
}

main.service section dl {
width:100%;
margin-left: 0px;
}

	main.service section .flex {
		display: block;
	}

main.service section.rev .flex {
    justify-content: left;
}

main.service section.rev dl {
width:100%;
}



main.service section dl dt {
font-size: 32px;
font-weight: bold;
padding-left: 10%;
background: url(../images/bar_icon.png) no-repeat;
background-position: left center;
background-size: 8%;
margin-bottom: 4%;
}
main.service section dl dd {
	line-height: 240%;
    font-size: 18px;
}
main.service section dl dd ul {
	margin: 5% 0;
}
main.service section dl dd ul li {
font-weight: bold;
padding: 13px 0 13px 8.5%;
background: url(../images/check_icon.png) no-repeat;
background-position: left center;
font-size: 18px;
line-height: 140%;

}

main.service section img {
width: 70%;
display: block;
margin: 5% auto;
margin: 5% auto;
}

main.common.service {
padding-bottom: 0;
}







}



/*SP_1024*/

@media (max-width: 767px) {
.pc {
display: none !important;
}

img {
max-width: 100%;
height: auto !important;
}



/*ハンバーガーメニュー*/

.header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 5;
padding: 2% 0;
width: 100%;
background-color: white;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1rem;
}
.logo {
width:45%;
}

/* ハンバーガーボタンのデザイン */
.drawer__button {
  position: relative;
  width: 3rem;
  height: 3rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
}
/* ハンバーガーボタン内の線 */
.drawer__button > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2px;
  background-color:#1369b3;
  transform: translateX(-50%);
}
.drawer__button > span:first-child {
  transform: translate(-50%, calc(-50% - 0.5rem));
  transition: transform 0.3s ease;
}
.drawer__button > span:nth-child(2) {
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
  transform: translate(-50%, calc(-50% + 0.5rem));
  transition: transform 0.3s ease;
}
/* 展開時のデザイン */
.drawer__button.active > span:first-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer__button.active > span:nth-child(2) {
  opacity: 0;
}
.drawer__button.active > span:last-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
/* メニューのデザイン */
.drawer__nav {
  position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.drawer__nav.active {
  opacity: 1;
  visibility: visible;
}
.drawer__nav__inner {
  position: relative;
  width:100%;
  height: 100%;
  background-color:#dbe5ec;
  padding: 4rem 1.5rem 1rem;
  margin: 0 0 0 auto;
  overflow: scroll;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.drawer__nav.active .drawer__nav__inner {
  transform: translateX(0);
}
.drawer__nav__menu {
list-style: none;
padding-left: 0;
padding-top: 13%;
background: url(../images/logo.png) no-repeat;
background-position: center top;
background-size: 75%;
}
.drawer__nav__link {
  display: block;
  color: black;
  text-decoration: none;
  padding: 2rem 1rem;
  border-bottom: solid 1px #194aa2;
}

.drawer__nav__item:nth-of-type(3) .drawer__nav__link,
.drawer__nav__item:last-of-type .drawer__nav__link {
		border: none;
	}



/* ハンバーガーメニュー展開時、背景を固定 */
body.active {
  height: 100%;
  overflow: hidden;
}



.wrap {
	width: 92%;
	margin: 0 auto;
	overflow: hidden;
}


header .wrap {
	max-width: 1400px;
	width: 94%;
}


footer small {
	display: block;
	background: #77848b;
	color: white;
	text-align: center;
	padding: 25px;
}

footer div.area {
	background: url("../images/foot_bk.png") no-repeat;
	background-position: center;
	background-size: cover;
	padding:25px 0 25px;
}

footer article.wrap {
background: white;
padding: 6% 5%;
width: 90%;
}

footer article.wrap dl {
	width:75%;
	padding-right: 5%;

}

footer article.wrap dt {
	display: flex;
  align-items: flex-end;
	justify-content: left;
}
	footer article.wrap dt img {
		width: 40%;
	}



footer article.wrap dt span {
	font-size: 16px;
	display: inline-block;
	margin-left: 30px;
}

footer article.wrap dd {
padding-top: 20px;
line-height: 160%;
font-size: 14px;
}


footer article.wrap div {

	width: 30%;
}
footer article.wrap div a {
	display: block;
	position: relative;
text-align: right;
}
footer article.wrap div a span.vec {
	position: absolute;
display: none;
	top: 7px;
	left: 50px;
}
footer article.wrap div a:hover span.vec {
	left: 0;
	transition: 1s;
	left: 80px;
}

	footer ul {
		display: flex;
	  flex-wrap: wrap;       /* 折り返しON */
  list-style: none;
  padding: 0;
  margin: 0;
	}


	
	footer ul li {
	margin: 0;
  flex: 0 0 25%;         /* 4つ並ぶように幅25% */
  text-align: center;
  padding: 5px;
}

/* 下の段を2つにするために指定 */
	footer ul li:nth-child(n+5) {
  flex: 0 0 50%;         /* 5番目以降は幅50% */
}
footer ul li a {
  display: block; /* 常に block にしておく */
  padding-bottom: 5px; /* 常に高さ確保 */
        font-size: 11px;
}


footer ul li a:hover {
color: #1c3b81;
	border-bottom: 1px solid #1c3b81;
}

footer aside.wrap {
    margin-top:10%;
}

footer aside ul {
width: 94%;
        margin: 0 auto;
        padding: 50px 0 0;
        text-align: center;
        padding-top: 12%;
        background: url(../images/logo.png) no-repeat;
        background-position: center top;
        background-size: 50%;
}

a.fix_btn {
	display: none;
	width: 130px;
	position: fixed;
	right: 3%;
	bottom: 7%;
	z-index: 3;
}
a.fix_btn:hover {
transition: transform 0.5s ease;
transform: scale(1.1);
	
}

#top .top_greet {
	background: url("../images/content1_bk.png") repeat-y;
	background-position: center bottom;
background-size: cover;
}

#top .top_greet .fv {
background:none;
    height:auto;
}

#top .top_greet .fv .wrap {
	padding-top: 250px;
	width: 1400px;
}


#top .top_greet .fv h2 {
	height: 451px;
	background: url("../images/fv_txt.png") no-repeat;
	background-position: left center;
}

#top .about {
	padding:25% 0 10%;
}

h3.title {
	text-align: center;
}

h3.title span {
	display: inline-block;
	padding-top: 20px;
}
#top .about dl dt,#top .about dl dd {
	text-align: center;
}

dt.center_bar {
	text-align: center;
	padding: 3% 0;
height: 50px;
        overflow: hidden;
        padding: 0;
        margin: 6% auto;
}

#top .about dl dt {
	height: 50px;
	overflow: hidden;
	padding: 0;
	margin: 6% auto;
}
#top .about dl dd {
	font-size: 16px;
	line-height: 200%;
}

#top .about dl {
	padding: 0% 0 12%;
}

#top .btn {
	text-align: center;
}
#top .btn a:hover img {
transition: transform 0.5s ease;
transform: scale(1.1);
	
}


#top .service {
	padding: 80px 0;
	background: url("../images/service_bk1.png") no-repeat,url("../images/service_bk2.png") no-repeat;
	background-position: right 80px,left 90%;
        background-size: 45%;
}

#top .service .shadow {
box-shadow: 0px 0px 15px -5px #777777;
	background: white;
	margin-bottom: 3%;
}

#top .service ul {
  display: flex;
  flex-wrap: wrap; /* 折り返し */
  margin: 0;
  padding: 0;
  list-style: none;
}
#top .service ul li {
  flex: 0 0 calc(100% / 2); /* 3等分 */
  box-sizing: border-box;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding:20px 10px;
  text-align: center;
}

#top .service ul li:nth-of-type(3n) {
  border-right: 1px solid #ccc;
}
#top .service ul li:nth-of-type(2n) {
  border-right: none;
}


#top .service ul li span {
	display: block;
	padding-top: 7%;
}

	#top .service aside.btn {
		width: 92%;
		margin: 15% auto 0;
	}










#top .philosophy {
	padding: 80px 0;
	background:#e4edf3;
}

	#top .philosophy .title {
		width: 60%;
		margin: 0 auto;
	}


#top .philosophy .sec {
	margin-bottom:15%;
}

#top .philosophy .sec1 {
background: url("../images/philosophy_pic1_sp.png") no-repeat;
	background-position: center top;
	background-size:100%;
padding: 15rem 0 0;
}
#top .philosophy .sec2 {
background: url("../images/philosophy_pic2_sp.png") no-repeat;
	background-position: center top;
	background-size:100%;
padding: 15rem 0 0;
}
#top .philosophy .sec3 {
background: url("../images/philosophy_pic3_sp.png") no-repeat;
	background-position: center top;
	background-size:100%;
padding: 15rem 0 0;
}
#top .philosophy .sec4 {
background: url("../images/philosophy_pic4_sp.png") no-repeat;
	background-position: center top;
	background-size:100%;
padding: 15rem 0 0;
	margin-bottom: 0;
}








#top .philosophy .sec article {
  position: relative;

    overflow: visible;
  z-index: 2;
}
#top .philosophy .sec article::before {
  content: "";
  position: absolute;
  top: 0;
    left: -80%;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  z-index: -1;
}

#top .philosophy .sec_rev article::before {
display: none;
}
#top .philosophy .sec_rev article::after {
content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: -50%;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

/* 左側テキスト */
#top .philosophy .sec article div {
	width:95%;
  background: #fff;
position: relative;
	padding: 2rem 0rem 2rem 1rem;
}
/* 左側テキスト */
#top .philosophy .sec_rev article div {
margin-left: auto;
}






/* 白背景を斜めカットする */
#top .philosophy .sec article div::before {
  content: "";
  position: absolute;
  top: 0;
left: 0;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  z-index: -1;
}

#top .philosophy .sec_rev article div::before {
display: none;
}
#top .philosophy .sec_rev article div::after {
  content: "";
  position: absolute;
  top: 0;
left: -20%;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
clip-path: polygon(0 0, 100% 0, 100% 100%, 15% 100%);
  z-index: -1;
}



#top .philosophy h2 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
#top .philosophy .num {
  color: #0056b3;

  font-weight: bold;
  margin-right: .5rem;
}
#top .philosophy .num img {
width: 70%;
}
#top .philosophy .sec2 .num img {
width: 80%;
}
#top .philosophy .sec4 .num img {
width: 90%;
}



#top .philosophy p {
  line-height: 1.8;
  color: #333;
}


/* 下層 */

.common_title {
background:none;
	height: auto;
	position: relative;
}

.common_title h2 {
	position: absolute;
	width: 80%;
	text-align: center;
top: auto;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 30%;
}

.common_title.rules h2 {
width: 50%;
}
.common_title.about h2 {
width: 50%;
}
.common_title.service h2 {
width: 50%;
}
main.common {
	padding: 15% 0;
}



/* 特定商取引法 */
.commerce dl {
padding: 30px 15px;
}

.commerce dl:nth-of-type(odd) {
	background: #f4f7f9;
}

.commerce dt,.commerce dd {
display: table-cell;
	line-height: 160%;
	vertical-align: middle;
}

.commerce dt {
text-align:left;
font-size: 14px;
font-weight: bold;
width:90px;
}
	




.commerce dd {
padding-left: 20px;
font-size: 13px;
}



/* 利用規約 */


.rules dt {
padding-left: 12%;
font-size: 18px;
font-weight: bold;
background: url(../images/bar_icon.png) no-repeat;
background-position: left center;
background-size: 8%;
margin-bottom: 2.5%;
}

.rules dd {
line-height: 220%;
padding-bottom: 8%;
font-size: 12px;
border-bottom: 1px solid;
margin-bottom: 8%;
}

.rules dd ol {
list-style: initial;
  list-style-position: outside; /* デフォルトの外側に番号 */
list-style-type: lower-roman;
margin: 3% 0;
padding-left: 3%;
}
.rules dd:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}



/* プライバシーポリシー */
.policy ul {
background: #f4f7f9;
padding: 5% 5% 5% 10%;
margin: 10% 0;
	list-style: disc;
}

.policy ul li {
	font-weight: bold;
	font-size: 12px;
	margin-bottom: 6%;
	
}
.policy ul li:last-of-type {
	margin-bottom: 0;
}
.policy p {
	line-height: 200%;
font-size: 14px;
}


/* 会社概要 */

.common_title.about {
background:#e7eef4;
	height:auto;
}
main.about dl.list {
padding: 30px 15px;

}
main.about dl.list dt,
main.about dl.list dd {
display: table-cell;
	line-height: 160%;
	vertical-align: middle;
}

main.about dl.list dt {
        text-align: left;
        font-size: 14px;
        font-weight: bold;
        width: 90px;
}
main.about dl.list dd {
        padding-left: 20px;
        font-size: 13px;
}
	main.about h3.title {
	width: 80%;
		margin: 0 auto;
	}

main.about dl.list:nth-of-type(odd) {
	background: white;
}

main.about dl.list:nth-of-type(2n) {
	background:#f4f7f9;
}
main.about aside {
	margin-top: 6%;
}
main.about aside iframe {
display: block;
	width: 100%;
	height: 300px;
}

main.common.about {
	padding-top: 0;
}

main.about .what {
	padding: 80px 0 0;
	background:#e7eef4;
position: relative;
    margin-bottom: 14%;
}
main.about .what .ab {
position: absolute;
top: 47%;
width: 70%;
max-width: 760px;
left: -10px;
z-index: 2;
bottom: auto;
}



main.about .what .sec {
background: url("../images/about_what_bk_sp.png") no-repeat;
	background: none;
	background-position: left bottom;
	background-size:100%;
padding: 0rem;
}


main.about .what .sec article {
  position: relative;
        padding-bottom:15%;
    overflow: visible;
  z-index: 2;
}
main.about .what .sec article::before {
  content:none;
  position: absolute;
  top: 0;
    left: -80%;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  z-index: -1;
}

main.about .what .sec_rev article::before {
display: none;
}
main.about .what .sec_rev article::after {
  content:none;
    position: absolute;
    top: 0;
    left: auto;
    right: -50%;
    bottom: 0;
    width: 100%;
    background: #fff;
    z-index: -1;
}

/* 左側テキスト */
main.about .what .sec article div {
        width: 100%;
        background: none;
        position: relative;
        padding: 0;
}
/* 左側テキスト */
main.about .what .sec_rev article div {
margin-left: auto;
}


main.about .what .sec_rev article div h2 {
        padding-bottom: 5%;
        width: 80%;
        margin: 0 auto;
}
main.about .what .sec_rev article div h2 img {

}


/* 白背景を斜めカットする */
main.about .what .sec article div::before {
  content:none;
  position: absolute;
  top: 0;
left: 0;
	right: 0;
bottom: 0;
  width: 120%; /* 少し広めに */
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  z-index: -1;
}

main.about .what .sec_rev article div::before {
display: none;
}
main.about .what .sec_rev article div::after {
  content:none;
    position: absolute;
    top: 0;
    left: -60%;
    right: 0;
    bottom: 0;
    width: 120%;
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
    z-index: -1;
}
main.about .what .sec article div p {
        line-height: 240%;
        text-align: center;
        font-size: 12px;
}



/* 事業内容 */

	main.service h3.title {
		width: 80%;
		margin: 0 auto;
			line-height: 200%;
	}




main.service .sec1 {
  background: url("../images/service_sec1_sp.png"), /* 背景画像 */
    linear-gradient(to right, rgba(213, 223, 231, 1), rgba(231, 239, 245, 1)) ;/* グラデーション */
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	padding: 3rem 0 5rem;
}
main.service .sec2 {
	background: url("../images/service_sec2_sp.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 0;
	padding: 3rem 0 5rem;
}
main.service .sec3 {
  background: url("../images/service_sec3_sp.png"), /* 背景画像 */
    linear-gradient(to right, rgba(213, 223, 231, 1), rgba(231, 239, 245, 1)) ;/* グラデーション */
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	padding: 3rem 0 5rem;
}
main.service .sec4 {
	background: url("../images/service_sec4_sp.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	margin: 0;
	padding: 3rem 0 5rem;
}
main.service .sec5 {
  background: url("../images/service_sec5_sp.png"), /* 背景画像 */
    linear-gradient(to right, rgba(213, 223, 231, 1), rgba(231, 239, 245, 1)) ;/* グラデーション */
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100%;
	padding: 3rem 0 5rem;
}
main.service .sec6 {
	background: url("../images/service_sec6_sp.png") no-repeat;
	background-position: center bottom;
	background-size: 1900px auto;
	background-size: 100%;
	padding-bottom: 1rem;
	margin: 5rem 0 0;
}


main.service .wrap {
width: 90%;
}

main.service section dl {
width:100%;
margin-left: 0px;
}

	main.service section .flex {
		display: block;
	}

main.service section.rev .flex {
    justify-content: left;
}

main.service section.rev dl {
width:100%;
}



main.service section dl dt {
font-size: 20px;
font-weight: bold;
padding-left: 10%;
background: url(../images/bar_icon.png) no-repeat;
background-position: left center;
background-size: 8%;
margin-bottom: 4%;
}
main.service section dl dd {
	line-height: 240%;
    font-size: 14px;
}
main.service section dl dd ul {
	margin: 5% 0;
}
main.service section dl dd ul li {
font-weight: bold;
padding: 10px 0 10px 8.5%;
background: url(../images/check_icon.png) no-repeat;
background-position: left center;
font-size: 12px;
line-height: 140%;
background-size: 7%;

}

main.service section img {
width: 70%;
display: block;
margin: 5% auto;
margin: 5% auto;
}

main.common.service {
padding-bottom: 0;
}

    .common_title.contact h2 {
        width: 70%;
    }


main.contact p {
	padding: 1% 0;
	text-align: center;
}
	main.contact p.greet {
		font-size: 0.8em;
	}


section.contact button {
	border: none;
	background: none;
	cursor: pointer;
}

section.contact dl {
	margin: 5% 0;
	display: flex;

}

section.contact dt {
	width: 260px;
	padding-left:0px;
	font-size: 1em;
	padding-top: 1.5%;
	font-weight: bold;
}
section.contact dd {
	width: 800px;
}
label a {
	text-decoration: underline;
}

section.contact dd input.f-16 {
	width: 100%;
	padding:3% 2%;
	border:none;
	background: #f4f7f9;
}

section.contact dd textarea {
	width: 100%;
	padding:3% 2%;
	border:none;
	background: #f4f7f9;
	min-height: 200px;
}


section.contact dl.radio div {
	margin: 1% 0;
}

section.contact dl.radio label {
	font-size: 1.3em;
	color: #0c0834;
	margin-left: 10px;
	font-weight: bold;

}

	div.send {
		margin-top: 3%;
	}



}

.contact .greet a {
	display:inline-block;
	text-decoration: underline;
	color:#1c3b81;
	margin-top: 6%;
}

p.error_messe {
	padding: 2% 0 !important;
}

.contact input.back {
	background:#77848b;
	color: white;
	padding: 10px;
	border-radius: 10px;
}
.contact input.go {
	background:#1c3b81;
	color:white;
	padding: 10px;
	border-radius: 10px;
}

.formTable {
	margin: 2% auto 0;
	width: 100%;
	max-width: 750px;
}
.formTable th,.formTable td {
	padding: 1%;
}

