@charset "utf-8"; /*----
　reset
--*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
font-weight: normal;
vertical-align: baseline;
}

body {
line-height: 1;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

ol, ul {
list-style: none;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

table, tr, th, td, caption {
vertical-align: middle;
text-align: left;
}

img {
vertical-align: top;
font-size: 0;
line-height: 0;
width: 100%;
}

textarea {
vertical-align: top;
}

/*----
　Base
--*/
html {
font-size: 62.5%;
-webkit-text-size-adjust: 100%;
}

body {
color: #111;
font-size: 1.5rem;
font-family: 'Noto Sans JP', sans-serif;
-webkit-text-size-adjust: none;
word-break: break-word;
word-wrap: break-word;
overflow-wrap: break-word;
overflow-x: hidden;
}

a {
display: block;
color: #111;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
}

a:hover {
opacity: 0.6;
filter: alpha(opacity=60);
-ms-filter: "alpha(opacity=60)";
}

img {
max-width: 100%;
width: 100%;
height: auto;
}

strong {
font-weight: bold;
}

body, html {
height: 100%;
}

.fl {
float: left;
}

.fr {
float: right;
}

.sp_br {
display: none;
}

.pc_br {
display: block;
}

.sp_only {
display: none;
}

.pc_only {
display: block;
}

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

/* SP --*/
@media screen and (max-width: 768px) {
.sp_br {
display: block;
}

.pc_br {
display: none;
}

.sp_only {
display: block;
}

.pc_only {
display: none;
}
}

/*--
　Font
--*/
.ff01 {
font-family: 'Poppins', sans-serif;
}

/*--
　Color
--*/
.cl01 {
color: #ee4f01;
}
.cl01.nospan {
color: #111111;
}

/*--
　Header
--*/
header {
width: 100%;
height: 100px;
min-width: 1000px;
padding: 0 2rem;
box-sizing: border-box;
}

header .boxInner {
display: flex;
height: 100px;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}

header .logo01 {
display: flex;
align-items: center;
}

header .logo01 a {
display: flex;
align-items: center;
font-weight: bold;
}

header .logo_img {
width: 32px;
margin-right: 1.5rem;
}

header .sitename {
font-size: 1.8rem;
font-weight: bold;
line-height: 1.4;
}

header .sitename span {
display: inline-block;
background: #111;
height: 20px;
line-height: 20px;
padding: 0 0.5rem 0 1rem;
margin-right: 1.2rem;
color: #fff;
font-size: 1.3rem;
font-weight: bold;
position: relative;
}

header .sitename span:after {
content: "";
position: absolute;
top: 0;
right: -8px;
width: 0px;
height: 0px;
border-style: solid;
border-width: 20px 8px 0 0;
border-color: #111;
border-right-color: transparent;
z-index: 1;
}

.hb-open .sitename span {
transform: inherit!important;
}

.header_nav ul {
display: flex;
align-items: center;
margin-right: 10rem;
text-align: center;
}

.header_nav ul li {
margin: 0 1.5rem;
box-sizing: border-box;
position: relative;
}

.header_nav ul li a {
font-size: 1.3rem;
line-height: 1.5;
}

@media screen and (max-width: 1280px) {
header {
padding: 0 0.8rem;
}

header .logo_img {
width: 22px;
margin-right: 1rem;
}

header .sitename {
font-size: 1.3rem;
}

header .sitename span {
height: 18px;
line-height: 18px;
padding: 0 0.3rem 0 0.5rem;
margin-right: 1rem;
font-size: 1rem;
}

header .sitename span:after {
right: -8px;
border-width: 18px 8px 0 0;
}

.header_nav ul li {
margin: 0 0.5rem;
}

.header_nav ul li a {
font-size: 1.2rem;
}
}

/* SP --*/
@media screen and (max-width: 768px) {
header {
width: 100%;
height: 50px;
min-width: 100%;
padding: 0 1rem;
}

header .boxInner {
height: 50px;
}

header .logo_img {
width: 20px;
margin-right: 1rem;
}

header .sitename {
font-size: 1.1rem;
}

header .sitename span {
height: 15px;
line-height: 15px;
padding: 0 0.3rem 0 0.5rem;
margin-right: 0.8rem;
font-size: 0.7rem;
}

header .sitename span:after {
border-width: 15px 8px 0 0;
}
}

/*--
　SP Navi
--*/
/*-- hb-menu --*/
#hb-menu {
display: table;
position: fixed;
top: 0;
right: 0;
width: 100px;
height: 100px;
background: #1278ad;
box-sizing: border-box;
cursor: pointer;
z-index: 10000;
}

#hb-menu .hb-inner {
display: table-cell;
vertical-align: middle;
}

#hb-menu span {
display: block;
color: #fff;
text-align: center;
-webkit-transition: all .5s ease-in-out;
-moz-transition: all .5s ease-in-out;
transition: all .5s ease-in-out;
}

#hb-menu span:nth-of-type(1), #hb-menu span:nth-of-type(2), #hb-menu span:nth-of-type(3) {
display: block;
background: #fff;
width: 40px;
height: 2px;
margin: auto;
margin-top: 9px;
border-radius: 0;
}

#hb-menu span:nth-of-type(4):before {
content: "ALL";
display: block;
color: #fff;
text-align: center;
font-size: 1.6rem;
font-family: 'Poppins', sans-serif;
margin-top: 10px;
letter-spacing: 0.1em;
}

/* ナビゲーションアイコン：アクティブ */
.hb-open #hb-menu span:nth-of-type(1), .hb-open #hb-menu span:nth-of-type(2), .hb-open #hb-menu span:nth-of-type(3) {
background: #fff;
}

.hb-open span:nth-of-type(1) {
-webkit-transform: translateY(11px) translateX(0) rotate(45deg);
-ms-transform: translateY(11px) translateX(0) rotate(45deg);
transform: translateY(11px) translateX(0) rotate(45deg);
}

.hb-open span:nth-of-type(2) {
margin-top: 5px;
opacity: 0;
-webkit-transform: translateY(10px);
-ms-transform: translateY(10px);
transform: translateY(10px);
}

.hb-open span:nth-of-type(3) {
-webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
-ms-transform: translateY(-11px) translateX(0) rotate(-45deg);
transform: translateY(-11px) translateX(0) rotate(-45deg);
}

.hb-open #hb-menu span:nth-of-type(4):before {
content: "CLOSE";
}

/* overlay */
.overlay {
position: fixed;
top: 0;
right: 0;
left: 0;
bottom: 0;
background: transparent;
pointer-events: none;
z-index: 9999;
transition: 0.2s;
}

.hb-open .overlay {
background: none;
pointer-events: auto;
}

/*-- sp-g-nav --*/
.sp-g-nav {
position: fixed;
top: 0;
right: 0;
z-index: 9999;
}

.hb-open .sp-g-nav .g-nav-inner {
position: fixed;
top: 0;
transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateZ(0);
-ms-transform: translateZ(0);
-webkit-transform: translateZ(0);
}

.sp-g-nav .g-nav-inner {
position: fixed;
top: 0;
right: 0;
background: #1278ad;
width: 100%;
height: 100%;
padding: 2rem 2rem;
box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
overflow-x: hidden;
overflow-y: auto;
transition: .5s;
transform: translateX(100%);
-ms-transform: translateX(100%);
-webkit-transform: translateX(100%);
z-index: 9999;
}

.sp-g-nav a {
display: inline-block;
color: #fff;
line-height: 1.5;
}

.sp-g-nav .logo02 {
width: 306px;
}

