@charset "UTF-8";
/*
Theme Name:秋東精工 株式会社
Theme URI:https://www.narts.jp/
Description:秋東精工 株式会社
Author:NARTS
Author URI:https://www.narts.jp/
Version:1.0
*/


/****************************************

	セッティング

*****************************************/
html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption,
tbody, tfoot, thead, table, label, tr, th, td{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	list-style: none;
}

img{
	vertical-align: bottom;
}

body{
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	background-color: #FFF;
	-webkit-text-size-adjust: 100%;
}

a {
	color: #2B2F38;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}
a:hover {
	text-decoration: underline;
}


::selection {
	background: #D82D2C;
	color: #fff;
}

*, *:before, *:after {
		-webkit-box-sizing: border-box;
			 -moz-box-sizing: border-box;
				 -o-box-sizing: border-box;
				-ms-box-sizing: border-box;
						box-sizing: border-box;
}

/* For modern browsers */
.clearfix:before,
.clearfix:after{
	content: "";
	display: block;
	overflow: hidden;
}
.clearfix:after{
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix{
	zoom: 1;
}



/*************************************************************

	サイズ調整

*************************************************************/
.taL {text-align: left !important;}
.taC {text-align: center !important;}
.taR {text-align: right !important;}
.uLine {text-decoration: underline !important;}
.vaTop {vertical-align: top !important;}
.vaMid {vertical-align: middle !important;}
.vaBot {vertical-align: bottom !important;}

.mt05{margin-top: 5px !important;}
.mt10{margin-top: 10px !important;}
.mt15{margin-top: 15px !important;}
.mt20{margin-top: 20px !important;}
.mt25{margin-top: 25px !important;}
.mt30{margin-top: 30px !important;}
.mt35{margin-top: 35px !important;}
.mt40{margin-top: 40px !important;}
.mt45{margin-top: 45px !important;}
.mt50{margin-top: 50px !important;}

.mb05{margin-bottom: 5px !important;}
.mb10{margin-bottom: 10px !important;}
.mb15{margin-bottom: 15px !important;}
.mb20{margin-bottom: 20px !important;}
.mb25{margin-bottom: 25px !important;}
.mb30{margin-bottom: 30px !important;}
.mb35{margin-bottom: 35px !important;}
.mb40{margin-bottom: 40px !important;}
.mb45{margin-bottom: 45px !important;}
.mb50{margin-bottom: 50px !important;}

.ml05{margin-left: 5px !important;}
.ml10{margin-left: 10px !important;}
.ml15{margin-left: 15px !important;}
.ml20{margin-left: 20px !important;}
.ml25{margin-left: 25px !important;}
.ml30{margin-left: 30px !important;}
.ml35{margin-left: 35px !important;}
.ml40{margin-left: 40px !important;}
.ml45{margin-left: 45px !important;}
.ml50{margin-left: 50px !important;}

.mr05{margin-right: 5px !important;}
.mr10{margin-right: 10px !important;}
.mr15{margin-right: 15px !important;}
.mr20{margin-right: 20px !important;}
.mr25{margin-right: 25px !important;}
.mr30{margin-right: 30px !important;}
.mr35{margin-right: 35px !important;}
.mr40{margin-right: 40px !important;}
.mr45{margin-right: 45px !important;}
.mr50{margin-right: 50px !important;}

.pt05{padding-top: 5px !important;}
.pt10{padding-top: 10px !important;}
.pt15{padding-top: 15px !important;}
.pt20{padding-top: 20px !important;}
.pt25{padding-top: 25px !important;}
.pt30{padding-top: 30px !important;}
.pt35{padding-top: 35px !important;}
.pt40{padding-top: 40px !important;}
.pt45{padding-top: 45px !important;}
.pt50{padding-top: 50px !important;}

.pb05{padding-bottom: 5px !important;}
.pb10{padding-bottom: 10px !important;}
.pb15{padding-bottom: 15px !important;}
.pb20{padding-bottom: 20px !important;}
.pb25{padding-bottom: 25px !important;}
.pb30{padding-bottom: 30px !important;}
.pb35{padding-bottom: 35px !important;}
.pb40{padding-bottom: 40px !important;}
.pb45{padding-bottom: 45px !important;}
.pb50{padding-bottom: 50px !important;}

.pl05{padding-left: 5px !important;}
.pl10{padding-left: 10px !important;}
.pl15{padding-left: 15px !important;}
.pl20{padding-left: 20px !important;}
.pl25{padding-left: 25px !important;}
.pl30{padding-left: 30px !important;}
.pl35{padding-left: 35px !important;}
.pl40{padding-left: 40px !important;}
.pl45{padding-left: 45px !important;}
.pl50{padding-left: 50px !important;}

.pr05{padding-right: 5px !important;}
.pr10{padding-right: 10px !important;}
.pr15{padding-right: 15px !important;}
.pr20{padding-right: 20px !important;}
.pr25{padding-right: 25px !important;}
.pr30{padding-right: 30px !important;}
.pr35{padding-right: 35px !important;}
.pr40{padding-right: 40px !important;}
.pr45{padding-right: 45px !important;}
.pr50{padding-right: 50px !important;}

.fs10{font-size: 10px !important;}
.fs11{font-size: 11px !important;}
.fs12{font-size: 12px !important;}
.fs13{font-size: 13px !important;}
.fs14{font-size: 14px !important;}
.fs15{font-size: 15px !important;}
.fs16{font-size: 16px !important;}
.fs17{font-size: 17px !important;}
.fs18{font-size: 18px !important;}
.fs19{font-size: 19px !important;}
.fs20{font-size: 20px !important;}
.fB{font-weight: bold !important;}
.fwN{font-weight: normal !important;}

.lh12{line-height: 1.2;}
.lh13{line-height: 1.3;}
.lh14{line-height: 1.4;}
.lh15{line-height: 1.5;}
.lh16{line-height: 1.6;}
.lh17{line-height: 1.7;}
.lh18{line-height: 1.8;}
.lh19{line-height: 1.9;}
.lh20{line-height: 2.0;}

.tRed {color: #D82D2C;}

.fL{float: left;}
.fR{float: right;}
.clear{clear: both;}

/* 計算方法　HD動画（16:9）の場合100÷16×9=56.25% に設定 */
.movie_box{text-align: center; padding: 0 0 56.25% 0; position: relative; width: 100%;}
.movie_box iframe{position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}

/* 計算方法　正方形動画（4:4）の場合100÷4×4=100% に設定 */
.movie_box2{text-align: center; padding: 0 0 100% 0; position: relative; width: 100%;}
.movie_box2 iframe{position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}

/* 計算方法　長方形動画（4:3）の場合100÷4×3=75% に設定 */
.movie_box3{text-align: center; padding: 0 0 75% 0; position: relative; width: 100%;}
.movie_box3 iframe{position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}

.no_display{display: none;}


@media screen and (min-width: 1100px){

.br-sp{}
.pc{display:block !important;}
.sp{display:none !important;}



/****************************************

	header

*****************************************/
header {}
#header {
	background: #fff;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	height: 120px;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 200;
}


#header-logo {
	width: 275px;
}
#header-logo h1 a {
	display: block;
	background: #D82D2C;
	-moz-border-radius: 0 0 40px 0;
	-webkit-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	border-radius: 0 0 40px 0;
	padding: 34px 47px;
	height: 120px;
}
#header-logo h1 a img {
	width: 100%;
	height: auto;
}


