@charset "UTF-8";

@media screen and (max-width: 1099px){

body{
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	background-color: #FFF;
	-webkit-text-size-adjust: 100%;
}

img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

.br-sp{display:none;}
.pc{display:none !important;}
.sp{display:block !important;}



/****************************************

	header

*****************************************/
header {}
#header {
	background: #fff;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	height: 60px;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 200;
}


#header-logo {
	width: 140px;
	line-height: 1;
}
#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: 17px 24px;
	height: 60px;
}
#header-logo h1 a img {
	width: 100%;
	height: auto;
}


#header-contents {
	width: calc(100% - 140px);
	text-align: right;
	line-height: 1;
}

#header-contents #header-nav {
	display: none;
}



/*ボタン外側*/
.openbtn {
	/*ボタン内側の基点となるためrelativeを指定。
	追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
	background: #fff;
	cursor: pointer;
	width: 60px;
	height: 60px;
	position: fixed;
	z-index: 9999;/*ボタンを最前面に*/
	right: 0;
	top: 0;
}

/*ボタン内側*/
.openbtn span:nth-of-type(1) {
	top: 24px;
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 15px;
	height: 1px;
	border-radius: 5px;
	background: #D82D2C;
	width: 30px;
}
.openbtn span:nth-of-type(2) {
	top: 29px;
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 15px;
	height: 1px;
	border-radius: 5px;
	background: #D82D2C;
	width: 30px;
}
.openbtn span:nth-of-type(3) {
	top: 34px;
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 15px;
	height: 1px;
	border-radius: 5px;
	background: #D82D2C;
	width: 30px;
}


/*activeクラスが付与されると線が回転して×に*/
.openbtn.active span:nth-of-type(1) {
	top: 25px;
	left: 12px;
	transform: translateY(6px) rotate(-45deg);
	width: 60%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
	top: 37px;
	left: 12px;
	transform: translateY(-6px) rotate(45deg);
	width: 60%;
}


/*ヘッダー(SP)メニュー部分*/
#sp-nav {
	position: fixed;
	z-index: -1;
	top: 60px;
	right: 0;
	width: 100%;
	height: 100vh;
	background: #fff;
	opacity: 0;/*はじめは透過0*/
	transition: all 0.3s;
	display: none;
}

/*アクティブクラスがついたら位置を0に*/
#sp-nav.panelactive {
	opacity: 1;
	z-index: 999;
	display: block;
}
/*ナビゲーションの縦スクロール*/
#sp-nav.panelactive #sp-nav-list {
	/*ナビの数が増えた場合縦スクロール*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#sp-nav.panelactive #sp-nav-list::before {
	content: "";
	display: block;
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url("images/common/spnav-bg.svg");
	background-repeat: no-repeat;
	background-position: center top 240px;
	background-size: 268px 129px;
	pointer-events: none;
}


#sp-nav ul.type01 {
	margin: 60px 15px 60px 15px;
	text-align: left;
}
#sp-nav ul.type01 li a {
	display: block;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.8px;
	padding: 0 0 20px 0;
	text-decoration: none;
}
#sp-nav ul.type01 li a:hover {
	color: #D82D2C;
}
#sp-nav ul.type01 li:last-of-type a{
	padding: 0;
}

#sp-nav ul.type02 {
	margin: 0 15px 60px 15px;
	text-align: left;
}
#sp-nav ul.type02 li a {
	display: block;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.8px;
	padding: 0 0 20px 0;
	text-decoration: none;
}
#sp-nav ul.type02 li a:hover {
	color: #D82D2C;
}
#sp-nav ul.type02 li:last-of-type a{
	padding: 0;
}
#sp-nav ul.type02 li ul.type02-inner li a {
	display: block;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	padding: 20px 0 0 0;
	text-decoration: none;
}
#sp-nav ul.type02 li ul.type02-inner li a:hover {
	color: #D82D2C;
}

#sp-nav ul.type03 {
	margin: 0 15px 60px 15px;
	text-align: left;
}
#sp-nav ul.type03 li a {
	display: block;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.8px;
	padding: 0 0 20px 0;
	text-decoration: none;
}
#sp-nav ul.type03 li a:hover {
	color: #D82D2C;
}
#sp-nav ul.type03 li:last-of-type a{
	padding: 0;
}

#sp-nav ul.type04 {
	margin: 0 15px 110px 15px;
	text-align: left;
}
#sp-nav ul.type04 li a {
	display: block;
	color: #2B2F38;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.8px;
	padding: 0 0 20px 0;
	text-decoration: none;
}
#sp-nav ul.type04 li a:hover {
	color: #D82D2C;
}
#sp-nav ul.type04 li:last-of-type a{
	padding: 0;
}



/****************************************

	共通

*****************************************/
#lowerpage-contents {}
#lowerpage-contents a {
	color: #D82D2C;
	text-decoration: underline;
}
#lowerpage-contents a:hover {
	color: #D82D2C;
	text-decoration: none;
}

