@charset "utf-8";

/* -------------------------------------------------
layout
----------------------------------------------------*/
.w-100 {
	width: 100%;
	height: auto;
}
.space {
	padding: 16px;
}
.sp {
	display: block;
}
.pc {
	display: none;
}
/* ===== header ===== */
header {
	position: absolute;
	z-index: 1000;
	width: 100%;
}

.head-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: auto;
	padding: 30px 4%;
}

.logo {
	width: 200px;
}

.logo-bk {
	display: none;
}

.h-logo {
	display: inline-block;
}

.header-r {
	position: absolute;
	top: 25px;
	right: 15px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.icon-contact {
	width: 36px;
	margin-right: 25px;
}

.sp-nav-area {
	width: 27px;
}

.menu-trigger {
	display: block;
	text-indent: 100%;
	white-space: pre;
	overflow: hidden;
	width: 27px;
	height: 27px;
	background: url("../images/sp_nav_open_w.png") no-repeat 0 0;
	background-size: 100%;
}

.sp-nav-area.active .menu-trigger {
	width: 28px;
	height: 28px;
	background: url("../images/sp_nav_close_w.png") no-repeat 0 0;
	background-size: 100%;
}

.btn-contact-sp {
	display: none;
}
.clone-h .btn-contact-sp {
	display: block;
}
.clone-h .btn-contact-pc {
	display: none;
}

/* ===== main visual ===== */
.fv {
	position: relative;
	width: 100%;
}
.header-title,
.header-subtitle {
	position: absolute;
	right: 20px;
	color: #ffffff;
	z-index: 999;
}
.header-title {
	font-size: 7vw;
	font-style: italic;
}
.header-title {
	top: 75%;
}
.header-subtitle {
	top: 85%;
	font-size: 2.5vw;
	letter-spacing: 2px;
}

.fv:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}

.fv:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 126px;
	background: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.6));
}

.mv-wrap {
	position: relative;
	top: 0;
	left: 0;
}

.mv-wrap,
.mv-slider,
.mv-slider li,
.mv-slider li a,
.mv-slider li a img {
	width: 100%;
	height: 100%;
}

.mv-wrap li {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* ===== global nav ===== */
#g-nav {
	display: none;
}

.logo-bk,
.logo-rd {
	display: none;
}

.sp-g-nav {
	position: relative;
	z-index: 100;
	width: 100%;
	height: calc(100vh - 75px);
	display: none;
	padding: 25px 0 35px;
	text-align: center;
	background-color: rgba(200, 62, 74, 0.9);
}

.sp-g-nav-body {
	height: 100%;
	overflow-y: scroll;
}

.sp-g-nav li a.no-sub {
	display: block;
	width: 90%;
	padding: 20px 0;
	margin: 0 auto;
	background: url("../images/sp_list_style.png") no-repeat center right 8px;
	background-size: 9px;
	border-bottom: 1px solid #fff;
}
.sp-g-nav li a {
	border-bottom: 1px solid #fff;
	display: block;
	width: 90%;
	padding: 20px 0;
	margin: 0 auto;
	z-index: 99999;
}

.sp-g-nav li span.parent-nav {
	background: url("../images/sp_nav_open02.png") no-repeat center right 8px;
	background-size: 13.5px;
	height: 15px;
	width: 20%;
	top: 38px;
	position: relative;
	right: -145px;
	z-index: 1;
}

.sp-g-nav li span.parent-nav.close {
	background: url("../images/sp_nav_close02.png") no-repeat center right 8px;
	background-size: 13.5px;
	height: 15px;
	width: 20%;
	top: 38px;
	position: relative;
	right: -145px;
	z-index: 1;
}

.sp-g-nav span {
	display: inline-block;
	vertical-align: middle;
	line-height: 1.3;
}

.sp-g-nav .main-nav {
	width: 36%;
	font-family: "Futura Bk BT";
	font-size: 0.9375rem;
	text-align: right;
	color: #fff;
}
.sp-g-nav .sub-nav {
	width: 58%;
	margin-left: 15px;
	font-size: 0.5625rem;
	text-align: left;
	color: #fff;
}

ul.child {
	display: none;
	background: rgba(200, 62, 74, 0.8);
}

/*clone-h*/
.clone-h {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	transition: all 0.3s ease-in-out;
	transform: translateY(-100%);
}

.is-show {
	transform: translateY(0);
}

.clone-h .logo-wt {
	display: none;
}
.clone-h .logo-rd {
	display: block;
}

.clone-h #g-nav li a:not(.btn-cnt) {
	color: #000;
}

.clone-h .menu-trigger {
	background: url("../images/sp_nav_open_red.png") no-repeat 0 0;
	background-size: 100%;
}

.clone-h .sp-nav-area.active .menu-trigger {
	background: url("../images/sp_nav_close_red.png") no-repeat 0 0;
	background-size: 100%;
}

/* ===== footer ===== */
footer {
	padding: 25px 0 0;
	background-color: #1f1f1f;
}

.foot-top {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 40px 4% 30px;
	margin: auto;
}

