@charset "UTF-8";
/* 
------------------------------------------------------------------------------------------------------------------------
Set out
------------------------------------------------------------------------------------------------------------------------
*/
*,*::before,*::after {
  box-sizing: border-box;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, img, small, dl, dt, dd, ol, ul, li,
form, label, table, caption, tbody, tfoot, thead, tr, th, td,
article, canvas, figcaption, figure, footer, header,
nav, section, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
}
html, body {width:100%;}
html {
  font-size: 62.5%;
  overflow-x:hidden;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
	color: #000;
	height:100%;
	font-size:1.4rem;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
}
article,figcaption,figure,footer,header,nav,section { display:block;}
ul li {list-style-type:none;}
a {
    margin:0;
    padding:0;
    vertical-align:baseline;
    background:transparent;
	text-decoration:none;
	color:#000;
	transition:.3s;
}
a.textlink {
	color:#93278f;
	text-decoration:underline;
}
a.textlink:hover {
	text-decoration:none;
}
a img {transition:.3s;}
a:hover img {opacity:0.7;}
.fixLogo a:hover img {opacity:1;}
img {max-width:100%; height:auto;}
table {border-collapse:collapse; border-spacing:0;}
select {vertical-align:middle;}
p {margin:0 0 30px;}
p:last-child {margin:0;}

.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
.clear {clear:both;}

.align {text-align:center;}
.align_left {text-align:left;}
.align_right {text-align:right;}

.bold {font-weight:bold;}
.font_s {font-size:1.2rem;}
.mb10 { margin-bottom:10px;}
.mb20 { margin-bottom:20px;}
.mb30 { margin-bottom:30px !important;}
.mb40 { margin-bottom:40px;}
.mb50 { margin-bottom:50px !important;}
.mb60 { margin-bottom:60px;}
.mb70 { margin-bottom:70px;}
.mb80 { margin-bottom:80px;}
.mt30 { margin-top:30px;}
.mt50 { margin-top:50px;}

.in768 {display:none;}
.hide {display:none;}

@media screen and (max-width:768px){
.out768 {display:none;}
.in768 {display:block;}
br.in768 {display:inline-block;}
p {margin-bottom:20px;}
}
@media screen and (max-width:550px){
body {
	padding-top:47px;
}
.uncPad {
	padding-top:70px;
	margin-top:-70px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
共通レイアウト
------------------------------------------------------------------------------------------------------------------------
*/

.contentLeft {
	padding-right:120px;
}
@media screen and (max-width:768px){
.contentLeft {
	padding-right:80px;
}
}
@media screen and (max-width:550px){
.contentLeft {
	padding-right:0px;
}
}

.wrap {
	max-width:1360px;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}
.innerWrap {
	max-width:1120px;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}

.tableBox {
	display:table;
	width:100%;
	height:100%;
}
.tableBox .tableInner {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
}

#contact .inner .back p {
	display:inline-block;
	position:relative;
}
.defaultBtn a,#contact .inner button[type="submit"],#contact .inner .back input {
	display:inline-block;
	padding:12px 46px 12px 40px;
	position:relative;
	background: rgb(98,0,85);
	background: linear-gradient(90deg, rgba(98,0,85,1) 0%, rgba(158,0,93,1) 100%);
	color:#fff;
	text-align:center;
	font-size:1.6rem;
	border:none;
	min-width:223px;
	cursor:pointer;
	transition:.3s;
}
.defaultBtn a:after,#contact .inner button[type="submit"]:after,#contact .inner .back p:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:17px;
	width:10px;
	height:10px;
	border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	margin:auto 0;
}
#contact .inner .back button[type="submit"],#contact .inner .back p input {
	padding:12px 40px 12px 46px;
	background:#777;
}
#contact .inner .back button[type="submit"]:after,#contact .inner .back p:after {
	right:auto;
	left:17px;
	-webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
@media screen and (min-width:769px){
.defaultBtn a:hover,#contact .inner button[type="submit"]:hover {
	opacity:0.8;
}
}

.flexBox {
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}