#contents-title {
	margin: 0 15px;
	padding: 130px 0 40px 0;
}
#contents-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#contents-title h2 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.4px;
}


#lowerpage-contents-inner {
	margin: 0 15px 100px 15px;
}


.breadcrumbs {
	margin: 0 15px;
	padding: 0 0 40px 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: 12px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.36px;
}
.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 {
	margin: 0 15px;
	padding: 0 0 100px 0;
}
#notfound p.txt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
	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: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.48px;
	display: block;
	position: relative;
	text-decoration: none;
}
#notfound p.btn a::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 10px;
}
#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: 13px;
}
.wp-pagenavi a {
	color: #2B2F38;
}
.pages {/* 左の表記 */
	display: none;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
	margin: 0 5px 5px 0;
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	line-height: 30px;
	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 {
	margin: 0 15px;
	padding: 60px 0 30px 0;
}


#footer-logo {
	padding: 0 0 30px 0;
	margin: 0 0 30px 0;
	border-bottom: 1px solid #EDF0F5;
}
#footer-main {}


#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: none;
}


#footer-main #footer-contents {
	padding: 0 0 30px 0;
}
#footer-main #footer-contents #footer-contents-company {
	padding: 0 0 40px 0;
}
#footer-main #footer-contents #footer-contents-group {}


#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: 100%;
	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: 100%;
	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: 100%;
	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 {}
#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: center top 40px;
	background-size: auto 425px;
	margin: 0 auto 0 auto;
}


#top-visual-contents {
	margin: 60px 15px 60px 15px;
}
#top-visual-image {
	margin: 0 0 100px 0;
}


#top-visual-contents h2 {
	padding: 65px 0 20px 0;
}
#top-visual-contents h2 img {
	width: 280px;
	height: auto;
}
#top-visual-contents p.catch {
	color: #2B2F38;
	font-size: 15px;
	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: 23px;
	font-weight: 600;
	line-height: 1.1;
	margin: 5px 0 0 15px;
}
#top-visual-name p:nth-of-type(2) {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 90px;
	font-weight: 600;
	line-height: 1.1;
	margin: -5px 0 0 15px;
}

#top-visual-name .mainVisual-scroll {
	position: absolute;
	left: 0;
	top: 0;
	transform: rotate(90deg);
	transform-origin: left bottom;
	display: block;
	width: 120px;
	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: 120px;
	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 0 0 15px;
}
#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 40px 0;
}

#top-sellingpoint-title {
	margin: 0 15px;
	padding: 60px 0 35px 0;
}
#top-sellingpoint-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	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: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-sellingpoint-box {}

#top-sellingpoint-logo {
	margin: 0 15px 40px 15px;
}
#top-sellingpoint-contents {
	margin: 0 15px;
}

#top-sellingpoint-logo p {
	text-align: center;
}
#top-sellingpoint-logo p img {
	width: 250px;
}

#top-sellingpoint-contents dl {
	margin: 0 0 20px 0;
}
#top-sellingpoint-contents dl dt {
	text-align: center;
	margin: 0 0 15px 0;
}
#top-sellingpoint-contents dl dt img {
	width: 40px;
	height: auto;
}
#top-sellingpoint-contents dl dd {
	color: #2B2F38;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
}


#top-sellingpoint-image {
	margin: 40px 0 0 15px;
	padding: 0 0 100px 0;
}
#top-sellingpoint-image ul {}
#top-sellingpoint-image ul li {
	width: 100%;
}
#top-sellingpoint-image ul li img {
	width: 100%;
	height: auto;
}