#header-contents {
	width: calc(100% - 275px);
	text-align: right;
	margin: 51px 36px 0 0;
	line-height: 1;
}

#header-contents #header-nav {}
#header-contents #header-nav ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
#header-contents #header-nav ul li {
	position: relative;
}
#header-contents #header-nav ul li a {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	margin: 0 2.5vw 0 0;
	text-decoration: none;
}
#header-contents #header-nav ul li a:hover {
	color: #D82D2C;
}
#header-contents #header-nav ul li.has-child ul {
	display: block;
	position: absolute;
	left: -160px;
	top: 30px;
	z-index: 4;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	border-radius: 40px;
	background: #FFF;
	box-shadow: 8px 8px 30px -10px rgba(0, 0, 0, 0.40);
	padding: 30px;
	width: 400px;
}

/*hoverしたら表示*/
#header-contents #header-nav ul li.has-child:hover > ul,
#header-contents #header-nav ul li.has-child ul li:hover > ul,
#header-contents #header-nav ul li.has-child:active > ul,
#header-contents #header-nav ul li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}
/*ナビゲーションaタグの形状*/
#header-contents #header-nav ul li.has-child ul li a {
	color: #2B2F38;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.54px;
	margin: 0 0 20px 0;
	display: block;
	text-align: left;
}
#header-contents #header-nav ul li.has-child ul li:last-of-type a {
	margin: 0;
}
#header-contents #header-nav ul li.has-child ul li a:hover {
	color: #D82D2C;
}


#header-contents #header-nav ul li:last-of-type a {
	margin: 0;
}
#header-contents #header-nav ul li:nth-of-type(6) a {
	margin: 0 2vw 0 0;
}

#header-contents #header-nav ul li.header-nav-btn a {
	background: #D82D2C;
	border: 1px solid #D82D2C;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
	padding: 13px 2vw;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
	margin: 0;
}
#header-contents #header-nav ul li.header-nav-btn a:hover {
	background: #fff;
	border: 1px solid #D82D2C;
	color: #D82D2C;
}



/*ボタン外側*/
.openbtn {
	display: none;
}
#sp-nav {
	display: none;
}



/****************************************

	共通

*****************************************/
#lowerpage-contents {}
#lowerpage-contents a {
	color: #D82D2C;
	text-decoration: underline;
}
#lowerpage-contents a:hover {
	color: #D82D2C;
	text-decoration: none;
}

#contents-title {
	width: 1100px;
	margin: 0 auto;
	padding: 180px 0 60px 0;
}
#contents-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#contents-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 2.1px;
}


#lowerpage-contents-inner {
	width: 1100px;
	margin: 0 auto 100px auto;
}


.breadcrumbs {
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 60px 0;
}
.breadcrumbs ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.breadcrumbs ul li {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.42px;
}
.breadcrumbs ul li a {
	color: #A0A0A0 !important;
	text-decoration: none !important;
}
.breadcrumbs ul li a:hover {
	color: #A0A0A0 !important;
	text-decoration: underline !important;
}
.breadcrumbs ul li:not(:last-of-type)::after {
	content: "/";
	margin: 8px; /* 記号の左右の余白 */
	color: #A0A0A0; /* 記号の色 */
}



#notfound {
	width: 1100px;
	margin: 0 auto;
	padding: 40px 0 100px 0;
}
#notfound p.txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	margin: 0 0 30px 0;
}
#notfound p.txt:last-child {
	margin: 0;
}

#notfound p.btn {
	display: inline-block;
}
#notfound p.btn a {
	color: #D82D2C;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
	display: block;
	position: relative;
	text-decoration: none;
}
#notfound p.btn a::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 20px;
}
#notfound p.btn:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}



/****************************************

	wordpress側用設定

*****************************************/
.wp-pagenavi {
	text-align: center;
	margin: 30px 0 0 0;
	font-size: 14px;
}
.wp-pagenavi a {
	color: #2B2F38;
}
.pages {/* 左の表記 */
	display: none;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
	margin: 0 10px 10px 0;
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	line-height: 40px;
	text-align: center;
	background: #EDF0F5;
	color: #2B2F38;
}
.wp-pagenavi .current {/* カレント数字 */
	border: none;
	background: #2B2F38;
	color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
	background: #2B2F38;
	color: #fff;
	text-decoration: none;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
	display: none;
}



/****************************************

	footer

*****************************************/
footer {}
#footer {
	width: 1100px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 120px 0 30px 0;
}


#footer-logo {
	width: 220px;
}
#footer-main {
	width: 630px;
}


#footer-logo p.logo {
	padding: 0 0 10px 0;
}
#footer-logo p.txt {
	color: #2B2F38;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.5px;
}

#footer-main #footer-link {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	border-bottom: 1px solid #EDF0F5;
	padding: 0 0 50px 0;
}
#footer-main #footer-link #footer-link-01 {
	width: 300px;
}
#footer-main #footer-link #footer-link-02 {
	width: 200px;
}
#footer-main #footer-link #footer-link-03 {
	width: 130px;
}

#footer-main #footer-link #footer-link-03 ul li,
#footer-main #footer-link #footer-link-02 ul li,
#footer-main #footer-link #footer-link-01 ul li {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.8px;
	margin: 0 0 20px 0;
}
#footer-main #footer-link #footer-link-03 ul li:last-of-type,
#footer-main #footer-link #footer-link-02 ul li:last-of-type,
#footer-main #footer-link #footer-link-01 ul li:last-of-type {
	margin: 0;
}
#footer-main #footer-link #footer-link-03 ul li a:hover,
#footer-main #footer-link #footer-link-02 ul li a:hover,
#footer-main #footer-link #footer-link-01 ul li a:hover {
	color: #D82D2C;
	text-decoration: none;
}
#footer-main #footer-link #footer-link-01 ul li ul {
	margin: 20px 0 0 0;
}
#footer-main #footer-link #footer-link-01 ul li ul li {
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 15px 0;
}
#footer-main #footer-link #footer-link-01 ul li ul li a:hover {
	color: #2B2F38;
	text-decoration: none;
}


#footer-main #footer-contents {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 50px 0 30px 0;
}
#footer-main #footer-contents #footer-contents-company {
	width: 320px;
}
#footer-main #footer-contents #footer-contents-group {
	width: 212px;
}


#footer-main #footer-contents #footer-contents-company p.company-name {
	color: #2B2F38;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.5px;
	margin: 0 0 20px 0;
}
#footer-main #footer-contents #footer-contents-company p.company-address {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1.4px;
	margin: 0 0 10px 0;
}
#footer-main #footer-contents #footer-contents-company p.company-googlemap a {
	color: #A0A0A0;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1.3px;
	margin: 0 0 15px 0;
	text-decoration: underline;
	display: block;
}
#footer-main #footer-contents #footer-contents-company p.company-tel {
	font-family: Barlow;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
}
#footer-main #footer-contents #footer-contents-company p.company-tel a {
	margin: 0 0 0 10px;
}


#footer-main #footer-contents #footer-contents-group p.group {
	color: #A0A0A0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 15px 0;
}