.flexBox.tripleClum .box {
	width:29.62%;
	margin-right:5.57%;
}
.flexBox.tripleClum .box:nth-child(3n) {
	margin-right:0;
}

.flexBox.narabiClum .box {
	width:48.25%;
	margin-right:3.5%;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
.flexBox.narabiClum .box:nth-child(2n) {
	margin-right:0;
}
.flexBox.narabiClum .box .img {
	width:50.23%;
	margin-right:4.25%;
	line-height:0;
}
.flexBox.narabiClum .box.right .img {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	order:2;
	margin-right:0;
	margin-left:4.25%;
}
.flexBox.narabiClum .box .text {
	width:45.52%;
}

.flexBox.twoClum .box {
	width:47.12%;
	margin-right:5.76%;
}
.flexBox.twoClum .box:nth-child(2n) {
	margin-right:0;
}

.flexBox.w800 .img {
	line-height:0;
	width:54.05%;
}
.flexBox.w800.right .img {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	order:2;
	margin-right:0;
}
.flexBox.w800 .text {
	width:45.95%;
	padding:20px 6% 0 4%;
}
.flexBox.w800.right .text {
	padding:20px 4% 0 6%;
}
.flexBox.w800 .text .title {
	font-size:2.4rem;
	font-weight:bold;
	margin-bottom:35px;
}
@media screen and (max-width:768px){
.flexBox.narabiClum {
	display:block;
}
.flexBox.narabiClum .box {
	width:100%;
	margin-right:0;
}

.flexBox.w800 {
	display:block;
}
.flexBox.w800 .img,.flexBox.w800 .text {
	width:100%;
}
.flexBox.w800 .img,.flexBox.w800.right .img {
	margin:0 0 20px;
}
.flexBox.w800 .text,.flexBox.w800.right .text {
	padding:0 20px;
}
.flexBox.w800 .text .title {
    margin-bottom: 15px;
}

.flexBox.tripleClum .box,.flexBox.tripleClum .box:nth-child(3n) {
	width:48%;
	margin-right:4%;
}
.flexBox.tripleClum .box:nth-child(2n) {
	margin-right:0;
}
}
@media screen and (max-width:468px){
.flexBox.narabiClum .box {
	display:block;
}
.flexBox.narabiClum .box .img,.flexBox.narabiClum .box .text {
	width:100%;
}
.flexBox.narabiClum .box .img,.flexBox.narabiClum .box.right .img {
	margin:0 0 15px;
	text-align:center;
}

.flexBox.twoClum,.flexBox.tripleClum {
	display:block;
}
.flexBox.twoClum .box,.flexBox.tripleClum .box,.flexBox.tripleClum .box:nth-child(3n),.flexBox.tripleClum .box:nth-child(2n) {
	width:100%;
	margin:0;
}
}

.btnGroup li {
	display: inline-block;
	margin: 0 10px 10px 0;
}
.btnGroup li:last-child {
	margin: 0;
}

.defaultTeigi {
	border-top:1px solid #c0c0c0;
}
.defaultTeigi dt {
	float:left;
	clear:both;
	padding:14px;
	font-weight:bold;
	width:165px;
}
.defaultTeigi dd {
	padding:14px 14px 14px 165px;
	border-bottom:1px solid #c0c0c0;
}
@media screen and (max-width:468px){
.defaultTeigi dt {
	float:none;
	padding:14px 14px 7px;
}
.defaultTeigi dd {
	padding:0 14px 14px;
}
}

#topScroll {
	position:fixed;
	bottom:20px;
	right:140px;
	cursor:pointer;
	display:none;
	z-index:1000000;
}
#topScroll img {
	transition:.3s;
	cursor:pointer;
}
@media screen and (min-width:769px){
#topScroll:hover img {
	opacity:0.8;
	cursor:pointer;
}
}
@media screen and (max-width:768px){
#topScroll {
	right:90px;
}
}
@media screen and (max-width:550px){
#topScroll {
	right:20px;
}
}

