@charset "UTF-8";

/*
Theme Name: biuthemes
Text Domain: biuthemes
Version: 2.0
Tested up to: 6.0
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Our default theme for 2020 is designed to take full advantage of the flexibility of the block editor. Organizations and businesses have the ability to create dynamic landing pages with endless layouts using the group and column blocks. The centered content column and fine-tuned typography also makes it perfect for traditional blogs. Complete editor styles give you a good idea of what your content will look like, even before you publish. You can give your site a personal touch by changing the background colors and the accent color in the Customizer. The colors of all elements on your site are automatically calculated based on the colors you pick, ensuring a high, accessible color contrast for your visitors.
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-patterns, block-styles, wide-blocks, accessibility-ready
Author: the WordPress team
Author URI: https://biu.co.jp/
Theme URI: https://biu.co.jp/themes/biuthemes/
License: GNU 
License URI: 

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 ()

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned
with others.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
	2. 	Element Base
	3. 	Helper Classes
	4. 	Site Header
	5. 	Menu Modal
	6. 	Search Modal
	7. 	Page Templates
		a. 	Template: Cover Template
		c. 	Template: Full Width
	8.  Post: Archive
	9.  Post: Single
	10. Blocks
	11. Entry Content
	12. Comments
	13. Site Pagination
	14. Error 404
	15. Widgets
	16. Site Footer
	17. Media Queries

----------------------------------------------------------------------------- */

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # 共通
   # ================================================================= */
html {
  -o-tab-size: 4;
  tab-size: 4;
  word-break: normal;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  vertical-align: inherit;
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
}

* {
  margin: 0;
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
}


hr {
  height: 0;
  /* Add the correct box sizing in Firefox */
  overflow: visible;
  /* Show the overflow in Edge and IE */
  color: inherit;
  /* Correct border color in Firefox. */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  text-indent: 0;
  /* Remove text indentation in Chrome, Edge, and Safari */
  border-color: inherit;
  /* Correct border color in all Chrome, Edge, and Safari. */
}

/* # =================================================================
   # フォーム
   # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  outline-offset: -2px;
  /* Correct the outline style in Safari */
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  color: inherit;
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  border-style: none;
  background-color: transparent;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -webkit-appearance: none;
  /* Chrome 41+ */
  -moz-appearance: none;
  /* Firefox 36+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
}

::-webkit-file-upload-button {
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
}

/* # =================================================================
   # メディアタグ
   # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
   # アクセシビリティ
   # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

html {
  font-size: 100%;
}

body {
  /*font-family: "Montserrat", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;*/
  /*font-family: 'Kosugi Maru', sans-serif;*/
  font-family: 'Roboto Condensed', sans-serif;
  line-height: 1.8;
  color: #333;
  letter-spacing: 0.05em;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

a {
  transition: 0.3s;
  text-decoration: none;
  color: #0071BE;
}
a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

::-moz-selection {
  color: #fff;
  background-color: #0071BE;
}

::selection {
  color: #fff;
  background-color: #0071BE;
}