#top-service {
	background-image: url("images/top/service-vector-sp.svg");
	background-repeat: no-repeat;
	background-position: right top 130px;
	background-size: 63%;
	padding: 60px 0 0 0;
	margin: -60px 0 0 0;
}

#top-service-title {
	margin: 0 15px;
	padding: 40px 0 40px 0;
}
#top-service-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	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: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-service-contents {
	margin: 0 15px;
	padding: 0 0 40px 0;
}


.top-service-list {
	width: 100%;
	margin: 0 0 30px 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: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 15px 0 5px 0;
}
.top-service-list a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.1;
}


.top-service-list02 {
	width: 100%;
	margin: 0 0 30px 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: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 15px 0 5px 0;
}
.top-service-list02 a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.1;
}


.top-service-list03 {
	width: 100%;
	margin: 0 0 30px 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: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 15px 0 5px 0;
}
.top-service-list03 a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.1;
}


.top-service-list04 {
	width: 100%;
}
.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: 15px;
	font-weight: 700;
	line-height: 1.2;
	padding: 15px 0 5px 0;
}
.top-service-list04 a p.txt {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.1;
}



#top-products-works {
	background-image: url("images/top/products-vector-sp.svg");
	background-repeat: no-repeat;
	background-position: left top 130px;
	background-size: 63%;
}


#top-products {
	padding: 60px 0 0 0;
	margin: -60px 0 0 0;
}
#top-products-title {
	margin: 0 15px;
	padding: 40px 0 40px 0;
}
#top-products-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	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: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-products-contents {
	margin: 0 15px;
}


.top-products-sushipuramo {
	width: 100%;
	margin: 0 auto 40px 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: 15px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.72px;
	background: #D82D2C;
	padding: 12px 30px;
	position: relative;
}
.top-products-sushipuramo:hover h3 {
	background: #BA2827;
}
.top-products-sushipuramo h3::before {
	position: absolute;
	top: 13px;
	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: 100%;
	margin: 0 auto 40px auto;
}
.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: 15px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.72px;
	background: #D82D2C;
	padding: 12px 30px;
	position: relative;
}
.top-products-gomipuramo:hover h3 {
	background: #BA2827;
}
.top-products-gomipuramo h3::before {
	position: absolute;
	top: 13px;
	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: 100%;
	margin: 0 auto 40px auto;
}
.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: 15px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.72px;
	background: #D82D2C;
	padding: 12px 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: 13px;
	right: 30px;
	content: "";
	display: inline-block;
	width: 24px;
	height: 16px;
	background: url("images/top/arrow01.svg") no-repeat;
	background-size: contain;
}



#top-works {
	padding: 60px 0 0 0;
	margin: -60px 0 0 0;
}
#top-works-title {
	margin: 0 15px;
	padding: 40px 0 40px 0;
}
#top-works-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	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: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.07em;
}


#top-works-contents {
	padding: 0 0 60px 0;
}


.worksslide {
	overflow: hidden;
}
.worksslide .worksslide-inner {
	position: relative;
	-webkit-box-sizing: content-box;
					box-sizing: content-box;
	margin: 0 15px;
}
.worksslide .swiper {
	overflow: visible;
}


.worksslide .swiper-slide {
	width: 84%;
}
.worksslide .swiper-slide a {
	text-decoration: none;
}
.worksslide .swiper-slide img {
	width: 100%;
	height: auto;
}
.worksslide .swiper-slide h3 {
	color: #2B2F38;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.45px;
	padding: 15px 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: 100%;
	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 {
	gap: 30px;
	margin-top: 40px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.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-sp.jpg");
	background-repeat: repeat-x;
	background-position: center top;
	background-size: auto 562px;
	min-height: 562px;
}
#top-policy-inner {
	margin: 0 15px;
}

#top-policy-title {
	padding: 0 0 78px 0;
}
#top-policy-title h2 span {
	color: #FFF;
	font-family: Barlow;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	padding: 60px 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-policy-title h2 {
	color: #FFF;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
}

#top-policy-contents {}
#top-policy-contents h3 {
	color: #FFF;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.2px;
	padding: 0 0 20px 0;
}
#top-policy-contents p.txt {
	color: #FFF;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.42px;
	padding: 0 0 110px 0;
}