.link a {
	display:inline-block;
	padding:0 0 0 17px;
	position:relative;
}
.link a:after {
	content:"";
	position:absolute;
	top:8px;
	left:0;
	width:8px;
	height:8px;
	border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (min-width:769px){
.link a:hover {
	text-decoration:underline;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
header
------------------------------------------------------------------------------------------------------------------------
*/
.fixLogo {
	position:fixed;
	top:0;
	left:0;
	z-index:10000000;
	line-height:0;
}

#header {
	width:120px;
	height:100vh;
	background:#fff;
	position:fixed;
	top:0;
	bottom:0;
	right:0;
	z-index:10000;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	border-left:1px solid #ccc;
}
#header nav {
	display:inline-block;
}
#header .tableInner {
	text-align:center;
}
#header .mainNav li {
	display:inline-block;
	margin-bottom:25px;
}
#header .mainNav li a {
	font-size:2.0rem;
}

.menuBtn {
	display:inline-block;
	margin-bottom:50px;
}
.menuBtn .humBtn {
  position: relative;
  width: 49	px;
  height: 16px;
  cursor: pointer;
}
.menuBtn .humBtn span {
  position: absolute;
  left: 0;
  right:0;
  width: 31px;
  height: 2px;
  background-color: #000;
  border-radius: 6px;
  margin:0 auto;
}
.menuBtn .humBtn, .menuBtn .humBtn span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.menuBtn .humBtn span:nth-of-type(1) {
  top: 0;
}
.menuBtn .humBtn span:nth-of-type(2) {
  top: 7px;
  width:49px;
}
.menuBtn .humBtn span:nth-of-type(3) {
  bottom: 0;
}
.menuBtn.active .humBtn span:nth-of-type(1) {
  -webkit-transform: translateY(7px) rotate(-45deg);
  transform: translateY(7px) rotate(-45deg);
}
.menuBtn.active .humBtn span:nth-of-type(2) {
  opacity: 0;
}
.menuBtn.active .humBtn span:nth-of-type(3) {
  -webkit-transform: translateY(-7px) rotate(45deg);
  transform: translateY(-7px) rotate(45deg);
}

.menuModal {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	text-align:right;
	display:none;
	z-index:100;
}
.menuBack {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:12;
	background:rgba(255,255,255,0.95);
}
.menuContent {
	width:100%;
	height:100%;
	display:table;
	position:relative;
	z-index:13;
	text-align:left;
	overflow:auto;
}
.menuContent .menuNav {
	display:table-cell;
	vertical-align:middle;
	text-align:center;
}
.menuContent .menuNav li {
	margin-bottom:20px;
}
.menuContent .menuNav li a {
	font-size:2.0rem;
}

@media screen and (min-width:769px){
#header .mainNav li:first-child a:hover,.menuContent .menuNav li:nth-child(2) a:hover {
	color:#93278f;
}
#header .mainNav li:nth-child(2) a:hover,.menuContent .menuNav li:nth-child(3) a:hover {
	color:#00a99d;
}
#header .mainNav li:nth-child(3) a:hover,.menuContent .menuNav li:nth-child(7) a:hover {
	color:#cc4646;
}
.menuContent .menuNav li:nth-child(1) a:hover {
	color:#ea63b4;
}
.menuContent .menuNav li:nth-child(4) a:hover {
	color:#8cc63f;
}
.menuContent .menuNav li:nth-child(5) a:hover {
	color:#faaf3b;
}
.menuContent .menuNav li:nth-child(6) a:hover {
	color:#ff6b2e;
}
.menuContent .menuNav li:nth-child(7) a:hover {
	color:#fbb03b;
}
.menuContent .menuNav li:nth-child(8) a:hover {
	color:#cc4646;
}
}
@media screen and (max-width:1030px){
.fixLogo {
	width:100px;
}
}
@media screen and (max-width:768px){
.fixLogo {
	width:70px;
}
#header {
    width: 80px;
}
}
@media screen and (max-width:550px){
#header {
	width:100%;
	height:47px;
	bottom:auto;
	left:0;
	padding:16px 0;
}
#header .tableInner {
	text-align:right;
	display:block;
	padding-right:35px;
}
#header nav {
	visibility:hidden;
	width:0;
	height:0;
}
.menuBtn {
	margin:0;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
footer
------------------------------------------------------------------------------------------------------------------------
*/
#footer {
	background:#000;
	text-align:center;
	color:#fff;
	padding:50px 20px 40px;
}
#footer .logo {
	margin:0;
}
#footer p {
	margin:0 0 10px;
}
#footer small {
	font-size:1.4rem;
}
@media screen and (max-width:768px){
#footer {
    padding: 30px 20px 30px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
top
------------------------------------------------------------------------------------------------------------------------
*/
#top .mainVisual {
	position:relative;
	line-height:0;
	margin-bottom:160px;
}
#top .mainVisual .mainCatch {
	position:absolute;
	bottom:34px;
	left:46px;
	line-height:0;
}
@media screen and (max-width:1280px){
#top .mainVisual .mainCatch {
	width:55.8%;
	bottom:4%;
	left:4%;
}
}
@media screen and (max-width:768px){
#top .mainVisual {
	margin-bottom:70px;
}
}