.hb_menu_wrapper {
max-width: 1000px;
margin: auto;
padding: 10rem 0;
box-sizing: border-box;
}

.hb_menu {
margin-bottom: 6rem;
}

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

.hb_menu .hb_menu_list_item:first-child {
display: none;
}

.hb_menu .hb_menu_title_link {
padding: 0 0 0 2.5rem;
font-size: 1.8rem;
font-weight: bold;
position: relative;
}

.hb_menu .hb_menu_title_link:before {
content: "";
position: absolute;
top: 50%;
left: 0;
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.hb_menu .hb_menu_list {
display: flex;
flex-flow: row wrap;
box-sizing: border-box;
margin-top: 3rem;
}

.hb_menu .hb_menu_list_item {
width: calc(100% / 3);
margin: 0 0 2rem 0;
padding: 0 2rem;
box-sizing: border-box;
position: relative;
}

.hb_menu .hb_menu_list_link {
padding: 0 0 0 2.5rem;
position: relative;
}

.hb_menu .hb_menu_list_link:before {
content: "";
position: absolute;
top: 10px;
left: 0;
background: #fff;
width: 12px;
height: 1px;
}

@media screen and (max-width: 768px) {
/*-- hb-menu --*/ #hb-menu {
width: 50px;
height: 50px;
}

#hb-menu span:nth-of-type(1), #hb-menu span:nth-of-type(2), #hb-menu span:nth-of-type(3) {
width: 20px;
height: 1px;
margin-top: 6px;
}

#hb-menu span:nth-of-type(4):before {
font-size: 0.8rem;
margin-top: 5px;
}

/* ナビゲーションアイコン：アクティブ */
.hb-open span:nth-of-type(1) {
-webkit-transform: translateY(7px) translateX(0) rotate(45deg);
-ms-transform: translateY(7px) translateX(0) rotate(45deg);
transform: translateY(7px) translateX(0) rotate(45deg);
}

.hb-open span:nth-of-type(3) {
-webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
-ms-transform: translateY(-7px) translateX(0) rotate(-45deg);
transform: translateY(-7px) translateX(0) rotate(-45deg);
}

/*-- sp-g-nav --*/
.sp-g-nav .g-nav-inner {
padding: 1rem 1rem;
}

.sp-g-nav .logo02 {
width: 55%;
}

.hb_menu_wrapper {
max-width: 100%;
padding: 3rem 0;
}

.hb_menu {
margin-bottom: 0;
}

.hb_menu .hb_menu_title {
padding: 1.5rem 2rem 1.5rem 0;
font-size: 1.5rem;
border-bottom: 1px solid #fff;
position: relative;
}

.hb_menu .hb_menu_title:after {
content: "";
position: absolute;
top: 50%;
right: 0.5rem;
width: 8px;
height: 8px;
margin-top: -4px;
background: none;
border-top: solid 1px #fff;
border-right: solid 1px #fff;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}

.hb_menu .hb_menu_title.open:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.hb_menu .hb_menu_list_item:first-child {
display: block;
}

.hb_menu .hb_menu_title_link {
padding: 0 0 0 0;
font-size: 1.5rem;
pointer-events: none;
}

.hb_menu .hb_menu_title_link:before {
display: none;
}

.hb_menu .hb_menu_list {
display: none;
margin-top: 0;
}

.hb_menu .hb_menu_list_item {
width: 100%;
margin: 0 0 0 0;
padding: 0 0;
border-bottom: 1px solid #fff;
}

.hb_menu .hb_menu_list_link {
display: block;
padding: 1.5rem 2rem 1.5rem 1.5rem;
}

.hb_menu .hb_menu_list_link:before {
display: none;
}

.hb_menu .hb_menu_list_link:after {
content: "";
position: absolute;
top: 50%;
right: 0.5rem;
width: 8px;
height: 8px;
margin-top: -4px;
background: none;
border-top: solid 1px #fff;
border-right: solid 1px #fff;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}
}

/*--
　MV
--*/
.low_mv {
background: url("img/low_mv.jpg") 0 center no-repeat;
background-size: cover;
width: 100%;
height: 220px;
min-width: 1000px;
box-sizing: border-box;
position: relative;
overflow: hidden;
}

.low_mv .mv_inner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 100%;
max-width: 1000px;
margin: auto;
padding: 0 0 0 10rem;
box-sizing: border-box;
z-index: 1;
}

.low_mv h1 {
color: #fff;
font-size: 4.6rem;
font-weight: bold;
line-height: 1.3;
position: relative;
}

.low_mv h1:before {
content: "Foothold rental";
display: block;
color: #fff;
font-size: 2.8rem;
font-family: 'Poppins', sans-serif;
}

.low_mv_plate {
position: absolute;
top: 0;
bottom: 0;
left: -50%;
right: 50%;
margin: 0 550px 0 0;
overflow: hidden;
z-index: 0;
-webkit-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: skewX(-25deg);
transform: skewX(-25deg);
}

.low_mv_plate:after {
display: block;
content: "";
position: absolute;
top: 0;
left: -100%;
right: -100%;
bottom: 0;
z-index: 0;
background: #fff;
-webkit-transform: skewX(25deg);
transform: skewX(25deg);
}

/* SP --*/
@media screen and (max-width: 768px) {
.low_mv {
background: url("img/low_mv.jpg") 0 center no-repeat;
background-size: cover;
width: 100%;
height: auto;
min-width: 100%;
}

.low_mv .mv_inner {
position: static;
top: inherit;
left: inherit;
transform: inherit;
max-width: 100%;
padding: 2rem 1.5rem 2rem 20vw;
}

.low_mv h1 {
font-size: 3.5rem;
line-height: 1.5;
}

.low_mv h1:before {
font-size: 1.6rem;
}

.low_mv_plate {
margin: 0 180px 0 0;
}
}

/*--
　Pankuzu
--*/
#pankuzu {
width: 1000px;
margin: 1rem auto 0;
font-size: 1.2rem;
position: relative;
z-index: 1;
}

#pankuzu a {
display: inline-block;
text-decoration: underline;
font-weight: 500;
line-height: 1.8;
}

#pankuzu a:hover {
text-decoration: none;
}

/* SP --*/
@media screen and (max-width: 768px) {
#pankuzu {
width: 100%;
margin: 3rem auto 0;
padding: 0 1rem 1rem 1rem;
box-sizing: border-box;
font-size: 1.2rem;
white-space: nowrap;
overflow: auto;
-webkit-overflow-scrolling: touch;
}

#pankuzu::-webkit-scrollbar {
height: 4px;
}

#pankuzu::-webkit-scrollbar-track {
background: #a5a5a5;
margin: 0 1rem;
border: none;
border-radius: 10px;
box-shadow: none;
}

#pankuzu::-webkit-scrollbar-thumb {
background: #ebebeb;
border-radius: 10px;
box-shadow: none;
}
}

/*--
　Footer
--*/
.l-footer-area {
background: #111;
width: 100%;
min-width: 1000px;
box-sizing: border-box;
}

.l-footer-area__inner {
max-width: 1000px;
margin: 0 auto;
padding: 2rem 0 5rem;
}

.l-footer-logo {
width: 286px;
margin: auto;
}

.l-footer-menu-wrapper {
display: none;
margin: 6rem auto 0;
}

.l-footer-menu {
margin-bottom: 4rem;
}

.l-footer-menu:last-child {
margin-bottom: 0;
}

.l-footer-menu__title {
padding: 0 0 1.5rem 0;
border-bottom: 1px solid #4c4c4c;
position: relative;
}