.f-logo {
	width: 98.5px;
	height: 98.5px;
	margin-right: 15px;
}

.f-conts-r {
	width: 66%;
}

#f-nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#f-nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

#f-nav ul * {
	color: #fff;
}

#f-nav li:not(:nth-last-of-type(1)):after {
	content: "|";
	margin: 0 7px;
}

#f-nav li a {
	display: inline-block;
	font-family: "Futura Bk BT";
	font-size: 0.84375rem;
}

.c-i-ttl {
	margin-bottom: 16px;
	font-family: "Futura Bk BT";
	font-size: 1.25rem;
	color: #fff;
}

.c-i-add {
	display: flex;
	flex-wrap: wrap;
}

.c-i-add-l,
.c-i-add-r {
	position: relative;
	width: 100%;
}

.c-i-add p {
	font-size: 0.5625rem;
	line-height: 1.6;
}

.office-name {
	color: #f68d20;
}

.office-add {
	width: 80%;
	color: #fff;
}

.office-add .pc-block {
	display: none;
}
.office-add a {
	color: #fff;
}
.office-tel-btn {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 36px;
}

.foot-bottom {
	background-color: #2f2f2f;
}

.copy {
	padding: 15px 0;
	font-size: 0.5625rem;
	text-align: center;
	color: #fff;
}

/*pageTop*/

/* ====================================
index.html
====================================== */
.sec-ttl,
.sec-ttl-jp {
	text-align: center;
}

.sec-ttl {
	margin-bottom: 10px;
}

.sec-ttl-assist {
	display: inline-block;
	font-family: "Futura Bk BT";
	font-size: 1.8125rem;
}

.sec-ttl-assist:before {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	margin: 0 auto 18px;
	background-color: #000;
	transform: translateX(0.05em);
}

.sec-ttl-jp {
	font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
	font-size: 0.5625rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}

/* ===== 当社のビジョン ===== */
.top-sec-1 {
	position: relative;
	padding-top: 30px;
	padding-bottom: 65px;
	background: url("../images/top_conts_img01.png") no-repeat center bottom;
	background-size: 100%;
}

.vis-img {
	position: absolute;
}

.vis-img-1 {
	top: 24px;
	left: 0;
	width: 106px;
}

.vis-img-2 {
	top: 0;
	right: 0;
	width: 112px;
}

.vis-img-2-2 {
	top: auto;
	bottom: -10px;
	right: 0;
	width: 112px;
}

.top-sec-1 .sec-ttl-jp {
	margin-bottom: 15px;
}

.vis-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 25px;
}

.vis-main * {
	font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
	font-weight: 900;
}

.vis-main p {
	font-size: 0.91125rem;
}
.vis-main p:nth-of-type(1) {
	display: block;
	width: 100%;
	margin-bottom: 10px;
	text-align: center;
}

.vis-main .fst-chld {
	font-size: 3.24rem;
}

.vis-txt {
	font-size: 0.84375rem;
	line-height: 1.4;
	text-align: center;
}

/* ===== 事業内容 ===== */
.top-sec-2 {
	padding: 25px 0;
	background: url("../images/top_conts_bg@sp.jpg") no-repeat center center;
	background-size: cover;
}

.top-sec-2 .sec-ttl-assist,
.top-sec-2 .sec-ttl-jp {
	color: #fff;
}

.top-sec-2 .sec-ttl-assist::before {
	background-color: #fff;
}

.top-sec-2 .sec-ttl-jp {
	margin-bottom: 35px;
}

.prd-img {
	width: 92%;
	margin: 0 auto 24px;
}

.prd-txt {
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
	color: #fff;
	letter-spacing: 0.25rem;
}

.prd-txt .pc-block {
	display: none;
}

/* ===== 事業内容（詳細） ===== */
.ser-txt-img {
	display: none;
}

.ser-sec {
	position: relative;
}

.ser-sec-even {
	flex-direction: row-reverse;
}

.ser-num {
	position: absolute;
	top: 0;
	left: 0;
	padding-left: 30px;
	font-family: "Futura Bk BT";
	font-size: 4.3rem;
	color: rgba(255, 255, 255, 0.8);
	border-bottom: 3px solid rgba(255, 255, 255, 0.8);
}

.ser-img {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
}
.ser-sec-1 .ser-img {
	padding-top: 41vw;
	background-image: url("../images/top_conts_img05@sp.png");
}
.ser-sec-2 .ser-img {
	padding-top: 43vw;
	background-image: url("../images/top_conts_img06@sp.png");
}
.ser-sec-3 .ser-img {
	padding-top: 41vw;
	background-image: url("../images/top_conts_img07@sp.png");
}
.ser-sec-4 .ser-img {
	padding-top: 43vw;
	background-image: url("../images/top_conts_img08@sp.png");
}
.ser-sec-5 .ser-img {
	padding-top: 44vw;
	background-image: url("../images/top_conts_img09@sp.png");
}
.ser-sec-6 .ser-img {
	padding-top: 42vw;
	background-image: url("../images/top_conts_img10@sp.png");
}

.ser-conts {
	padding: 0 9% 24px;
}