#top-policy-contents p.btn a {
	text-align: right;
	color: #FFF;
	font-size: 16px;
	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: 40px;
	height: 40px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 10px;
}
#top-policy-contents p.btn:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}



#top-news {}
#top-news-inner {
	margin: 0 15px;
	padding: 80px 0 80px 0;
}


#top-news-side {}
#top-news-contents {}


#top-news-title {
	padding: 0 0 40px 0;
}
#top-news-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-news-title h2 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
}


#top-news-category {
	padding: 0 0 40px 0;
}
#top-news-category 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;
}
#top-news-category ul li {
	width: 31%;
	margin: 0 3.5% 3.5% 0;
}
#top-news-category ul li:nth-of-type(3n) {
	margin: 0 0 3.5% 0;
}
#top-news-category ul li a {
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	display: block;
	color: #2B2F38;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
	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 {
	text-align: right;
	margin: 40px 0 0 0;
}
#top-news-btn a {
	color: #D82D2C;
	font-size: 16px;
	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: 40px;
	height: 40px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 10px;
}
#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: 20px 0;
	border-bottom: 1px solid #EDF0F5;
	text-decoration: none;
	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;
}
#top-news-contents .news-list:first-of-type a {
	border-top: 1px solid #EDF0F5;
}
#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: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
	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: calc(100% - 130px);
	padding: 6px 0;
	color: #2B2F38;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.8px;
}
#top-news-contents .news-list .news-list-title {
	padding: 15px 0 0 0;
	color: #2B2F38;
	font-size: 13px;
	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 25px;
	background-size: auto 400px;
	margin: 0 0 25px 0;
}

#top-company-title {
	margin: 0 15px;
	padding: 0 0 35px 0;
}
#top-company-title h2 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 40px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#top-company-title h2 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
}


#top-company-inner {
	margin: 0 15px;
	padding: 0 0 40px 0;
}
#top-company-logo {
	margin: 0 0 40px 0;
}
#top-company-contents {}

#top-company-logo p {
	text-align: center;
}
#top-company-logo p img {
	height: 92px;
}
#top-company-contents p.txt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.7px;
	padding: 0 0 40px 0;
}
#top-company-contents p.btn a {
	text-align: right;
	color: #D82D2C;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.48px;
	display: block;
	position: relative;
	text-decoration: none;
	padding: 0 0 40px 0;
}
#top-company-contents p.btn a::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 10px;
}
#top-company-contents p.btn:hover a::after {
	background-image: url("images/common/arrow-btn01-hover.svg");
}



#cta {}


#cta-contact {
	width: 100%;
	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: 15px;
	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: 24px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#cta-contact .title-box h2 {
	pointer-events: none;
	color: #FFF;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.68px;
}

#cta-contact .btn {
	position: absolute;
	bottom: 15px;
	right: 15px;
	z-index: 100;
}
#cta-contact .btn::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	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: 100%;
	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: 15px;
	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: 24px;
	font-weight: 600;
	line-height: 1.1;
	padding: 0 0 10px 0;
	display: block;
	letter-spacing: normal;
}
#cta-recruit .title-box h2 {
	pointer-events: none;
	color: #FFF;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.68px;
}

#cta-recruit .btn {
	position: absolute;
	bottom: 15px;
	right: 15px;
	z-index: 100;
}
#cta-recruit .btn::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	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 {
	margin: 0 15px;
}
.service-name h3 {
	color: #D82D2C;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.6px;
	margin: 0 0 30px 0;
}


.service-visual {
	margin: 0 0 40px 15px;
}
.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 {
	margin: 0 15px 80px 15px;
}
.service-catch h3 {
	color: #2B2F38;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1.68px;
	margin: 0 0 30px 0;
}
.service-catch p {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
}


.service-price {
	margin: 0 15px 80px 15px;
}

.service-price-title {
	margin: 0 0 30px 0;
}
.service-price-contents {}

.service-price-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.4px;
}
.service-price-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48px;
	padding: 0 0 40px 0;
	border-bottom: 1px solid #EDF0F5;
	margin: 0 0 25px 0;
}


.service-price-list {}

.service-price-list-contents {}
.service-price-list-image {
	text-align: center;
	width: 170px;
	margin: 0 auto;
}