.l-footer-menu__title__link {
display: block;
color: #fff;
font-size: 1.6rem;
font-weight: bold;
line-height: 1.5;
transition: all 0.3s ease;
-o-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
position: relative;
}

.l-footer-menu__list {
display: flex;
flex-flow: row wrap;
box-sizing: border-box;
margin-top: 2rem;
}

.l-footer-menu__list__item {
width: calc(100% / 3);
margin-bottom: 1.5rem;
padding: 0 2rem;
box-sizing: border-box;
position: relative;
}

.l-footer-menu__list__item:first-child {
display: none;
}

.l-footer-menu__list__link {
padding: 0 0 0 2rem;
color: #fff;
font-size: 1.4rem;
line-height: 1.5;
position: relative;
}

.l-footer-menu__list__link:before {
content: "";
position: absolute;
top: 6px;
left: 0;
width: 6px;
height: 6px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.l-footer-submenu__list {
margin: 1rem 0 0 0;
padding: 0 2rem;
}

.l-footer-submenu__list__item {
margin: 0 0 1rem 0;
position: relative;
}

.l-footer-submenu__list__link {
padding: 0 0 0 1.5rem;
color: #fff;
font-size: 1.4rem;
line-height: 1.5;
position: relative;
}

.l-footer-submenu__list__link:before {
content: "";
position: absolute;
top: 10px;
left: 0;
background: #fff;
width: 6px;
height: 1px;
}

.l-footer-area .menseki {
max-width: 880px;
margin: 5rem auto 0;
padding: 2rem 3rem;
background: rgba(255,255,255,0.1);
box-sizing: border-box;
color: #fff;
font-size: 1.2rem;
line-height: 2;
}

.l-footer-area .menseki span {
display: inline-block;
}

.l-footer-area .ucp {
margin: 1.5rem auto 0;
color: #fff;
font-size: 1rem;
text-align: center;
line-height: 1.8;
}

.l-footer-copy-wrapper {
background: #111;
}

.l-footer-copy {
max-width: 1000px;
margin: 0 auto;
padding: 1.5rem 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
color: #fff;
font-size: 1.4rem;
}

.l-footer-copy a {
display: inline-block;
text-decoration: underline;
color: #fff;
}

.l-footer-copy a:hover {
text-decoration: none;
}

.l-footer-copy .sitemap {
text-align: right;
}

/* SP --*/
@media screen and (max-width: 768px) {
.l-footer-area {
min-width: 100%;
}

.l-footer-area__inner {
max-width: 100%;
padding: 4rem 1.5rem 4rem;
}

.l-footer-logo {
width: 50%;
}

.l-footer-menu-wrapper {
margin: 3rem auto 0;
}

.l-footer-menu {
margin-bottom: 0;
}

.l-footer-menu__title {
padding: 1.5rem 2rem 1.5rem 0;
font-size: 1.5rem;
}

.l-footer-menu__title:after {
content: "";
position: absolute;
top: 50%;
right: 0.5rem;
width: 8px;
height: 8px;
margin-top: -4px;
background: none;
border-top: solid 1px #fff;
border-right: solid 1px #fff;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}

.l-footer-menu__title.open:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.l-footer-menu__title__link {
font-size: 1.5rem;
pointer-events: none;
}

.l-footer-menu__list {
display: none;
margin-top: 0;
}

.l-footer-menu__list__item {
width: 100%;
margin-bottom: 0;
padding: 0 0;
border-bottom: 1px solid #4c4c4c;
}

.l-footer-menu__list__item:first-child {
display: block;
}

.l-footer-menu__list__link {
padding: 1.5rem 2rem 1.5rem 0;
}

.l-footer-menu__list__link:before {
content: "";
position: absolute;
top: 50%;
left: inherit;
right: 0.5rem;
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.l-footer-submenu__list {
margin: 0 0 0 0;
padding: 0 0;
}

.l-footer-submenu__list__item {
margin: 0 0 0 0;
border-top: 1px solid #4c4c4c;
}

.l-footer-submenu__list__link {
padding: 1.5rem 0 1.5rem 1.5rem;
}

.l-footer-submenu__list__link:before {
display: none;
}

.l-footer-submenu__list__link:after {
content: "";
position: absolute;
top: 50%;
left: inherit;
right: 0.5rem;
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.l-footer-area .menseki {
margin: 3rem auto 0;
padding: 1.5rem 1.5rem;
font-size: 1rem;
}

.l-footer-area .ucp {
margin: 1rem auto 0;
}

.l-footer-copy {
max-width: 100%;
padding: 1.5rem 1.5rem;
display: block;
font-size: 1rem;
text-align: center;
line-height: 1.8;
}

.sitemap {
margin: 2rem 0 0 0;
text-align: center;
}

.sitemap a {
font-size: 1.4rem;
color: #fff;
text-decoration: underline;
}
}

/*--
　PageTop
--*/
.l-pagetop {
width: 73px;
height: 70px;
position: fixed;
bottom: 5rem;
right: 2rem;
z-index: 2;
transition: opacity 0.3s ease;
-o-transition: opacity 0.3s ease;
-ms-transition: opacity 0.3s ease;
-moz-transition: opacity 0.3s ease;
-webkit-transition: opacity 0.3s ease;
}

.l-pagetop__link {
width: 100%;
height: 100%;
display: block;
position: relative;
}

.l-pagetop.hide {
opacity: 0;
}

/* SP --*/
@media screen and (max-width: 768px) {
.l-pagetop {
width: 6rem;
height: 6rem;
bottom: 10%;
right: 1rem;
}
}

/*--
　Main Contents
--*/
.contents {
width: 100%;
min-width: 1000px;
margin: auto;
padding: 1rem 0 12rem;
box-sizing: border-box;
overflow: hidden;
}

#category, #page {
width: 100%;
margin: 0!important;
padding: 0!important;
box-sizing: border-box;
}

/*--
　CAT comment
--*/
.company_block_wrap {
margin-top: -9rem;
}

.company .block_wrap {
max-width: 1000px;
margin: 0 auto 8rem;
position: relative;
}

.company .block_wrap:before, .company .block_wrap:after {
content: "";
position: absolute;
background: #969696;
z-index: 2;
}

.company .block_wrap:before {
top: -5px;
right: -20px;
width: calc(100% - 20px);
height: 1px;
}

.company .block_wrap:after {
top: -20px;
right: -5px;
width: 1px;
height: calc(100% + 40px);
}

.company_block {
background: #f5f8fa;
box-sizing: border-box;
position: relative;
}

.company_block:before, .company_block:after {
content: "";
position: absolute;
width: 1px;
background: #969696;
z-index: 2;
}

.company_block:before {
top: -20px;
left: 0;
height: calc(100% + 40px);
}

.company_block:after {
top: -10px;
right: 0;
height: calc(100% - -30px);
}

.company_block .company_block_inner {
padding: 3rem 6rem 1rem;
position: relative;
}

.company_block .company_block_inner p {
position: relative;
width: 100%;
}

.company_block .company_block_inner:before, .company_block .company_block_inner:after {
content: "";
position: absolute;
left: -20px;
height: 1px;
background: #969696;
z-index: 2;
}

.company_block .company_block_inner:before {
top: 0;
width: calc(100% - -40px);
}

.company_block .company_block_inner:after {
bottom: 0;
width: calc(100% + 40px);
}

.company_block .company_cc_wrap {
display: inline-block;
margin-left: -8rem;
position: relative;
z-index: 3;
}

.company_block .company_cc_wrap:before, .company_block .company_cc_wrap:after {
content: "";
position: absolute;
background: #969696;
z-index: 2;
}

.company_block .company_cc_wrap:before {
top: -10px;
right: -20px;
width: 100%;
height: 1px;
}

.company_block .company_cc_wrap:after {
top: -15px;
right: -10px;
width: 1px;
height: calc(100% + 40px);
}

.company_block .company_cc {
position: relative;
}

.company_block .company_cc:before, .company_block .company_cc:after {
content: "";
position: absolute;
width: 1px;
background: #969696;
height: calc(100% + 40px);
z-index: 2;
}

.company_block .company_cc:before {
top: -20px;
left: -5px;
}

.company_block .company_cc:after {
top: -20px;
right: -5px;
}

.company_block .company_cc_inenr {
background: #111;
padding: 1.5rem 5rem 1.5rem 5rem;
box-sizing: border-box;
color: #fff;
font-size: 3rem;
font-weight: bold;
line-height: 1.4;
position: relative;
}

.company_block .company_cc_inenr:before, .company_block .company_cc_inenr:after {
content: "";
position: absolute;
left: -20px;
height: 1px;
background: #969696;
z-index: 2;
}

.company_block .company_cc_inenr:before {
top: -5px;
width: 100%;
}

.company_block .company_cc_inenr:after {
bottom: -5px;
width: calc(100% + 40px);
}

.company_block .area01_inner01 {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-top: -13rem;
position: relative;
}

.company_block .area01_inner01 .left {
width: 45%;
box-sizing: border-box;
}

.company_block .area01_inner01 .right {
width: 55%;
box-sizing: border-box;
margin: 0 -6rem 0 0;
}

.company_block .caption {
margin: 1.5rem 3rem 0 0;
}

.company_block .area01_inner02 {
display: flex;
justify-content: space-between;
margin: 3rem 0 0;
}

.company_block .c_ttl {
margin: 0 0 2rem;
font-size: 4.8rem;
text-align: center;
}

.company_block .box_item {
width: calc(50% - 2rem);
text-align: center;
}

.company_block .box_item.speed {
width: 100%;
}

.company_block .box_item .box_item_inner {
background: #fff;
padding: 1.5rem 4rem 2rem;
}

.company_block .box_item .box_ttl01 {
background: #d9d9d9;
padding: 1rem 1.5rem;
font-size: 1.6rem;
font-weight: bold;
}

.block_wrap {
width: 1000px;
margin: auto;
}

/* SP --*/
@media screen and (max-width: 768px) {
.contents {
width: 100%;
min-width: 100%;
padding: 4rem 1.5rem 6rem;
}

#category, #page {
float: inherit;
width: 100%;
}
}

/*--
　Title
--*/
h2, h3, h4, h5, h6, .cc {
font-weight: bold;
line-height: 1.2;
box-sizing: border-box;
}

h2 a, h3 a, h4 a, h5 a, h6 a {
font-weight: bold;
}

h2 span, h3 span, h4 span, h5 span, h6 span {
font-weight: bold;
}

#category h2, #page h2 {
margin: 6rem auto 8rem;
font-size: 3rem;
position: relative;
width: 1000px;
border-top: 1px solid #969696;
padding-top: 2rem;
padding-right: 3rem;
}

#category h2:after, #page h2:after {
content: "";
position: absolute;
width: 1px;
background: #969696;
height: calc(100% + 40px);
z-index: 2;
transform: rotate(20deg);
}