#footer-main #footer-contents #footer-contents-group p.group-goodsmilecompany a {
	background: #FFF;
	border: 1px solid #EDF0F5;
	width: 212px;
	line-height: 80px;
	text-align: center;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-ms-border-radius: 10px;
	border-radius: 10px;
	display: block;
	margin: 0 0 10px 0;
}
#footer-main #footer-contents #footer-contents-group p.group-goodsmilecompany a:hover {
	background: #EDF0F5;
	border: 1px solid #EDF0F5;
}
#footer-main #footer-contents #footer-contents-group p.group-goodsmilecompany a img {
	vertical-align: middle !important;
	line-height: 1;
}

#footer-main #footer-contents #footer-contents-group p.group-goodsmileonlineshop a {
	background: #FFF;
	border: 1px solid #EDF0F5;
	width: 212px;
	line-height: 80px;
	text-align: center;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-ms-border-radius: 10px;
	border-radius: 10px;
	display: block;
	margin: 0 0 10px 0;
}
#footer-main #footer-contents #footer-contents-group p.group-goodsmileonlineshop a:hover {
	background: #EDF0F5;
	border: 1px solid #EDF0F5;
}
#footer-main #footer-contents #footer-contents-group p.group-goodsmileonlineshop a img {
	vertical-align: middle !important;
	line-height: 1;
}

#footer-main #footer-contents #footer-contents-group p.group-luckyfactory a {
	background: #FFF;
	border: 1px solid #EDF0F5;
	width: 212px;
	line-height: 80px;
	text-align: center;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-ms-border-radius: 10px;
	border-radius: 10px;
	display: block;
}
#footer-main #footer-contents #footer-contents-group p.group-luckyfactory a:hover {
	background: #EDF0F5;
	border: 1px solid #EDF0F5;
}
#footer-main #footer-contents #footer-contents-group p.group-luckyfactory a img {
	vertical-align: middle !important;
	line-height: 1;
}



#footer-main #footer-copyright {
	text-align: right;
}
#footer-main #footer-copyright p {
	font-family: Barlow;
	color: #A0A0A0;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
}



/****************************************

	home

*****************************************/
#top-visual {
	background-image: url("images/top/mv-vector.svg");
	background-repeat: no-repeat;
	background-position: left 36px top 90px;
	background-size: 50%;
	margin: 199px auto 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}


#top-visual-contents {
	width: 31%;
}
#top-visual-image {
	width: 55%;
	margin: 0 0 240px 0;
}


#top-visual-contents h2 {
	margin: 54px 70px 40px 0;
}
#top-visual-contents h2 img {
	width: 100%;
	height: auto;
}
#top-visual-contents p.catch {
	color: #2B2F38;
	font-size: 1.5vw;
	font-weight: 700;
	line-height: 1.8;
	margin: 0 0 20px 0;
}

#top-visual-name {
	position: relative;
}
#top-visual-name p:nth-of-type(1) {
	color: #A0A0A0;
	font-family: Barlow;
	font-size: 2.2vw;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 0 24px;
}
#top-visual-name p:nth-of-type(2) {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 8.2vw;
	font-weight: 600;
	line-height: 1.1;
	margin: -10px 0 0 24px;
}

#top-visual-name .mainVisual-scroll {
	position: absolute;
	left: 0;
	top: 0;
	transform: rotate(90deg);
	transform-origin: left bottom;
	display: block;
	width: 12vw;
	position: relative;
	overflow: hidden;
	color: #000;
	text-decoration: none;
}
#top-visual-name .mainVisual-scroll::before,
#top-visual-name .mainVisual-scroll::after {
	content: "";
	display: block;
	width: 12vw;
	height: 6px;
	position: absolute;
	right: 0;
	bottom: 0;
	transform-origin: left;
	background-color: #A0A0A0;
}
#top-visual-name .mainVisual-scroll::before{
	background-color: #D82D2C;
}
#top-visual-name .mainVisual-scroll::after {
	transform: scaleX(0);
	animation: anim-mainVisualScroll 2.5s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
@keyframes anim-mainVisualScroll {
	0% { transform: scaleX(0); }
	35% { transform: scaleX(1); transform-origin: left; }
	40% { transform-origin: right; }
	50% { transform: scaleX(1); }
	85% { transform: scaleX(0);	transform-origin: right; }
	100% { transform-origin: left; }
}


#top-visual-image .slider {
	margin: 0 auto;
	width: 100%;
}
#top-visual-image .slick-img img {
	height: auto;
	width: 100%;
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}



#top-sellingpoint {
	background-image: url("images/top/sellingpoint-bg01.png");
	background-repeat: repeat;
	background-position: left top;
	margin: 0 0 100px 0;
}

#top-sellingpoint-title {
	width: 1100px;
	margin: 0 auto;
	padding: 80px 0 80px 0;
}
#top-sellingpoint-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-sellingpoint-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-sellingpoint-box {
	width: 1100px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#top-sellingpoint-logo {
	width: 400px;
}
#top-sellingpoint-contents {
	width: 650px;
}

#top-sellingpoint-logo img {
	width: 100%;
	height: auto;
}

#top-sellingpoint-contents dl {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 0 75px 0;
}
#top-sellingpoint-contents dl dt {
	width: 76px;
}
#top-sellingpoint-contents dl dt img {
	width: 100%;
	height: auto;
}
#top-sellingpoint-contents dl dd {
	width: 550px;
	color: #2B2F38;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
}


#top-sellingpoint-image {
	width: 90%;
	margin: 0 0 0 auto;
	padding: 0 0 100px 0;
}
#top-sellingpoint-image ul {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#top-sellingpoint-image ul li {
	width: 50%;
}
#top-sellingpoint-image ul li img {
	width: 100%;
	height: auto;
}



#top-service {
	background-image: url("images/top/service-vector.svg");
	background-repeat: no-repeat;
	background-position: right top 180px;
	background-size: 61%;
	padding: 120px 0 0 0;
	margin: -120px 0 0 0;
}

#top-service-title {
	width: 1100px;
	margin: 0 auto;
	padding: 50px 0 80px 0;
}
#top-service-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-service-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-service-contents {
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 60px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}


.top-service-list {
	width: 530px;
	margin: 0 0 40px 0;
}
.top-service-list .image-box {
	overflow: hidden;
	position: relative;
}
.top-service-list .image-box .image {}
.top-service-list .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-service-list a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.1);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-service-list .image-box .image-prt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	pointer-events: none;
}
.top-service-list .image-box .image-prt img {
	width: 53%;
	height: auto;
}
.top-service-list .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.top-service-list a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.top-service-list a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-service-list a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
	border: 3px solid #D82D2C;
}
.top-service-list a {
	text-decoration: none;
}
.top-service-list a h3 {
	color: #2B2F38;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	padding: 15px 0 10px 0;
}
.top-service-list a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
}


.top-service-list02 {
	width: 530px;
	margin: 0 0 40px 0;
}
.top-service-list02 .image-box {
	overflow: hidden;
	position: relative;
}
.top-service-list02 .image-box .image {}
.top-service-list02 .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-service-list02 a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.1);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-service-list02 .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 40px 40px 0 0;
	-webkit-border-radius: 40px 40px 0 0;
	-ms-border-radius: 40px 40px 0 0;
	border-radius: 40px 40px 0 0;
}
.top-service-list02 a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 40px 40px 0 0;
	-webkit-border-radius: 40px 40px 0 0;
	-ms-border-radius: 40px 40px 0 0;
	border-radius: 40px 40px 0 0;
}
.top-service-list02 a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-service-list02 a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	-moz-border-radius: 40px 40px 0 0;
	-webkit-border-radius: 40px 40px 0 0;
	-ms-border-radius: 40px 40px 0 0;
	border-radius: 40px 40px 0 0;
	border: 3px solid #D82D2C;
}
.top-service-list02 a {
	text-decoration: none;
}
.top-service-list02 a h3 {
	color: #2B2F38;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	padding: 15px 0 10px 0;
}
.top-service-list02 a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
}