#top #aboutBox {
	margin-bottom:195px;
}
#top #aboutBox .titleGrad{
	position:relative;
	z-index:10;
}
#top #aboutBox .topBox {
	margin:-116px 0 130px;
	text-align:center;
}
#top #aboutBox .topBox img {
	margin-bottom:20px;
}
#top #aboutBox .topBox ul li {
	display:inline-block;
	vertical-align:middle;
}
#top #aboutBox .topBox ul li:first-child {
	font-size:2.0rem;
	font-weight:bold;
	margin-right:86px;
}
#top #aboutBox .flexBox.narabiClum .box {
	margin-top:-100px;
}
#top #aboutBox .flexBox.narabiClum .box:nth-child(2n) {
	padding-top:190px;
}
#top #aboutBox .flexBox.narabiClum .box:nth-child(1),#top #aboutBox .flexBox.narabiClum .box:nth-child(2) {
	margin-top:0;
}
#top #aboutBox .flexBox.narabiClum .box .name,#top #aboutBox .in768 .box .flexBox .text .name {
	font-size:2.0rem;
	font-weight:bold;
	margin-bottom:35px;
}
#top #aboutBox .flexBox.narabiClum .box .name span,#top #aboutBox .in768 .box .flexBox .text span {
	display:block;
	font-size:1.4rem;
	font-weight:normal;
	color:#666;
}
@media screen and (max-width:1000px){
#top #aboutBox .topBox {
    margin: -70px 0 130px;
}
}
@media screen and (max-width:768px){
#top #aboutBox {
	margin-bottom:85px;
}
#top #aboutBox .titleGrad svg{
	width:230px;
}
#top #aboutBox .topBox {
    margin: -20px 0 60px;
}
#top #aboutBox .topBox img {
	width:250px;
}
#top #aboutBox .topBox ul li:first-child {
    margin-right: 25px;
}
#top #aboutBox .in768 .box {
	margin-bottom:50px;
}
#top #aboutBox .in768 .box .flexBox {
	margin-bottom:15px;
}
#top #aboutBox .in768 .box .flexBox .img {
	width:42.76%;
	margin-right:8.19%;
	line-height:0;
}
#top #aboutBox .in768 .box .flexBox .text {
	width:49.05%;
}
#top #aboutBox .in768 .box .flexBox .text .name {
	font-size:1.8rem;
	margin:0;
}
}
@media screen and (max-width:468px){
#top #aboutBox .topBox ul li {
	display:block;
}
#top #aboutBox .topBox ul li:first-child {
	margin-bottom:10px;
	margin-right:0;
}
}
.svg_img path{
  fill: currentColor;
}