#category h2:before, #page h2:before {
content: "";
position: absolute;
width: 150%;
background: #969696;
height: 1px;
z-index: 2;
}

#category h2:before, #page h2:before {
top: -8px;
left: -46%;
}

#category h2:after, #page h2:after {
top: -25px;
right: 0;
}

#category h2 a, #page h2 a {
padding-right: 6rem;
position: relative;
}

#category h2 a:after, #page h2 a:after {
content: "";
position: absolute;
top: 50%;
right: 2rem;
width: 18px;
height: 18px;
margin-top: -9px;
border-top: solid 1px #111;
border-right: solid 1px #111;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#category h3, #page h3 {
width: 1100px;
margin: 4rem auto 2rem;
background: #f6f6f6;
padding: 3rem 4rem 3rem 5rem;
font-size: 2.5rem;
position: relative;
border-top: solid #1278ad 1px;
}

#category h3::before, #page h3::before {
content: "";
display: block;
position: absolute;
top: -1px;
right: 98%;
left: -100%;
height: 101%;
background: #fff;
transform: skewX(-20deg);
z-index: 0;
}

#category h3::after, #page h3::after {
content: "";
position: absolute;
top: -1px;
left: 0;
width: 100vw;
min-width: 1000px;
height: 100%;
background: #f6f6f6;
z-index: -1;
border-top: solid #1278ad 1px;
}

#category h3 a, #page h3 a {
padding-right: 6rem;
position: relative;
}

#category h3 a:after, #page h3 a:after {
content: "";
position: absolute;
top: 50%;
right: 2rem;
width: 18px;
height: 18px;
margin-top: -9px;
border-top: solid 1px #111;
border-right: solid 1px #111;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#category h4, #page h4 {
width: 1000px;
margin: 4rem auto 2rem;
padding: 0 0 1.5rem 0;
font-size: 2rem;
border-bottom: 1px solid #1278ad;
}

#category h4 a, #page h4 a {
padding-right: 3rem;
position: relative;
}

#category h4 a:after, #page h4 a:after {
content: "";
position: absolute;
top: 50%;
right: 0;
width: 18px;
height: 18px;
margin-top: -9px;
border-top: solid 1px #111;
border-right: solid 1px #111;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/* SP --*/
@media screen and (max-width: 768px) {
#category h2, #page h2 {
margin: 4rem auto 6rem;
font-size: 2.2rem;
width: 100%;
}

#category h2:after, #page h2:after {
top: -22px;
right: 10px;
}

#category h2:after, #page h2:after {
content: "";
position: absolute;
width: 1px;
background: #969696;
height: 10rem;
z-index: 2;
}

#category h2 a, #page h2 a {
padding-right: 3rem;
}

#category h2 a:after, #page h2 a:after {
right: 1.5rem;
width: 10px;
height: 10px;
margin-top: -5px;
}

#category h3, #page h3 {
width: 100%;
margin: 3rem auto 2rem;
padding: 1.5rem 0 1.5rem 1rem;
font-size: 1.8rem;
}

#category h3::before, #page h3::before {
right: 95%;
left: -100%;
display: none;
}

#category h3::after, #page h3::after {
min-width: 100%;
}

#category h3 a, #page h3 a {
padding-right: 3rem;
}

#category h3 a:after, #page h3 a:after {
right: 1.5rem;
width: 10px;
height: 10px;
margin-top: -5px;
}

#category h4, #page h4 {
width: 100%;
margin: 3rem auto 2rem;
padding: 0 0 1rem 1rem;
font-size: 1.6rem;
}

#category h4 a, #page h4 a {
padding-right: 3rem;
position: relative;
}

#category h4 a:after, #page h4 a:after {
width: 10px;
height: 10px;
margin-top: -5px;
}
}

/*--
　テキスト
--*/
.contents p {
width: 1000px;
margin: 3rem auto;
line-height: 2;
}

.contents p a {
text-decoration: underline;
}

.contents p a:hover {
text-decoration: none;
}

span.txt_marker {
color: #1278ad;
font-weight: bold;
}