.service-price-list-contents dl {
	margin: 0 0 30px 0;
}
.service-price-list-contents dl dt {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.48px;
	padding: 0 0 10px 0;
}
.service-price-list-contents dl dt span {
	font-size: 12px;
	letter-spacing: 0.36px;
}
.service-price-list-contents dl dd {
	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 {
	margin: 0 15px 80px 15px;
}

.service-flow-title {
	margin: 0 0 30px 0;
}
.service-flow-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1.4px;
}
.service-flow-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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: 70px;
}
.service-flow-contents {
	width: calc(100% - 70px);
}

.service-flow-no p {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.36px;
	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: 20px;
	font-weight: 500;
	letter-spacing: 0.6px;
	margin: 0 0 0 5px;
}

.service-flow-contents p.flow-title {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.48px;
	margin: 0 0 12px 0;
}
.service-flow-contents p.flow-txt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
	margin: 0 0 20px 0;
}
.service-flow-contents p.flow-image img {
	max-width: 100%;
	height: auto;
}



.service-etc {
	margin: 0 15px 80px 15px;
}

.service-etc-title {
	margin: 0 0 30px 0;
}
.service-etc-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1.4px;
}
.service-etc-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.48px;
}
.service-etc-contents p.etc-txt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
}
.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: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
}
.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 {
	margin: 0 15px;
	padding: 0 0 100px 0;
}


#news-side {}
#news-contents {}


#news-category {
	padding: 0 0 40px 0;
}
#news-category 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;
}
#news-category ul li {
	width: 31%;
	margin: 0 3.5% 3.5% 0;
}
#news-category ul li:nth-of-type(3n) {
	margin: 0 0 3.5% 0;
}
#news-category ul li a {
	text-align: center;
	background: #EDF0F5;
	padding: 8px 0;
	color: #2B2F38;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
	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;
	color: #FFF;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
	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: 20px 0;
	border-bottom: 1px solid #EDF0F5;
	text-decoration: none;
	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;
}
#news-contents .news-list:first-of-type a {
	border-top: 1px solid #EDF0F5;
}
#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: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
	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: calc(100% - 130px);
	padding: 6px 0;
	color: #2B2F38;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.8px;
}
#news-contents .news-list .news-list-title {
	padding: 15px 0 0 0;
	color: #2B2F38;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}
#news-contents .news-list a:hover .news-list-title {
	text-decoration: underline;
}



#news-detail {
	margin: 0 15px;
	padding: 0 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: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.6px;
	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: calc(100% - 130px);
	padding: 6px 0;
	color: #2B2F38;
	font-size: 14px;
	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: 20px;
	font-weight: 700;
	line-height: 1.4;
}


#news-detail h2 {
	color: #D82D2C;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.54px;
	margin: 0 0 30px 0;
}
#news-detail p + h2 {
	margin: 40px 0 20px 0;
}

#news-detail h3 {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.48px;
	margin: 0 0 20px 0;
}
#news-detail p + h3 {
	margin: 40px 0 20px 0;
}

#news-detail p {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
	margin: 0 0 20px 0;
}
#news-detail img {
	max-width: 100%;
	height: auto;
	line-height: 1;
}



/****************************************

	COMPANY

*****************************************/
.company-philosophy {
	margin: 20px 15px 40px 15px;
}
.company-philosophy-title {}
.company-philosophy-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.4px;
}
.company-philosophy-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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 537px;
	min-height: 537px;
	margin: 0 0 80px 0;
}
.company-philosophy-inner p.logo {
	text-align: center;
	padding: 50px 0 40px 0;
}
.company-philosophy-inner p.logo img {
	width: 275px;
}

.company-philosophy-inner h4.type01 {
	margin: 0 15px;
	color: #2B2F38;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.68px;
	padding: 0 0 20px 0;
}
.company-philosophy-inner ul.type01 {
	margin: 0 15px;
	padding: 0 0 40px 0;
}
.company-philosophy-inner ul.type01 li {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
	position: relative;
	display: block;
	padding: 0 0 0 20px;
}
.company-philosophy-inner ul.type01 li:before {
	position: absolute;
	content: '';
	top: 12px;
	left: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #2B2F38;
}

