

@import url("https://use.typekit.net/ewh4nux.css");

/*==============================================
global
==============================================*/
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: none;
  font-size: 62.5%;
}


body {
  margin: 0;
  padding: 0;
  line-height: 1.8;
  color: #000;
  font-size: 1.5rem;
	background: #fff;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	letter-spacing:0.05em;
}

body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}

body::after {
  content:"";
  background: url(/_assets/img/bg_company.jpg) center top;
  background-size: cover;
  position: fixed;
  z-index:-1;
  top:0;
  left:0;
  width: 100%;
  height: 100vh;
}

@media all and (-ms-high-contrast:none) {
	body {
		font-family: 'MS PMincho','ＭＳ Ｐ明朝',serif;
	}
}


* {
	box-sizing: border-box;
	/* word-break:break-all; */
}

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, form, button, figure, figcaption {
  padding: 0;
  margin: 0;
	font-weight: normal;
	letter-spacing:0.05em;
}


li {
  list-style-type: none;
}

button {
	appearance:unset;
	border: none;
	background: none;
}

img {
  border: none;
  vertical-align: top!important;
  max-width: 100%;
}


._pc {
  display: inline!important;
}

._sp {
  display: none!important;
}


._main {
	/* padding: 130px 0 100px; */
	/* width: 80%;
	margin: 0 auto;
	max-width: 1300px; */
	display: block;
	position: relative;
  transition: 0.1s ease-in-out;
}

/* ._main::before {
	width: 100%;
	content: '';
	height: 100px;
	background: #fff;
	top:0;
	left:0;
	padding-top:100px;
} */

body.fixed ._main {
	filter:blur(5px);
	opacity: 0.85;
}

._inner {
	width: 85%;
	margin: 0 auto;
	max-width: 1200px;
}


/* ._grid {
	margin:-5em 0 0 22em;
} */


._indent {
  text-indent:-1em;
  padding-left:1em;
}

._box {
	padding: 70px;
  box-shadow: 0 0 2em rgba(0, 0, 0, 0.05);
	background: #fff;
}

._tit {
	font-size: 3.2rem;
	font-family: trajan-pro-3,serif;
	font-weight: 400;
	text-align: left;
	margin-bottom: 1em;
	letter-spacing: 0.2em;
	color: #e7241d;
	text-align: center;
}

._fadeup {
	opacity: 0;
	transform: translateY(30px);
  transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1);
}

._fadeup--ison {
	opacity: 1;
	transform: translateY(0);
}



/*==============================================
a
==============================================*/
a, a img {
  color: #e7241d;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

a:visited {
  color: #e7241d;
  text-decoration: none;
}

a:hover {
  color: #e7241d;
}

a:active {
  color: #e7241d;
}

a:hover img {
	opacity: 0.8;
}

._link, ._link:visited {
	color: #000;
	border-bottom:1px solid #000;
	padding-bottom:.2em;
}

._link--no-underline, ._link--no-underline:visited {
	border-bottom:1px solid #fff;
}

._link:hover,
._link--no-underline:hover {
	color: #e7241d;
	border-bottom:1px solid #e7241d;
}

._btn, ._btn:visited {
	color: #e7241d;
  text-decoration: none;
  letter-spacing: 0.1em;
  border: 1px solid #e7241d;
  transition: 0.3s ease-in-out;
  padding: 1em 2em;
  background: #fff;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size: 1.6rem;
}

._btn:hover {
  background: #e7241d;
	color: #fff;
	cursor: pointer;
}


/*==============================================
header & nav (PC)
==============================================*/
.header-btns-list {
	display: flex;
	justify-content: end;
}

.header-logo {
	position: fixed;
	width: 145px;
	top:30px;
	left:40px;
	z-index: 10;
}

.header-btns {
	/* position: fixed;
	top:40px;
	right:40px; */
	/* z-index: 10; */
}

.header-btns-item--contact {
	width: 32px;
	position: fixed;
	z-index: 10;
	top:40px;
	right:90px;
}

.header-btns-item--menu {
	position: fixed;
	z-index: 20;
	top:40px;
	right:40px;
}

.header-btns-item--menu a,
.header-btns-item--menu a span {
  display: inline-block;
  transition: transform .4s;
}

.header-btns-item--menu a {
  position: relative;
  width: 30px;
  height: 20px;
  cursor: pointer;
}

.header-btns-item--menu a span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #e7241d;
  border-radius: 4px;
}