.video {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@-webkit-keyframes scrollDownLine {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes scrollDownLine {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
.l-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}

/* # =================================================================
   # ヘッダー
   # ================================================================= */

.l-header {
  display: flex;
  position: fixed;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 86px;
  padding: 0 30px;
  transition: all 0.3s;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .l-header {
    height: 64px;
    padding: 0 15px;
  }
}
.l-header.is-active .p-global-nav__link {
  position: relative;
  display: inline-block;
  color: #fff;
}

.l-header .p-global-nav__link {
  position: relative;
  display: inline-block;
  color: #fff;
}

.l-header.is-active {
  height: 64px;
  background-color: #0071BE;
}

@media screen and (max-width: 768px) {
  .l-header__logo {
    width: 120px;
  }
}

/* # =================================================================
   # フッター
   # ================================================================= */

.l-footer {
  /*padding: 60px 30px;*/
  background-color: #999999;
}

.l-footer-nav{
  padding: 24px 0;
}

.l-footer-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .l-footer-nav__list {
    justify-content: flex-start;
    margin-bottom: -10px;
  }
}
.l-footer-nav__item {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e9e1d1;
  font-size: 1rem;
  padding: 0 12px;
  /*font-size: 0.75rem;*/
}
@media screen and (max-width: 768px) {
  .l-footer-nav__item {
    margin-bottom: 10px;
  }
}
.l-footer-nav__item:not(:last-child) {
  margin-right: 10px;
}
.l-footer-nav__link {
  line-height: 1;
  padding: 5px;
  color: #fff;
}
.l-footer-nav__link:hover {
  text-decoration: none;
  opacity: 0.8;
}

.c-copyright {
  margin-top:24px;
  text-align: center;
  font-size: 14px;
  font-size: 0.625rem;
}
.c-copyright__link {
  text-decoration: none;
  color: #ffffff;
  font-size: 14px;
}
.c-copyright__link:hover {
  text-decoration: none;
  opacity: 0.8;
}

.l-contents--page-recruit {
  background-image: url(img/bg-geometry.png);
  /* Background pattern from Toptal Subtle Patterns */
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .l-contents--page-recruit {
    background-size: 50%;
  }
}

.l-section {
  padding: 70px 0;
}
@media screen and (max-width: 768px) {
  .l-section {
    padding: 40px 0;
  }
}

.c-heading-primary {
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0071BE;
  font-size: 36px;
  font-size: 2.25rem;
}
@media screen and (max-width: 768px) {
  .c-heading-primary {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.c-heading-primary--white {
  color: #fff;
}

.c-heading-primary__sub {
  display: block;
  margin-top: 5px;
  letter-spacing: 0.05em;
  font-size: 13px;
  font-size: 0.8125rem;
}

.c-heading-secondary {
  font-weight: bold;
  line-height: 1;
  color: #0071BE;
  font-size: 32px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .c-heading-secondary {
    font-size: 24px;
    font-size: 1.5rem;
  }
}

.c-btn {
  position: relative;
  font-weight: bold;
  line-height: 1.4;
  display: inline-block;
  width: 220px;
  padding: 18px 0;
  transition: 0.3s;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  border-radius: 50px;
  background-image: linear-gradient(to right, #0071BE 0%, #0000ff 51%, #0071BE 100%);
  background-size: 200% auto;
  font-size: 14px;
  font-size: 0.875rem;
}
.c-btn::after {
  position: absolute;
  top: 50%;
  right: 1.5em;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0da";
  transition: 0.3s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 14px;
  font-size: 0.875rem;
}
.c-btn:hover {
  text-decoration: none;
  background-position: right center;
}
.c-btn:hover::after {
  right: 1.2em;
}
@media screen and (max-width: 768px) {
  .c-btn:hover::after {
    right: 1.5em;
  }
}
.c-btn--block {
  display: block;
  max-width: 300px;
  margin: 0 auto;
}
.c-btn--center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.c-btn--transparent {
  border: 1px solid #fff;
  background: none;
}
.c-btn--transparent:hover {
  opacity: 0.8;
}

.c-btn-grad {
  background-image: linear-gradient(to right, #314755 0%, #26a0da 51%, #314755 100%);
}

.c-btn-grad {
  display: block;
  margin: 10px;
  padding: 15px 45px;
  transition: 0.5s;
  text-align: center;
  text-transform: uppercase;
  color: white;
  border-radius: 10px;
  background-size: 200% auto;
  box-shadow: 0 0 20px #eee;
}

.c-btn-grad:hover {
  text-decoration: none;
  color: #fff;
  background-position: right center;
}

.c-page-top {
  position: fixed;
  right: 45px;
  bottom: 45px;
  z-index: 1;
  display: none;
}
@media screen and (max-width: 768px) {
  .c-page-top {
    right: 20px;
    bottom: 20px;
  }
}
.c-page-top__link {
  display: block;
  width: 50px;
  height: 50px;
  padding: 12px;
  text-align: center;
  text-decoration: none;
  color: #0071BE;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border-radius: 50%;
}
.c-page-top__link:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .c-page-top__link:hover {
    opacity: 1;
  }
}

.c-label-category {
  font-weight: bold;
  display: block;
  width: 80px;
  padding: 2px 10px;
  text-align: center;
  color: #333;
  border-radius: 20px;
  background-color: #e8e8e8;
  font-size: 14px;
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  .c-label-category {
    padding: 2px 8px;
    font-size: 14px;
    font-size: 0.6875rem;
  }
}

.logo {
  line-height: 1;
}
.logo__img {
  display: block;
}

.c-media {
  display: flex;
}
@media screen and (max-width: 768px) {
  .c-media {
    display: block;
  }
}
.c-media__img-wrapper {
  flex: 0 1 40%;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .c-media__img-wrapper {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.c-media__img {
  width: 100%;
  height: auto;
}
.c-media__body {
  flex: 1;
}
.c-media__title {
  margin-bottom: 20px;
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-media__title {
    line-height: 1.2;
    margin-bottom: 15px;
    text-align: center;
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.c-card__body {
  display: flex;
  flex-direction: column;
}
.c-card__img-wrapper {
  margin-bottom: 15px;
}
.c-card__img {
  width: 100%;
  height: auto;
}
.c-card__body {
  color: #333;
}
.c-card__title {
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 15px;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .c-card__title {
    margin-bottom: 10px;
  }
}
.c-card__caption {
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
}

.c-card-wrapper {
  margin-bottom: -30px;
}
@media screen and (max-width: 768px) {
  .c-card-wrapper {
    display: block;
    margin-bottom: 0;
  }
}
.c-card-wrapper .c-card {
  margin-bottom: 30px;
}
.c-card-wrapper--col3 {
  display: flex;
  flex-wrap: wrap;
}
.c-card-wrapper--col3 .c-card {
  width: calc(33.33333% - 20px);
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .c-card-wrapper--col3 .c-card {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }
}
.c-card-wrapper--col3 .c-card:nth-child(3n) {
  margin-right: 0;
}
.c-card-wrapper--col3 .c-card:last-child {
  margin-bottom: 0;
}

.c-table01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.c-table01 tr {
  border-bottom: solid 1px #ddd;
}
.c-table01 th,
.c-table01 td {
  padding: 30px 10px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .c-table01 th,
.c-table01 td {
    display: block;
    padding: 0;
  }
}
.c-table01 th {
  width: 20%;
}
@media screen and (max-width: 768px) {
  .c-table01 th {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 768px) {
  .c-table01 td {
    margin-bottom: 20px;
  }
}
.c-table01 p:not(:last-child) {
  margin-bottom: 10px;
}
.c-table01 ul {
  margin-left: 20px;
}

.c-form__item:not(:last-child) {
  margin-bottom: 30px;
}
.c-form__title {
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
}
.c-form__note {
  font-weight: normal;
  margin-left: 5px;
  font-size: 14px;
  font-size: 0.75rem;
}
.c-form__require {
  margin-left: 10px;
  color: #0071BE;
  font-size: 14px;
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  .c-form__radio {
    display: block;
  }
}
.c-form__radio:not(:last-child) {
  margin-right: 35px;
}
@media screen and (max-width: 768px) {
  .c-form__radio:not(:last-child) {
    margin-right: 0;
    margin-bottom: 5px;
  }
}
.c-form input[type=radio] {
  margin-right: 5px;
  border: 1px solid #333;
  border-radius: 50%;
}
.c-form__input, .c-form__select {
  width: 300px;
  padding: 8px;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .c-form__input, .c-form__select {
    width: 100%;
  }
}
.c-form input[type=tel] {
  width: 200px;
}
@media screen and (max-width: 768px) {
  .c-form input[type=tel] {
    width: 100%;
  }
}
.c-form__textarea {
  min-width: 600px;
  min-height: 200px;
  padding: 8px;
  resize: both;
  border: solid 1px #aaa;
  border-radius: 5px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .c-form__textarea {
    width: 100%;
    min-width: 100%;
  }
}
.c-form__btn {
  margin-top: 50px;
  text-align: center;
}

.p-breadcrumb {
  position: sticky;
  top: 64px;
  z-index: 1;
  padding: 8px 0;
  list-style: none;
  background-color: #f0f0f0;
}
@media screen and (max-width: 768px) {
  .p-breadcrumb {
    padding: 5px 0;
  }
}
.p-breadcrumb__list {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.p-breadcrumb__item {
  display: inline;
  list-style: none;
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-breadcrumb__item {
    font-size: 14px;
    font-size: 0.6875rem;
  }
}
.p-breadcrumb__item::after {
  padding: 0 0.5em;
  content: ">";
  color: #555;
}
.p-breadcrumb__item:last-child:after {
  content: "";
}

.p-breadcrumb:before,
.p-breadcrumb:after {
  content: "";
  display: table;
}

@media screen and (max-width: 768px) {
  .p-global-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    display: flex;
    visibility: hidden;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: opacity 0.3s ease;
    opacity: 0;
    background-image: linear-gradient(135deg, #0071BE, #666666);
  }
  .p-global-nav.is-show {
    visibility: visible;
    opacity: 1;
  }
}
.p-global-nav__list {
  display: flex;
  padding-left: 30px;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-global-nav__list {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: 0;
  }
}
.p-global-nav__item {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 960px) {
  .p-global-nav__item {
    font-size: 14px;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 768px) {
  .p-global-nav__item {
    margin-bottom: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.p-global-nav__item:not(:last-child) {
  margin-right: 25px;
}
@media screen and (max-width: 768px) {
  .p-global-nav__item:not(:last-child) {
    margin-right: 0;
  }
}
.p-global-nav__link {
  position: relative;
  display: inline-block;
  color: #fff;
}
.p-global-nav__link::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  display: block;
  width: 0;
  height: 1px;
  content: "";
  transition: width 0.3s;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-global-nav__link::after {
    display: none;
  }
}
.p-global-nav__link:hover {
  text-decoration: none;
}
.p-global-nav__link:hover::after {
  width: 100%;
}

.c-btn-menu {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-btn-menu {
    position: relative;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 5px;
    cursor: pointer;
    text-align: center;
    opacity: 0.9;
    border: none;
    outline: none;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.c-btn-menu__line {
  position: relative;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  transition: all 0.4s;
  border-radius: 4px;
  background-color: #fff;
}
.c-btn-menu__line::before, .c-btn-menu__line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  transition: inherit;
  border-radius: 4px;
  background-color: inherit;
}
.c-btn-menu__line::before {
  top: -8px;
}
.c-btn-menu__line::after {
  top: 8px;
}
.c-btn-menu.is-active .c-btn-menu__line {
  background-color: transparent;
}
.c-btn-menu.is-active .c-btn-menu__line::before, .c-btn-menu.is-active .c-btn-menu__line::after {
  top: 0;
  background-color: #fff;
}
.c-btn-menu.is-active .c-btn-menu__line::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.c-btn-menu.is-active .c-btn-menu__line::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.swiper-container {
  padding-bottom: 30px;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  position: absolute;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: block;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #0071BE;
  font-size: 32px;
  font-size: 2rem;
}

.swiper-button-next::after {
  content: "\f105";
}

.swiper-button-prev::after {
  content: "\f104";
}

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0;
  text-align: right;
}

.swiper-pagination-bullet-active {
  background: #0071BE;
}

.p-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  color: #fff;
  background-image: url(img/hero.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.p-hero__inner {
  padding: 30px;
  text-align: center;
  background:rgba(0,0,200,0.2);
}
@media screen and (max-width: 768px) {
  .p-hero__inner {
    text-align: left;
  }
}
.p-hero__title {
  position: relative;
  font-weight: bold;
  line-height: 1;
  font-size: 72px;
  font-size: 4.5rem;
  text-shadow:1px 1px 0 #ddd, -1px -1px 0 #ddd,
              -1px 1px 0 #ddd, 1px -1px 0 #ddd,
              0px 1px 0 #ddd,  0-1px 0 #ddd,
              -1px 0 0 #ddd, 1px 0 0 #ddd;
}
@media screen and (max-width: 768px) {
  .p-hero__title {
    line-height: 1.1;
    font-size: 40px;
    font-size: 2.5rem;
    text-shadow:1px 1px 0 #ddd, -1px -1px 0 #ddd,
              -1px 1px 0 #ddd, 1px -1px 0 #ddd,
              0px 1px 0 #ddd,  0-1px 0 #ddd,
              -1px 0 0 #ddd, 1px 0 0 #ddd;
  }
}
.p-hero__subtitle {
  margin-top: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 24px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-hero__subtitle {
    font-size: 16px;
    font-weight: bold;
    font-size: 1.5rem;
  }
}
.p-hero__scroll {
  display: inline-block;
  position: absolute;
  right: 20px;
  bottom: 0;
  color: #fff;
  padding: 10px 10px 90px;
  letter-spacing: 0.2em;
  line-height: 1;
  text-decoration: none;
  text-decoration: none;
  text-transform: uppercase;
  overflow: hidden;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: tb-lr;
  -webkit-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  font-size: 14px;
  font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-hero__scroll {
    right: 5px;
    padding: 10px 10px 60px;
  }
}
.p-hero__scroll::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 80px;
  background: #fff;
  content: "";
  -webkit-animation: scrollDownLine 1.5s infinite;
  animation: scrollDownLine 1.5s infinite;
}
@media screen and (max-width: 768px) {
  .p-hero__scroll::after {
    height: 50px;
  }
}
.p-hero__link {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .p-hero__link {
    margin-top: 30px;
  }
}

.p-sub-hero {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 240px;
  color: #fff;
  background-image: url(img/hero.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-sub-hero {
    height: 180px;
  }
}
.p-sub-hero__inner {
  padding: 50px 40px 10px 40px;
  text-align: center;
}

.p-message {
  margin-bottom: 30px;
  text-align: center;
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  background-size: cover, cover;
}
.p-message__heading {
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  margin-bottom: 40px;
  font-size: 40px;
  font-size: 2.5rem;
}

.p-message__kvtext {
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  font-size: 40px;
  margin-top: 60px;
  margin-bottom: 30px;
  font-size: 5rem;
}

@media screen and (max-width: 768px) {
  .p-message__heading {
    line-height: 1.5;
    font-size: 32px;
    font-size: 2rem;
  }
}
.p-message__underline {
  background: linear-gradient(transparent 70%, #f5f534 0%);
}

.p-map {
  margin-top: 40px;
  padding: 20px 0;
  text-align: center;
  background-color: #0071BE;
}

.p-contact {
  margin-top:0;
  padding: 80px 0;
  text-align: center;
  background-color: #f0f0f0;
}
@media screen and (max-width: 768px) {
  .p-contact {
    padding: 60px 0;
  }
}
.p-contact__heading {
  margin-bottom: 30px;
}
.p-contact__body {
  margin-bottom: 20px;
}

.p-news-list__list {
  list-style: none;
}
.p-news-list__item {
  display: flex;
  font-size: 16px;
  padding: 12px 0;
}
@media screen and (max-width: 768px) {
  .p-news-list__item {
    display: block;
  }
}
.p-news-list__item:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-news-list__item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.p-news-list__heading {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-news-list__heading {
    margin-bottom: 3px;
  }
}
.p-news-list__body {
  flex: 1;
}
.p-news-list__link {
  color: #333;
}
.p-news-list__date {
  margin-right: 20px;
}
.p-news-list__label {
  margin-right: 20px;
}

.p-news-list-wrapper__inner {
  padding: 15px 0 0 0;
  max-width: 780px;
}
.p-news-list-wrapper__body {
  margin-bottom: 40px;
}

.article-wrapper__inner {
  max-width: 750px;
}

.p-post {
  background-color: #fff;
}
.p-post__head {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-post__head {
    margin-bottom: 20px;
  }
}
.p-post__title {
  line-height: 1.5;
  font-size: 32px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-post__title {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.p-post__info {
  display: flex;
  margin-top: 10px;
}
.p-post__date {
  margin-right: 10px;
  font-size: 14px;
  font-size: 0.8125rem;
}
.p-post__body {
  margin-bottom: 40px;
}
.p-post__body > h3 {
  position: relative;
  line-height: 1.6;
  font-weight: bold;
  color: #393636;
  margin-top: 60px;
  margin-bottom: 20px;
  padding-left: 20px;
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-post__body > h3 {
    margin-top: 40px;
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-post__body > h3::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 6px;
  height: 100%;
  border-radius: 3px;
  background-color: #0071BE;
}
.p-post__body > h3:first-child {
  margin-top: 0;
}
.p-post__body > h4 {
  font-weight: bold;
  margin-top: 40px;
  margin-bottom: 20px;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .p-post__body > h4 {
    font-size: 17px;
    font-size: 1.0625rem;
  }
}
.p-post__body > p {
  margin-bottom: 30px;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .p-post__body > p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.p-post__body > p:last-child {
  margin-bottom: 0;
}
.p-post__sns {
  margin-bottom: 40px;
}
.p-post__pager__home {
  text-align: center;
}

.p-sns-share__item {
  display: inline-block;
  vertical-align: bottom;
  margin-top: 5px;
  margin-right: 2px;
}
.p-sns-share__item:last-child {
  margin-right: 0;
}
.p-sns-share iframe {
  vertical-align: middle;
}

.fa-hatena::before {
  font-family: Verdana;
  font-weight: bold;
  content: "B!";
  letter-spacing: -0.05em;
}

.p-post-pager {
  margin-bottom: 20px;
}
.p-post-pager__list {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #b8aed5;
  border-bottom: 1px solid #b8aed5;
}
.p-post-pager__item {
  flex: 0 1 50%;
  margin: 15px 0;
}
.p-post-pager__item:not(:last-child) {
  border-right: 1px solid #b8aed5;
}
.p-post-pager__item--prev .post-pager__link {
  padding: 10px 20px 10px 40px;
}
.p-post-pager__item--prev .post-pager__link::before {
  left: 10px;
  content: "\f0d9";
}
.p-post-pager__item--next .post-pager__link {
  padding: 10px 40px 10px 20px;
}
.p-post-pager__item--next .post-pager__link::before {
  right: 10px;
  content: "\f0da";
}
.p-post-pager__link {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 10px 20px;
  text-decoration: none;
  color: #0071BE;
  font-size: 14px;
  font-size: 0.875rem;
}

.p-post-pager__item--next a {
  align-items: center;
  height: 100%;
  padding: 10px 20px;
  text-decoration: none;
  color: #0071BE;
  font-size: 14px;
  font-size: 0.875rem;
}

.p-post-pager__item--prev a {
  align-items: center;
  height: 100%;
  padding: 10px 20px;
  text-decoration: none;
  color: #0071BE;
  font-size: 14px;
  font-size: 0.875rem;
}

@media screen and (max-width: 768px) {
  .p-post-pager__link {
    font-size: 14px;
    font-size: 0.75rem;
  }
}
.p-post-pager__link:hover {
  text-decoration: none;
  background-color: #f9f7ff;
}
.p-post-pager__link::before {
  position: absolute;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  font-size: 1.4rem;
  font-weight: 900;
  display: block;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #0071BE;
}
.p-post-pager__home {
  text-align: center;
  text-transform: uppercase;
}

.pagination {
  display: flex;
  justify-content: center;
}
.pagination__page {
  font-weight: bold;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin: 0 5px;
  border-radius: 50%;
  background-color: #f1ebf8;
  font-size: 20px;
  font-size: 1.25rem;
}
.pagination__link {
  color: #fff;
  background-image: linear-gradient(135deg, #0071BE, #666666);
}
.pagination__link:hover {
  text-decoration: none;
  opacity: 0.9;
}

.p-pagination {
  display: flex;
  justify-content: center;
}
.p-pagination__page {
  font-weight: bold;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin: 0 5px;
  border-radius: 50%;
  background-color: #f1ebf8;
  font-size: 20px;
  font-size: 1.25rem;
}
.p-pagination__link {
  color: #fff;
  background-image: linear-gradient(135deg, #0071BE, #666666);
}
.p-pagination__link:hover {
  text-decoration: none;
  opacity: 0.9;
}

.p-news__inner {
  display: flex;
  max-width: 950px;
}
@media screen and (max-width: 768px) {
  .p-news__inner {
    display: block;
  }
}
.p-news__heading {
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .p-news__heading {
    margin-right: 0;
    margin-bottom: 30px;
    text-align: center;
  }
}
.p-news__body {
  flex: 1;
}

.p-service__heading {
  text-align: center;
  margin-bottom: 30px;
}
.p-service__body {
  margin-bottom: 30px;
}
.p-service__link {
  text-align: center;
}

.p-works {
  padding: 60px 0 40px 0;
}
@media screen and (max-width: 768px) {
  .p-works {
    padding: 0;
  }
}
.p-works__inner {
  position: relative;
  display: flex;
  align-items: center;
  padding: 60px 20px;
  max-width: 1300px;
}
@media screen and (max-width: 768px) {
  .p-works__inner {
    display: block;
    padding: 30px 20px 60px 20px;
  }
}
.p-works__inner::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  display: block;
  width: 60%;
  height: 100%;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 10% 75%;
  background-image: url(img/sub-workhero.jpg);
}
@media screen and (max-width: 768px) {
  .p-works__inner::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 68%;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.p-works__img-wrapper {
  width: 59.5238%;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .p-works__img-wrapper {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.p-works__desc {
  flex: 1;
  text-align: center;
}
.p-works__heading {
  margin-bottom: 30px;
}
.p-works__body {
  margin-bottom: 30px;
}

.p-company {
  text-align: center;
  padding: 0;
}
.p-company__inner {
  padding: 100px 0;
  max-width: 1300px;
  background-image:  url(img/bg-face.png);
  background-position: center center, center center;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .p-company__inner {
    padding: 60px 0;
    background-image: url(img/sp_bg-circle.png);
    background-position: center center;
    background-size: 375px;
  }
}
.p-company__heading {
  margin-bottom: 30px;
}
.p-company__body {
  margin-bottom: 30px;
}


.p-information {
  padding: 60px 0 40px 0;
}
@media screen and (max-width: 768px) {
  .p-information {
    padding: 0;
  }
}
.p-information__inner {
  position: relative;
  display: flex;
  align-items: center;
  padding: 60px 20px;
  max-width: 1300px;
}
@media screen and (max-width: 768px) {
  .p-information__inner {
    display: block;
    padding: 30px 20px 60px 20px;
  }
}
.p-information__inner::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  display: block;
  width: 60%;
  height: 100%;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 10% 75%;
  background-image: url(img/sub-infohero.jpg);
}
@media screen and (max-width: 768px) {
  .p-information__inner::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 68%;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.p-information__img-wrapper {
  width: 59.5238%;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .p-information__img-wrapper {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.p-information__desc {
  flex: 1;
  text-align: center;
}
.p-information__heading {
  margin-bottom: 30px;
}
.p-information__body {
  margin-bottom: 30px;
}

.p-information__text {
  text-align: left;
}

.p-mainservice {
  background: #ecfaff;
}

.p-mainservice__inner {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 1300px;
}
@media screen and (max-width: 768px) {
  .p-mainservice__inner {
    display: block;
    padding: 30px 20px 60px 20px;
  }
}
.p-mainservice__inner::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: -1;
  display: block;
  width: 60%;
  height: 100%;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 10% 75%;
}
@media screen and (max-width: 768px) {
  .p-mainservice__inner::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 68%;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.p-mainservice__img-wrapper {
  width: 52%;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .p-mainservice__img-wrapper {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.p-mainservice__desc {
  flex: 1;
  text-align: center;
}
.p-mainservice__heading {
  margin-bottom: 30px;
}
.p-mainservice__body {
  margin-bottom: 30px;
}

.p-mainservice__text {
  text-align: center;
}

.p-mainservice__maintext {
  font-size: 2.5rem;
  font-weight: bold;
  padding: 0 0 10px 0 ;
}

@media screen and (max-width: 768px) {
  .p-mainservice__maintext {
    font-size: 1.5rem;
    font-weight: bold;
  padding: 0 0 10px 0 ;
  }
}

.p-mainservice__subtext {
  font-size: 1.2rem;
  padding: 0 0 10px 0 ;
}

.p-mainservice__sublefttext {
  font-size: 1.2rem;
  text-align: left;
}




.p-recruit-message {
  text-align: center;
}
.p-recruit-message__heading {
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 0 15px;
  color: #0071BE;
}
@media screen and (max-width: 768px) {
  .p-recruit-message__heading {
    margin: 20px 0;
  }
}
.p-recruit-message__title {
  line-height: 1;
  margin-bottom: 10px;
  font-size: 72px;
  font-size: 4.5rem;
}
@media screen and (max-width: 768px) {
  .p-recruit-message__title {
    line-height: 1.2;
    font-size: 48px;
    font-size: 3rem;
  }
}
.p-recruit-message__subtitle {
  font-size: 32px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-recruit-message__subtitle {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-recruit-message__body {
  margin-bottom: 40px;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .p-recruit-message__body {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.p-recruit-message__img-wrapper img {
  -webkit-clip-path: polygon(0 15%, 100% 0, 100% 85%, 0% 100%);
  clip-path: polygon(0 15%, 100% 0, 100% 85%, 0% 100%);
}

@media screen and (max-width: 768px) {
  .p-recruit {
    padding: 0;
  }
}
.p-recruit__inner {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-recruit__inner {
    flex-direction: column-reverse;
  }
}
.p-recruit__desc {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
  background-color: #f0f0f0;
  padding: 70px 40px;
}
.p-recruit__heading {
  margin-bottom: 30px;
  text-align: center;
}
.p-recruit__img-wrapper {
  width: 60%;
  background-image: url(img/recruit.jpg);
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .p-recruit__img-wrapper {
    width: 100%;
    height: 200px;
  }
}
.p-recruit__body {
  margin-bottom: 30px;
}

.p-service-list .c-media:not(:last-child) {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .p-service-list .c-media:not(:last-child) {
    margin-bottom: 40px;
  }
}

.p-works-list .c-card__img {
  border: 1px solid #ececec;
}

.p-greeting {
  padding: 100px 0 70px;
  background-image: url(/img/bg-face.png);
  background-position: center 40px;
}
@media screen and (max-width: 768px) {
  .p-greeting {
    padding: 60px 0 60px;
    background-size: 375px;
  }
}

.p-campanyed {
  padding: 100px 0 70px;
  background-position: center 40px;
}
@media screen and (max-width: 768px) {
  .p-campanyed {
    padding: 60px 0 60px;
    background-size: 375px;
  }
}

.p-greeting__heading {
  margin-bottom: 30px;
  text-align: center;
}
.p-greeting__message {
  /*margin-bottom: 160px;*/
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-greeting__message {
    margin-bottom: 60px;
  }
}

.p-company-info__heading {
  text-align: center;
  margin-bottom: 30px;
}
.p-company-info__table {
  margin-bottom: 60px;
}

.accessmap {
  height: 400px;
  width: 100%;
  vertical-align: middle;
}

.p-access__map {
  margin-bottom: 5px;
}
.p-access__map iframe {
  height: 400px;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .p-access__map iframe {
    height: 240px;
  }
}
.p-access__map-link {
  font-size: 14px;
  font-size: 0.875rem;
}

.p-job-list {
  padding-top: 0;
}
.p-job-list__heading {
  margin-bottom: 30px;
  text-align: center;
}
.p-job-list__name {
  margin-bottom: 30px;
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-job-list__name {
    margin-bottom: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.p-job-list__detail {
  padding: 60px 95px;
  border: 1px solid #b067cf;
  border-radius: 6px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .p-job-list__detail {
    padding: 30px 20px;
  }
}
.p-job-list__table {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .p-job-list__table {
    margin-bottom: 40px;
  }
}
.p-job-list__link {
  text-align: center;
}
.p-job-list__link-note {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  font-size: 0.75rem;
}

.p-company-video__heading {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-company-video__heading {
    margin-bottom: 30px;
  }
}

.p-contact-form__inner {
  max-width: 780px;
}
.p-contact-form__lead {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact-form__lead {
    margin-bottom: 30px;
  }
}
.p-contact-form__body {
  padding: 90px;
  background-color: #f7f7f7;
}
@media screen and (max-width: 768px) {
  .p-contact-form__body {
    padding: 30px;
  }
}

.u-center {
  text-align: center !important;
}

.u-text-bold {
  font-weight: bold !important;
}

.u-text-big {
  font-size: 1.5em;
}

.u-sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp-only {
    display: block;
  }
}

/************************************
** お問い合わせフォームの入力
************************************/
table.contact_table{
  width: 80%;
  margin: 0 auto;
}

table.contact_table th{
  text-align: left;
}

#cf-tbl{
  width: 800px;
  }
  
  #cf-tbl table{
  width: 100%;
  border-collapse: collapse;
  border: solid #CCC;
  border-width: 1px;
  color: #444;
  }
  #cf-tbl table tr th,
  #cf-tbl table tr td{
  padding: 0.5em;
  text-align: left;
  vertical-align: top;
  border: solid #CCC;
  border-width: 1px;
  vertical-align: middle;
  }
  #cf-tbl table tr th{
  width: 35%;
  background: #eee;
  }
  @media screen and (max-width:768px){
  #cf-tbl{
  width: 100%;
  }
  
  #cf-tbl table,
  #cf-tbl table tbody,
  #cf-tbl table tr,
  #cf-tbl table tr th,
  #cf-tbl table tr td{
  display: block;
  }
  
  #cf-tbl table{
  width: 100%;
  border-width: 0 0 1px 0;
  }
  
  #cf-tbl table tr th,
  #cf-tbl table tr td{
  width: 100%;
  padding: 3% 5%;
  }
  
  #cf-tbl table tr td{
  border-width: 0px 1px 0px 1px;
  }
  }
  /*「必須」文字デザイン*/
  .required{
  font-size:.8em;
  padding: 5px;
  background: #F57500;
  color: #fff;
  border-radius: 3px;
  margin-right: 5px;
  }
  
  /*「任意」文字デザイン*/
  .optional{
  font-size:.8em;
  padding: 5px;
  background: #000080;
  color: #fff;
  border-radius: 3px;
  margin-right: 5px;
  }
  
  /* 入力項目を見やすく */
  input.wpcf7-form-control.wpcf7-text,
  textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
    background-color: #eff1f5;
  }
  textarea.wpcf7-form-control.wpcf7-textarea {
    height: 200px;
  }
  
  /* 「送信する」ボタン */
  input.wpcf7-submit {
      display: block;
      padding: 15px;
      width: 400px;
      background: #ffaa56;
      color: #fff;
      font-size: 18px;
      font-weight: 700;
      border-radius: 2px;
      margin: 15px auto 0
  }
  @media screen and (max-width:768px){
  input.wpcf7-submit {
  width: 250px;
  }
  }
  
  input.wpcf7-submit:hover {
    box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
    transform: translateY(-4px);
    opacity:0.7;
  }
  /* エラーメッセージを見やすく */
  span.wpcf7-not-valid-tip,
  .wpcf7-response-output.wpcf7-validation-errors {
    color: red;
    font-weight: 600;
  }

/*# sourceMappingURL=style.css.map */