.top-service-list03 {
	width: 530px;
	margin: 0 0 40px 0;
}
.top-service-list03 .image-box {
	overflow: hidden;
	position: relative;
}
.top-service-list03 .image-box .image {}
.top-service-list03 .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-service-list03 a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.1);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-service-list03 .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 40px 0 0 40px;
	-webkit-border-radius: 40px 0 0 40px;
	-ms-border-radius: 40px 0 0 40px;
	border-radius: 40px 0 0 40px;
}
.top-service-list03 a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 40px 0 0 40px;
	-webkit-border-radius: 40px 0 0 40px;
	-ms-border-radius: 40px 0 0 40px;
	border-radius: 40px 0 0 40px;
}
.top-service-list03 a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-service-list03 a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	-moz-border-radius: 40px 0 0 40px;
	-webkit-border-radius: 40px 0 0 40px;
	-ms-border-radius: 40px 0 0 40px;
	border-radius: 40px 0 0 40px;
	border: 3px solid #D82D2C;
}
.top-service-list03 a {
	text-decoration: none;
}
.top-service-list03 a h3 {
	color: #2B2F38;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	padding: 15px 0 10px 0;
}
.top-service-list03 a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
}


.top-service-list04 {
	width: 530px;
	margin: 0 0 40px 0;
}
.top-service-list04 .image-box {
	overflow: hidden;
	position: relative;
}
.top-service-list04 .image-box .image {}
.top-service-list04 .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-service-list04 a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.1);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-service-list04 .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 0 0 40px 0;
	-webkit-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	border-radius: 0 0 40px 0;
}
.top-service-list04 a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 0 0 40px 0;
	-webkit-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	border-radius: 0 0 40px 0;
}
.top-service-list04 a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-service-list04 a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	-moz-border-radius: 0 0 40px 0;
	-webkit-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	border-radius: 0 0 40px 0;
	border: 3px solid #D82D2C;
}
.top-service-list04 a {
	text-decoration: none;
}
.top-service-list04 a h3 {
	color: #2B2F38;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	padding: 15px 0 10px 0;
}
.top-service-list04 a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
}



#top-products-works {
	background-image: url("images/top/products-vector.svg");
	background-repeat: no-repeat;
	background-position: left bottom 75px;
	background-size: 43%;
}


#top-products {
	padding: 120px 0 0 0;
	margin: -120px 0 0 0;
}
#top-products-title {
	width: 1100px;
	margin: 0 auto;
	padding: 50px 0 80px 0;
}
#top-products-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-products-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-products-contents {
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 100px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}


.top-products-sushipuramo {
	width: 1100px;
	margin: 0 auto 37px auto;
}
.top-products-sushipuramo .image-box {
	overflow: hidden;
	position: relative;
}
.top-products-sushipuramo .image-box .image {}
.top-products-sushipuramo .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-products-sushipuramo a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.08);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-products-sushipuramo .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 0 40px 0 0;
	-webkit-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
.top-products-sushipuramo a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 0 40px 0 0;
	-webkit-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
.top-products-sushipuramo a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-products-sushipuramo a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	-moz-border-radius: 0 40px 0 0;
	-webkit-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
	border: 3px solid #BA2827;
	border-bottom: none;
}
.top-products-sushipuramo a {
	text-decoration: none;
}
.top-products-sushipuramo h3 {
	color: #FFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.72px;
	background: #D82D2C;
	padding: 17px 30px;
	position: relative;
}
.top-products-sushipuramo:hover h3 {
	background: #BA2827;
}
.top-products-sushipuramo h3::before {
	position: absolute;
	top: 22px;
	right: 30px;
	content: "";
	display: inline-block;
	width: 24px;
	height: 16px;
	background: url("images/top/arrow01.svg") no-repeat;
	background-size: contain;
}


.top-products-gomipuramo {
	width: 525px;
}
.top-products-gomipuramo .image-box {
	overflow: hidden;
	position: relative;
}
.top-products-gomipuramo .image-box .image {}
.top-products-gomipuramo .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-products-gomipuramo a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.08);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-products-gomipuramo .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.top-products-gomipuramo a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.top-products-gomipuramo a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-products-gomipuramo a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
	border: 3px solid #BA2827;
	border-bottom: none;
}
.top-products-gomipuramo a {
	text-decoration: none;
}
.top-products-gomipuramo h3 {
	color: #FFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.72px;
	background: #D82D2C;
	padding: 17px 30px;
	position: relative;
}
.top-products-gomipuramo:hover h3 {
	background: #BA2827;
}
.top-products-gomipuramo h3::before {
	position: absolute;
	top: 22px;
	right: 30px;
	content: "";
	display: inline-block;
	width: 24px;
	height: 16px;
	background: url("images/top/arrow01.svg") no-repeat;
	background-size: contain;
}


.top-products-gyozapuramo {
	width: 525px;
}
.top-products-gyozapuramo .image-box {
	overflow: hidden;
	position: relative;
}
.top-products-gyozapuramo .image-box .image {}
.top-products-gyozapuramo .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.top-products-gyozapuramo a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.08);/*拡大の値を変更したい場合はこの数値を変更*/
}
.top-products-gyozapuramo .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
}
.top-products-gyozapuramo a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
}
.top-products-gyozapuramo a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.top-products-gyozapuramo a:hover .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	border: 3px solid #BA2827;
	border-bottom: none;
}
.top-products-gyozapuramo a {
	text-decoration: none;
}
.top-products-gyozapuramo h3 {
	color: #FFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.72px;
	background: #D82D2C;
	padding: 17px 30px;
	-moz-border-radius: 0 0 0 40px;
	-webkit-border-radius: 0 0 0 40px;
	-ms-border-radius: 0 0 0 40px;
	border-radius: 0 0 0 40px;
	position: relative;
}
.top-products-gyozapuramo:hover h3 {
	background: #BA2827;
}
.top-products-gyozapuramo h3::before {
	position: absolute;
	top: 22px;
	right: 30px;
	content: "";
	display: inline-block;
	width: 24px;
	height: 16px;
	background: url("images/top/arrow01.svg") no-repeat;
	background-size: contain;
}



#top-works {
	padding: 120px 0 0 0;
	margin: -120px 0 0 0;
}
#top-works-title {
	width: 1100px;
	margin: 0 auto;
	padding: 50px 0 80px 0;
}
#top-works-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-works-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-works-contents {
	padding: 0 0 120px 0;
}


.worksslide {
	overflow: hidden;
}
.worksslide .worksslide-inner {
	position: relative;
	-webkit-box-sizing: content-box;
					box-sizing: content-box;
	max-width: 1100px;
	margin: 0 auto;
}
.worksslide .swiper {
	overflow: visible;
}