#top #serviceBox {
	background:#f2f2f2;
	margin-bottom:200px;
	padding:140px 0 130px;
}
#top #serviceBox .innerWrap {
	max-width:944px;
}
#top #serviceBox .titleGrad {
	text-align:right;
	line-height:0;
	margin-bottom:150px;
}
#top #serviceBox .flexBox.twoClum .box .name {
	font-size:2.0rem;
	font-weight:bold;
}
#top #serviceBox .flexBox.twoClum .box .name span {
	display:block;
	font-size:1.4rem;
	color:#666;
	font-weight:normal;
}
#top #serviceBox .flexBox.twoClum .box .last {
	border-top:1px solid #b3b3b3;
	border-bottom:1px solid #b3b3b3;
	padding:14px 0;
}
#top #serviceBox .flexBox.twoClum .box .last+.name {
	margin-top:65px;
}
@media screen and (max-width:768px){
#top #serviceBox {
	margin-bottom:80px;
	padding:70px 0 60px;
}
#top #serviceBox .titleGrad {
    margin-bottom: 50px;
}
#top #serviceBox .titleGrad svg {
	width:245px;
}
}
@media screen and (max-width:468px){
#top #serviceBox .flexBox.twoClum .box:first-child {
	margin-bottom:45px;
}
#top #serviceBox .flexBox.twoClum .box .last + .name {
	margin-top:45px;
}
}

#top #productBox {
	margin-bottom:200px;
}
#top #productBox .titleGrad {
	margin-bottom:60px;
	padding:0 5.4%;
}
#top #productBox .flexBox.w800 {
	margin-bottom:85px;
}
#top #productBox .btnGroup {
	margin-bottom: 90px;
	text-align: center;
}
#top #productBox .defaultBtn {
	text-align:center;
}
.mfp-wrap {
	z-index: 1000000000000 !important;
}
.mfp-bg {
	z-index: 100000000000 !important;
}
#inline-wrap,#inline-wrap2,#inline-wrap3 {
	display: block;
	max-width: 1200px;
	padding: 0 20px;
	margin: 0 auto;
	text-align: center;
}
#inline-wrap video,#inline-wrap2 video,#inline-wrap3 video {
	max-width: 100%;
	width: 100%;
}
#inline-wrap .mfp-close,#inline-wrap2 .mfp-close,#inline-wrap3 .mfp-close {
	display: none;
}
.popup-modal-dismiss {
	position: fixed;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #000;
	background: #ffff;
	text-align: center;
	line-height: 36px;
	font-size: 25px;
}

#top #sdgsBox p {
	margin-bottom: 90px;
}
#top #sdgsBox .flexBox .box p {
	margin-bottom: 0;
}
@media screen and (max-width:768px){
#top #productBox .btnGroup li {
	display: block;
	margin: 0 0 10px;
	}
	#top #productBox .btnGroup li a {
		width: 100%;
		max-width: 320px;
	}
#top #productBox {
    margin-bottom: 80px;
}
#top #productBox .titleGrad {
	margin-bottom:30px;
}
#top #productBox .titleGrad svg {
	max-width:285px;
}
#top #productBox .flexBox.w800 {
	margin-bottom:55px;
}
	#top #sdgsBox p {
	margin-bottom: 60px;
}
#top #sdgsBox .flexBox .box p {
	margin-bottom: 0;
}
}

#top #companyBox {
	background:#f2f2f2;
	padding:120px 0 90px;
	margin-bottom:116px;
}
#top #companyBox .titleGrad {
	text-align:right;
	margin-bottom:55px;
}
#top #companyBox .defaultTeigi {
	margin-bottom:65px;
}
@media screen and (max-width:768px){
#top #companyBox {
    padding: 70px 0 60px;
    margin-bottom: 75px;
}
#top #companyBox .titleGrad {
	margin-bottom:30px;
}
#top #companyBox .titleGrad svg {
	width:270px;
}
#top #companyBox .defaultTeigi {
	margin-bottom:45px;
}
#top #companyBox iframe {
	height:350px;
}
}

#top #sdgsBox {
	margin-bottom:180px;
}
#top #sdgsBox figure {
	line-height:0;
	margin-bottom:40px;
}
#top #sdgsBox .flexBox {
	margin:70px 0 0;
}
@media screen and (max-width:768px){
#top #sdgsBox {
	margin-bottom:80px;
}
#top #sdgsBox figure {
	margin-bottom:40px;
}
#top #sdgsBox .flexBox {
	margin:50px 0 0;
}
#top #sdgsBox .flexBox .box {
	margin-bottom:35px;
}
}