.caption {
font-size: 1rem;
color: #888;
line-height: 1.3;
word-wrap: break-word;
white-space: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin: 1.5rem 0 0 0;
padding: 0 0 1rem;
word-break: break-all;
}

.caption::-webkit-scrollbar {
height: 4px;
}

.caption::-webkit-scrollbar-track {
background: #d4d4d4;
margin: 0 0;
border: none;
border-radius: 0;
box-shadow: none;
}

.caption::-webkit-scrollbar-thumb {
background: #a4a4a4;
border-radius: 0;
box-shadow: none;
}

/* SP --*/
@media screen and (max-width: 768px) {
.contents p {
width: 100%;
margin: 2rem 0;
line-height: 1.8;
}
}

/*--
　リスト
--*/
/*-- ulリスト --*/
#category ul, #page ul {
width: 1000px;
margin: 3rem auto;
}

#category ul li, #page ul li {
margin: 0 0 1rem 0;
padding: 0 0 0 2rem;
font-size: 1.5rem;
line-height: 1.8;
position: relative;
}

#category ul li:last-child, #page ul li:last-child {
margin: 0 0 0 0;
}

#category ul li::before, #page ul li::before {
content: "";
display: block;
position: absolute;
top: 12px;
left: 0;
width: 8px;
height: 8px;
background: #1278ad;
box-sizing: border-box;
border-radius: 50%;
}

#category ul li a, #page ul li a {
display: inline-block;
text-decoration: underline;
}

#category ul li a:hover, #page ul li a:hover {
text-decoration: none;
}

/* SP --*/
@media screen and (max-width: 768px) {
#category ul, #page ul {
width: 100%;
margin: 2rem auto;
}

#category ul li, #page ul li {
padding: 0 0 0 1.5rem;
font-size: 1.4rem;
line-height: 1.6;
}

#category ul li::before, #page ul li::before {
top: 10px;
}
}

/*--
　リンク
--*/
.btn-internal a, .btn-web a {
display: block;
max-width: 565px;
margin: 4rem auto 4rem;
padding: 2.5rem 5rem;
box-sizing: border-box;
font-size: 1.8rem;
font-weight: bold;
text-align: center;
line-height: 1.5;
border-radius: 20px;
position: relative;
overflow: hidden;
z-index: 1;
transition: .3s;
-webkit-transform: translate3d(0, 0%, 0);
transform: translate3d(0, 0%, 0);
}

/*-- btn-internal（内部リンク） --*/
.btn-internal a {
background: #1278ad;
color: #fff;
box-shadow: 0px 5px 0px 0px #817f7f;
}