.worksslide .swiper-slide {
	width: 400px;
}
.worksslide .swiper-slide a {
	text-decoration: none;
}
.worksslide .swiper-slide img {
	width: 100%;
	height: auto;
}
.worksslide .swiper-slide h3 {
	color: #2B2F38;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.54px;
	padding: 20px 0 0 0;
	text-decoration: none;
}


.worksslide .swiper-slide .image-box {
	overflow: hidden;
	position: relative;
}
.worksslide .swiper-slide .image-box .image {}
.worksslide .swiper-slide a .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
.worksslide .swiper-slide a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.08);/*拡大の値を変更したい場合はこの数値を変更*/
}
.worksslide .swiper-slide .image-box .mask {
	display: block;
	line-height: 0;/*行の高さを0にする*/
	overflow: hidden;/*拡大してはみ出る要素を隠す*/
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
	-ms-border-radius: 40px;
	border-radius: 40px;
}

.worksslide .swiper-slide a:hover .image-box .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
	-ms-border-radius: 40px;
	border-radius: 40px;
}
.worksslide .swiper-slide a:hover .image-box .image + .dark-cover {
	background-color: black;
}
.worksslide .swiper-slide a:hover .image-box .waku {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	pointer-events: none;
	border: 3px solid #D82D2C;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;
	-ms-border-radius: 40px;
	border-radius: 40px;
}


.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 900px;
	height: 4px;
	left: 0;
	top: 0;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: #D82D2C;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(0);
	transform-origin: left top;
}

.worksslide .swiper-controller {
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: flex-end;
	margin-top: 40px;
}
.worksslide .swiper-pagination {
	position: relative;
	left: 0;
	bottom: 0;
	margin-right: auto;
}

.worksslide .swiper-button-prev,
.worksslide .swiper-button-next {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin: 0;
}
/* 前へ次への矢印カスタマイズ */
.worksslide .swiper-button-prev,
.worksslide .swiper-button-next {
	height: 60px;
	width: 60px;
}
/* 前へ次への矢印カスタマイズ */
.worksslide .swiper-button-prev::after,
.worksslide .swiper-button-next::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 60px;
	width: 60px;
	margin: auto;
}
/* 前への矢印カスタマイズ */
.worksslide .swiper-button-prev::after {
  background: url("images/top/prev-btn.svg") no-repeat;
}
.worksslide .swiper-button-prev:hover::after {
  background: url("images/top/prev-btn02.svg") no-repeat;
}
/* 次への矢印カスタマイズ */
.worksslide .swiper-button-next::after {
  background: url("images/top/next-btn.svg") no-repeat;
}
.worksslide .swiper-button-next:hover::after {
  background: url("images/top/next-btn02.svg") no-repeat;
}
.worksslide .swiper-button-prev,
.worksslide .swiper-rtl .swiper-button-next {
	left: 10px;
}
.worksslide .swiper-button-next,
.worksslide .swiper-rtl .swiper-button-prev {
	right: 0;
}



#top-policy {
	background-image: url("images/top/policy-bg01.jpg");
	background-repeat: repeat-x;
	background-position: center top;
	background-size: auto 604px;
	min-height: 604px;
}
#top-policy-inner {
	width: 1100px;
	margin: 0 auto;
}

#top-policy-title {
	padding: 0 0 35px 0;
}
#top-policy-title h2 span {
	color: #FFF;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	padding: 80px 0 20px 0;
	display: block;
	letter-spacing: normal;
}
#top-policy-title h2 {
	color: #FFF;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
}

#top-policy-contents {
	width: 500px;
	margin: 0 0 0 auto;
	padding: 0 0 100px 0;
}
#top-policy-contents h3 {
	color: #FFF;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 2.52px;
	padding: 0 0 30px 0;
}
#top-policy-contents p.txt {
	color: #FFF;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.48px;
	padding: 0 0 40px 0;
}

#top-policy-contents p.btn a {
	text-align: right;
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
	display: block;
	position: relative;
	text-decoration: none;
}
#top-policy-contents p.btn a::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 20px;
}
#top-policy-contents p.btn:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}



#top-news {}
#top-news-inner {
	width: 1100px;
	margin: 0 auto;
	padding: 150px 0 150px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}


#top-news-side {
	width: 300px;
}
#top-news-contents {
	width: 770px;
}


#top-news-title {
	padding: 0 0 35px 0;
}
#top-news-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 20px 0;
	display: block;
	letter-spacing: normal;
}
#top-news-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	padding: 0 0 60px 0;
}


#top-news-category {
	padding: 0 0 70px 0;
}
#top-news-category ul {
	width: 110px;
}
#top-news-category ul li a {
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	margin: 0 0 20px 0;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.65px;
	display: block;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
}
/*liにactiveクラスがついた時の形状*/
#top-news-category ul li.active a{
	background:#2B2F38;
	color: #FFF;
}
#top-news-category ul li:last-of-type a {
	margin: 0;
}
#top-news-category ul li:hover a {
	background: #2B2F38;
	color: #FFF;
}


#top-news-btn a {
	color: #D82D2C;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
	display: block;
	position: relative;
	text-decoration: none;
}
#top-news-btn a::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 20px;
}
#top-news-btn:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}


#top-news-contents .news-list {}
#top-news-contents .news-list a {
	display: block;
	padding: 45px 0;
	border-bottom: 1px solid #EDF0F5;
	text-decoration: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#top-news-contents .news-list .news-list-category {
	width: 110px;
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	margin: 0 20px 0 0;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.65px;
	display: block;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
}
#top-news-contents .news-list .news-list-time {
	font-family: Barlow;
	width: 110px;
	padding: 6px 0;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.8px;
}
#top-news-contents .news-list .news-list-title {
	width: 530px;
	padding: 4px 0;
	color: #2B2F38;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
#top-news-contents .news-list a:hover .news-list-title {
	text-decoration: underline;
}



#top-company {
	background-image: url("images/top/company-vector.svg");
	background-repeat: no-repeat;
	background-position: center top 115px;
	background-size: auto 570px;
	margin: 0 0 100px 0;
}

#top-company-title {
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 160px 0;
}
#top-company-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 75px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 20px 0;
	display: block;
	letter-spacing: normal;
}
#top-company-title h2 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
}


#top-company-inner {
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 210px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#top-company-logo {
	width: 448px;
	margin: 0 122px 0 0;
}
#top-company-contents {
	width: 430px;
}

#top-company-logo p {
	text-align: center;
}
#top-company-contents p.txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 700;
	line-height: 27.2px;
	letter-spacing: 0.48px;
	padding: 0 0 40px 0;
}
#top-company-contents p.btn a {
	color: #D82D2C;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
	display: block;
	position: relative;
	text-decoration: none;
}
#top-company-contents p.btn a::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 20px;
}
#top-company-contents p.btn:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}



#cta {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
}


#cta-contact {
	width: 50%;
	position: relative;
}
#cta-contact .image-box {
	overflow: hidden;
	position: relative;
}
#cta-contact .image-box .image {}
#cta-contact .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
#cta-contact a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.08);/*拡大の値を変更したい場合はこの数値を変更*/
}

#cta-contact a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
}
#cta-contact a:hover .image-box .image + .dark-cover {
	background-color: black;
}

#cta-contact .title-box {
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index: 100;
	pointer-events: none;
}
#cta-contact .title-box h2 span {
	pointer-events: none;
	color: #FFF;
	font-family: Barlow;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 20px 0;
	display: block;
	letter-spacing: normal;
}
#cta-contact .title-box h2 {
	pointer-events: none;
	color: #FFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.68px;
}