#top #partnersBox {
	margin-bottom: 150px;
}
#top #partnersBox .titleGrad {
	margin-bottom: 100px;
}
#top #partnersBox .partnerList li {
	width: 33.33%;
	border-left: 1px solid #808080;
	padding: 10px 75px 0 30px;
	margin-bottom: 75px;
}
#top #partnersBox .partnerList li .title {
	font-size: 18px;
	margin-bottom: 20px;
	font-weight: bold;
}
#top #partnersBox .partnerList+.attention {
	margin-top: -50px;
	margin-bottom: 100px;
}
#top #partnersBox .weightTtl {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 15px;
}
#top #partnersBox figure {
	margin-top: -120px;
	text-align: center;
}
@media screen and (max-width:1000px){
	#top #partnersBox .partnerList li {
		padding: 10px 45px 0 20px;
		width: 50%;
		margin-bottom: 45px;
	}
	#top #partnersBox .partnerList+.attention {
		margin-top: -10px;
	}
	#top #partnersBox figure{
		margin-top: -60px;
	}
}
@media screen and (max-width:768px){
	#top #partnersBox {
		margin-bottom: 100px;
	}
	#top #partnersBox .titleGrad {
		margin-bottom: 10px;
	}
	#top #partnersBox .titleGrad svg {
		width:238px;
	}
	#top #partnersBox .partnerList+.attention {
		margin-bottom: 70px;
	}
}
@media screen and (max-width:500px){
	#top #partnersBox .partnerList li {
		width: 100%;
		padding: 10px 25px 0 20px;
	}
}