.header-btns-item--menu a span:nth-of-type(1) {
  top: 0;
}
.header-btns-item--menu a span:nth-of-type(2) {
  top: 9px;
}
.header-btns-item--menu a span:nth-of-type(3) {
  bottom: 0;
}

.header-btns-item--menu a.menu--ison span {
  background: #fff;
}

.header-btns-item--menu a.menu--ison span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.header-btns-item--menu a.menu--ison span:nth-of-type(2) {
  opacity: 0;
}
.header-btns-item--menu a.menu--ison span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.header-btns-item--menu a.menu--istransparent span {
  background: #fff;
}



/*==============================================
nav (PC)
==============================================*/
.nav {
	background: rgba(222, 5, 20, 0.95);
	position: fixed;
	width: 30%;
	min-width: 18em;
	height: 100vh;
	top:0;
	right:0;
	z-index: 15;
	text-align: center;
	transform: translateX(100%);
	transition: none;
}

.nav--ison {
	transform: translateX(0);
  transition: 1s all cubic-bezier(0.19, 1, 0.22, 1);
}

.nav-list {
	position: relative;
	top:50%;
	transform: translateY(-50%);
	z-index: 20;
	padding: 0 1em;
}


.nav-item {
	margin-bottom: 2em;
}

.nav-item a, .nav-item a:visited {
	color: #fff;
	font-size: 2.3rem;
	font-family: trajan-pro-3,serif;
	font-weight: 400;
	letter-spacing: 0.15em;
	position: relative;
	text-transform: uppercase;
}

.nav-close {
	position: absolute;
	top:40px;
	right:40px;
}

.nav-close a {
	display: block;
}

.nav-close img {
	width: 30px;
}

/*hover*/
.nav-item a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}

.nav-item a:hover::before {
	transform: scale(1);
}



/*==============================================
home (PC)
==============================================*/
.home__kv {
	height: 100vh;
	height: 100dvh;
	position: relative;
	background: #fff;
	max-height: 1100px;
}

.home__kv-bg {
	height: 100vh;
	height: 100dvh;
	position: relative;
	max-height: 1100px;
}

.home__kv-copy {
	position: absolute;
	width: 100%;
	top:50%;
	text-align: center;
	transform: translateY(-50%);
	font-size: 4rem;
	font-family: trajan-pro-3,serif;
	font-weight: 400;
	letter-spacing: 0.15em;
	color: #fff;
	padding: 0 5%;
	line-height: 1.5;
}

.vegas-slide-inner {
	/* background-position: center top!important; */
}

.home__kv-line {
	position: absolute;
	left:0;
	bottom:-5%;
	width: 100%;
	text-align: center;
	z-index: 5;
}

.home__kv-arrow {
  width: 2px;
  height: 100px;
  margin: 0 auto 0;
  background-color:transparent;
  position: relative;
  overflow: hidden;
  opacity:1;
}

.home__kv-arrow::before {
  content: '';
  width: 1px;
  height: 100px;
  margin: 0 auto 0;
  background-color: #DE0514;
  position: absolute;
  top: -100px;
  left: 0;
  animation: arrow 2.5s ease 0s infinite normal;
  opacity: 1;
}

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(0, 100px, 0);
    transform: translate3d(0, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 80px, 0);
    transform: translate3d(0, 100px, 0);
  }
}

.home__links {
	padding: 10em 0 5em;
	background: #fff;
}

.home__links-box {
	margin-bottom:10em;
}

.home__links-box a, .home__links-box a:visited {
	display: flex;
	justify-content: space-between;
}

.home__links-l {
	width: 53%;
}

.home__links-r {
	width: 42%;
}

.home__links-tit {
	transition-delay: .5s;
	margin-bottom: 1em;
	line-height: 1.2;
}

.home__links-copy {
	color: #000;
	margin-bottom: 3em;
	padding: 0 2em;
	transition-delay: .7s;
}

.home__links-box--about {
	margin-bottom: 0;
}

.home__links-box--about a, .home__links-box--about a:visited {
	flex-direction:row-reverse;
}

.home__contents {
	background: #fff;
	padding: 8em 0 5em;
}

.home__contents-wrap {
	display: flex;
	justify-content: space-between;
}

.home__contents-blog {
	width: 45%;
}

