@charset "UTF-8";
  @font-face {
font-family: "Avenir";
font-weight: 400;
font-style: normal;
src: url(https://vidol.co.jp/wp/wp-content/themes/vidol/fonts/Avenir-Roman.woff) format("woff"), url(https://vidol.co.jp/wp/wp-content/themes/vidol/fonts/Avenir-Roman.ttf) format("truetype");
}
@font-face {
font-family: "Avenir";
font-weight: 500;
font-style: normal;
src: url(https://vidol.co.jp/wp/wp-content/themes/vidol/fonts/Avenir-Medium.woff) format("woff"), url(https://vidol.co.jp/wp/wp-content/themes/vidol/fonts/Avenir-Medium.ttf) format("truetype");
}
@font-face {
font-family: "Avenir";
font-weight: 700;
font-style: normal;
src: url(https://vidol.co.jp/wp/wp-content/themes/vidol/fonts/Avenir-Heavy.woff) format("woff"), url(https://vidol.co.jp/wp/wp-content/themes/vidol/fonts/Avenir-Heavy.ttf) format("truetype");
} *,
*::before,
*::after {
box-sizing: border-box;
word-break: break-all;
}
html,
body,
div,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table.table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-family: inherit;
font-weight: inherit;
font-style: inherit;
text-align: inherit;
vertical-align: baseline;
}
:focus {
outline: 0;
}
html {
font-size: 62.5%;
}
ol,
ul {
list-style: none;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
caption,
th,
td {
font-weight: normal;
text-align: left;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
}
blockquote,
q {
quotes: "" "";
}
a img {
border: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
display: block;
}
img {
display: block;
max-width: 100%;
height: auto;
margin: 0 auto;
line-height: 0;
}
a {
color: inherit;
text-decoration: none;
}
a:hover {
opacity: 0.7;
}
a:active,
a:focus {
outline: 0;
}  html {
overflow: auto;
}
body {
display: block;
overflow: hidden;
width: 100%;
min-width: 100%;
margin: 0 auto;
font-family: "Noto Sans JP", "Helvetica", "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
font-size: 1.5em;
font-weight: 500;
line-height: 1.5;
color: #000;
-webkit-text-size-adjust: none;
}
a:hover,
.link:hover,
.btn:hover,
.btn:hover img {
opacity: 0.5;
}
a,
.btn,
.btn img {
transition: 0.5s;
}
.link {
display: block;
}
.btn,
.btn_primary,
.btn_invert {
display: flex;
align-items: center;
justify-content: center;
}
.btn_invert {
background-color: #3c3c3c;
color: #fff;
}
.btn_invert:hover {
background-color: #fff;
color: #3c3c3c;
opacity: 1;
}
.btn_invert:hover .arrow_s span::before,
.btn_invert:hover .arrow_btn span::before {
background: #3c3c3c;
}
.btn_invert:hover .arrow_s span::after,
.btn_invert:hover .arrow_btn span::after {
border-top: 1px solid #3c3c3c;
border-right: 1px solid #3c3c3c;
}
.btn_primary:hover,
.page-numbers:not(.dots):hover {
background-color: #3c3c3c;
color: #fff;
opacity: 1;
}
.btn_primary:hover .arrow_s span::before,
.btn_primary:hover .arrow_btn span::before,
.page-numbers:not(.dots):hover .arrow_s span::before,
.page-numbers:not(.dots):hover .arrow_btn span::before {
background: #fff;
}
.btn_primary:hover .arrow_s span::after,
.btn_primary:hover .arrow_btn span::after,
.page-numbers:not(.dots):hover .arrow_s span::after,
.page-numbers:not(.dots):hover .arrow_btn span::after {
border-top: 1px #fff solid;
border-right: 1px #fff solid;
}
.sp_view {
display: none !important;
}
.sp_view_ib {
display: none !important;
}  .fadeInUp {
opacity: 0;
transform: translate(0, 100px);
}
.fadeInUp.js_active {
animation: fadeInUp 1s ease-in-out forwards;
}
@keyframes fadeInUp {
0% {
opacity: 0;
transform: translate(0, 100px);
}
50% {
opacity: 0.5;
transform: translate(0, -7px);
}
100% {
opacity: 1;
transform: translate(0, 0);
}
}
.arrow_s,
.arrow_l,
.arrow_btn {
display: block;
font-family: "Avenir", sans-serif;
font-weight: 700;
letter-spacing: 0.1rem;
}
.arrow_s span,
.arrow_l span,
.arrow_btn span {
position: relative;
display: inline-block;
min-width: 80px;
min-height: 20px;
}
.arrow_s span::before,
.arrow_l span::before,
.arrow_btn span::before {
position: absolute;
bottom: -2px;
left: 0;
display: block;
width: 102%;
height: 1px;
background: #000;
content: "";
transition: 0.5s;
}
.arrow_s span::after,
.arrow_l span::after,
.arrow_btn span::after {
position: absolute;
bottom: -5px;
left: 102%;
display: block;
width: 8px;
height: 8px;
margin-left: -7px;
border-top: 1px solid #000;
border-right: 1px solid #000;
content: "";
transform: rotate(45deg);
}
.arrow_s span:hover::before,
.arrow_l span:hover::before,
.arrow_btn span:hover::before {
animation: arrow-line 1.5s;
}
.arrow_s span:hover::after,
.arrow_l span:hover::after,
.arrow_btn span:hover::after {
animation: arrow 1.5s;
}
.arrow_s {
font-size: 16px;
}
.arrow_l {
font-size: 20px;
}
.arrow_btn {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.arrow_btn span {
width: 100%;
height: 100%;
}
.arrow_btn span::before {
right: 25px;
bottom: 23px;
left: auto;
width: 80px;
}
.arrow_btn span::after {
right: 25px;
bottom: 20px;
left: auto;
}
.arrow_btn span:hover::before {
animation: arrow_line_btn 1.5s;
}
.arrow_btn span:hover::after {
animation: arrow_btn 1.5s;
}
@keyframes arrow-line {
0% {
width: 0;
}
}
@keyframes arrow {
0% {
left: 0;
}
}
@keyframes arrow_line_btn {
0% {
right: 105px;
width: 0;
}
}
@keyframes arrow_btn {
0% {
right: 105px;
}
}  #header {
position: relative;
z-index: 1000;
width: 100%;
height: 100px;
background: #fff;
}
#header.top_header {
opacity: 0;
}
.header_inner {
position: fixed;
z-index: 1000;
display: flex;
width: 100%;
height: 100px;
padding-right: 50px;
padding-left: 50px;
background-color: rgba(255, 255, 255, 0.9);
align-items: center;
}
.header_inner .header_logo {
max-width: 265px;
}
.header_inner .header_nav {
margin-left: auto;
}
.header_inner .header_nav ul {
display: flex;
align-items: center;
}
.header_inner .header_nav ul li {
padding: 10px 20px;
font-family: "Avenir", sans-serif;
letter-spacing: 0.1rem;
}
.header_inner .header_nav ul li:last-of-type {
padding-right: 0;
}
.header_inner .menu_dropdown {
position: relative;
transition: 0.5s;
}
.header_inner .menu_dropdown.last .menu_second li {
width: calc(100% + 10px);
}
.header_inner .menu_dropdown .menu_second {
position: absolute;
z-index: -1;
top: 0;
left: 0;
visibility: hidden;
flex-direction: column;
margin-right: -100px;
opacity: 0;
transition: top 0.5s, opacity 0.5s, visibility 0.5s;
align-items: flex-start;
}
.header_inner .menu_dropdown .menu_second li {
width: calc(100% + 47px);
background: #f5f5f5;
font-size: 1.3rem;
line-height: 1.5;
}
.header_inner .menu_dropdown:hover .menu_second {
z-index: 3;
top: 42px;
display: flex;
visibility: visible;
opacity: 1;
}
.header_inner .menu_dropdown.arrow {
padding-right: 25px;
}
.header_inner .menu_dropdown.arrow::after {
position: absolute;
top: 15px;
right: 12px;
display: block;
width: 8px;
height: 8px;
border-right: 2px solid #000;
border-bottom: 2px solid #000;
content: "";
transition: 0.3s;
transform: rotate(45deg);
}
.header_inner .menu_dropdown.arrow:hover {
position: relative;
background: #f5f5f5;
opacity: 1;
}
.header_inner .menu_dropdown.arrow:hover::before {
position: absolute;
bottom: 10px;
width: calc(100% - 30px);
height: 1px;
background: #000;
content: "";
}
.header_inner .menu_dropdown.arrow:hover::after {
top: 18px;
transform: rotate(225deg);
}
.header_inner .header_btn {
max-width: 45px;
flex-shrink: 0;
}
.nav_drawer {
position: relative;
}
.nav_unshown {
display: none;
}
#nav_open {
position: absolute;
top: 0;
right: 20px;
display: inline-block;
width: 50px;
height: 50px;
cursor: pointer;
}
#nav_open span,
#nav_open span:after {
position: absolute;
top: 22px;
display: block;
width: 50px;
height: 3px;
border-radius: 3px;
background: #000;
content: "";
}
#nav_open span:after {
top: 10px;
}
#nav_close span {
position: relative;
z-index: 4;
display: block;
width: 100px;
height: 100px;
margin: 30px auto 20px;
cursor: pointer;
}
#nav_close span::before, #nav_close span::after {
position: absolute;
top: 50px;
left: 0;
display: block;
width: 100%;
height: 1px;
background: #fff;
content: "";
transition: 0.4s;
transform: rotate(45deg);
transform-origin: 50% 50%;
}
#nav_close span::after {
transform: rotate(-45deg);
}
#nav_content {
position: fixed;
z-index: 9999;
top: 60px;
left: 0;
overflow-y: auto;
width: 100%;
width: 100%;
max-width: 100%;
height: calc(100vh - 60px);
height: calc(100vh - 60px);
background: rgba(226, 57, 23, 0.8);
color: #fff;
text-align: center;
transition: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translateX(105%);
-webkit-overflow-scrolling: touch;
}
#nav_content ul {
margin: 70px auto;
}
#nav_content li {
padding: 10px 5px;
font-family: "Avenir", sans-serif;
font-size: 2.2rem;
font-weight: 400;
text-align: center;
}
#nav_content img {
width: 80px;
}
#nav_input:checked ~ #nav_content {
transform: translateX(0%);
}  .main {
position: relative;
padding-top: 100px;
background: #f5f5f5;
}
h2 {
padding-bottom: 40px;
font-size: 4.2rem;
font-weight: 700;
}
h3 {
padding-bottom: 20px;
font-size: 3.4rem;
font-weight: 700;
line-height: 1.8;
}
h4 {
padding-bottom: 20px;
font-size: 1.8rem;
font-weight: 700;
}
p {
padding-bottom: 10px;
line-height: 2;
}
.top_heading {
max-width: 920px;
margin: 0 auto;
padding-right: 20px;
padding-left: 20px;
}
h2.top_title {
padding-bottom: 40px;
font-family: "Avenir", sans-serif;
font-size: 6rem;
text-align: left;
letter-spacing: 0.2rem;
}
h2.top_title::before {
display: inline-block;
width: 15px;
height: 4.2rem;
margin-right: 10px;
background: #e23917;
content: "";
}
h3.top_title::before {
display: inline-block;
width: 8px;
height: 24px;
margin-right: 5px;
background: #e23917;
content: "";
}
h3.subtitle {
font-family: "Avenir", sans-serif;
line-height: 1.5;
}
h3.subtitle span {
display: block;
font-family: "Noto Sans JP", sans-serif;
font-size: 1.5rem;
font-weight: 500;
}
.txt_eng {
font-family: "Avenir", sans-serif;
letter-spacing: 0.1rem;
}
.txt_left {
text-align: left !important;
}
.txt_center {
text-align: center !important;
}
.txt_right {
text-align: right !important;
}
.txt_vertical {
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
.txt_wide {
letter-spacing: 0.2rem;
}
.txt_mp0 {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}
.txt_mta {
margin-top: auto;
}
.container,
.container_s,
.container_m,
.container_l,
.container_xl,
.container_full {
max-width: 100%;
margin: 0 auto;
padding-right: 15px;
padding-left: 15px;
text-align: center;
}
.container_s {
max-width: 750px;
}
.container_m {
max-width: 920px;
}
.container_l {
max-width: 1240px;
}
.container_xl {
max-width: 1360px;
}
.container_full {
max-width: 1960px;
}
.group_xs {
margin-bottom: 10px;
}
.group_s {
margin-bottom: 30px;
}
.group_m {
margin-bottom: 40px;
}
.group_l {
margin-bottom: 60px;
}
.group_xl {
margin-bottom: 100px;
}
.contents_s {
padding-top: 30px;
padding-bottom: 30px;
}
.contents_m {
padding-top: 40px;
padding-bottom: 40px;
}
.contents_l {
padding-top: 60px;
padding-bottom: 60px;
}
.contents_xl {
padding-top: 100px;
padding-bottom: 100px;
}
.contents span {
display: block;
}
.wrapper {
display: flex;
text-align: left;
flex-wrap: wrap;
}
.row_s {
margin-right: -10px;
margin-left: -10px;
}
.row_s .col1,
.row_s .col2,
.row_s .col3,
.row_s .col4 {
padding-right: 10px;
padding-left: 10px;
}
.row_m {
margin-right: -20px;
margin-left: -20px;
}
.row_l {
margin-right: -30px;
margin-left: -30px;
}
.row_l .col1,
.row_l .col2,
.row_l .col3,
.row_l .col4 {
padding-right: 30px;
padding-left: 30px;
}
.col1 {
width: 100%;
}
.col2 {
width: calc(100% / 2);
}
.col3 {
width: calc(100% / 3);
}
.col4 {
width: calc(100% / 4);
}
.col1,
.col2,
.col3,
.col4 {
padding-right: 20px;
padding-left: 20px;
}
.vertical {
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
.align_height {
display: flex;
flex-direction: column;
flex: 1 0 auto; }
.hr {
border-bottom: 2px solid #787878;
} .main_visual {
position: relative;
width: 100vw;
height: calc(100vh - 100px);
min-height: 530px;
font-family: "Avenir", sans-serif;
font-weight: 700;
opacity: 0;
}
.main_visual::after,
.main_visual_layer {
position: absolute;
top: -100px;
width: 100vw;
height: calc(100% + 100px);
}
.main_visual::before {
position: fixed;
z-index: -1;
top: -100px;
width: 100vw;
height: 150%;
background: url(https://vidol.co.jp/wp/wp-content/themes/vidol/images/top_bg_mv.jpg) center/cover repeat;
content: "";
}
.main_visual_layer {
background: #e23917 center/cover;
transform-origin: bottom;
}
.main_visual_catch {
position: absolute;
z-index: 2;
top: 50%;
left: 50%;
width: 75vw;
transform: translate(-50%, -50%);
}
.catch_main {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: calc(75vw * 0.222);
transform: translate(-50%, -50%);
}
.catch_gothic {
top: 0;
left: 0;
}
.catch_cursive {
position: absolute;
top: 51.895%;
left: 43.1937%;
width: 50.07%;
height: 68.513%;
opacity: 0;
}
.catch_cursive img {
width: 100%;
height: 100%;
}
.mask1,
.mask2,
.mask3 {
fill: none;
stroke: #fff;
stroke-linecap: round;
stroke-linejoin: round;
}
.mask1 {
opacity: 0;
stroke-width: 8.5;
}
.mask2 {
stroke-width: 22;
stroke-dasharray: 3200;
stroke-dashoffset: 3200;
}
.mask3 {
opacity: 0;
stroke-width: 20;
}
.catch_sub {
position: absolute;
top: calc((75vw * 0.2 / 2) + 50% + 4vw);
left: 0;
text-align: left;
}
.catch_sub p {
display: block;
padding-bottom: 0;
font-size: 1.4vw;
line-height: 1.6;
}
.catch_sub span {
opacity: 0;
}
.main_visual_copyright,
.copyright {
position: absolute;
z-index: 2;
top: 80px;
left: 20px;
font-size: 1.2rem;
}
.main_visual_scroll {
position: absolute;
z-index: 1;
right: 75px;
bottom: 150px;
margin: 0;
padding: 0;
letter-spacing: 0.1rem;
}
.main_visual_scroll span {
display: block;
}
.main_visual_scroll .scroll {
position: absolute;
top: 165px;
left: 4px;
width: 0;
height: 200px;
border: 0.5px solid #000;
}
.main_visual_scroll .scroll::after {
position: absolute;
top: 100%;
left: -4px;
display: block;
width: 8px;
height: 8px;
margin-top: -7px;
border-right: 1px solid #000;
border-bottom: 1px solid #000;
content: "";
transform: rotate(45deg);
}
.main_visual_slit {
position: absolute;
bottom: -250px;
width: 640px;
height: 180px;
background-color: #fff;
transform: rotate(-45deg);
transform-origin: 0 50%;
}
.top_business .wrapper {
align-items: flex-start;
}
.top_business_panel {
border-left: 1px solid #000;
}
.top_business_panel:nth-child(1) {
margin-top: 100px;
border-left: none;
}
.top_business_panel:nth-child(2) {
margin-top: 50px;
}
.top_business_panel img {
margin-bottom: 20px;
}
.top_business_panel h4 {
line-height: 2;
letter-spacing: 0.1rem;
}
.top_contents,
.top_about {
position: relative;
background: url(https://vidol.co.jp/wp/wp-content/themes/vidol/images/top_bg_line.png) left center no-repeat;
background-color: #f5f5f5;
background-attachment: fixed;
}
.top_clients .wrapper {
position: relative;
top: 130px;
margin-top: -130px;
}
.top_clients p {
font-size: 1.6rem;
}
.top_clients .grid_item {
width: calc(100% / 6);
padding: 1%;
}
.top_clients img {
border-radius: 3%;
box-shadow: 0 0 10px 2px #e3e3e3;
}
.top_effect_bg {
height: 450px;
}
.top_effect_bg.js_active::before {
position: fixed;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: url(https://vidol.co.jp/wp/wp-content/themes/vidol/images/top_bg_main.jpg) center no-repeat;
background-size: cover;
content: "";
}
.top_vision {
position: relative;
z-index: 2;
top: -70px;
max-width: 55%;
margin-bottom: -70px;
padding: 100px 0 150px calc((100vw - 920px) / 2);
background-color: #fff;
box-shadow: 10px 10px 30px 5px #787878;
}
.top_vision .top_about_inner {
padding-right: 20px;
padding-left: 20px;
}
.top_vision h3 {
font-size: 2.6rem;
}
.top_vision h4 {
font-size: 2.8rem;
line-height: 1.8;
}
.top_vision .arrow_l {
margin-top: auto;
margin-bottom: 5px;
}
.effect_layer1 {
position: absolute;
z-index: 1;
top: -200px;
left: 45%;
width: 550px;
height: 550px;
border-radius: 50%;
background: #f5f5f5;
box-shadow: 10px 10px 30px 5px #787878;
}
.effect_layer2 {
position: absolute;
z-index: 2;
top: 140px;
left: calc(50% + 280px);
width: 300px;
height: 375px;
background-image: radial-gradient(#fff 30%, transparent 30%);
background-size: 15px 15px;
}
.top_recruit {
padding-top: 140px;
padding-bottom: 100px;
}
.top_recruit .col2 {
margin-bottom: 30px;
}
.top_link_btn {
position: relative;
z-index: 1;
display: block;
max-width: 400px;
height: 170px;
margin-right: auto;
margin-left: auto;
background: #e23917;
letter-spacing: 0.2rem;
}
.top_link_btn .top_title {
position: absolute;
top: 50%;
left: 15%;
padding: 0;
transform: translateY(-50%);
}
.top_link_btn .top_title::before {
background: #fff;
}  .table_company th,
.table_company td {
padding: 20px;
line-height: 2;
}
.table_company th {
padding-left: 0;
}
.table_company td:last-child {
padding-bottom: 0;
}
.table_history th,
.table_history td {
padding: 10px 20px;
}
.table_history th {
padding-left: 0;
}
.address_map {
position: relative;
overflow: hidden;
height: 600px;
margin-bottom: 150px;
}
.address_map iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}  .top_news {
background-color: #fff;
}
.top_news .container_full {
position: relative;
}
.top_news .btn_view {
position: absolute;
top: 30px;
right: 17%;
}
.news_title {
padding: 0 20px 50px 20px;
font-family: "Avenir", sans-serif;
font-size: 4.5rem;
text-align: left;
}
.news_data {
font-size: 1.4rem;
font-weight: 700;
color: #787878;
letter-spacing: 0.05em;
}
.news_thumbnail {
margin-bottom: 20px;
}
.post_eyecatch img {
width: 100%;
padding-right: 20px;
padding-left: 20px;
}
.img_empty {
height: 65px;
}
.post_contents {
max-width: 750px;
margin: 0 auto;
text-align: left;
}
.post_contents figure {
margin: 30px 0;
}
.post_title {
font-size: 1.7rem;
}
.post_title_single {
font-size: 2.9rem;
}
.pagination {
margin: 0 auto 100px;
padding: 0 15px;
}
.page-numbers {
display: inline-block;
width: 60px;
height: 60px;
margin: 20px;
border: 1px solid #231815;
border-radius: 50%;
font-size: 20px;
font-weight: 700;
line-height: 56px;
text-align: center;
transition: 0.5s;
}
.page-numbers.current {
background-color: #3c3c3c;
color: #fff;
}
.page-numbers.prev, .page-numbers.next {
display: none;
}
.nav_below {
display: flex;
padding: 50px 0;
align-items: center;
justify-content: space-between;
}
.nav_wrapper {
width: calc((100% - 150px) / 2);
}
.btn_archives {
display: inline-block;
width: 130px;
height: 130px;
border: 1px solid #231815;
border-radius: 50%;
line-height: 120px;
}
.btn_archives span {
font-size: 1.5rem;
}
.btn_archives span::before {
bottom: 40px;
}
.btn_archives span::after {
bottom: 37px;
}
.nav_prev .inner,
.nav_next .inner {
position: relative;
display: inline-block;
font-size: 12px;
text-align: left;
}
.nav_prev .inner::before, .nav_prev .inner::after,
.nav_next .inner::before,
.nav_next .inner::after {
position: absolute;
top: 50%;
content: "";
transform: translateY(-50%);
}
.nav_prev .inner::before,
.nav_next .inner::before {
width: 30px;
height: 30px;
border-top: 1px solid #000;
border-right: 1px solid #000;
}
.nav_prev .inner::after,
.nav_next .inner::after {
width: 40px;
height: 1px;
background: #000;
}
.nav_prev .inner {
padding-left: 50px;
}
.nav_prev .inner::before {
left: 0;
transform: translateY(-50%) rotate(-135deg);
}
.nav_prev .inner::after {
left: -4px;
}
.nav_next .inner {
padding-right: 50px;
}
.nav_next .inner::before {
right: 0;
transform: translateY(-50%) rotate(45deg);
}
.nav_next .inner::after {
right: -4px;
}   .inquiry {
max-width: 100%;
margin: 0 auto;
text-align: left;
}
.input_group {
margin-bottom: 15px;
}
.input_title {
margin-bottom: 10px;
}
.haveto {
padding: 5px;
font-weight: 700;
color: #e23917;
}
.inquiry input:-ms-input-placeholder, .inquiry textarea:-ms-input-placeholder {
color: #b5b5b5;
}
.inquiry input::placeholder,
.inquiry textarea::placeholder {
color: #b5b5b5;
}
.wpcf7 input[type="checkbox"] {
position: absolute;
opacity: 0;
}
.wpcf7 .wpcf7-list-item {
margin: 0 0 7px 0;
}
.wpcf7-list-item-label:before {
position: relative;
top: -2px;
display: inline-block;
width: 20px;
height: 20px;
margin-right: 7px;
border-radius: 5px;
background: #e1e1e1;
text-align: center;
vertical-align: middle;
content: "";
cursor: pointer;
}
input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
position: absolute;
top: -2px;
left: -2px;
display: block;
width: 25px;
height: 25px;
background: url(https://vidol.co.jp/wp/wp-content/themes/vidol/images/icon_check.png) no-repeat center;
background-size: contain;
content: "";
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
width: 100%;
padding: 15px;
border: none;
border-radius: 5px;
background: #e1e1e1;
font-family: "Noto Sans JP", sans-serif;
font-size: 15px;
}
.wpcf7 .wpcf7-response-output {
margin-top: 0;
}
.accept {
margin-bottom: 70px;
}
.accept .wpcf7-list-item {
position: relative;
margin-bottom: 2px;
}
.accept .wpcf7-list-item-label span {
display: inline-block;
vertical-align: top;
}
.accept a {
color: #0080c3;
text-decoration: underline;
}
.accept .indent {
display: block;
margin-left: 28px;
}
#formbtn {
display: block;
width: 250px;
margin: 0 auto;
padding: 15px 102px;
border: 2px solid #e23917;
border-radius: 10px;
background: #e23917;
font-size: 18px;
font-weight: 500;
color: #fff;
letter-spacing: 0.7rem;
cursor: pointer;
transition: all 0.5s;
}
#formbtn:hover {
background: #fff;
color: #e23917;
}  .link_group {
font-family: "Avenir", sans-serif;
}
.link_group .wrapper {
align-items: center;
}
.link_group .wrapper span {
font-size: 14px;
}
.link_group .link_item {
position: relative;
}
.link_group img {
width: 90%;
margin-left: 0;
}
.link_group .link_group_btn {
position: absolute;
z-index: 1;
top: 50%;
right: 0;
height: 80%;
transform: translateY(-50%);
}
.link_group .btn {
width: 220px;
height: 100%;
padding: 10px;
background-color: rgba(255, 255, 255, 0.8);
}
.link_group .btn:hover {
background-color: #fff;
opacity: 1;
}
.link_group .grid_btn {
margin: 0;
padding: 40px 15px;
border-top: 1px solid #231815;
border-right: 1px solid #231815;
letter-spacing: 0.1em;
}
.link_group .grid_btn:last-child {
border-right: none;
}
.link_group a {
position: relative;
}
.link_group h3 {
padding: 0;
font-size: 2rem;
font-weight: 700;
}   #footer {
background-color: #f5f5f5;
color: #231815;
}
.btn_contact {
width: 100%;
padding: 40px;
border-top: 1px solid #3c3c3c;
border-bottom: 1px solid #3c3c3c;
font-size: 2rem;
font-weight: 900;
letter-spacing: 0.1em;
}
.btn_contact:hover {
background-color: #f5f5f5;
}
.footer_inner {
max-width: 768px;
margin: 0 auto;
padding: 100px 30px;
}
.footer_inner .wrapper {
margin-right: -50px;
margin-left: -50px;
justify-content: center;
align-items: center;
}
.footer_inner .grid_item {
width: 50%;
padding: 0 50px;
}
.footer_inner .grid_item:last-child {
border-left: 1px solid #333;
}
.footer_inner h2 {
padding-bottom: 5px;
}
.footer_inner h2:nth-child(1) {
font-size: 2.1rem;
letter-spacing: normal;
}
.footer_inner h2:nth-child(2) {
font-size: 1.8rem;
}
.footer_nav li {
padding-bottom: 10px;
font-size: 1.6rem;
letter-spacing: 0.1rem;
}
.footer_sns_info {
display: flex;
margin-top: 30px;
}
.footer_sns_info li {
padding-right: 30px;
}
.footer_sns_info li:last-child {
padding-right: 0;
}
#btnTop {
position: fixed;
z-index: 100;
right: 40px;
bottom: 40px;
display: none;
width: 50px;
height: 50px;
border: 1px solid #231815;
border-radius: 50%;
line-height: 50px;
}
#btnTop a {
position: relative;
width: 50px;
height: 50px;
}
#btnTop a::before, #btnTop a::after {
position: absolute;
content: "";
}
#btnTop a::before {
top: 15px;
left: 24px;
width: 1px;
height: 20px;
background: #231815;
}
#btnTop a::after {
top: 14px;
left: 22px;
width: 5px;
height: 5px;
border-top: 1px solid #231815;
border-right: 1px solid #231815;
transform: rotate(-45deg);
}  _:-ms-lang(x),
.top_clients .grid_item {
width: 16.66%;
}  _:-ms-lang(x)::-ms-backdrop,
.col3 {
width: 33.33%;
}
_:-ms-lang(x)::-ms-backdrop,
.arrow_btn span {
position: absolute;
top: 0;
left: 0;
display: block;
}
_:-ms-lang(x)::-ms-backdrop,
.btn h3,
.grid_btn h3 {
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 100%;
text-align: center;
transform: translate(-50%, -50%);
}
_:-ms-lang(x)::-ms-backdrop,
.link_group .btn_primary {
height: 110px;
} @media screen and (max-width: 1200px) {
.header_inner {
padding-right: 2%;
padding-left: 2%;
}
.header_inner .header_logo {
max-width: 180px;
}
.header_inner .header_nav ul li {
padding: 10px 15px;
font-size: 1.4rem;
}
.header_inner .menu_dropdown .menu_second li {
width: calc(100% + 40px);
}
.header_inner .menu_dropdown:hover .menu_second {
top: 38px;
}
.copyright {
display: none;
}
.top_vision {
max-width: 65%;
}
.top_news .col4 {
width: calc(100% / 2);
}
.top_news .col4:nth-of-type(1), .top_news .col4:nth-of-type(2) {
margin-bottom: 70px;
}
_:-ms-lang(x)::-ms-backdrop,
.header_logo img {
width: 180px;
max-width: 100%;
}
}
@media screen and (max-width: 768px) {
.pc_view {
display: none !important;
}
.sp_view {
display: block !important;
}
.sp_view_ib {
display: inline-block !important;
}
.arrow_switch {
text-align: right;
}
#header {
height: 60px;
}
.header_inner {
height: 60px;
padding-right: 15px;
padding-left: 15px;
}
.header_inner .menu_dropdown.arrow:hover::before {
width: calc(100% - 10px);
}
.main {
padding-top: 40px;
}
h2 {
font-size: 2.8rem;
}
h3 {
font-size: 2.4rem;
}
h2.top_title::before {
width: 10px;
height: 2.4rem;
}
h2.top_title {
font-size: 3rem;
text-align: center;
}
h3.top_title::before {
height: 18px;
}
.container_s {
max-width: 500px;
}
.container_m {
max-width: 750px;
}
.container_l {
max-width: 750px;
}
.container_xl {
max-width: 750px;
}
.container_full {
max-width: 750px;
}
.group_s {
margin-bottom: 20px;
}
.group_m {
margin-bottom: 30px;
}
.group_l {
margin-bottom: 45px;
}
.group_xl {
margin-bottom: 70px;
}
.contents_s {
padding-top: 20px;
padding-bottom: 20px;
}
.contents_m {
padding-top: 30px;
padding-bottom: 30px;
}
.contents_l {
padding-top: 45px;
padding-bottom: 45px;
}
.contents_xl {
padding-top: 70px;
padding-bottom: 70px;
}
.contents span {
display: inline;
}
.row_s,
.row_m,
.row_l {
margin-right: -15px;
margin-left: -15px;
}
.row_s .col1,
.row_s .col2,
.row_s .col3,
.row_s .col4,
.row_m .col1,
.row_m .col2,
.row_m .col3,
.row_m .col4,
.row_l .col1,
.row_l .col2,
.row_l .col3,
.row_l .col4 {
padding-right: 15px;
padding-left: 15px;
}
.col1,
.col2,
.col3,
.col4 {
width: 100%;
margin-bottom: 40px;
padding-right: 15px;
padding-left: 15px;
}
.col1.last,
.col2.last,
.col3.last,
.col4.last {
margin-bottom: 0;
}
.grid_box,
.post_contents {
position: relative;
margin: -65px 0 0 0;
padding: 20px;
background: rgba(255, 255, 255, 0.9);
}
.main_visual {
height: calc(100vh - 60px);
}
.main_visual::after,
.main_visual_layer {
top: -60px;
height: calc(100% + 60px);
}
.main_visual_catch {
width: calc(100% - (20px + 8%));
height: 85%;
}
.catch_main {
right: 3%;
left: auto;
width: calc(75vh * 0.222);
height: 100%;
transform: translate(0, -50%);
}
.catch_gothic {
top: 0;
right: 0;
left: auto;
}
.catch_cursive {
top: 43%;
right: 51.895%;
left: auto;
width: 68.513%;
height: 50.07%;
}
.catch_cursive img {
transform: rotate(90deg);
}
.catch_sub {
top: auto;
bottom: 20%;
max-width: 55%;
}
.catch_sub p {
font-size: 3vw;
}
.main_visual_copyright,
.copyright {
top: 20px;
left: 10px;
font-size: 1.5vh;
}
.main_visual_slit {
top: 50px;
width: 100px;
height: 350px;
}
.top_business {
padding-bottom: 10px;
}
.top_business_panel {
border-left: none;
}
.top_business_panel:nth-child(1), .top_business_panel:nth-child(2), .top_business_panel:nth-child(3) {
margin-top: 0;
}
.top_business_panel img {
width: 100%;
}
.top_business_panel .grid_box {
position: relative;
margin-right: 15px;
margin-left: 15px;
}
.top_business_panel .grid_box::before {
position: absolute;
top: 5px;
right: 5px;
width: 0;
height: 0;
border-width: 0 20px 20px 0;
border-style: solid;
border-color: transparent #e23917 transparent transparent;
content: "";
}
.top_business_panel h4 {
line-height: 1.8;
letter-spacing: normal;
}
.top_contents,
.top_about {
background-image: none;
}
.top_clients .wrapper {
top: calc(80vw / 3 * 0.33 + 50px);
margin-top: calc((80vw / 3 * 0.33 + 50px) * -1);
}
.top_clients .grid_item {
width: calc(100% / 3);
padding: 1.5%;
}
.top_effect_bg {
height: 200px;
}
.top_vision {
top: calc((80vw / 3 * 0.33 + 10px) * -1);
max-width: calc(100% - 30px);
margin: 0 auto calc((80vw / 3 * 0.33 + 10px) * -1);
padding: 40px 0 30px;
box-shadow: none;
}
.top_vision .top_about_inner {
width: 100%;
}
.top_vision h3 {
font-size: 1.7rem;
}
.top_vision h4 {
font-size: 1.8rem;
}
.top_recruit {
padding-top: 30px;
padding-bottom: 10px;
}
.top_link_btn {
height: 150px;
}
.table_company th,
.table_company td {
display: block;
}
.table_company th {
padding: 20px 0 5px 0;
}
.table_company td {
padding: 0 0 20px 30px;
}
.table_history th,
.table_history td {
display: block;
}
.table_history td {
padding: 10px 0 20px 30px;
}
.address_map {
height: 0;
margin-bottom: 100px;
padding-bottom: 56.25%;
}
.top_news,
.sub_news {
background-color: #f5f5f5;
}
.top_news {
padding-bottom: 60px;
}
.top_news .wrapper {
margin-right: -15px;
margin-left: -15px;
}
.top_news .col4 {
width: 100%;
}
.top_news .col4:nth-of-type(1), .top_news .col4:nth-of-type(2) {
margin-bottom: 50px;
}
.top_news .btn_view {
top: auto;
right: 40px;
bottom: -20px;
font-size: 2rem;
}
.sub_news .wrapper {
margin-right: -15px;
margin-left: -15px;
}
.sub_news .col3:last-child {
margin-bottom: 0;
}
.news_title {
padding-bottom: 40px;
font-size: 3.5rem;
text-align: center;
}
.news_thumbnail img,
.post_eyecatch img {
min-width: 100vw;
margin-right: -15px;
margin-left: -15px;
}
.post_eyecatch img {
padding-right: 0;
padding-left: 0;
}
.post_title_single {
font-size: 2rem;
}
.pagination {
margin: 60px 0 60px;
}
.page-numbers {
width: 50px;
height: 50px;
margin: 10px;
font-size: 13px;
line-height: 48px;
}
.nav_wrapper {
width: calc((100% - 80px) / 2);
}
.btn_archives {
width: 80px;
height: 80px;
line-height: 75px;
}
.btn_archives span {
min-width: 55px;
font-size: 1rem;
}
.btn_archives span::before {
bottom: 26px;
}
.btn_archives span::after {
bottom: 23px;
}
.nav_prev .inner,
.nav_next .inner {
font-size: 3.2vw;
}
.accept {
margin-bottom: 40px;
}
.accept .wpcf7-list-item-label span {
width: calc(100% - 30px);
}
.link_group .link_item {
max-width: 500px;
margin-right: auto;
margin-left: auto;
}
.link_group .btn {
width: calc(80px + 40vw);
}
.link_group .grid_btn {
border-right: none;
}
.footer_inner {
max-width: 325px;
padding: 40px 15px;
}
.footer_inner .wrapper {
margin: 0;
}
.footer_inner .grid_item {
width: 100%;
padding: 0;
}
.footer_inner .grid_item:last-child {
border-left: none;
}
.footer_inner h2 {
text-align: center;
}
.footer_sns_info {
justify-content: center;
}
#btnTop {
right: 20px;
border: none;
background-color: #7d7d7d;
}
#btnTop a::before {
background: #fff;
}
#btnTop a::after {
border-top: 1px solid #fff;
border-right: 1px solid #fff;
}
_:-ms-lang(x)::-ms-backdrop,
.top_clients .grid_item {
width: 33.33%;
}
}
@media screen and (max-width: 480px) {
.nav_prev .inner,
.nav_next .inner {
font-size: 1.4rem;
}
.nav_prev .inner {
padding-left: 40px;
}
.nav_next .inner {
padding-right: 40px;
}
}