#cta-contact .btn {
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 100;
}
#cta-contact .btn::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn02.svg");
	background-size: contain;
	vertical-align: middle;
}
#cta-contact:hover .btn::after {
	background-image: url("images/common/arrow-btn02-hover.svg");
}


#cta-recruit {
	width: 50%;
	position: relative;
}
#cta-recruit .image-box {
	overflow: hidden;
	position: relative;
}
#cta-recruit .image-box .image {}
#cta-recruit .image-box .image img {
	width: 100%;
	height: auto;
	transform: scale(1);
	transition: .4s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}
#cta-recruit a:hover .image-box .image img {/*hoverした時の変化*/
	transform: scale(1.08);/*拡大の値を変更したい場合はこの数値を変更*/
}

#cta-recruit a:hover .dark-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	opacity: .3;
	transition: background-color 0.3s ease;
	pointer-events: none;
}
#cta-recruit a:hover .image-box .image + .dark-cover {
	background-color: black;
}

#cta-recruit .title-box {
	position: absolute;
	top: 50%;
	left: 60px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index: 100;
	pointer-events: none;
}
#cta-recruit .title-box h2 span {
	pointer-events: none;
	color: #FFF;
	font-family: Barlow;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 20px 0;
	display: block;
	letter-spacing: normal;
}
#cta-recruit .title-box h2 {
	pointer-events: none;
	color: #FFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.68px;
}

#cta-recruit .btn {
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 100;
}
#cta-recruit .btn::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn02.svg");
	background-size: contain;
	vertical-align: middle;
}
#cta-recruit:hover .btn::after {
	background-image: url("images/common/arrow-btn02-hover.svg");
}



/****************************************

	SERVICE

*****************************************/
.service-name {
	width: 1100px;
	margin: 0 auto;
}
.service-name h3 {
	color: #D82D2C;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.9px;
	margin: 0 0 40px 0;
}


.service-visual {
	width: 90%;
	margin: 0 0 100px auto;
}
.service-visual p img {
	width: 100%;
	height: auto;
	-moz-border-radius: 40px 0 0 0;
	-webkit-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}


.service-catch {
	width: 760px;
	margin: 0 auto 100px auto;
}
.service-catch h3 {
	color: #2B2F38;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 2.52px;
	margin: 0 0 40px 0;
}
.service-catch p {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
}


.service-price {
	width: 1100px;
	margin: 0 auto 100px auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.service-price-title {
	width: 370px;
}
.service-price-contents {
	width: 730px;
}

.service-price-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 2.1px;
}
.service-price-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}

.service-price-contents p.guide-image {
	text-align: center;
	margin: 0 0 30px 0;
}
.service-price-contents p.guide-image img {
	width: 100%;
	height: auto;
	-moz-border-radius: 0 0 0 40px;
	-webkit-border-radius: 0 0 0 40px;
	-ms-border-radius: 0 0 0 40px;
	border-radius: 0 0 0 40px;
}

.service-price-contents p.guide-txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	padding: 0 0 60px 0;
	border-bottom: 1px solid #EDF0F5;
	margin: 0 0 25px 0;
}


.service-price-list {
	width: 730px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.service-price-list-contents {
	width: 540px;
}
.service-price-list-image {
	width: 170px;
	margin: 0 0 0 20px;
}

.service-price-list-contents dl {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 0 0 30px 0;
}
.service-price-list-contents dl:last-of-type {
	margin: 0;
}
.service-price-list-contents dl dt {
	width: 400px;
	color: #2B2F38;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.54px;
	padding: 5px 0 0 0;
}
.service-price-list-contents dl dt span {
	font-size: 15px;
	letter-spacing: 0.45px;
}
.service-price-list-contents dl dd {
	width: 140px;
	color: #D82D2C;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
}
.service-price-list-contents dl dd span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.84px;
	margin: 0 3px 0 0;
}

.service-price-list-image p.image {
	text-align: center;
}
.service-price-list-image p.image img {
	width: 100%;
	height: auto;
}



.service-flow {
	width: 1100px;
	margin: 0 auto 100px auto;
}

.service-flow-title {
	margin: 0 0 40px 0;
}
.service-flow-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.service-flow-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}


.service-flow-step {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	border-top: 1px solid #EDF0F5;
	padding: 30px 0;
}
.service-flow-step:last-of-type {
	padding: 30px 0 0 0;
}
.service-flow-no {
	width: 130px;
}
.service-flow-contents {
	width: calc(100% - 130px);
}

.service-flow-no p {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.45px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
}
.service-flow-no p span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 0.84px;
	margin: 0 0 0 5px;
}

.service-flow-contents p.flow-title {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
	margin: 0 0 15px 0;
}
.service-flow-contents p.flow-txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	margin: 0 0 30px 0;
}
.service-flow-contents p.flow-image img {
	max-width: 100%;
	height: auto;
}



.service-etc {
	width: 1100px;
	margin: 0 auto 100px auto;
}

.service-etc-title {
	margin: 0 0 40px 0;
}
.service-etc-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.service-etc-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}


.service-etc-contents {
	border-top: 1px solid #EDF0F5;
	padding: 30px 0;
}
.service-etc-contents:last-of-type {
	padding: 30px 0 0 0;
}
.service-etc-contents p.etc-title {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
}
.service-etc-contents p.etc-txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
}
.service-etc-contents p:last-of-type {
	margin: 0;
}
.service-etc-contents p.etc-image img {
	max-width: 100%;
	height: auto;
}



.service-list {
	background: #FFF;
	border: 1px solid #EDF0F5;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-ms-border-radius: 10px;
	border-radius: 10px;
	padding: 25px;
	margin: 0 0 30px 0;
}
.service-list ul {}
.service-list ul li {
	list-style: disc;
	margin: 0 0 0 20px;
}
.service-list ul li ul li {
	list-style: circle;
	margin: 0 0 20px 20px;
}
.service-list ul li:last-of-type ul li {
	margin: 0 0 0 20px;
}



.service-table table.table01 {
	width: 100%;
	margin: 0 0 30px 0;
	border-collapse: collapse;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
}
.service-table table.table01 td {
	padding: 10px;
	border: 1px solid #CCC;
}


.service-boxtxt01 {
	color: #ffffff;
	background-color: #D82D2C;
	border-radius: 4px;
	padding: 3px 5px 3px 5px;
	margin: 0 10px 0 0;
}



/****************************************

	NEWS

*****************************************/
#news {
	width: 1100px;
	margin: 0 auto;
	padding: 0 0 100px 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}


#news-side {
	width: 110px;
}
#news-contents {
	width: 890px;
}


#news-category {
	padding: 45px 0 70px 0;
}
#news-category ul {
	width: 110px;
}
#news-category ul li a {
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	margin: 0 0 20px 0;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.65px;
	display: block;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
}
/*liにactiveクラスがついた時の形状*/
#news-category ul li.active a {
	background:#2B2F38;
	color: #FFF;
}
#news-category ul li:last-of-type a {
	margin: 0;
}
#news-category ul li:hover a {
	background: #2B2F38;
	color: #FFF;
}