.home__contents-blog-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.home__contents-blog-date {
	width:6em;
	margin-bottom: .5em;
}

.home__contents-blog-tit {
	width: calc(100% - 7em);
	margin-bottom: .75em;
}

.home__contents-blog-date:nth-child(n+11),
.home__contents-blog-tit:nth-child(n+11)
{
	display: none;
}

.home__contents-qa {
	width: 45%;
}

.home__contents-qa-item {
	margin-bottom: .75em;
	text-indent: -1.5em;
	padding-left: 1.5em;
}

.home__contents-more {
	text-align: right;
}


/*==============================================
about (PC)
==============================================*/
.about__msg {
	text-align: center;
	background: #fff;
	padding: 8em 0 5em;
}

.about__msg-p {
	margin-bottom: 2em;
	line-height: 2.5;
}

.about__msg-tit {
	margin-bottom: 2em;
	font-size: 2rem;
	line-height: 2.3;
}

.about__msg-tit-span {
	border-bottom: 1px solid #000;
	padding-bottom: .5em;
}

.about__msg-photo {
	width: 170px;
	margin: 0 auto 2em;
}

.about__company {
	padding: 5em 0;
}

.about__company-table {
  border-spacing: 0;
  margin: 0 auto;
  width: 100%;
	background: #fff;
}

.about__company-table-th {
	border-bottom: 1px solid #eee;
  padding: 2em;
  vertical-align: top;
  white-space: nowrap;
  font-weight: normal;
	width: 25%;
	text-align: left;
	color: #767676;
}

.about__company-table-td {
	border-bottom: 1px solid #eee;
  padding: 2em;
  vertical-align: top;
	word-break: break-all;
}

.about__company-table tr:last-child .about__company-table-th,
.about__company-table tr:last-child .about__company-table-td {
	border-bottom: none;
	padding-bottom: 0;
}

.about__company-table-list-tit {
	margin-bottom: .25em;
}

.about__company-table-item{
	list-style-type: disc;
	margin-left: 1.5em;
}

.about__access {
	background: #fff;
	padding: 5em 0;
}

.about__access-map {
	margin-bottom: 2em;
}

.about__access-map iframe {
	border: none;
	width: 100%;
	height: 500px;
}

.about__access-company {
	margin-bottom: 1em;
}

.about__access-list-item {
	list-style-type: square;
	margin-left: 1em;
}


/*==============================================
service (PC)
==============================================*/
.service {
	padding: 8em 0 5em;
}

.service__lead-copy {
	text-align: center;
	margin-bottom: 3em;
}

.service__box {
	margin-bottom: 70px;
}

.service__box:last-child {
	margin-bottom: 0;
}

.service-tit {
	font-size: 1.8rem;
	color: #e7241d;
	margin-bottom: 1em;
	line-height: 2;
}

.service-tit-inner {
	border-bottom:1px solid #e7241d;
	padding-bottom:.3em;
}

.service-copy {
	margin-bottom: 1em;
}

.service-eg {
	font-size: 1.4rem;
	color: #767676;
	border: 1px solid #767676;
	padding: 1.5em 2em;
	margin-bottom: 2em;
}

.service-works {
	display: flex;
	justify-content: center;
}

.service-works-box {
	width: 48%;
	margin: 0 1.5%;
	font-size: 1.4rem;
}

.service-works-img {
	margin-bottom: 1em;
}

.service-works-txt {
	text-align: center;
}


/*==============================================
QA (PC)
==============================================*/
.qa {
	padding: 8em 0 5em;
}


.qa__lead {
	text-align: center;
	margin-bottom: 3em;
}

.qa__box {
  box-shadow: 0 0 2em rgba(0, 0, 0, 0.05);
	margin-bottom: 50px;
	position: relative;
	background: #fff;
}


.qa-q a, .qa-q a:visited {
	display: block;
	background: #fff;
	color: #000;
	font-size: 1.7rem;
	padding: 1.5em;
	position: relative;
	padding-right: 3em;
	line-height: 1.6;
}

.qa-q.qa-q--ison a {
	color: #fff;
	background: #e7241d;
}

.qa-q a:hover {
	opacity: 0.85;
}