/* 
------------------------------------------------------------------------------------------------------------------------
profile
------------------------------------------------------------------------------------------------------------------------
*/
#profile {
	padding:200px 20px 180px;
}
#profile .inner {
	max-width:754px;
	margin:0 auto;
}
#profile .inner .titleGrad {
	margin-bottom:90px;
}
#profile .inner .name {
	font-size:2.0rem;
	font-weight:bold;
	margin-bottom:40px;
}
#profile .inner .name+p {
	margin-bottom:40px;
}
#profile .inner .threePoint {
	font-size:1.6rem;
	font-weight:bold;
	margin-bottom:60px;
}
#profile .inner .threePoint li {
	margin-bottom:18px;
}
#profile .inner .threePoint li p:first-child {
	width:38.85%;
	margin-right:2.8%;
	position:relative;
	margin-bottom:0;
	padding:0 20px 0 0;
}
#profile .inner .threePoint li p:first-child span {
	background:#fff;
	padding:10px 20px 10px 0;
	display:inline-block;
}
#profile .inner .threePoint li p:first-child:after {
	content:"";
	width:100%;
	height:1px;
	background:#000;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto 0;
	z-index:-1;
}
#profile .inner .threePoint li p:last-child {
	width:58.35%;
}
#profile .inner .threePoint li p:last-child {
	border:1px solid #000;
	margin:0;
	padding:10px 20px;
}
#profile .inner .lineList li {
	position:relative;
	padding:10px 0 15px 30px;
	margin-bottom:35px;
}
#profile .inner .lineList li:last-child {
	margin:0;
}
#profile .inner .lineList li:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:5px;
	height:100%;
	background: rgb(98,0,85);
	background: linear-gradient(0deg, rgba(98,0,85,1) 0%, rgba(158,0,93,1) 100%);
}
#profile .inner .lineList li .title {
	font-size:2.0rem;
	font-weight:bold;
	margin-bottom:15px;
}
@media screen and (max-width:1000px){
#profile {
    padding: 150px 20px 180px;
}
}
@media screen and (max-width:768px){
#profile {
    padding: 100px 20px 80px;
}
#profile .inner .titleGrad {
    margin-bottom: 20px;
}
#profile .inner .titleGrad img {
	width:250px;
}
#profile .inner .name {
    margin-bottom: 18px;
}
#profile .inner .name + p {
    margin-bottom: 30px;
}
#profile .inner .threePoint {
    margin-bottom: 50px;
}
#profile .inner .threePoint li {
	display:block;
    margin-bottom: 10px;
}
#profile .inner .threePoint li p {
	width:100% !important;
}
#profile .inner .threePoint li p:after {
	display:none;
}
}
@media screen and (max-width:468px){
#profile {
    padding: 60px 20px 80px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
contact
------------------------------------------------------------------------------------------------------------------------
*/
#contact {
	padding:200px 20px 120px;
}
#contact .inner {
	max-width:770px;
	margin:0 auto;
}
#contact .inner .titleGrad {
	margin-bottom:75px;
	line-height:0;
}
#contact .inner form {
	margin:45px 0 0;
}
#contact .inner form input[type="text"],#contact .inner form textarea {
	width:100%;
	font-size:1.4rem;
	padding:10px 15px;
	border:1px solid #b3b3b3;
}
#contact .inner form .check input,#contact .inner form .check span {
	vertical-align:middle;
}
#contact .inner form .check input {
	margin-right:8px;
}
#contact .inner form .defaultTeigi {
	margin:0 0 50px;
}
#contact .inner form .defaultTeigi dt {
	width:230px;
	padding:21px 20px;
}
#contact .inner form .defaultTeigi dt span {
	display:block;
}
#contact .inner form .defaultTeigi dt .hissu {
	float:left;
	background:#c10000;
	color:#fff;
	font-size:1.2rem;
	font-weight:normal;
	padding:3px 10px;
}
#contact .inner form .defaultTeigi dt .name {
	padding:0 0 0 58px;
}
#contact .inner form .defaultTeigi dd {
	padding:14px 20px 14px 230px;
}
#contact .inner form .privacy {
	border:1px solid #b3b3b3;
	padding:40px 46px;
	height:318px;
	overflow:auto;
	margin-bottom:50px;
}
#contact .inner form .privacy p:last-child {
	margin-bottom:40px;
}
#contact .inner form .privacy h2 {
	font-size:1.8rem;
	margin-bottom:25px;
}
#contact .inner form .last.check {
	text-align:center;
	display:block;
	margin-bottom:30px;
}
#contact .inner form button[type="submit"] {
	margin:0 auto;
	width:223px;
	display:block;
}
@media screen and (max-width:1030px){
#contact {
    padding: 150px 20px 120px;
}
}
@media screen and (max-width:768px){
#contact {
    padding: 100px 20px 80px;
}
#contact .inner .titleGrad {
	margin-bottom:30px;
}
#contact .inner .titleGrad img {
	width:250px;
}
#contact .inner form .defaultTeigi {
    margin: 0 0 30px;
}
#contact .inner form .privacy {
    padding: 25px 20px;
	margin-bottom:30px;
}
}
@media screen and (max-width:630px){
#contact .inner form .defaultTeigi dt {
	float:none;
	width:100%;
	padding:21px 20px 10px;
}
#contact .inner form .defaultTeigi dt br {
	display:none;
}
#contact .inner form .defaultTeigi dd {
	padding:0 20px 21px;
}
#contact .inner form textarea {
	min-height:164px;
}
}
@media screen and (max-width:468px){
#contact {
    padding: 60px 20px 80px;
}
}

/* 
------------------------------------------------------------------------------------------------------------------------
contact check
------------------------------------------------------------------------------------------------------------------------
*/
#contact #error h4 {
	color:#c10000;
	margin-bottom:20px;
}
#contact #error .box {
	margin:0 0 30px;
}
#contact #error .error_messe {
	margin-bottom:0;
}
#contact table {
	border-collapse:collapse;
	margin-bottom:45px;
	width:100%;
}
#contact table,#contact table tr,#contact table th ,#contact table td {
	border:1px solid #999;
}
#contact table th,#contact table td {
	padding:15px 10px;
}
#contact table th {
	background:#ccc;
	width:200px;
}
#contact .contact_submit {
	text-align:center;
}
#contact .contact_submit li {
	display:inline-block;
	vertical-align:top;
	margin:0 15px 10px 0;
}
#contact .contact_submit li:last-child {
	margin:0;
}
#contact .read h3 {
	margin-bottom:20px;
}