.post-type-archive #news-category ul li:nth-of-type(1) a,
.category-products #news-category ul li:nth-of-type(2) a,
.category-media #news-category ul li:nth-of-type(3) a,
.category-etc #news-category ul li:nth-of-type(4) a,
.category-press #news-category ul li:nth-of-type(5) a {
	text-align: center;
	background: #2B2F38;
	padding: 8px 0;
	margin: 0 0 20px 0;
	color: #FFF;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.65px;
	display: block;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
}


#news-contents .news-list {}
#news-contents .news-list a {
	display: block;
	padding: 45px 0;
	border-bottom: 1px solid #EDF0F5;
	text-decoration: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#news-contents .news-list .news-list-category {
	width: 110px;
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	margin: 0 20px 0 0;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.65px;
	display: block;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
}
#news-contents .news-list .news-list-time {
	font-family: Barlow;
	width: 110px;
	padding: 6px 0;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.8px;
}
#news-contents .news-list .news-list-title {
	width: calc(100% - 240px);
	padding: 4px 0;
	color: #2B2F38;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
#news-contents .news-list a:hover .news-list-title {
	text-decoration: underline;
}



#news-detail {
	width: 960px;
	margin: 0 auto;
	padding: 40px 0 100px 0;
}

#news-detail-info {
	padding: 0 0 40px 0;
	text-decoration: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#news-detail-info .news-detail-category {
	width: 110px;
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	margin: 0 20px 0 0;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.65px;
	display: block;
	text-decoration: none;
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;
	-ms-border-radius: 100px;
	border-radius: 100px;
}
#news-detail-info .news-detail-time {
	font-family: Barlow;
	width: 110px;
	padding: 6px 0;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.8px;
}


#news-detail-title {
	padding: 0 0 40px 0;
}
#news-detail-title h1 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
}


#news-detail h2 {
	color: #D82D2C;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.78px;
	margin: 0 0 30px 0;
}
#news-detail p + h2 {
	margin: 60px 0 30px 0;
}

#news-detail h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.6px;
	margin: 0 0 30px 0;
}
#news-detail p + h3 {
	margin: 60px 0 30px 0;
}

#news-detail p {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	margin: 0 0 30px 0;
}
#news-detail img {
	max-width: 100%;
	height: auto;
	line-height: 1;
}



/****************************************

	COMPANY

*****************************************/
.company-philosophy {
	width: 1100px;
	margin: 40px auto 60px auto;
}
.company-philosophy-title {}
.company-philosophy-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.company-philosophy-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}


.company-philosophy-inner {
	background-image: url("images/top/company-vector.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: auto 745px;
	min-height: 745px;
	margin: 0 0 100px 0;
}
.company-philosophy-inner p.logo {
	text-align: center;
	padding: 50px 0 80px 0;
}

.company-philosophy-inner h4.type01 {
	width: 510px;
	margin: 0 auto;
	color: #2B2F38;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 2.52px;
	padding: 0 0 30px 0;
}
.company-philosophy-inner ul.type01 {
	width: 510px;
	margin: 0 auto;
	padding: 0 0 70px 0;
}
.company-philosophy-inner ul.type01 li {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	position: relative;
	display: block;
	padding: 0 0 0 20px;
}
.company-philosophy-inner ul.type01 li:before {
	position: absolute;
	content: '';
	top: 15px;
	left: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #2B2F38;
}

.company-philosophy-inner h4.type02 {
	width: 510px;
	margin: 0 auto;
	color: #2B2F38;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 2.52px;
	padding: 0 0 30px 0;
}
.company-philosophy-inner ul.type02 {
	width: 510px;
	margin: 0 auto;
}
.company-philosophy-inner ul.type02 li {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	position: relative;
	display: block;
	padding: 0 0 0 20px;
}
.company-philosophy-inner ul.type02 li:before {
	position: absolute;
	content: '';
	top: 15px;
	left: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #2B2F38;
}



.company-message {
	width: 1100px;
	margin: 40px auto 100px auto;
}
.company-message-title {
	padding: 0 0 60px 0;
}
.company-message-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.company-message-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}



.company-message-inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.company-message-image {
	width: 530px;
}
.company-message-contents {
	width: 470px;
}

.company-message-image p {
	text-align: center;
}
.company-message-image p img {
	-moz-border-radius: 0 0 40px 0;
	-webkit-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	border-radius: 0 0 40px 0;
	width: 100%;
	height: auto;
}

.company-message-contents p.title {
	color: #2B2F38;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 2.52px;
	margin: 60px 0 30px 0;
}
.company-message-contents p.name {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.8px;
	margin: 0 0 60px 0;
}
.company-message-contents p.name span {
	margin: 0 0 0 33px;
}
.company-message-contents p.txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2.3;
	letter-spacing: 0.48px;
	margin: 0 0 30px 0;
}
.company-message-contents p.txt:last-of-type {
	margin: 0;
}



.company-profile {
	width: 1100px;
	margin: 0 auto 100px auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.company-profile-title {
	width: 370px;
}
.company-profile-contents {
	width: 730px;
}

.company-profile-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.company-profile-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}

.company-profile-contents p.image {
	text-align: center;
	margin: 0 0 30px 0;
}
.company-profile-contents p.image img {
	-moz-border-radius: 0 40px 40px 0;
	-webkit-border-radius: 0 40px 40px 0;
	-ms-border-radius: 0 40px 40px 0;
	border-radius: 0 40px 40px 0;
	width: 100%;
	height: auto;
}

.company-profile-contents dl {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	border-bottom: 1px solid #EDF0F5;
	padding: 30px 0;
}
.company-profile-contents dl dt {
	width: 230px;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.8px;
}
.company-profile-contents dl dd {
	width: calc(100% - 230px);
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.8px;
}



.company-access {
	width: 1100px;
	margin: 0 auto 100px auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}

.company-access-title {
	width: 370px;
}
.company-access-contents {
	width: 730px;
}

.company-access-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.company-access-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}


.company-access-contents .access-map {
	text-align: center;
	margin: 0 0 20px 0;
}
/* 計算方法　長方形動画（730:440）の場合100÷730×440=60.27397260273973% に設定 */
.company-access-contents .access-map .access-map-google {
	text-align: center;
	padding: 0 0 60.27397260273973% 0;
	position: relative;
	width: 100%;
	margin: 0;
}
.company-access-contents .access-map .access-map-google iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}


.company-access-contents .access-map-info {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 0 0 30px 0;
}
.company-access-contents .access-map-info-contents {
	width: 510px;
}
.company-access-contents .access-map-info-btn {
	width: 220px;
}

.company-access-contents .access-map-info-contents p.address {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.8px;
	margin: 0 0 10px 0;
}
.company-access-contents .access-map-info-contents p.tel {
	color: #2B2F38;
	font-family: Barlow;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
}
.company-access-contents .access-map-info-contents p.tel a {
	color: #2B2F38 !important;
	text-decoration: none !important;
	margin: 0 0 0 10px;
}
.company-access-contents .access-map-info-contents p.tel a:hover {
	color: #2B2F38 !important;
	text-decoration: underline !important;
}

.company-access-contents .access-map-info-btn p a {
	text-align: right;
	color: #D82D2C;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
	display: block;
	position: relative;
	text-decoration: none !important;
}
.company-access-contents .access-map-info-btn p a::after {
	content: '';
	display: inline-block;
	width: 60px;
	height: 60px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 20px;
}
.company-access-contents .access-map-info-btn p:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}