.btn-internal a:after {
content: "";
position: absolute;
top: 50%;
right: 2rem;
width: 8px;
height: 8px;
margin-top: -4px;
border-top: solid 1px #fff;
border-right: solid 1px #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/*-- btn-web（外部リンク） --*/
.btn-web a {
background: #fcb800;
color: #111;
box-shadow: 0px 5px 0px 0px #b57404;
}

.btn-web a:after {
content: "";
position: absolute;
top: 50%;
right: 2rem;
width: 8px;
height: 8px;
margin-top: -4px;
border-top: solid 1px #111;
border-right: solid 1px #111;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/*-- btn-link（テキストリンク） --*/
.btn-link {
width: 1000px;
margin: auto;
text-align: right;
}

.btn-link a {
display: inline-block;
margin: 4rem auto 4rem;
padding: 0 3rem 0 0;
background: url("img/arrow01.png") right 2px top 2px no-repeat;
background-size: 20px auto;
font-size: 1.5rem;
font-weight: bold;
line-height: 1.5;
text-decoration: underline;
position: relative;
}

.btn-link a:hover {
text-decoration: none;
}

/*-- btn-tel（電話ボタン） --*/
.btn-tel a {
display: none;
}

/* SP --*/
@media screen and (max-width: 768px) {
.btn-internal a, .btn-web a {
display: block;
max-width: 85%;
margin: 3rem auto 3rem;
padding: 1.5rem 4rem;
box-sizing: border-box;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
line-height: 1.5;
border-radius: 10px;
position: relative;
overflow: hidden;
z-index: 1;
}

/*-- btn-internal（内部リンク） --*/
.btn-internal a {
box-shadow: 0px 3px 0px 0px #817f7f;
}

.btn-internal a:after {
right: 1.5rem;
width: 6px;
height: 6px;
margin-top: -3px;
}

/*-- btn-web（外部リンク） --*/
.btn-web a {
box-shadow: 0px 3px 0px 0px #b57404;
}

.btn-web a:after {
right: 1.5rem;
width: 6px;
height: 6px;
margin-top: -3px;
}

/*-- btn-link（テキストリンク） --*/
.btn-link {
width: 100%;
margin: auto;
text-align: center;
}

.btn-link a {
display: block;
max-width: 85%;
margin: 3rem auto 3rem;
padding: 1.5rem 4rem;
box-sizing: border-box;
background: #fff;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
line-height: 1.5;
text-decoration: none;
border: 1px solid #111;
border-radius: 10px;
position: relative;
}

.btn-link a:after {
content: "";
position: absolute;
top: 50%;
right: 1.5rem;
width: 6px;
height: 6px;
margin-top: -3px;
border-top: solid 1px #111;
border-right: solid 1px #111;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/*-- btn-tel（電話ボタン） --*/
.btn-tel a {
display: block;
max-width: 85%;
margin: 3rem auto 3rem;
padding: 1.5rem 4rem;
box-sizing: border-box;
background: #1e8f08 url("img/tel_icon.png") 2rem center no-repeat;
background-size: 20px auto;
box-shadow: 0px 3px 0px 0px #0c4501;
color: #fff;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
line-height: 1.5;
border-radius: 10px;
position: relative;
overflow: hidden;
z-index: 1;
}
}

/*--
　Table
--*/
table {
background: #fff;
width: 1000px;
margin: 5rem auto;
box-sizing: border-box;
border-collapse: collapse;
border-spacing: 0;
border: 1px solid #767676;
}

table th {
background: #ececec;
padding: 1.5rem;
box-sizing: border-box;
text-align: center;
font-size: 1.5rem;
font-weight: bold;
line-height: 1.4;
word-break: break-all;
border-left: 1px solid #767676;
border-bottom: 1px solid #767676;
width: 30%;
}

table td {
padding: 1.5rem;
box-sizing: border-box;
text-align: center;
font-size: 1.5rem;
line-height: 1.4;
word-break: break-all;
border-left: 1px solid #767676;
border-bottom: 1px solid #767676;
}

table th a {
font-weight: bold;
text-decoration: underline;
}

table th a:hover {
text-decoration: none;
}

table td a {
text-decoration: underline;
}

table td a:hover {
text-decoration: none;
}

/* SP --*/
@media screen and (max-width: 768px) {
table {
width: 100%;
margin: 3rem 0;
}

table th {
display: block;
padding: 1.2rem;
font-size: 1.4rem;
border-left: none;
border-bottom: 1px solid #767676;
width: auto;
}

table td {
display: block;
padding: 1.2rem;
font-size: 1.4rem;
border-left: none;
border-bottom: 1px solid #767676;
}

table tbody tr:last-child td:last-child {
border-bottom: none;
}

/*--
　CAT comment
--*/
.block_wrap {
width: 100%;
margin: auto;
}

.company_block_wrap {
margin-top: -9rem;
}

.company .block_wrap {
max-width: 1000px;
margin: 0 auto 8rem;
position: relative;
}

.company .block_wrap:before, .company .block_wrap:after {
content: "";
position: absolute;
background: #969696;
z-index: 2;
}

.company .block_wrap:before {
top: -5px;
right: -20px;
width: calc(100% - 20px);
height: 1px;
}

.company .block_wrap:after {
top: -20px;
right: -5px;
width: 1px;
height: calc(100% + 40px);
}

.company_block {
background: #f5f8fa;
box-sizing: border-box;
position: relative;
}

.company_block:before, .company_block:after {
content: "";
position: absolute;
width: 1px;
background: #969696;
z-index: 2;
}

.company_block:before {
top: -20px;
left: 0;
height: calc(100% + 40px);
}

.company_block:after {
top: -10px;
right: 0;
height: calc(100% - -30px);
}

.company_block .company_block_inner {
padding: 2rem 1rem 1rem;
position: relative;
}

.company_block .company_block_inner p {
position: relative;
width: 100%;
}

.company_block .company_block_inner:before, .company_block .company_block_inner:after {
content: "";
position: absolute;
left: -20px;
height: 1px;
background: #969696;
z-index: 2;
}

.company_block .company_block_inner:before {
top: 0;
width: calc(100% - -40px);
}

.company_block .company_block_inner:after {
bottom: 0;
width: calc(100% + 40px);
}

.company_block .company_cc_wrap {
display: inline-block;
margin-left: -3rem;
position: relative;
z-index: 3;
}

.company_block .company_cc_wrap:before, .company_block .company_cc_wrap:after {
content: "";
position: absolute;
background: #969696;
z-index: 2;
}

.company_block .company_cc_wrap:before {
top: -10px;
right: -20px;
width: 100%;
height: 1px;
}

.company_block .company_cc_wrap:after {
top: -15px;
right: -10px;
width: 1px;
height: calc(100% + 25px);
}

.company_block .company_cc {
position: relative;
}

.company_block .company_cc:before, .company_block .company_cc:after {
content: "";
position: absolute;
width: 1px;
background: #969696;
height: calc(100% + 21px);
z-index: 2;
}

.company_block .company_cc:before {
top: -20px;
left: -5px;
}

.company_block .company_cc:after {
top: -20px;
right: -5px;
}

.company_block .company_cc_inenr {
background: #111;
padding: 1.5rem 5rem 1.5rem 5rem;
box-sizing: border-box;
color: #fff;
font-size: 1.8rem;
font-weight: bold;
line-height: 1.4;
position: relative;
}

.company_block .company_cc_inenr:before, .company_block .company_cc_inenr:after {
content: "";
position: absolute;
left: -20px;
height: 1px;
background: #969696;
z-index: 2;
}

.company_block .company_cc_inenr:before {
top: -5px;
width: 100%;
}

.company_block .company_cc_inenr:after {
bottom: -5px;
width: calc(100% + 40px);
}

.company_block .area01_inner01 {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-top: -13rem;
position: relative;
}

.company_block .area01_inner01 .left {
width: 45%;
box-sizing: border-box;
}

.company_block .area01_inner01 .right {
width: 55%;
box-sizing: border-box;
margin: 0 -6rem 0 0;
}

.company_block .caption {
margin: 1.5rem 3rem 0 0;
}

.company_block .area01_inner02 {
display: flex;
justify-content: space-between;
margin: 3rem 0 0;
}

.company_block .c_ttl {
margin: 0 0 2rem;
font-size: 4.8rem;
text-align: center;
}

.company_block .box_item {
width: calc(50% - 2rem);
text-align: center;
}

.company_block .box_item.speed {
width: 100%;
}

.company_block .box_item .box_item_inner {
background: #fff;
padding: 1.5rem 4rem 2rem;
}

.company_block .box_item .box_ttl01 {
background: #d9d9d9;
padding: 1rem 1.5rem;
font-size: 1.6rem;
font-weight: bold;
}
}

/*--
　画像＋テキスト
--*/
.float-wrap {
width: 1000px;
margin: 5rem auto;
box-sizing: border-box;
}

.float-img {
position: relative;
z-index: 1;
}

.float-img .flame img {
display: block;
width: auto;
margin: auto;
vertical-align: top;
}

.float-img.fl {
float: left;
width: 400px;
padding-right: 4rem;
}

.float-img.fr {
float: right;
width: 400px;
padding-left: 4rem;
}

.float-img .caption {
font-size: 1rem;
color: #888;
text-align: center;
line-height: 1.3;
word-wrap: break-word;
margin: 1.5rem 0 0 0;
}

.float-wrap p {
width: auto;
margin: 0 auto 0;
}

.float-wrap .catch-copy {
margin: 2rem 0 2rem 0;
color: #1278ad;
font-size: 2rem;
font-weight: bold;
line-height: 1.5;
}

/* SP --*/
@media screen and (max-width: 768px) {
.float-wrap {
width: 100%;
margin: 3rem 0;
}

.float-img.fl {
float: left;
width: 100%;
padding-right: 0;
}

.float-img.fr {
float: right;
width: 100%;
padding-left: 0;
}

.float-img.fl.small {
width: 40%;
margin-right: 4%;
}

.float-img.fr.small {
width: 40%;
margin-left: 4%;
}

.float-img .caption {
margin: 1rem 0 1.5rem 0;
}

.float-wrap .catch-copy {
margin: 1.5rem 0 1.5rem 0;
font-size: 1.8rem;
}
}

/*--
　com_parts01
--*/
.com_parts01 {
width: 100%;
min-width: 1000px;
margin: 2rem 0 0;
box-sizing: border-box;
}

.com_parts01 .com_parts01_inner {
max-width: 1000px;
margin: auto;
}

.com_parts01 .com_parts01_upper {
background: #fff;
padding: 4rem 0;
box-sizing: border-box;
position: relative;
}

.com_parts01 .com_parts01_upper:after {
content: "";
position: absolute;
top: 0;
right: 0;
background: url("img/bg01.png") right 0 no-repeat;
background-size: 100% auto;
width: 473px;
height: 502px;
z-index: 0;
}

.com_parts01 .main_ttl .sub_ttl {
color: #1278ad;
font-size: 2.6rem;
font-weight: bold;
}

.com_parts01 .main_ttl .ttl {
margin: 2rem 0 0;
font-size: 4rem;
font-weight: bold;
line-height: 1.4;
}

.com_parts01 .lead {
margin: 3rem 0 0 0;
padding: 0 0 0 4rem;
line-height: 2;
}

.com_parts01 .com_parts01_under {
background: #f5f8fa;
padding: 4rem 0 6rem;
position: relative;
z-index: 1;
}

.com_parts01 .com_parts01_block {
display: flex;
justify-content: space-between;
max-width: 1000px;
margin: auto;
}

.com_parts01 .com_parts01_block .box {
width: calc(33.33% - 2rem);
box-sizing: border-box;
text-align: center;
position:relative;
z-index: 1;
}

.com_parts01 .com_parts01_block .box:before {
content: "";
top: -2rem;
position: absolute;
width: 290px;
background: #ffffff;
height: 94%;
z-index: -1;
left: 0;
right: 0;
margin: auto;
}


.com_parts01 .com_parts01_block .ttl {
font-size: 3.8rem;
font-weight: bold;
}

.com_parts01 .img_box {
background: url("img/flame01.png") 0 0 no-repeat;
background-size: 314px auto;
padding: 2.2rem 2rem;
box-sizing: border-box;
}

.com_parts01 .box_inner {
margin: 1rem 0 0;
}

.com_parts01 .box_ttl01 {
background: #d9d9d9;
padding: 1.2rem 1.5rem;
font-size: 2rem;
font-weight: bold;
}

.com_parts01 .box_ttl02 {
display: flex;
align-items: center;
margin: 2rem 0 2rem;
font-size: 2rem;
font-weight: bold;
}

.com_parts01 .box_ttl02:before, .com_parts01 .box_ttl02:after {
content: "";
display: block;
flex: 1;
border-top: 1px solid #111;
}

.com_parts01 .box_ttl02:before {
margin-right: 20px;
}

.com_parts01 .box_ttl02:after {
margin-left: 20px;
}

.com_parts01 .box_item_inner {
padding: 1.2rem 0;
}

.com_parts01 .speed .box_item_inner {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.com_parts01 .txt {
width: 100%;
text-align: center;
line-height: 1.5;
margin: 0 auto;
}

.marker {
 background: linear-gradient(transparent 55%, #fcb800 0%);
 font-weight: bold;
}

.com_parts01 .txt01 {
width: 100%;
margin: 0 0 0.5rem;
font-size: 2.8rem;
font-weight: bold;
line-height: 1;
}

.com_parts01 .txt02 {
font-size: 2rem;
font-weight: bold;
width: 100%;
margin: 0;
line-height: 1;
}

.com_parts01 .txt02 span {
font-size: 2.8rem;
font-weight: bold;
}

.com_parts01 .btn-web a {
max-width: 90%;
margin: 3rem auto 0;
padding: 2rem 5rem;
font-size: 1.4rem;
}

.com_parts01 .btn-web a::before {
content: "";
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: 120%;
height: 100%;
background: #faf717;
transform-origin: right top;
transform: skewX(-30deg) scale(0, 1);
transition: transform .3s;
}

.com_parts01 .btn-web a:hover::before {
transform-origin: left top;
transform: skewX(-30deg) scale(1, 1);
}

.com_parts01 .btn-web a:hover {
opacity: 1;
}



/*--
　com_parts01 cat_common
--*/
.com_parts01.cat_common {
width: 100%;
min-width: 1000px;
margin: 2rem 0 0;
box-sizing: border-box;
}

.com_parts01.cat_common .com_parts01_inner {
max-width: 1000px;
margin: auto;
}

.com_parts01.cat_common .com_parts01_upper {
background: #fff;
padding: 4rem 0;
box-sizing: border-box;
position: relative;
}

.com_parts01.cat_common .com_parts01_upper:after {
content: "";
position: absolute;
top: 0;
right: 0;
background: url("img/bg01.png") right 0 no-repeat;
background-size: 100% auto;
width: 473px;
height: 502px;
z-index: 0;
}

.com_parts01.cat_common .main_ttl .sub_ttl {
color: #1278ad;
font-size: 2.6rem;
font-weight: bold;
}

.com_parts01.cat_common .main_ttl .ttl {
margin: 2rem 0 0;
font-size: 4rem;
font-weight: bold;
line-height: 1.4;
}

.com_parts01.cat_common .lead {
margin: 3rem 0 0 0;
padding: 0 0 0 4rem;
line-height: 2;
}

.com_parts01.cat_common .com_parts01_under {
background: #f5f8fa;
padding: 4rem 0 6rem;
position: relative;
z-index: 1;
}

.com_parts01.cat_common .com_parts01_block {
display: flex;
justify-content: space-between;
max-width: 1000px;
margin: auto;
}

.com_parts01.cat_common .com_parts01_block .box {
width: calc(33.33% - 2rem);
box-sizing: border-box;
text-align: center;
position:relative;
z-index: 1;
}

.com_parts01.cat_common .com_parts01_block .box:before {
content: "";
top: -2rem;
position: absolute;
width: 290px;
background: #ffffff;
height: 94%;
z-index: -1;
left: 0;
right: 0;
margin: auto;
}


.com_parts01.cat_common .com_parts01_block .ttl {
font-size: 3rem;
font-weight: bold;
}

.com_parts01.cat_common .img_box {
background: url("img/flame01.png") 0 0 no-repeat;
background-size: 314px auto;
padding: 2.2rem 2rem;
box-sizing: border-box;
height: 19rem;
}

.com_parts01.cat_common .img_box img {

}

.com_parts01.cat_common .box_inner {
margin: 1rem 0 0;
}

.com_parts01.cat_common .box_ttl01 {
background: #d9d9d9;
padding: 1.2rem 1.5rem;
font-size: 2rem;
font-weight: bold;
}

.com_parts01.cat_common .box_ttl02 {
display: flex;
align-items: center;
margin: 2rem 0 2rem;
font-size: 2rem;
font-weight: bold;
color: #1278ad;
}

.com_parts01.cat_common .box_ttl02:before, .com_parts01.cat_common .box_ttl02:after {
content: "";
display: block;
flex: 1;
border-top: 1px solid #111;
}

.com_parts01.cat_common .box_ttl02:before {
margin-right: 20px;
}

.com_parts01.cat_common .box_ttl02:after {
margin-left: 20px;
}

.com_parts01.cat_common .box_item_inner {
padding: 1.2rem 2rem;
min-height: 21rem;
}



.com_parts01.cat_common .speed .box_item_inner {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
min-height: 8rem;
}

.com_parts01.cat_common .base .box_item_inner {/* line-height: 1.4; */}





.com_parts01.cat_common .parts .box_item_inner {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
min-height: 6rem;
}






.com_parts01.cat_common .txt {
width: 100%;
text-align: center;
line-height: 1.5;
margin: 0 auto;
}

.com_parts01.cat_common .list {

text-align: left;
line-height: 1.4;

}




.marker {
 background: linear-gradient(transparent 55%, #fcb800 0%);
 font-weight: bold;
}

.com_parts01.cat_common .txt01 {
width: 100%;
margin: 0 0 -2.5rem;
font-size: 2.8rem;
font-weight: bold;
line-height: 1;
}

.com_parts01.cat_common .txt02 {
font-size: 2rem;
font-weight: bold;
width: 100%;
margin: 0;
line-height: 1;
margin-bottom: 2rem;
}

.com_parts01.cat_common .txt02 span {
font-size: 2.8rem;
font-weight: bold;
}

.com_parts01.cat_common .btn-web a {
max-width: 80%;
margin: 0rem auto 0;
padding: 1.5rem 5rem;
font-size: 1.4rem;
}

.com_parts01.cat_common .btn-web a::before {
content: "";
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: 120%;
height: 100%;
background: #faf717;
transform-origin: right top;
transform: skewX(-30deg) scale(0, 1);
transition: transform .3s;
}

.com_parts01.cat_common .btn-web a:hover::before {
transform-origin: left top;
transform: skewX(-30deg) scale(1, 1);
}

.com_parts01.cat_common .btn-web a:hover {
opacity: 1;
}






/*-- モーダル --*/
.modal .modalBox {
display: block;
background: #111;
width: 100%;
padding: 1.5rem 2rem;
box-sizing: border-box;
color: #fff;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
border-radius: 4px;
box-shadow: 0px 4px 0px 0px #7b7878;
position: relative;
z-index: 1;
overflow: hidden;
transition: .3s;
-webkit-transform: translate3d(0, 0%, 0);
transform: translate3d(0, 0%, 0);
}

.modal .modalBox::before {
content: "";
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: 120%;
height: 100%;
background: #22acb1;
transform-origin: right top;
transform: skewX(-30deg) scale(0, 1);
transition: transform .3s;
}

.modal .modalBox:hover::before {
transform-origin: left top;
transform: skewX(-30deg) scale(1, 1);
}

.modal .modalBox:hover {
opacity: 1;
}

.modal a:focus {
outline: none;
}

.modal_content {
display: none;
}

body .modaal-overlay {
z-index: 10000;
}

body .modaal-wrapper {
z-index: 10001;
}

body .modaal-content-container {
padding: 0 0;
}

body .modaal-container {
position: relative;
background: none;
max-width: 50%;
box-sizing: border-box;
}

body .modaal-wrapper .modaal-close {
position: absolute;
top: -6rem;
right: -6rem;
background: url("img/close_btn.png") 0 0 no-repeat;
background-size: 47px auto;
border-radius: 0;
z-index: 1;
}

body .modaal-wrapper .modaal-close:before, body .modaal-wrapper .modaal-close:after {
display: none;
}

.modaal-container .caption {
color: #fff;
font-size: 1.2rem;
text-align: right;
white-space: normal;
}

/* SP --*/
@media screen and (max-width: 768px) {
.com_parts01 {
min-width: 100%;
margin: 8rem 0 0;
}

.com_parts01 .com_parts01_inner {
max-width: 100%;
}

.com_parts01 .com_parts01_upper {
padding: 4rem 1.5rem;
overflow: hidden;
}

.com_parts01 .com_parts01_upper:after {
top: -3rem;
right: -45%;
background: url("img/bg01.png") right 0 no-repeat;
background-size: 100% auto;
width: 100%;
height: 0;
padding-top: calc(100%*502/473);
}

.com_parts01 .main_ttl .sub_ttl {
font-size: 1.5rem;
}

.com_parts01 .main_ttl .ttl {
margin: 1.5rem 0 0;
font-size: 2.4rem;
}

.com_parts01 .lead {
margin: 2rem 0 0 0;
padding: 0 0 0 0;
line-height: 1.8;
}

.com_parts01 .com_parts01_under {
padding: 5rem 1.5rem 6rem;
}

.com_parts01 .com_parts01_block {
display: block;
max-width: 100%;
}

.com_parts01 .com_parts01_block .box {
width: 100%;
padding: 4rem 0;
border-bottom: 1px solid #d3d6d8;
}

.com_parts01 .com_parts01_block .box:before {
width: 90%;
}


.com_parts01 .com_parts01_block .box:first-child {
padding: 0 0 4rem;
}

.com_parts01 .com_parts01_block .box:last-child {
width: 100%;
padding: 4rem 0 0;
border-bottom: 0;
}

.com_parts01 .com_parts01_block .ttl {
font-size: 3rem;
}

.com_parts01 .img_box {
background: url("img/flame01.png") 0 0 no-repeat;
background-size: 100% auto;
padding: 2.2rem 2rem;
}

.com_parts01 .box_inner {
margin: 1rem 0 0;
}

.com_parts01 .box_ttl01 {
padding: 1rem 1rem;
font-size: 1.7rem;
}

.com_parts01 .box_ttl02 {
margin: 1.5rem 0 1rem;
font-size: 1.7rem;
}

.com_parts01 .box_ttl02:before {
margin-right: 1.5rem;
}

.com_parts01 .box_ttl02:after {
margin-left: 1.5rem;
}

.com_parts01 .box_item_inner {
padding: 1.5rem 0;
}

.com_parts01 .speed .box_item_inner {
display: block;
}

.com_parts01 .txt {
line-height: 1.6;
}

.com_parts01 .txt01 {
font-size: 2rem;
}

.com_parts01 .txt02 {
font-size: 1.8rem;
}

.com_parts01 .txt02 span {
font-size: 2rem;
}

.com_parts01 .btn-web a {
max-width: 85%;
margin: 2.5rem auto 0;
padding: 1.5rem 4rem;
}



   .com_parts01.cat_common {
min-width: 100%;
margin: 8rem 0 0;
}

.com_parts01.cat_common .com_parts01_inner {
max-width: 100%;
}

.com_parts01.cat_common .com_parts01_upper {
padding: 4rem 1.5rem;
overflow: hidden;
}

.com_parts01.cat_common .com_parts01_upper:after {
top: -3rem;
right: -45%;
background: url("img/bg01.png") right 0 no-repeat;
background-size: 100% auto;
width: 100%;
height: 0;
padding-top: calc(100%*502/473);
}

.com_parts01.cat_common .main_ttl .sub_ttl {
font-size: 1.5rem;
}

.com_parts01.cat_common .main_ttl .ttl {
margin: 1.5rem 0 0;
font-size: 2.4rem;
}

.com_parts01.cat_common .lead {
margin: 2rem 0 0 0;
padding: 0 0 0 0;
line-height: 1.8;
}

.com_parts01.cat_common .com_parts01_under {
padding: 5rem 1.5rem 6rem;
}

.com_parts01.cat_common .com_parts01_block {
display: block;
max-width: 100%;
}

.com_parts01.cat_common .com_parts01_block .box {
width: 100%;
padding: 1rem 0;
border-bottom: 1px solid #d3d6d8;
}

.com_parts01.cat_common .com_parts01_block .box:before {
width: 90%;
}


.com_parts01.cat_common .com_parts01_block .box:first-child {
padding: 0 0 4rem;
border-bottom: 0px solid #d3d6d8;
}

.com_parts01.cat_common .com_parts01_block .box:last-child {
width: 100%;
padding: 4rem 0 0;
border-bottom: 0;
}

.com_parts01.cat_common .com_parts01_block .ttl {
font-size: 3rem;
}

.com_parts01.cat_common .img_box {
background: url("img/flame01.png") 0 0 no-repeat;
background-size: 100% auto;
padding: 2.2rem 2rem;
height: auto;
}

.com_parts01.cat_common .box_inner {
margin: 1rem 0 0;
}

.com_parts01.cat_common .box_ttl01 {
padding: 1rem 1rem;
font-size: 1.7rem;
}

.com_parts01.cat_common .box_ttl02 {
margin: 1.5rem 0 1rem;
font-size: 1.7rem;
}

.com_parts01.cat_common .box_ttl02:before {
margin-right: 1.5rem;
}

.com_parts01.cat_common .box_ttl02:after {
margin-left: 1.5rem;
}

.com_parts01.cat_common .box_item_inner {
padding: 1.5rem 3rem;
min-height: auto;
}
.com_parts01.cat_common .parts .box_item_inner {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
min-height: auto;
}
.com_parts01.cat_common .speed .box_item_inner {
display: block;
min-height: auto;
}

.com_parts01.cat_common .txt {
line-height: 1.6;
}

.com_parts01.cat_common .txt01 {
font-size: 2rem;
margin: 0 0 0.5rem;
}

.com_parts01.cat_common .txt02 {
font-size: 1.8rem;
}

.com_parts01.cat_common .txt02 span {
font-size: 2rem;
}

.com_parts01.cat_common .btn-web a {
max-width: 85%;
margin: 0.5rem auto 0;
padding: 1.5rem 4rem;
}







/*-- モーダル --*/
.modal .modalBox {
padding: 1.5rem 2rem;
font-size: 1.3rem;
box-shadow: 0px 3px 0px 0px #7b7878;
}

body .modaal-container {
display: block;
max-width: 100%;
box-sizing: border-box;
}

body .modaal-wrapper .modaal-close {
top: -4rem;
right: -2rem;
background: url("img/close_btn.png") 0 0 no-repeat;
background-size: 30px auto;
}

.modaal-container .caption {
font-size: 1rem;
text-align: left;
}
}