.ser-conts-in {
	width: 100%;
}

.ser-ttl,
.ser-ttl * {
	font-family: "a-otf-midashi-go-mb31-pr6n", sans-serif;
	font-weight: 900;
}

.ser-ttl {
	margin-bottom: 17px;
	font-size: 1.15rem;
	line-height: 1.2;
	letter-spacing: 0.025em;
}

.ser-ttl .pc-block {
	display: none;
}

.ser-assist {
	font-size: 2.1875rem;
}

.ser-assist-2 {
	font-size: 1.15rem;
	letter-spacing: 0.025rem;
}

.ser-txt {
	margin-bottom: 22px;
	font-size: 0.84375rem;
	line-height: 1.4;
}

.btn-ser {
	display: inline-block;
	padding: 14px 30px;
	font-family: "Futura Bk BT";
	font-size: 0.701875rem;
	border-width: 1px;
	border-style: solid;
}
.btn-ser-1 {
	color: #5c77b1;
	border-color: #5c77b1;
}
.btn-ser-2 {
	color: #f68d20;
	border-color: #f68d20;
}
.btn-ser-3 {
	color: #65a04d;
	border-color: #65a04d;
}
.btn-ser-4 {
	color: #c83e4a;
	border-color: #c83e4a;
}
.btn-ser-5 {
	color: #a7a2a5;
	border-color: #a7a2a5;
}
.btn-ser-6 {
	color: #945693;
	border-color: #945693;
}

/* ===== ニュースリリース/ブログ ===== */
.top-sec-4 {
	padding: 25px 0;
	margin-bottom: 25px;
	background-color: #eff1f7;
}

.top-sec-4 .sec-ttl-jp {
	margin-bottom: 15px;
}

.top-news-lists {
	width: 92%;
	margin: auto;
}
.top-news-lists .list {
	border-bottom: 3px solid #ffffff;
}

.top-news-lists .excerpt {
	width: unset;
}

.t-n-box {
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0;
}

.t-n-box:not(:nth-last-of-type(1)) {
	border-bottom: 2px solid #fff;
}

.t-n-img {
	display: flex;
	justify-content: center;
	width: 34.7%;
	height: 32vw;
	margin-right: 15px;
	overflow: hidden;
}

.t-n-img img {
	width: auto;
	height: 100%;
}

.t-n-r {
	position: relative;
	width: 60%;
	padding-bottom: 40px;
}

.cat-date {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 15px;
}

.cat-date .cat {
	display: inline-block;
	width: 50px;
	padding: 2px 0;
	margin-right: 12px;
	font-family: "Futura Bk BT";
	font-size: 0.63rem;
	text-align: center;
	color: #fff;
}

.cat-date .date {
	font-size: 0.65625rem;
	color: #7f7f7f;
}
.cat-date .cat-news {
	background-color: #d3656e;
}
.cat-date .cat-release {
	background-color: #65a04d;
}
.cat-date .cat-blog {
	background-color: #5c77b1;
}

.t-n-ttl {
	margin-bottom: 6px;
	font-size: 0.78125rem;
	font-weight: bold;
}

.t-n-txt {
	margin-bottom: 6px;
	font-size: 1.4rem;
	line-height: 1.5;
}

.link-detail {
	padding: 8px 10px;
	font-family: "Futura Bk BT";
	font-size: 0.7128125rem;
	border: 1px solid #000;
	transition: all.3s ease-in-out;
	color: #000;
}

.t-n-box .link-detail {
	display: inline-block;
	position: absolute;
	bottom: 0;
}

/* ===== 実績 ===== */
.top-sec-5 {
	border-bottom: 1px solid #dfdfdf;
}

.top-sec-5 .sec-ttl-jp {
	margin-bottom: 25px;
}

.rslt-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 20px;
}

.rslt-box {
	width: 280px;
	margin: 0 10px;
	text-align: center;
}

.rslt-img {
	width: 100%;
	margin-bottom: 22px;
}

.rslt-date {
	margin-bottom: 14px;
	font-size: 0.65625rem;
	color: #7f7f7f;
}

.rslt-ttl {
	margin-bottom: 20px;
	font-size: 0.75rem;
}

.rslt-box .link-detail {
	display: inline-block;
}

ul.my-dots {
	display: flex;
	justify-content: center;
}

ul.my-dots li {
	margin: 0 10px;
}

ul.my-dots li button {
	padding: 0;
	border: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	color: transparent;
	-webkit-appearance: none;
}

#js-slide__nav__inner ul.my-dots li button {
	background-color: rgba(45, 61, 80, 0.5);
}

ul.my-dots li.slick-active button {
	background-color: rgba(255, 255, 255, 1);
}

#js-slide__nav__inner ul.my-dots li.slick-active button {
	background-color: rgba(45, 61, 80, 1);
}

/* ===== 企業ロゴ ===== */
.top-sec-6 {
	width: 92%;
	padding: 20px 0 10px;
	margin: auto;
}

.logo-area ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.logo-area li {
	width: 33.33333%;
	margin-bottom: 30px;
}

.vis-txt .pc-block {
	display: none;
}