.company-access-contents .access-map-guide {
	border-top: 1px solid #EDF0F5;
	padding: 30px 0 0 0;
}

.company-access-contents .access-map-guide dl {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	margin: 0 0 10px 0;
}
.company-access-contents .access-map-guide dl dt {
	width: 90px;
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.7px;
}
.company-access-contents .access-map-guide dl dd {
	width: calc(100% - 90px);
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.7px;
}



/****************************************

	CONTACT

*****************************************/
.contact-guide {
	width: 1100px;
	margin: 0 auto 40px auto;
}
.contact-guide p {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
}


.contact-guide-en {
	width: 1100px;
	margin: 0 auto 60px auto;
}
.contact-guide-en p {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	font-family: Barlow;
	letter-spacing: normal;
}


.contact-area {
	padding: 49px;
	background: #fff;
	border: 1px solid #EDF0F5;
	box-sizing: border-box;
	border-radius: 10px;
}
.contact-area .contact-item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	margin: 0 0 20px 0;
}
.contact-area .contact-item:last-of-type {
	margin: 0;
}
.contact-area .contact-item .contact-item-ttl {
	width: 32%;
	margin: 0 30px 0 0;
}
.contact-area .contact-item .contact-item-contents {
	width: calc((100% - 30px) - 32%);
}

.contact-area .contact-item .contact-item-ttl .contact-item-inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.contact-area .contact-item .contact-item-ttl .contact-item-inner .contact-item-inner-box01 {
	width: 75%;
	color: #272727;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}
.contact-area .contact-item .contact-item-ttl .contact-item-inner .contact-item-inner-box02 {
	width: 25%;
}

.contact-area .contact-item .contact-item-ttl .contact-item-inner .contact-item-inner-box01 span {
	display: block;
	color: #272727;
	font-size: 12px;
	font-weight: 500;
	font-family: Barlow;
	letter-spacing: normal;
}
.contact-area .contact-item .contact-item-ttl .contact-item-inner .contact-item-inner-box02 .item-required {
	background: #D82D2C;
	border-radius: 3px;
	padding: 10px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	color: #fff;
}
.contact-area .contact-item .contact-item-ttl .contact-item-inner .contact-item-inner-box02 .item-any {
	background: #6199CA;
	border-radius: 3px;
	padding: 10px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	color: #fff;
}

.contact-area .contact-item .contact-item-contents span {
	color: #272727;
	font-size: 12px;
	font-weight: 500;
	font-family: Barlow;
}


.contact-area .contact-item .contact-item-contents input[name="your-email"],
.contact-area .contact-item .contact-item-contents input[name="tel"],
.contact-area .contact-item .contact-item-contents input[name="address"],
.contact-area .contact-item .contact-item-contents input[name="zip"],
.contact-area .contact-item .contact-item-contents input[name="company"],
.contact-area .contact-item .contact-item-contents input[name="your-name"] {
	width: 100%;
	padding: 13px 20px;
	border: 1px solid #C7C7C7;
	color: #272727;
	font-size: 16px;
}
.contact-area .contact-item .contact-item-contents input[name="your-email"]:focus,
.contact-area .contact-item .contact-item-contents input[name="tel"]:focus,
.contact-area .contact-item .contact-item-contents input[name="address"]:focus,
.contact-area .contact-item .contact-item-contents input[name="zip"]:focus,
.contact-area .contact-item .contact-item-contents input[name="company"]:focus,
.contact-area .contact-item .contact-item-contents input[name="your-name"]:focus {
	border: 1px solid #272727;
	outline: 0;
}

.contact-area .contact-item .contact-item-contents textarea[name="body"] {
	width: 100%;
	padding: 13px 20px;
	border: 1px solid #C7C7C7;
	color: #272727;
	font-size: 16px;
}
.contact-area .contact-item .contact-item-contents textarea[name="body"]:focus {
	border: 1px solid #272727;
	outline: 0;
}


.wpcf7-not-valid-tip {
	color: #D82D2C !important;
	font-size: 14px !important;
}
.wpcf7-not-valid {
	border: 1px solid #D82D2C !important;
}
.contact-area .contact-item .contact-item-contents .first {
	margin: 0;
}


.contact-area-guide {
	text-align: center;
	margin: 30px 0 30px 0;
}
.contact-area-guide p {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
}
.contact-area-guide p span {
	display: block;
	font-size: 12px;
	font-family: Barlow;
	letter-spacing: normal;
}


.contact-area-btn input[type="submit"] {
	-webkit-appearance: none;
	border-radius: 0;
	vertical-align: middle;
	margin: 0 0 20px 0;
	display: block;
	outline: 0;
	cursor: pointer;
	border: none;
	margin: 0 auto;
	transition: 0.3s;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 48px;
	text-align: center;
	border: 1px solid #D82D2C;
	background: #D82D2C;
	width: 280px;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	-ms-border-radius: 50px;
	border-radius: 50px;
}
.contact-area-btn input[type="submit"]:hover {
	background: #fff;
	color: #D82D2C;
}



/****************************************

	POLICY

*****************************************/
.policy-section {
	width: 1100px;
	margin: 0 auto 100px auto;
}

.policy-section-title {
	margin: 0 0 40px 0;
}
.policy-section-title h3 {
	color: #2B2F38;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 2.1px;
}
.policy-section-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	display: block;
	letter-spacing: normal;
	margin: 10px 0 0 0;
}


.policy-section-contents {
	border-top: 1px solid #EDF0F5;
	padding: 30px 0;
}
.policy-section-contents:last-of-type {
	padding: 30px 0 0 0;
}


.policy-section-inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.policy-section-inner-image {
	width: 290px;
	margin: 0 0 0 20px;
}
.policy-section-inner-contents {
	width: calc(100% - 310px);
}


.policy-section-contents p.title {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.6px;
}
.policy-section-contents p.txt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
}
.policy-section-contents p:last-of-type {
	margin: 0;
}
.policy-section-contents p.image img {
	max-width: 100%;
	height: auto;
}



/****************************************

	以下レスポンシブ　記述終了用　削除禁止

*****************************************/
}


/* 東内追加ぶん */
.separate-2 {
	display: flex;
	flex-wrap: wrap;
}
.separate-2 > img {
	margin-right: 2em;
	margin-bottom: 2em;
}


.title_lv1 {
	color: #ffffff !important;
	padding: 4px 12px 4px 12px;
	background-color: #6699ff;
	border-radius: 4px;
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}
.title_lv2 {
	color: #6699ff !important;
	padding: 4px 0px 4px 0px;
	border-bottom: 1px solid #6699ff;
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}
.ml40{margin-left: 40px !important;}
#lowerpage-contents-inner table {
	border-collapse: collapse;
	border-top: #aaaaaa 3px solid;
	border-bottom: #aaaaaa 3px solid;
	margin-top: 1.5em;
	margin-bottom: 2em;
}
#lowerpage-contents-inner table th, #lowerpage-contents-inner table td {
	border: #aaaaaa 1px solid;
	padding: 4px 7px 4px 7px;
}

#aozora-model {
	padding-top: 30px;
	padding-bottom: 30px;
	background-image: url("/wp-content/uploads/bg_meisai64.png");
}
#aozora-model table th, #aozora-model table td, #aozora-model table {
	border: none;
}