.qa-q a::before {
	right:2em;
	top:50%;
	transform: translateY(-50%);
	position: absolute;
	content: '';
	width: 20px;
	height: 2px;
	background: #e7241d;
	transition: all .3s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.qa-q a::after {
	right:2em;
	top:50%;
	transform: translateY(-50%) rotate(-90deg);
	position: absolute;
	content: '';
	width: 20px;
	height: 2px;
	background: #e7241d;
	transition: all .5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.qa-q--ison a::before {
	background: #fff;
}

.qa-q--ison a::after {
	background: #fff;
	transform: rotate(0deg);
}

.qa-a {
	padding: 40px;
	display: none;
}

.qa-q-p,
.qa-a-p {
	text-indent: -1.5em;
	padding-left: 1.5em;
}

.qa-flow {
	position: relative;
	margin-top: 2em;
	min-height: 17em;
}

@media all and (-ms-high-contrast:none) {
	.qa-flow-list {
		overflow: hidden;
	}
}

.qa-flow::before {
	position: absolute;
	top:4px;
	left:0;
	content: '';
	width: 0;
	background: #e7241d;
	height: 1px;
	transition: all 0s .5s ease-out;
}

.qa-flow--ison::before {
	width: 100%;
}

.qa-flow-list {
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	/* margin: 0 auto; */
	letter-spacing: .5em;
	transform: translateX(-50%);
	position: relative;
	left:50%;
}

@media all and (-ms-high-contrast:none) {
	.qa-flow-list {
		max-height: 20em;
	}
}

.qa-flow-item {
	position: relative;
	padding-top:2em;
	margin: 0 3em;
	transform: translateY(20%);
	opacity: 0;
	transition: all .5s ease-out;
}

.qa-flow-item--ison {
	transform: translateY(0);
	opacity: 1;
}

.qa-flow-item--ison:nth-of-type(1) {transition-delay: .5s;}
.qa-flow-item--ison:nth-of-type(2) {transition-delay: .6s;}
.qa-flow-item--ison:nth-of-type(3) {transition-delay: .7s;}
.qa-flow-item--ison:nth-of-type(4) {transition-delay: .8s;}
.qa-flow-item--ison:nth-of-type(5) {transition-delay: .9s;}
.qa-flow-item--ison:nth-of-type(6) {transition-delay: 1s;}
.qa-flow-item--ison:nth-of-type(7) {transition-delay: 1.1s;}
.qa-flow-item--ison:nth-of-type(8) {transition-delay: 1.2s;}
.qa-flow-item--ison:nth-of-type(9) {transition-delay: 1.3s;}

.qa-flow-item::before {
	position: absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	background: #e7241d;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	content: '';
}

.qa-flow-item::after {
	position: absolute;
	top:26%;
	right:-2.5em;
	transform: translateY(-50%);
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f0da';
	color: #ccc;
}

.qa-flow-item:last-child::after {
	content: '';
}



/*==============================================
contact (PC)
==============================================*/
.contact {
	background: #fff;
	padding: 8em 0 5em;
	
}

.contact__copy {
	margin-bottom: 2em;
	text-align: center;
}

.contact__form-box {
  margin-bottom: 2em;
	display: flex;
}

.contact__form-box--confirm {
  padding-bottom: 1em;
  border-bottom: 1px solid #ccc;
	align-items: center;
}

.contact__form-label {
	width: 30%;
  padding:0;
}

.contact__form-txt {
	width: 65%;
}

.contact__form-textarea,
.contact__form-inputtext {
  border: none;
  padding:1.5em;
  font-size: 16px;
  background: transparent;
  background: #f4f4f4;
  width: 100%;
  border-radius: 0;
}

.contact__form-btn {
	text-align: center;
}

/*==============================================
blog (PC)
==============================================*/
.blog {
	padding: 8em 0 5em;
}

._box--blog {
	margin:0 auto 70px;
	width: 80%;
	min-width: 800px;
}

.blog__tit,
.blog__tit a,
.blog__tit a:visited
{
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
	margin-bottom: .2em;
	color: #000;
	border-bottom: 1px solid #fff;
	padding-bottom: .2em;
}

.blog__tit a:hover {
	color: #e7241d;
	border-bottom: 1px solid #e7241d;
	padding-bottom: .2em;
}

.blog__date {
	text-align: center;
	color: #555;
	margin-bottom: 2em;
}

.blog__cat a,
.blog__cat a:visited
{
	color: #000;
	border-bottom: 1px solid #fff;
	padding-bottom: .2em;
}

.blog__cat a:hover {
	color: #e7241d;
	border-bottom: 1px solid #e7241d;
	padding-bottom: .2em;
}

.blog__contents a,
.blog__contents a:visited {
	color: #000;
	border-bottom: 1px solid #000;
	padding-bottom: .2em;
}

.blog__contents a:hover {
	color: #e7241d;
	border-bottom: 1px solid #e7241d;
	padding-bottom: .2em;
}

.blog__contents h1 {
	font-size: 2.6rem;
}


.blog__contents h2 {
	font-size: 2.4rem;
}

.blog__contents h3 {
	font-size: 2.2rem;
}

.blog__contents h4 {
	font-size: 1.6rem;
}

.blog__contents h5 {
	font-size: 1.6rem;
}

.blog__contents h6 {
	font-size: 1.6rem;
}

.blog__contents ul li {
	list-style-type: disc;
	margin-left: 1.5rem;
}

.blog__contents ol li {
	list-style-type: decimal;
	margin-left: 1.5rem;
}

.blog__contents p {
	margin-bottom: 2em;
}

.blog__contents p:last-child {
	margin-bottom: 0;
}

.blog__contents img {
	max-width: 100%;
	margin: 1em auto;
	display: block;
	height: auto;
}

.blog__aside {
	display: flex;
	justify-content: space-between;
}

.blog__aside--recent {
	width: 55%;
}

.blog__aside--archives {
	width: 35%;
}

.blog__aside-tit {
	font-size: 2.2rem;
	margin-bottom: .5em;
}

.blog__pager {
	text-align: center;
	margin-bottom: 70px;
}

.blog__pager:last-child {
	margin-bottom: 0;
}

.blog__aside-select {
	margin-bottom: 1.2em;
}

.blog__aside-select:last-child {
	margin-bottom: 0;
}

.blog__aside-select select {
  padding: 1em 0;
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  border-radius: 0;
  border: none;
  /* border: 1px solid #333; */
	padding: 1em;
  width: 100%;
  background: #f4f4f4;
  color:#000;
}

.blog__tag {
	padding-top: 2em;
}

.blog__tag a, .blog__tag a:visited {
	display: inline-block;
	border:1px solid #000;
	color: #000;
	padding: .1em .5em;
	background: #fff;
	margin: 0 .7em .7em 0;
	border-radius: 2px;
	font-size: 1.2rem;
}

.blog__tag a:hover {
	border:1px solid #e7241d;
	color:#e7241d;
}

.blog__tag a::before {
	content: '#';
}




/*==============================================
privacy (PC)
==============================================*/
.privacy {
	font-size: 1.4rem;
	padding: 8em 0 5em;
	background: #fff;
}


.privacy__tit {
	font-weight: bold;
}

.privacy__lead,
.privacy__copy {
	margin-bottom: 2em;
}



/*==============================================
footer (PC)
==============================================*/
.footer {
	padding: 60px;
	text-align: center;
	border-top: 2px solid #DE0514;
	font-size: 1.4rem;
	color: #333;
	background: #fff;
}

.footer__logo {
	width: 235px;
	margin: 0 auto 20px;
}

.footer__nav-list {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}

.footer__nav-item {
	margin-right: 2em;

}

.footer__nav-item::after {
	content: '|';
	color: #ccc;
}

.footer__nav-item a, .footer__nav-item a:visited {
	/* color: #fff; */
	font-size: 1.6rem;
	font-family: trajan-pro-3,serif;
	font-weight: 400;
	letter-spacing: 0.15em;
	position: relative;
	margin-right: 2em;
}

/*last-child*/
.footer__nav-item:last-child {
	padding-right: 0;
}

.footer__nav-item:last-child a {
	margin-right: 0;
}

.footer__nav-item:last-child::after {
	content: '';
}

.footer__info-name {
	font-size: 1.6rem;
	margin-bottom: .3em;
}

.footer__info-address {
	margin-bottom: .5em;
	font-size: 1.3rem;
}

.footer__info-pp {
	margin-bottom: .9em;
}

.footer__info-copyright {
	font-size: 1.3rem;
}

.footer__info-pp a, .footer__info-pp a:visited {
	font-family: trajan-pro-3,serif;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #333;
	position: relative;
}

/*hover*/
.footer__nav-item a::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 1px;
	background: #DE0514;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.4s;
}

.footer__nav-item a:hover::before {
	transform: scale(1);
}



/*==============================================
pagetop (PC)
==============================================*/
.pagetop {
  position: fixed;
  right: 50px;
  bottom: 50px;
  text-align: center;
  line-height: 0;
  font-size: 1.8rem;
  z-index: 9;
}

.pagetop a, .pagetop a:visited {
  text-decoration: none;
  text-align: center;
  display: block;
  border-radius: 50%;
  /* border: 1px solid #e7241d; */
  color: #e7241d;
}

.pagetop a:hover {
	text-decoration: none;
  /* border: 2px solid #fff; */
  color: #e7241d;
}







@media only screen and (max-width:765px) and (orientation:portrait) {

html {
	font-size: 55%!important;
}

._pc {
	display: none!important;
}

._sp {
	display: inline!important;
}

._main {
	/* padding: 130px 0 70px; */
}


._box {
	padding: 8%;
}

._tit {
	margin-bottom: .75em;
	font-size: 2.5rem;
}

._inner {
	width: 90%;
	min-width: 0;
}
/* ._grid {margin: 0;} */



/*==============================================
header (SP)
==============================================*/
.header {
	position: relative;
}

.header::after {
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	height: 60px;
	background: #fff;
	content: '';
	z-index: 1;
}

.header--transparent::after {
	background: none;
}

.header-logo {
	width:80px;
	top:12px;
	left:13px;
	/* position: absolute; */
}

.header-btns {
	/* top:22px;
	right:15px;
	position: absolute; */
}

.header-btns-item--contact {
	width: 24px;
	top:22px;
	right:60px;
}

.header-btns-item--menu {
	top:22px;
	right:15px;
}

.header-btns-item--menu a {
  width: 24px;
  height: 16px;
}

.header-btns-item--menu a span {
  height: 1.5px;
}

.header-btns-item--menu a span:nth-of-type(1) {
  top: 0;
}
.header-btns-item--menu a span:nth-of-type(2) {
  top: 7px;
}
.header-btns-item--menu a span:nth-of-type(3) {
  bottom: 0;
}


.header-btns-item--menu a.menu--ison span:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}
.header-btns-item--menu a.menu--ison span:nth-of-type(2) {
  opacity: 0;
}
.header-btns-item--menu a.menu--ison span:nth-of-type(3) {
  transform: translateY(-7px) rotate(45deg);
}

/* .header-btns-item--menu {
	width: 22px;
}

.header-btns-item {
	margin-left: 20px;
} */





/*==============================================
nav (SP)
==============================================*/
.nav {
	width: 100%;
}

.nav-item {
	margin-bottom: 2em;
}

.nav-item a, .nav-item a:visited {
	font-size: 2rem;
}

.nav-close {
	top:30px;
	right:30px;
}

.nav-close img {
	width: 30px;
}

/*==============================================
home (SP)
==============================================*/
.home__kv,
.home__kv-bg {
	max-height:none;
}


.home__kv-copy {
	font-size: 3.5rem;
}

.home__links {
	padding: 3em 0;
}

.home__links-box {
	margin-bottom:2em;
}

.home__links-box a, .home__links-box a:visited {
	align-items: center;
}

.home__links-box--about {
	margin-bottom: 0;
}


.home__links-tit {
	font-size: 2.5rem;
	/* padding: 5em 0 3em; */
}

.home__links-copy {
	padding: 0;
	font-size: 1.2rem;
}

.home__contents {
	padding: 4em 0;
}

.home__contents-wrap {
	display: block;
}

.home__contents-blog {
	width: 100%;
	margin-bottom: 2em;
}

.home__contents-qa {
	width: 100%;
}


/*==============================================
about (SP)
==============================================*/
.about__msg-tit {
	font-size: 1.8rem;
	padding: 0 1em;
}

.about__msg-photo {
	width: 140px;
}

.about__company-table tr {
  display: inline;
}

.about__company-table-th {
	width: 100%;
	display: block;
  padding: 1em;
}

.about__company-table-td {
	width: 100%;
	display: block;
  padding: 1em 1em 3em;
}

.about__company-table tr:last-child .about__company-table-th {
	border-bottom: 1px solid #eee;
  padding: 1em;
}

/*==============================================
service (SP)
==============================================*/
.service-eg {
	padding: 1em 1.5em;
}

.service-works {
	display: block;
}

.service-works-box {
	width: 100%;
	margin:0 auto 2em;
}

.service-works-box:last-child {
	margin:0 auto;
}

.service-works-img--02 {
	width: 87%;
	margin: 0 auto;
}


/*==============================================
QA (SP)
==============================================*/
.qa__lead {
	text-align: center;
	margin-bottom: 3em;
}
.qa__box {
  box-shadow: 0 0 2em rgba(0, 0, 0, 0.05);
	margin-bottom: 25px;
	position: relative;
}

.qa-q a, .qa-q a:visited {
	padding: 1.2em;
	padding-right: 3.5em;
}

.qa-q a::before {
	right:1.5em;
}

.qa-q a::after {
	right:1.5em;
}

.qa-a {
	padding: 1.2em;
}

.qa-flow {
	padding: 1em 0;
	margin-left: 2em;
}

.qa-flow::before {
	position: absolute;
	top:0;
	width: 1px;
	height:1px;
}

.qa-flow--ison::before {
	height: 100%;
}

.qa-flow-list {
	writing-mode:horizontal-tb;
	letter-spacing: 0em;
}

.qa-flow-item {
	padding-top:0;
	padding-left: 1em;
	margin: 0 0 2em 0;
	transform: translateY(-100%);
}

.qa-flow-item:last-child {
	margin-bottom: 0;
}

.qa-flow-item--ison {
	transform: translateY(0);
}

.qa-flow-item::before {
	top:50%;
	left:-3px;
	transform: translateX(0);
	transform: translateY(-50%);
}

.qa-flow-item::after {
	top:auto;
	bottom:-1.5em;
	right:auto;
	left:10%;
	transform: translateY(0);
	content: '\f0dd';
}


/*==============================================
blog (PC)
==============================================*/
.blog {
	padding: 6em 0 5em;
}

._box--blog {
	margin:0 auto 40px;
	width: 100%;
	min-width: 1px;
}

._box--blog:last-child {
	margin-bottom: 0;
}

.blog__tit,
.blog__tit a,
.blog__tit a:visited
{
	font-size: 2rem;

}

.blog__tit a:hover {
	color: #e7241d;
	border-bottom: 1px solid #e7241d;
	padding-bottom: .2em;
}


.blog__aside {
	display: block;
}

.blog__aside--recent {
	width: 100%;
	margin-bottom: 40px;
}

.blog__aside--archives {
	width: 100%;
}

.blog__aside-tit {
	font-size: 2.4rem;
}

.blog__pager {
	text-align: center;
	margin-bottom: 40px;
}

.blog__aside-select select {
  font-size: 16px;
}

/*==============================================
contact (SP)
==============================================*/
.contact__form-box {
	display: block;
}

.contact__form-label {
	width: 100%;
  padding:0;
	margin-bottom: .5em;
}

.contact__form-txt {
	width: 100%;
}

.contact__form-textarea,
.contact__form-inputtext {
  padding:1em;
}


/*==============================================
footer (SP)
==============================================*/
.footer {
	padding: 40px 30px;
	border-top: 2px solid #DE0514;
}

.footer__logo {
	width: 50%;
	margin: 0 auto 20px;
}

.footer__nav-list {
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.footer__nav-item {
	margin-right: 1em;
}

.footer__nav-item a, .footer__nav-item a:visited {
	margin-right: 1em;
}


/*==============================================
pagetop (SP)
==============================================*/
.pagetop {
  right: 25px;
  bottom: 25px;
}

}




@media only screen and (max-width:900px) and (orientation:landscape) {

	.header {
		position: relative;
	}

	.header::after {
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		height: 60px;
		background: #fff;
		content: '';
		z-index: 1;
	}

	.header--transparent::after {
		background: none;
	}


	.header-logo {
		width: 80px;
		top:10px;
		left:15px;
	}

	/* .header-btns {
		top:30px;
		right:20px;
	} */

	.header-btns-item--contact {
		top:20px;
		right: 70px;
	}

	.header-btns-item--menu {
		top:20px;
		right: 20px;
	}

	.nav {
		width: 100%;
	}

	.nav-list {
		display: flex;
		flex-wrap: wrap;
	}
	.nav-item {
		width: 50%;
	}
	.nav-item a, .nav-item a:visited {
		font-size: 2rem;
	}

	.qa-flow-item {
		margin: 0 1.5em;
	}

	.qa-flow-item::after {
		right:-1.7em;
	}
}