.company-philosophy-inner h4.type02 {
	margin: 0 15px;
	color: #2B2F38;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.68px;
	padding: 0 0 20px 0;
}
.company-philosophy-inner ul.type02 {
	margin: 0 15px;
	padding: 0 0 40px 0;
}
.company-philosophy-inner ul.type02 li {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
	position: relative;
	display: block;
	padding: 0 0 0 20px;
}
.company-philosophy-inner ul.type02 li:before {
	position: absolute;
	content: '';
	top: 12px;
	left: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #2B2F38;
}



.company-message {
	margin: 0 15px 80px 15px;
}
.company-message-title {
	padding: 0 0 30px 0;
}
.company-message-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.4px;
}
.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 {}
.company-message-image {}
.company-message-contents {}

.company-message-image p {
	text-align: center;
	margin: 0 0 30px 0;
}
.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: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1.68px;
	margin: 0 0 30px 0;
}
.company-message-contents p.name {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.7px;
	margin: 0 0 30px 0;
}
.company-message-contents p.name span {
	margin: 0 0 0 20px;
}
.company-message-contents p.txt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
	margin: 0 0 30px 0;
}
.company-message-contents p.txt:last-of-type {
	margin: 0;
}



.company-profile {
	margin: 0 15px 80px 15px;
}

.company-profile-title {
	margin: 0 0 30px 0;
}
.company-profile-contents {}

.company-profile-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.4px;
}
.company-profile-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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 20px 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 {
	border-bottom: 1px solid #EDF0F5;
	padding: 20px 0;
}
.company-profile-contents dl dt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.7px;
	margin: 0 0 12px 0;
}
.company-profile-contents dl dd {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.7px;
}



.company-access {
	margin: 0 15px 100px 15px;
}

.company-access-title {
	margin: 0 0 30px 0
}
.company-access-contents {}

.company-access-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 1.4px;
}
.company-access-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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 {
	margin: 0 0 30px 0;
}
.company-access-contents .access-map-info-contents {
	margin: 0 0 30px 0;
}
.company-access-contents .access-map-info-btn {}

.company-access-contents .access-map-info-contents p.address {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.7px;
	margin: 0 0 10px 0;
}
.company-access-contents .access-map-info-contents p.tel {
	color: #2B2F38;
	font-family: Barlow;
	font-size: 14px;
	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: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.48px;
	display: block;
	position: relative;
	text-decoration: none !important;
}
.company-access-contents .access-map-info-btn p a::after {
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	background-image: url("images/common/arrow-btn01.svg");
	background-size: contain;
	vertical-align: middle;
	margin: 0 0 0 10px;
}
.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: 75px;
	color: #2B2F38;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.6px;
}
.company-access-contents .access-map-guide dl dd {
	width: calc(100% - 75px);
	color: #2B2F38;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.6px;
}



/****************************************

	CONTACT

*****************************************/
.contact-guide {
	margin: 0 auto 30px auto;
}
.contact-guide p {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
}


.contact-guide-en {
	margin: 0 auto 40px auto;
}
.contact-guide-en p {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	font-family: Barlow;
	letter-spacing: normal;
}


.contact-area {
	padding: 24px;
	background: #fff;
	border: 1px solid #EDF0F5;
	box-sizing: border-box;
	border-radius: 10px;
}
.contact-area .contact-item {
	margin: 0 0 30px 0;
}
.contact-area .contact-item:last-of-type {
	margin: 0;
}
.contact-area .contact-item .contact-item-ttl {
	margin: 0 0 10px 0;
}
.contact-area .contact-item .contact-item-contents {}

.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: 10px;
	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: 14px;
	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: 100%;
	-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 {
	margin: 0 0 80px 0;
}

.policy-section-title {
	margin: 0 0 40px 0;
}
.policy-section-title h3 {
	color: #2B2F38;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1.4px;
}
.policy-section-title h3 span {
	color: #D82D2C;
	font-family: Barlow;
	font-size: 10px;
	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 {}
.policy-section-inner-image {
	text-align: center;
	margin: 0 0 20px 0;
}
.policy-section-inner-contents {}


.policy-section-contents p.title {
	color: #2B2F38;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.48px;
}
.policy-section-contents p.txt {
	color: #2B2F38;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.42px;
}
.policy-section-contents p:last-of-type {
	margin: 0;
}
.policy-section-contents p.image img {
	max-width: 100%;
	height: auto;
}



/****************************************

	以下レスポンシブ　記述終了用　削除禁止

*****************************************/
}
