@charset "UTF-8";


/*
Theme Name: 採用サイトテンプレート
Theme URI: https://semi-colon.net/
Author: セミコロン
Author URI: https://semi-colon.net/
Description: 採用サイトテンプレート
Version: 1.1.1
*/

@import url("https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.css");


/*--------------------------------------------------------------
共通

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


/* Links
----------------------------------------------------------------- */

nav a::before,
nav a::after {
  padding: 0 5px;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.entry-content a::before,
.entry-content a::after {
  padding: 0 5px;
  display: inline-block;
  vertical-align: baseline;
  color: #aaa;
  text-decoration: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.entry-content a[target="_blank"]::after {
  content: '\f2d2';
  font-weight: normal;
}

.entry-content a[href$=".pdf"]::after,
.entry-content a[href*=".pdf#page="]::after {
  content: '\f1c1';
}

.entry-content a[href$=".doc"]::after,
.entry-content a[href$=".docx"]::after {
  content: '\f1c2';
}

.entry-content a[href$=".xls"]::after,
.entry-content a[href$=".xlsx"]::after {
  content: '\f1c3';
}

.entry-content a[href^="mailto:"]::before {
  content: '\f0e0';
}

.entry-content a[href^="tel:"]::before {
  content: '';
}

a:hover img {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}


/* アイコンなし / 画像リンク */
.imagelink:after {
  display: none !important;
  padding: 0 !important;
}



/* Lists / Icon
----------------------------------------------------------------- */


/* Unordered List */

.entry-content ul {
  list-style: none outside;
  padding: 0 0 0 20px;
}

.entry-content ul > li {
  position: relative;
  margin: 0 0 5px;
}

@media screen and (max-width: 767px) {
  .entry-content ul > li {
    margin: 0 0 2px;
  }
}

@media screen and (max-width: 567px) {
  .entry-content ul > li {
    margin: 0;
  }
}

.entry-content ul > li:last-child,
.entry-content ol > li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

.entry-content ul > li::after {
  background: #28b5b5;
  content: '';
  display: block;
  position: absolute;
  top: 10px;
  left: -20px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
}

.entry-content ul > li ul {
  margin: 5px 0 8px;
}

.entry-content ul > li ul > li {
  position: relative;
}

.entry-content ul > li ul > li::after {
  display: block !important;
  position: absolute;
  top: 7px;
  left: -18px;
  font-size: 1rem;
  line-height: 1;
  font-family: "Font Awesome 5 Free";
  font-weight: normal;
  content: '\f111';
  color: #28b5b5;
}

@media screen and (max-width: 767px) {
  .entry-content ul > li ul > li::after {
    top: 8px;
  }
}

.entry-content .btn::after  {
  padding: 0;
}

.btn {
  background: #28b5b5;
  color: #fff;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 20px 30px;
  position: relative;
  text-decoration: none !important;
  width: 100%;
  margin: 40px 0 0;
  max-width: 300px;
  text-align: center;
}

.btn::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: ;
  position: absolute;
  top: 50%;
  right: 35px;
  transform: rotate(45deg) translateY(-50%);
  transition: ease .2s;
}

a.btn:hover::after {
  right: 25px;
}

.btn.back {
  margin: 80px auto 0;
}

.btn.back::after {
  right: inherit;
  left: 35px;
  border: 0;
  border-left: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
}

.btn.back:hover::after {
  left: 25px;
}

.btn-center {
  margin: 50px auto 0;
}

.btn-left {
  margin-left: auto;
}

ul.kome > li {
  margin: 0;
}

ul.kome > li::after {
  top: 6px !important;
  content: '※' !important;
  color: inherit !important;
  font-size: 1em !important;
  left: -20px !important;
}

ul.kome > li.red {
  color: #c00 !important;
}

ul.kome > li.red:after {
  color: #c00 !important;
}

ol.kome {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0 !important;
}

ol.kome > li {
  text-indent: -2.5em;
  padding-left: 2.5em;
}

ol.kome > li::before {
  counter-increment: item;
  content: "※" counter(item) ".";
  padding: 0 .5em 0 .3em;
}

ol.kome > li a[target="_blank"]::after,
ol.kome > li a[href$=".pdf"]::after,
ol.kome > li a[href*=".pdf#page="]::after,
ol.kome > li a[href$=".doc"]::after,
ol.kome > li a[href$=".docx"]::after,
ol.kome > li a[href$=".xls"]::after,
ol.kome > li a[href$=".xlsx"]::after {
  text-indent: 0;
}

p.kome {
  position: relative;
  padding: 0 0 0 1.8em;
}

p.kome::after {
  content: '※' !important;
  font-size: 1em !important;
  position: absolute;
  left: 5px !important;
  top: 0 !important;
}

p.kome.red,
ul.kome.red li {
  color: #c00 !important;
}

p.kome.red::after,
ul.kome.red li::after {
  color: #c00 !important;
}

ul.mokuji {
  margin: 0;
  padding: 0 !important;
  list-style: none;
}

ul.mokuji > li {
  overflow: hidden;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 3px;
  margin-bottom: 3px;
}

ul.mokuji > li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

ul.mokuji > li span {
  display: inline-block;
  float: right;
}


/* Noion list */

ul.noicon {
  text-indent: -2.5em;
  padding-left: 2.5em !important;
}

ul.noicon > li::before,
ul.noicon > li::after {
  content: none !important;
}



/* Frames
----------------------------------------------------------------- */


/* メモ */
.notes {
  margin: 1.5em 0;
  padding: 20px;
  background: #eee;
  font-size: 1.3rem;
}


/* 注目 */
.attention {
  margin: 1em 0;
  padding: 20px;
  border: 6px solid #e70404;
}


/* 説明 */
.explanation {
  margin: 1.5em 0;
  padding: 20px;
  border: 6px solid #eee;
}


/* 詳細 */
.detail {
  background: #f7f7f7;
  padding: 20px;
  margin: 1.5em 0;
}


/* 共通（背景） */
.attention > *:first-child,
.notes > *:first-child,
.detail > *:first-child,
.explanation > *:first-child {
  margin-top: 0 !important;
}

.attention > *:last-child,
.notes > *:last-child,
.detail > *:last-child,
.explanation > *:last-child {
  margin-bottom: 0 !important;
}


/* Parts
----------------------------------------------------------------- */


/* リード文 */
.lead {
  color: #28b5b5;
  font-size: 3rem;
  font-weight: 900 !important;
  line-height: 1.6 !important;
  margin: 60px 0 2rem;
}

@media screen and (max-width: 767px) {
  .lead {
    font-size: 2.2rem;
    line-height: 1.8;
    margin: 40px 0 2rem;
  }
}

@media screen and (max-width: 567px) {
  .lead {
    font-size: 2rem;
    line-height: 1.5;
    margin: 20px 0 2rem;
  }
}

.sub-lead {
  margin: 0 0 1.5em;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5 !important;
}



/* パンくず */
.breadcrumbs {
  font-size: 1.3rem;
  letter-spacing: 1px;
  padding: 10px 30px;
}

.breadcrumbs a {
  color: #333;
}

.breadcrumbs a:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.bc-arrow {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 0 10px 1.5px 6px;
}

@media screen and (max-width: 767px) {
  .breadcrumbs {
    padding: 10px 16px;
    text-align: left;
  }
}

@media screen and (max-width: 567px) {
  .breadcrumbs {
    font-size: 1.1rem;
  }
  .bc-arrow {
    width: 6px;
    height: 6px;
    vertical-align: middle;
  }
}


/* ページナビ */

.pagination {
  clear: both;
  font-size: 1.3rem;
  padding: 30px 0 0;
  text-align: center;
}

.pagination a {
  text-decoration: none !important;
}

.wp-pagenavi {
  line-height: 3;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-top: 30px;
  }
}

@media screen and (max-width: 567px) {
  .wp-pagenavi {
    margin-top: 20px;
  }
}

.wp-pagenavi .current {
  background: #28b5b5;
  border: 1px solid #28b5b5;
  color: #fff;
}

.wp-pagenavi a,
.wp-pagenavi span {
  background: #eee;
  border: 0 !important;
  text-decoration: none !important;
  padding: 5px 12px !important;
  margin: 0 2px;
}

.wp-pagenavi a:hover {
  background: #28b5b5;
  border: 1px solid #28b5b5;
  color: #fff;
}


/* Bingで画像検索防止用img */
.img_wrap {
  position: relative;
}

.img_wrap::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* スマホ用table */

.table_wrap {
  overflow-x: auto;
  margin: 0 0 1.5em;
}

.table_wrap::-webkit-scrollbar {
  height: 3px;
}

.table_wrap::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #ccc;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}

.table_wrap::-webkit-scrollbar-thumb {
  -webkit-border-radius: 3px;
  border-radius: 3px;
  background: #666;
}

@media screen and (max-width: 767px) {
  .table_wrap img {
    max-width: inherit;
  }
}

@media screen and (max-width: 480px) {
  .table_wrap {
    overflow-x: scroll;
  }
  .table_wrap table {
    white-space: nowrap;
  }
}



/* ニュース一覧 */

.news-list {
  margin: 0;
  padding: 0 !important;
  list-style: none;
}

.news-list li {
  background: #fff;
  border-bottom: 1px solid #eee;
  display: flex;
  margin: 0 !important;
  padding: 0 0 10px !important;
}

.news-list li:nth-child(n + 2) {
  margin: 10px 0 0 !important;
}

.news-list li::after {
  content: none !important;
}

.news-list li a {
  display: flex;
  text-decoration: none !important;
  width: 100%;
}

.news-list li a[target="_blank"]::after {
  display: none !important;
}

.news-list li a:hover:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.news-list li .ent-date {
  color: #28b5b5;
  font-weight: 500;
  width: 100px;
  letter-spacing: 1px;
}

.news-list li .ent-title {
  width: calc(100% - 100px);
  font-weight: 500;
}

.news-list li span {
  display: block;
}

@media screen and (max-width: 1023px) {
  .news-list li:nth-child(n + 2) {
    margin: 10px 0 0 !important;
  }
}

@media screen and (max-width: 567px) {
  .news-list li,
  .news-list li a {
    display: block;
    font-size: 1.3rem;
  }
  .news-list li .ent-date,
  .news-list li .ent-title {
    width: 100%;
  }
  .news-list li .ent-title {
    line-height: 1.5;
  }
}

.hm-news-box-l {
  text-align: center;
  width: 280px;
}

.hm-news-box-r {
  width: calc(100% - 280px);
}

.hm-news-box-r .news-list li:last-child {
  border: 0;
  padding: 0 !important;
}

@media screen and (max-width: 1023px) {
  .hm-news-box-l {
    width: 100%;
  }
  .hm-news-box-r {
    width: 100%;
  }
}

.btn-news {
  border: 1px solid #28b5b5;
  border-radius: 50px;
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  margin: 10px auto 0;
  max-width: 130px;
  padding: 10px 30px 11px 15px;
  position: relative;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-news:hover {
  background: #28b5b5;
  color: #fff;
}

.btn-news::before {
  right: 15px;
  width: 10px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-news::after {
  content: '';
  right: 15px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-news:hover::before {
  background: #fff;
}

.btn-news:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.btn-news-sp {
  display: none;
}

@media screen and (max-width: 1023px) {
/*
  .btn-news-pc {
    display: none !important;
  }
  .btn-news-sp {
    display: block;
  }
*/
  .btn-news {
    margin: 0;
    max-width: 125px;
    width: 100%;
  }
}

@media screen and (max-width: 567px) {
  .btn-news {
    font-size: 1.1rem;
    max-width: 118px;
  }
}

/* クリック開閉 */

.op-btn {
  cursor: pointer;
}

.op-cont {
  display: none;
}



/*--------------------------------------------------------------
Accessibility

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


/* Text meant only for screen readers. */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}



/*--------------------------------------------------------------
Alignments

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

.alignleft {
  display: inline;
  float: left;
  margin: 0 1.5em 1em 0;
}

.alignright {
  display: inline;
  float: right;
  margin: 0 0 1em 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 736px) {
  .alignleft,
  .alignright,
  .aligncenter {
    display: block;
    float: none;
    margin: 0 auto 1.5em;
  }
}



/*--------------------------------------------------------------
Clearings

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

.clear:before,
.clear:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.entry-content:before,
.entry-content:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.pagination:before,
.pagination:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.pagination:after {
  clear: both;
}



/*--------------------------------------------------------------
Typography

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

body,
button,
input,
select,
textarea {
  color: #333;
  font-family: 'Zen Kaku Gothic New', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  font-size: 14px;
  font-size: 1.4rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.5;
  }
}

h1 {
  font-size: 3.8rem;
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 2.8rem;
  }
}

h2 {
  font-size: 3.4rem;
}

@media screen and (max-width: 767px) {
  h2 {
    font-size: 2.2rem;
  }
}

h3 {
  font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size: 2.2rem;
}

@media screen and (max-width: 767px) {
  h4 {
    font-size: 1.8rem;
  }
}

h5 {
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  h5 {
    font-size: 1.6rem;
  }
}

h6 {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  h6 {
    font-size: 1.5rem;
  }
}

p {
  margin: 0 0 1.4em;
  padding: 0;
  letter-spacing: 1px;
}



/* Typography for Arabic Font */

html[lang="ja"] body,
html[lang="ja"] button,
html[lang="ja"] input,
html[lang="ja"] select,
html[lang="ja"] textarea {
  font-family: 'Zen Kaku Gothic New', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
}

html[lang="ja"] h1,
html[lang="ja"] h2,
html[lang="ja"] h3,
html[lang="ja"] h4,
html[lang="ja"] h5,
html[lang="ja"] h6 {
  font-weight: bold;
}


/*
html[lang="ja"] * {
  letter-spacing: 0;
}
*/

.pure-g [class*=pure-u] {
  font-family: 'Zen Kaku Gothic New', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
  letter-spacing: .05em;
}



/*--------------------------------------------------------------
Forms

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

label {
  color: #333;
  display: block;
  font-weight: 800;
  margin-bottom: 0.5em;
}

fieldset {
  margin-bottom: 1em;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"] {
  color: #666;
  background: #fff;
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  border: 1px solid #bbb;
  border-radius: 3px;
  display: block;
  padding: 0.6em;
  width: 100%;
}

textarea {
  color: #666;
  background: #fff;
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  border: 1px solid #bbb;
  border-radius: 3px;
  display: block;
  padding: 0.6em;
  width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus {
  color: #222;
  border-color: #333;
}

textarea:focus {
  color: #222;
  border-color: #333;
}

select {
  border: 1px solid #bbb;
  border-radius: 3px;
  height: 3em;
  max-width: 100%;
}

input[type="radio"],
input[type="checkbox"] {
  margin-right: 0.5em;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
  font-weight: 400;
}

button {
  background-color: #222;
  border: 0;
  border-radius: 2px;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1;
  padding: 1em 2em;
  txt-shadow: none;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}

input[type="button"],
input[type="submit"] {
  background-color: #222;
  border: 0;
  border-radius: 2px;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1;
  padding: 1em 2em;
  txt-shadow: none;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}

input + button {
  padding: 0.65em 2em;
}

input + input[type="button"],
input + input[type="submit"] {
  padding: 0.65em 2em;
}

input[type="reset"],
input[type="button"].secondary,
input[type="reset"].secondary,
input[type="submit"].secondary {
  background-color: #ddd;
  color: #222;
}

button:hover,
button:focus {
  background: #767676;
}

input[type="button"]:hover,
input[type="button"]:focus {
  background: #767676;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
  background: #767676;
}

input[type="reset"]:hover,
input[type="reset"]:focus {
  background: #bbb;
}



/* Placeholder text color -- selectors need to be separate to work. */

::-webkit-input-placeholder,
 :-moz-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
}

::-moz-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
  opacity: 1;
  /* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
}



/*--------------------------------------------------------------
Formatting

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

hr {
  background-color: #bbb;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}



/*--------------------------------------------------------------
Lists

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

ul,
ol {
  margin: 0 0 1.5em;
  padding: 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

ol > li {
  padding: 0 0 0 .5em;
}

ol li li::marker {
  color: #666 !important;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

/* 数字付きリスト */
ol {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:0;
}

ol li {
  position: relative;
  padding-left: 1.8em;
  margin: 0 0 5px;
}

ol li::before {
  counter-increment: number;
  content: counter(number) ".";
  position: absolute;
  top: -6px;
  left: .3em;
  font-size: 1.3em;
}

dl {
  margin: 0 0 1.5em;
  padding: 0;
  overflow: hidden;
}

dt {
  font-weight: 700;
  margin-right: 1.5em;
}

dd {
  margin: 0 0 1em;
}

dd:last-child {
  margin: 0;
}

table dl:last-child {
  margin: 0;
}

table dd {
  margin: 0 0 1em 1em;
}



/*--------------------------------------------------------------
Tables

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

table {
  border-collapse: collapse;
  margin: 0 0 1.5em;
  width: 100%;
  border-top: 2px solid #fff;
}

table caption {
  font-weight: 600;
  margin: 0 0 5px;
  text-align: left;
}

table.td-right td {
  text-align: right;
  vertical-align: middle;
}

table.td-center td {
  text-align: center;
  vertical-align: middle;
}

table.th-center th {
  text-align: center;
  vertical-align: middle;
}

tr {
  border-bottom: 2px solid #fff;
}

tr.sum th,
tr.sum td {
  background: #e2e2e2 !important;
}

tr.sub-total th,
tr.sub-total td {
  background: #ededed !important;
}

tfoot th,
tfoot td {
  background: #e2e2e2 !important;
}

thead th {
  background: #707070;
  color: #fff;
  vertical-align: middle;
}

th {
  background: #eee;
  text-align: left;
  padding: 1em 1.5em !important;
  border: 0 !important;
  border: 2px solid #fff !important;
  width: 20%;
}

@media screen and (max-width: 767px) {
  th {
    padding: 1rem 1.2rem !important;
    width: 100px;
  }
}

td {
  background: #f8f8f8;
  border: 0 !important;
  border: 2px solid #fff;
  padding: 1em 1.5em !important;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  td {
    padding: 1rem 1.2rem !important;
  }
}

@media screen and (max-width: 567px) {
  td {
    padding: .8rem 1rem !important;
  }
}

td p + ul {
  margin: 1.5em 0 0;
}

td ul + p,
td p + p {
  margin: 1.5em 0 0;
}

tfoot {
  border-top: 2px solid #ccc;
}


/*--------------------------------------------------------------
Links

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

a {
  color: #333;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

a:focus {
  outline: none;
}

a:hover,
a:active {
  outline: 0;
}

a[href^="tel:"] {
  cursor: default;
}



/*--------------------------------------------------------------
Layout

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

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  font-size: 62.5%;
}

* {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior;
see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior;
see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

body {
  margin-top: 75px;
}

@media screen and (max-width: 1023px) {
}

@media screen and (max-width: 767px) {
}

#page {
  width: 100%;
  overflow: hidden;
}

.wrap {
  width: 100%;
}

.container {
  position: relative;
  z-index: 20;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.site-content {
  max-width: 1060px;
  margin: 0px auto;
  padding: 0 30px;
  position: relative;
}

.op-cont {
  display: none;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.overflow {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.img-border {
  border: 1px solid #ccc;
}

ul.date li span {
  width: 135px;
  display: inline-block;
}

.middle {
  vertical-align: middle;
}

.pure-g.center {
  align-items: center;
}


@media screen and (max-width: 767px) {
  .reverse {
    flex-direction: column-reverse;
  }
}

h2.red,
h3.red,
h4.red,
h5.red,
h6.red,
p.red,
span.red,
strong.red {
  color: #c00 !important;
}

thead th span.red,
thead th strong.red {
  color: #fff !important;
  background: #c00 !important;
  margin: 0 6px;
  padding: 0 3px;
}

p.gray,
span.gray,
strong.gray {
  color: #808080 !important;
}

li.underline,
p.underline,
span.underline {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(0%, #b8ced8));
  background: linear-gradient(transparent 75%, #b8ced8 0%);
}

li.underline.red,
p.underline.red,
span.underline.red {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(0%, #f1bebe));
  background: linear-gradient(transparent 75%, #f1bebe 0%);
}

.entry-content h2.red,
.entry-content h2 .red {
  color: #f26262 !important;
}



/*--------------------------------------------------------------
Header

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

.site-header {
  background: #fff;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  -webkit-transition: .2s linear;
  transition: .2s linear;
  overflow: hidden;
}

.site-header .pure-u-md-1-3 {
  display: flex;
  align-items: center;
}

.site-header .pure-u-md-2-3 {
  display: flex;
  align-items: center;
}

.site-header .pure-u-md-2-3 a {
  font-size: 1.5rem;
  letter-spacing: 1px;
  padding: 0.5em 1.2em;
  transition: .2s ease;
}

.site-header .pure-u-md-2-3 .pure-menu {
  display: flex;
  align-items: center;
  justify-content: end;
  font-weight: bold;
}

.site-logo {
  display: block;
  max-width: 240px;
  height: auto;
  transition: .2s ease;
}

.site-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 75px;
  margin: 0;
  padding: 15px 80px 15px 30px;
  text-transform: inherit;
}

.site-title a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 45px;
} 

.active .site-title a {
  z-index: 1000;
}

.main-title {
  display: flex;
  align-items: center;
  line-height: 1.2;
  font-size: 3rem;
  padding: 0 15px 0 0;
}

.st-logo {
  max-height: 45px;
  max-width: 350px;
}

.st-logo img {
  display: block;
  object-fit: contain;
  height: 45px;
}

.sub-title {
  font-size: 1.5rem;
  font-weight: normal;
/*   padding: 5px 0 0; */
}

/*
.st-logo + .sub-title {
  padding: 0 0 0 15px;
}
*/

.hm-header {
  background: url('images/bg_hm_header.jpg') no-repeat center center;
  background-size: cover;
  height: 100vh;
  padding: 0;
  position: relative;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .site-title {
    padding: 15px 70px 15px 20px;
  }
  .site-title a {
    min-height: 35px;
  } 
  .st-logo {
    max-width: 220px;
  }
  .main-title {
    font-size: 2.2rem;
  }
  .hm-header {
    height: 80vh;
  }
}

@media screen and (max-width: 567px) {
  .site-title {
    padding: 15px 60px 15px 20px;
  }
  .sub-title {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 400px) {
  .st-logo {
    max-width: 200px;
  }
}

.hm-header h1 {
  position: absolute;
  left: 50%;
  bottom: 12%;
  transform: translateX(-50%);
  width: 100%;
}

.hm-header h1 .site-logo {
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px;
  width: 100%;
}

.ico-instagram {
  position: absolute;
  top: 30px;
  right: 30px;
  line-height: 1;
}

.ico-instagram img {
  width: 40px;
  height: 40px;
}

.for-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .ico-instagram {
    top: 20px;
    right: 20px;
  }
  .for-pc {
    display: none !important;
  }
  .for-sp {
    display: block;
  }
  .pure-menu {
    text-align: center;
  }
  .site-content.pure-g {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.header-bg {
  background-size: cover; 
}

.pure-menu-active > .pure-menu-link {
  background-color: #fff;
}

.pure-menu-link {
  color: inherit;
}

.pure-menu-link:hover {
  background-color: inherit;
}

.pure-menu-link:active,
.pure-menu-link:focus {
  background-color: inherit;
}

.pure-menu-link:hover:hover,
.pure-menu-link:active:hover,
.pure-menu-link:focus:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

@media screen and (max-width: 767px) {
  .mn-open .mb-menu {
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
  }
  .custom-wrapper {
    margin-bottom: 0;
    -webkit-font-smoothing: antialiased;
    height: 62px;
    overflow: hidden;
    -webkit-transition: height 0.2s;
    -moz-transition: height 0.2s;
    -ms-transition: height 0.2s;
    transition: height 0.2s;
  }
  .custom-wrapper.open {
    background: rgba(0, 0, 0, 0.5);
    height: 100vh;
  }
  .custom-menu-3 {
    text-align: right;
  }
  .custom-toggle {
    width: 34px;
    height: 34px;
    position: absolute;
    top: 13px;
    right: 10px;
    display: block;
  }
  .custom-toggle .bar {
    background-color: #777;
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 100px;
    position: absolute;
    top: 22px;
    right: 7px;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s;
  }
  .custom-toggle .bar:first-child {
    -webkit-transform: translateY(-12px);
    -moz-transform: translateY(-12px);
    -ms-transform: translateY(-12px);
    transform: translateY(-12px);
  }
  .custom-toggle .bar:nth-child(2) {
    -webkit-transform: translateY(-6px);
    -moz-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  .custom-toggle.x .bar {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .custom-toggle.x .bar:first-child {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .custom-toggle.x .bar:nth-child(2) {
    display: none;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s;
  }
}

#g-nav-list,
#g-nav-list-inner {
  display: flex;
  flex-wrap: wrap;
}

#g-nav-list {
  align-items: center;
  justify-content: center;
}

.hd-contact-menu {
  list-style-type: none;
  padding: 0 0 0 20px;
  margin: 0;
}

.hd-contact-menu li a {
  background: #28b5b5;
  font-size: 1.3rem;
  letter-spacing: 1px;
  padding: 10px 20px;
  text-align: center;
}

.hd-contact-menu li a::before {
  content: '';
  background: url('images/ico_estimate.png') no-repeat center center;
  background-size: contain !important;
  display: inline-block;
  width: 24px;
  height: 20px;
  margin: 0 6px 0 0;
}

@media screen and (max-width: 1240px) {
  .hd-contact-menu {
    margin: 30px 0 0;
    padding: 0;
  }
  .hd-contact-menu li {
    display: inline-block;
  }
  .hd-contact-menu li a {
    font-size: 1.8rem;
    padding: 15px 20px !important;
    width: 240px;
  }
}

@media screen and (max-width: 1023px) {
  .hd-contact-menu li {
    display: block;
  }
  .hd-contact-menu li a {
    width: 100%;
  }
}

.hd-contact-menu li:first-child a::before {
  width: 20px;
  height: 20px;
  margin: 0 10px 0 0;
}

.hd-contact-menu li:first-child a {
  background: #28b5b5;
  padding: 8px 20px;
}

.hd-contact-menu li:first-child a::before {
  background: url('images/ico_contact.png') no-repeat center center;
}

.hd-contact-menu a {
  color: #fff;
  display: block;
}

.hd-contact-menu-dot {
  margin: 0 -3px;
}

.hd-fix .site-logo {
  max-width: 200px;
}

.hd-fix .hd-contact-menu {
  display: flex;
  flex-wrap: wrap;
}

.hd-fix .hd-contact-menu li a {
  display: flex;
  align-items: center;
}

.hd-fix .hd-contact-menu li a::before,
.hd-fix .hd-contact-menu li:first-child a::before {
  margin: 0;
  transition: all .2s;
}

.hd-fix .hd-contact-menu li a,
.hd-fix .hd-contact-menu li:first-child a {
  height: 64px;
}

.hd-fix .hd-contact-menu li a::before {
  width: 20px;
  height: 26px;
}

.hd-fix .hd-contact-menu li:first-child a::before {
  width: 24px;
  height: 24px;
}

.hd-fix .hd-contact-menu span {
  display: none;
}

@media screen and (max-width: 1240px) {
  .hd-fix .hd-contact-menu span {
    display: inline-block;
  }
  .hd-fix .hd-contact-menu li a,
  .hd-fix .hd-contact-menu li:first-child a {
    height: auto;
  }
  .hd-fix .hd-contact-menu li a::before,
  .hd-fix .hd-contact-menu li:first-child a::before {
    margin: 0 10px 0 0; 
    width: 20px;
    height: 20px;
  }
}


#g-nav {
  /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
  position: fixed;
  left: 0;
  z-index: -1;
  opacity: 0;
  /*はじめは透過0*/
  /*ナビの位置と形状*/
  top: 75px;
  width: 100%;
  height: 0;
  /*ナビの高さ*/
  height: calc(100vh - 75px);
  background: #fff;
  /*動き*/
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive {
  opacity: 1;
  z-index: 9999;
}

/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list {
  background: #333;
  position: fixed;
  width: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list {
  height: calc(100vh - 75px);
  margin-top: 0;
  opacity: 1;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

/*ナビゲーション*/
#g-nav-list-inner {
  display: block;
  width: 100%;
  max-width: 1000px;
  margin-top: 30px;
  opacity: 0;
  padding: 100px 30px;
}

#g-nav.panelactive #g-nav-list-inner {
  margin-top: 0;
  opacity: 1;
}

/*リストのレイアウト設定*/
#g-nav li {
  display: block;
  list-style: none;
  margin: 0;
}

#g-nav .li-first {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.3;
  margin: 10px 0 20px;
}

#g-nav li a {
  display: block;
  text-decoration: none;
  padding: 5px 10px;
  letter-spacing: 0.1em;
  font-weight: bold;
}

#g-nav .children li:nth-child(n + 2) {
  margin: 8px 0 0;
}

#g-nav .children li a {
  color: #fff;
  font-size: 2rem;
  padding: 0 10px 0 25px;
  font-size: 1.8rem;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 {
  position: fixed;
  z-index: 10001;
  /*ボタンを最前面に*/
  top: 13px;
  right: 30px;
  cursor: pointer;
  width: 40px;
  height: 50px;
}

/*×に変化*/
.openbtn1 span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 1px;
  background-color: #333;
  width: 100%;
}

.openbtn1 span:nth-of-type(1) {
  top: 15px;
}

.openbtn1 span:nth-of-type(2) {
  top: 24px;
}

.openbtn1 span:nth-of-type(3) {
  top: 33px;
}

.openbtn1.active span {
  z-index: 9999;
}

.openbtn1.active span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(-45deg);
  width: 100%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) rotate(45deg);
  width: 100%;
}


.hd-menu {
  display: flex !important;
  flex-wrap: wrap;
  margin: 0;
  overflow-y: auto;
}

.hd-menu > li {
  color: #fff;
  width: 33.33%;
}

.hd-menu > li:nth-child(n + 4) {
  margin: 50px 0 0 !important;
}

.hd-menu .en-title {
  line-height: 1;
}

.hd-bottom-link {
  margin: 80px 0 0;
}

.hd-bottom-link li {
  display: inline-block !important;
}

.hd-bottom-link li:nth-child(n + 2) {
  margin: 0 0 0 30px !important;
}

.hd-bottom-link a {
  color: #fff;
  padding: 3px 0 !important;
}

.hd-bottom-link li a[target="_blank"]::after {
  content: '\f08e';
  color: #777;
  display: inline-block;
  padding: 0 5px;
  text-decoration: none !important;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
  vertical-align: inherit;
}

@media screen and (max-width: 767px) {
  .hd-menu {
/*     padding: 100px 0; */
    width: 100%;
  }
  .hd-menu > li {
    display: block;
    margin: 0 !important;
    padding: 30px;
    width: 50%;
  }
  .hd-menu > li:nth-child(n + 3) {
    border-top: 1px solid #666;
  }
  .hd-menu > li:nth-child(n + 4) {
    margin: 0 !important;
  }
  .hd-menu > li:last-child {
    border-bottom: 1px solid #666;
    width: 100%;
  }
  #g-nav {
    top: 75
  }
  #g-nav .li-first {
    font-size: 1.8rem;
  }
  #g-nav .children li a {
    display: block;
    font-size: 1.5rem;
  }
  #g-nav-list-inner {
    padding: 30px 0 100px;
  }
  .openbtn1 {
    right: 20px;
  }
  .hd-bottom-link {
    margin: 40px 0 0;
    padding: 0 30px 30px;
  }
  .hd-bottom-link li {
    display: block !important;
  }
  .hd-bottom-link li:nth-child(n + 2) {
    margin: 0 !important;
  }
  .hd-bottom-link li a {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 567px) {
  #g-nav-list-inner {
    padding: 0 0 100px;
  }
  .hd-menu > li {
    width: 100%;
  }
  .hd-menu > li:first-child {
    border-top: 0;
  }
  .hd-menu > li:nth-child(n + 2) {
    border-top: 1px solid #666;
  }
  .openbtn1 {
    top: 23px;
    width: 30px;
    height: 30px;
  }
  .openbtn1 span:nth-of-type(1) {
    top: 6px;
  }

  .openbtn1 span:nth-of-type(2) {
    top: 14px;
  }

  .openbtn1 span:nth-of-type(3) {
    top: 22px;
  }
}

/*--------------------------------------------------------------
Front Page

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

.home .site-content {
  max-width: inherit;
  padding: 0;
}

.hm-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 30px;
}

.home h2 {
  font-size: 3.8rem;
  font-weight: bold;
  letter-spacing: .1em;
  margin: 0 0 50px;
}

.home h2 .h2-en {
  font-size: 1.4rem;
  font-weight: normal;
  color: #28b5b5;
  letter-spacing: 0;
}

.home h2 .h2-ja {
  font-size: 3.4rem;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .home h2 .h2-ja {
    font-size: 2.2rem;
  }
  .hm-inner {
    padding: 0 20px;
  }
}

@media screen and (max-width: 567px) {
  .home h2 {
    margin: 0 0 30px;
  }
}

/* スライド */
.hm-main {
  position: relative;
}

.hm-main-text {
  color: #333;
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.7;
  box-decoration-break: clone;	
	-webkit-box-decoration-break: clone;
	display: inline;
	background: linear-gradient(transparent 8%, #fff 0%);
	padding: 0 10px;
}

.hm-main .slider {
  z-index: -100;
  width: 100%;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.hm-main .slider .slick-slide {
  margin: 0;
}

.hm-main .slider .slick-slide img {
  width: 100%;
  height: auto;
}

.hm-main .slider.slick-initialized {
  opacity: 1;
}

.hm-main .slider-img {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  display: block !important;
  height: calc(100vh - 75px);
}

.hm-main .slider-img::after {
  content: '';
  display: block;
  padding-top: calc(100vh - 75px);
}

@media screen and (max-width: 1023px) {
  .hm-main-text {
    font-size: 4.5rem;
  }
}

@media screen and (max-width: 767px) {
  .hm-main .slider-img {
    height: 300px;
  }
  .hm-main-text {
    font-size: 3.2rem;
  }
  .hm-main .slider-img::after {
    padding-top: 50vh;
  }
}

@media screen and (max-width: 567px) {
  .hm-main-text {
    font-size: 2.4rem;
  }
}

.hm-main-inner {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  width: 90%;
}

.hm-main-l {
  font-size: 5.5vmax;
  font-weight: 900;
}

.hm-main-s {
  font-size: 1.6vmax;
  font-weight: bold;
}

/* スライド */

.hm-slide {
  position: relative;
  z-index: 1;
}

.hm-slide .slick-dots {
  bottom: 30px;
}

.hm-slide .slider {
  z-index: -100;
  width: 100%;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.hm-slide .slider .slick-slide {
  margin: 0;
}

.hm-slide .slider .slick-slide img {
  width: 100%;
  height: auto;
}

.hm-slide .slider.slick-initialized {
  opacity: 1;
}

.hm-slide .slider-img {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  height: 100vh;
}

.hm-slide .slider-img::after {
  content: '';
  display: block;
  padding-top: calc(100vh - 110px);
}

@media screen and (max-width: 767px) {
  .hm-slide .slider-img::after {
    padding-top: 50vh;
  }
}

@media screen and (max-width: 567px) {
  .hm-main-inner {
/*
    top: inherit;
    bottom: 30px;
*/
    left: 30px;
    transform: inherit;
  }
}

.hm-slide h2 {
  margin: 0;
  position: absolute;
  left: 10%;
  bottom: 200px;
}

.hm-slide p {
  margin: 0;
  position: absolute;
  bottom: 100px;
  left: 30px;
}

.hm-slide .slick-dots li {
  margin: 0 10px;
}

.hm-slide .slick-dots li button:before {
  color: #fff;
  font-size: 16px;
  opacity: 1;
}

.hm-slide .slick-dots li.slick-active button:before {
  color: #28b5b5;
  opacity: 1;
}


/* ニュース・トピックス */

.hm-news {
  background: #f7f7f7;
  padding: 0;
  position: relative;
}

.hm-news-box {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 40px 40px 40px 0;
  transform: translateY(-30%);
}

.hm-news-box h2 {
  text-align: center;
  margin: 0;
}

.hm-news-box h2 .h2-ja {
  font-size: 2.8rem;
  letter-spacing: 1px;
}

.hm-inner-box {
  display: flex;
  justify-content: space-between;
}

.hm-cont {
  margin: 150px 0;
}

.hm-cont p {
  font-size: 2.6rem;
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .hm-news-box {
    padding: 40px;
    transform: inherit;
  }
  .hm-news .hm-inner {
    padding: 30px;
  }
  .hm-news .hm-inner h2 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
  }
  .hm-news-box-l {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 20px;
  }
  .hm-news .hm-inner h2 .h2-ja {
    padding: 0 10px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .hm-news-box {
    padding: 30px;
  }
  .hm-news-inner {
    padding: 0 40px;
  }
  .hm-inner-box {
    display: block;
  }
  .hm-news h2,
  .hm-news-inner {
    width: 100%;
  }
  .hm-cont p {
    font-size: 2.4rem;
  }
  .hm-news-box h2 .h2-ja {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 567px) {
  .hm-news-inner {
    padding: 0 30px;
  }
  .hm-cont p {
    font-size: 2rem;
  }
  .hm-news-box h2 .h2-ja {
    font-size: 2rem;
  }
}

@media screen and (max-width: 480px) {
  .hm-cont p {
    font-size: 1.8rem;
  }
  .hm-cont br {
    display: none;
  }
}

.hm-message {
  background: #28b5b5;
  color: #fff;
  padding: 150px 0;
  text-align: center;
}

.hm-message p {
  font-size: 2.1rem;
  font-weight: 900;
  max-width: 900px;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .hm-message {
    padding: 100px 0;
  }
}

@media screen and (max-width: 567px) {
  .hm-message {
    padding: 50px 0;
  }
  .hm-message h2 .h2-ja {
    max-width: 80%;
    margin: 0 auto;
  }
  .hm-message p {
    font-size: 1.6rem;
  }
}

.hm-interview {
  background: #f2f2f2;
  padding: 150px 0;
}

.hm-interview .hm-inner {
  max-width: 1060px;
}

.hm-interview h2 {
  text-align: center;
}

.hm-interview-link .pure-g {
  margin: 0 -20px !important;
}

.hm-interview-link .pure-g > * {
  padding: 0 20px;
  position: relative;
}

.hm-interview-link .pure-g > *:nth-child(n + 4) {
  padding: 80px 20px 0;
}

@media screen and (max-width: 1023px) {
  .hm-interview {
    padding: 100px 0;
  }
  .hm-interview-link .pure-g > *:nth-child(n + 3) {
    padding: 80px 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .hm-interview {
    padding: 50px 0;
  }
  .hm-interview-link .pure-g {
    margin: 0 -5px !important;
  }
  .hm-interview-link .pure-g > * {
    padding: 0 5px !important;
  }
  .hm-interview-link .pure-g > *:nth-child(n + 3) {
    padding: 20px 5px 0 !important;
  }
}

@media screen and (max-width: 567px) {
}

.hm-interview-link .pure-g a {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  position: relative;
  text-decoration: none;
}

.hm-interview-link .pure-g a::before {
  content: '';
  display: block;
  padding-top: 120%;
}

.hm-interview-link-inner {
  background: #fff;
  border-bottom: 3px solid #28b5b5;
  position: absolute;
  right: 0;
  bottom: -30px;
  z-index: 1;
  width: 80%;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.hm-interview-text {
  padding: 1em 1.2em;
  position: relative;
}

.hm-interview-text::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .2s;
}

.hm-interview-link a:hover .hm-interview-text::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.hm-interview-lead {
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.4;
}

.hm-interview-title {
  line-height: 1.5;
  padding: 10px 0 0;
}

.hm-interview-link .pure-g a:hover .hm-interview-text {
  color: #28b5b5;
}

.hm-btn {
  display: flex;
  flex-wrap: wrap;
  height: 500px;
}

@media screen and (max-width: 1200px) {
  .hm-btn {
    display: block;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .hm-interview-link-inner {
    position: inherit;
    bottom: 0;
    width: 100%;
  }
  .hm-interview-lead {
    font-size: 1.8rem;
  }
  .hm-interview-lead br {
    display: none;
  }
  .hm-interview-title {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 567px) {
  .hm-interview-lead {
    font-size: 1.4rem;
  }
  .hm-interview-title {
    font-size: 1.1rem;
  }
  .hm-interview-text {
    padding: 1em;
  }
}

.hm-btn-item {
  background: #28b5b5;
  width: 100%;
  height: 100%;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
}

@media screen and (max-width: 1200px) {
  .hm-btn-item {
    height: 400px;
  }
}

@media screen and (max-width: 767px) {
  .hm-btn-item {
    height: 300px;
  }
}

@media screen and (max-width: 567px) {
  .hm-btn-item {
    height: 60vw;
  }
}

.hm-btn a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.hm-btn a::before {
  content: '';
  display: block;
  width: 56px;
  height: 56px;
  background: url('images/ico_arrow.png') no-repeat center center / contain;
  position: absolute;
  right: 30px;
  bottom: 33px;
  z-index: 1;
}

.hm-btn a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(180deg, transparent 0 30%, rgb(0 0 0 / 30%) 100%);
}

.hm-btn-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover !important;
  width: 100%;
  height: 100%;
}

.hm-btn a:hover .hm-btn-img {
  opacity: .6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.hm-btn h2 {
  margin: 0;
  letter-spacing: 2px;
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 1;
}

.hm-btn h2 .h2-ja {
  color: #fff;
  font-size: 2.4rem;
}

/* 社員紹介 */
.btn-w {
  background: #fff;
  border-radius: 50px;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 1.1em 1em;
  position: relative;
  margin: 100px auto 0;
  max-width: 300px;
  text-align: center;
  text-decoration: none !important;
  width: 100%;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-w::before {
  right: 30px;
  width: 14px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  padding: 0 !important;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-w::after {
  content: '';
  right: 30px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  padding: 0 !important;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-w:hover {
  background: #28b5b5;
  color: #fff;
}

.btn-w:hover::before {
  background: #fff;
}

.btn-w:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media screen and (max-width: 767px) {
  .btn-w {
    font-size: 1.4rem;
    padding: .8em 1em;
    margin: 50px auto 0;
    max-width: 240px;
  }
}


/*--------------------------------------------------------------
Regular Content
--------------------------------------------------------------*/

.entry-header {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .entry-header {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 567px) {
  .entry-header {
    margin-bottom: 50px;
  }
}

.entry-header-inner {
  position: relative;
}

.entry-content {
  max-width: 1060px;
  margin: 0 auto;
  position: relative;
  z-index: 30;
  margin-bottom: 120px;
}

.entry-content > *:first-child {
  margin-top: 0 !important;
}

.entry-content > *:last-child {
  margin-bottom: 0 !important;
}

.entry-content p {
/*   font-weight: 500; */
  line-height: 2;
  letter-spacing: 1.5px;
}

.news-list a,
.entry-content a {
  text-decoration: underline;
}

.news-list a i,
.entry-content a i {
  display: inline-block;
  margin: 0 5px;
  color: #28b5b5;
}

.entry-content strong {
  font-weight: 600;
}

.entry-content ul {
  padding: 0 0 0 1.8em;
}

.entry-content td ul,
.entry-content td ol {
  margin: 0;
}

.entry-content.not-found {
  min-height: 300px;
}

.entry-content h6,
.entry-content h5,
.entry-content h4,
.entry-content h3,
.entry-content h2,
.entry-content h1 {
  letter-spacing: 2px;
}

.entry-content h1 {
  margin: 60px 0 40px;
}

.entry-content h2 {
  margin: 80px 0 30px;
  padding: 0 0 0 70px;
  position: relative;
  font-weight: 900 !important;
}

.entry-content h2::before {
  content: '';
  display: block;
  width: 50px;
  height: 2px;
  background: #28b5b5;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .entry-content h2 {
    margin: 60px 0 20px;
    padding: 0 0 0 40px;
  }
  .entry-content h2::before {
    width: 25px;
  }
}

.entry-content h3 {
  margin: 60px 0 20px;
}

.entry-content h4 {
  margin: 40px 0 20px;
  padding: 0.4em 1em .5em .8em;
  color: #494949;
  background: #f4f4f4;
  border-left: solid 5px #28b5b5;
}

.entry-content h5 {
  margin: 20px 0 12px;
  color: #28b5b5;
  padding: 0;
}

.entry-content h6 {
  margin: 20px 0 12px;
}

.entry-content h1 + h2,
.entry-content h2 + h3,
.entry-content h3 + h4,
.entry-content h4 + h5,
.entry-content h5 + h6 {
  margin-top: .5em;
}

.entry-content .pure-g {
  margin: 50px -20px;
}

.entry-content .pure-g > * {
  padding: 0 20px;
}

.entry-content .pure-g > * > *:first-child {
  margin-top: 0;
}


@media screen and (max-width: 767px) {
  .entry-content h2 + .pure-g .pure-u-md-1-2:nth-child(2) h3,
  .entry-content h2 + .pure-g .pure-u-sm-1-2:nth-child(2) h3 {
    margin-top: 40px;
  }
}

.tobira-cont > *:first-child {
  margin-top: 0 !important;
}

@media screen and (max-width: 767px) {
  .entry-content {
    margin: 0 auto 50px;
  }
}

.news-cont span {
  display: inline-block;
  vertical-align: top;
}

.news-cont a {
  padding: 5px 0;
}

.news-cont a:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.news-cont .post-title i {
  margin: 0 5px;
  vertical-align: baseline;
}

.child-cont {
  border-top: 1px solid #eee;
}

.child-cont-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 30;
  margin-bottom: 60px;
}



/*--------------------------------------------------------------
Posts / Pages
--------------------------------------------------------------*/

.entry-thumbnail img {
  display: block;
}

.entry-thumbnail .wp-caption-text {
  display: block;
  text-align: left !important;
}

.side-area {
  padding: 0 30px;
  margin-bottom: 120px;
}

.side-area h2 {
  font-size: 1.8rem;
  margin-top: 0;
  position: relative;
}

.side-area h2 a::before {
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  content: '\f054' !important;
  color: #28b5b5;
  font-weight: bold;
  font-size: 1.6rem;
  margin: -3px 6px 0 0;
  padding: 0 .5rem 0 0;
}

.side-area > ul {
  margin-bottom: 0;
}

.side-area li {
  border-bottom: 1px solid #eee;
  list-style-type: none;
  margin: 0 0 10px;
}

.side-area li:last-child {
  margin: 0;
}

.side-area li a {
  display: block;
  list-style-type: none;
  background: #fff;
  padding: .8em 0;
  line-height: 1.5;
}

.side-area li a small {
  display: inline-block;
  line-height: 1.5;
}

.side-area li a:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

@media screen and (max-width: 767px) {
  .side-area {
    padding: 0 30px;
    margin: 0 0 50px;
  }
}

@media screen and (max-width: 567px) {
  .side-area h2 {
    margin-bottom: 10px;
  }
}



/* singleページタイトル */

.news-title {
  font-size: 2.6rem;
  margin: 0 0 1.2em !important;
}

@media screen and (max-width: 767px) {
  .news-title {
    font-size: 1.8rem;
  }
}

.site-main .entry-header {
  margin: 0 0 30px;
}

.site-main .entry-header h1 {
  margin: 0;
}

.entry-header-date {
  margin: 0 0 10px;
}

.entry-header-date + h1 {
  font-size: 2.8rem;
  line-height: 1.5;
  margin-top: 0;
}

.news-content,
.single-post .site-content {
  max-width: 1200px;
}

#primary .entry-content {
  -webkit-box-shadow: 0 0 30px -8px rgb(194 205 216);
  box-shadow: 0 0 30px -8px rgb(194 205 216);
  padding: 50px;
}

@media screen and (max-width: 767px) {
  #primary .entry-content {
    margin: 0 auto 30px;
  }
}

@media screen and (max-width: 567px) {
  .entry-header-date + h1 {
    font-size: 2rem;
  }
  #primary .entry-content {
    padding: 30px;
  }
}


/* 404 */

.error-404 {
  margin: 0 auto;
  max-width: 1000px;
  min-height: 400px;
}

.error-404 h1 {
  text-align: center;
  margin: 0 0 40px;
}



/*--------------------------------------------------------------
Footer
--------------------------------------------------------------*/

.site-footer {
  position: relative;
}

.ft-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

.ft-btn {
  font-size: 2.8rem;
  font-weight: 900;
  position: relative;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  height: 220px;
}

.ft-btn a {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
  position: relative;
  white-space: nowrap;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.ft-btn a::after {
  content: '';
  display: block;
  width: 56px;
  height: 56px;
  background: url('images/ico_arrow.png') no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: 50px;
  transform: translateY(-50%);
}

.ft-btn a:first-child {
  background: #28b5b5;
}

.ft-btn a:nth-child(2) {
  background: #333;
}

.ft-btn a:hover {
  opacity: .8;
}

.ft-btn:hover::after {
  right: 25px;
}

@media screen and (max-width: 1023px) {
  .ft-btn {
    font-size: 2rem;
    height: auto;
  }
  .ft-btn a {
    flex: inherit;
    height: 120px;
    justify-content: flex-start;
    padding: 30px;
    width: 100%;
  }
  .ft-btn a::after {
    width: 36px;
    height: 36px;
    right: 30px;
  }
}

.ft-nav {
  padding: 70px 0;
}

@media screen and (max-width: 767px) {
  .ft-nav {
    padding: 50px 0;
  }
}

@media screen and (max-width: 567px) {
  .ft-nav {
    padding: 50px 0 30px;
  }
}

.ft-nav .ft-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ft-menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  width: calc(100% - 500px);
}

.ft-menu > li {
  font-size: 1.5rem;
  list-style-type: none;
  padding: 0 0 0 20px;
  width: 33.33%;
}

.ft-menu > li:nth-child(n + 4) {
  margin-top: 40px;
}

.ft-menu .li-first {
  line-height: 1.3;
  margin: 5px 0 15px;
}

.ft-menu .li-first,
.ft-menu > li > a {
  font-size: 2.2rem;
  font-weight: 600;
}

.ft-menu .en-title {
  font-size: 1.2rem;
  line-height: 1.5;
}

.children {
  list-style-type: none;
  font-weight: 500;
  margin: 15px 0 0;
}

.children > li {
  line-height: 1.5;
  position: relative;
}

.children > li:nth-child(n + 2) {
  margin: 8px 0 0;
}

.children > li a {
  display: block;
  padding: 0 0 0 22px;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.children > li a:hover {
  color: #28b5b5;
}

.children > li a::before {
  content: '';
  display: block;
  position: absolute;
  top: 14px;
  left: 0;
  width: 12px;
  height: 1px;
  background: #ccc;
}

.ft-menu .children > li a::before {
  top: 11px;
}

.ft-info {
  max-width: 500px;
  width: 100%;
}

.ft-info h3 {
  font-size: 2.8rem;
  margin: 0 0 25px;
}

.ft-info h3 a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.ft-info .ft-title {
  padding: 0 15px 0 0;
}

.ft-info .sub-title {
  font-size: 1.3rem;
}

@media screen and (max-width: 1023px) {
  .ft-info {
    margin: 0 20px 30px;
    max-width: inherit;
  }
  .ft-menu {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .children > li a::before {
    top: 10px;
  }
  .ft-menu {
    width: 100%;
  }
  .ft-menu > li {
    font-size: 1.4rem;
    width: 50%;
  }
  .ft-menu > li:nth-child(n + 3) {
    margin-top: 40px;
  }
  .ft-menu > li:last-child {
    width: 100%;
  }
  .ft-menu .li-first {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 567px) {
  .ft-inner {
    padding: 0;
  }
  .ft-menu > li {
    border-top: 1px solid #eee;
    font-size: 1.3rem;
    padding: 30px 30px 0 30px;
  }
  .ft-menu > li:nth-child(n + 3) {
    margin-top: 30px;
  }
  .ft-menu .li-first {
    font-size: 1.6rem;
  }
  .children > li a {
    display: block;
  }
  .ft-info {
    margin: 0 10px 30px;
  }
  .ft-info h3 {
    font-size: 2.4rem;
  }
}

/* SNSリンク */
.ft-sns {
  list-style-type: none;
}

.ft-sns li {
  display: inline-block;
  font-size: 2rem;
}

.ft-sns li:nth-child(n + 2) {
  margin: 0 0 0 8px;
}

.ft-sns li a {
  color: #777;
  width: 50px;
  height: 50px;
  border-radius: 25px;
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.ft-sns li a:hover {
  color: #fff;
}

/* SNSリンク / SVGアイコン */
.ft-sns li a svg {
  fill: #777;
}

.ft-sns li a:hover svg {
  fill: #fff;
}

/* フッター（自由入力） */
.ft-detail {
  margin: 50px 0 0;
}

/* ページトップへ戻るボタン */
.ft-pagetop {
  cursor: pointer;
  position: fixed;
  right: 20px;
  bottom: 15px;
  z-index: 9998;
  width: 60px;
  height: 60px;
  background: #28b5b5;
  border-radius: 50%;
  text-align: center;
}

.ft-pagetop::before {
  width: 1px;
  height: 24px;
  background: #fff;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: absolute;
  top: 1px;
  left: calc(50% + 1px);
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.ft-pagetop::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(-45deg) translateX(-50%);
  transform: rotate(-45deg) translateX(-50%);
  position: absolute;
  top: -20px;
  left: 50%;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .ft-pagetop {
    right: 30px;
    bottom: 30px;
    width: 44px;
    height: 44px;
  }
  .ft-pagetop::before {
    height: 20px;
    top: -2px;
    left: calc(50% + 1px);
  }
  .ft-pagetop::after {
    width: 6px;
    height: 6px;
    top: -20px;
    left: 50%;
  }
}

@media screen and (max-width: 567px) {
  .ft-info {
    padding: 0 20px;
  }
  .ft-pagetop {
    right: 15px;
    bottom: 15px;
    width: 44px;
    height: 44px;
  }
}

@media screen and (max-width: 480px) {
  .ft-info {
    font-size: 1.1rem;
  }
}

.ft-bottom {
  background: #f5f5f5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 30px 120px 30px 30px;
}

.ft-bottom-link {
  display: block;
  margin: 0;
  width: 60%;
}

.ft-bottom-link li {
  display: inline-block;
}

.ft-bottom-link li:nth-child(n + 2) {
  margin: 0 0 0 20px;
}

.ft-bottom-link li a {
  font-size: 1.2rem;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.ft-bottom-link li a[target="_blank"]::after {
  content: '\f08e';
  color: #777;
  display: inline-block;
  padding: 0 5px;
  text-decoration: none !important;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.ft-bottom-link li a:hover,
.ft-bottom-link li a:hover::after {
  color: #28b5b5;
}

.copyright {
  font-size: 1.2rem;
  text-align: right;
  width: 40%;
}

@media screen and (max-width: 767px) {
  .ft-bottom-link {
    width: 100%;
  }
  .copyright {
    width: 100%;
    text-align: left;
    margin: 30px 0 0;
  }
}

@media screen and (max-width: 567px) {
  .ft-bottom {
    display: block;
    padding: 30px;
  }
  .ft-bottom-link li {
    display: block;
  }
  .ft-bottom-link li:nth-child(n + 2) {
    margin: 0;
  }
  .copyright {
    font-size: 1rem;
  }
}



/*--------------------------------------------------------------
Media
--------------------------------------------------------------*/

img,
video {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

.category-news-en .entry-content img,
.category-news-en .entry-content video {
  height: inherit;
  max-width: inherit;
}

@media screen and (max-width: 567px) {
  .category-news-en .entry-content img,
  .category-news-en .entry-content video {
    height: auto;
    max-width: 100%;
  }
}



/* Make sure embeds and iframes fit their containers. */

embed,
iframe,
object {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption,
.gallery-caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: .5em 0;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.4;
}

figcaption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: .5em 0;
  text-align: center;
}


/*--------------------------------------------------------------
個別ページ
--------------------------------------------------------------*/


/* 固定ページ共通 */

.entry-title {
  background: #28b5b5;
  color: #fff;
  margin: 0;
  letter-spacing: 0.1em;
  padding: 100px 30px 120px;
  text-align: center;
}

.entry-title-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.entry-title .en-title {
  font-weight: normal;
  font-size: 50%;
}

@media screen and (max-width: 767px) {
  .entry-title {
    padding: 80px 30px 100px;
  }
}

.li-child {
  background: #f5f5f5;
  display: flex;
  flex-wrap: wrap;
  padding: 20px 30px;
  position: relative;
  margin: -44px auto 0;
  max-width: 1100px;
}

.li-child li {
  display: inline-block;
  position: relative;
  margin: 10px 0;
}

.li-child li::before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  transition: ease .2s;
}

.li-child li:nth-child(n + 2) {
  border-left: 1px solid #ccc;
}

.li-child li:hover::before {
  background: #28b5b5;
}

.li-child li a {
  padding: 5px 70px 5px 30px;
  font-size: 1.7rem;
  font-weight: 600;
  transition: ease .2s;
  position: relative;
}

.li-child li a::before {
  right: 40px;
  width: 10px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  content: "";
  vertical-align: middle;
  transition: ease .2s;
}

.li-child li a::after {
  content: '';
  right: 40px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  transition: ease .2s;
}

.li-child li a:hover {
  color: #28b5b5;
}

.li-child li a:hover::before {
  background: #fff;
}

.li-child li a:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.li-child .current_page_item::before {
  background: #28b5b5;
}

.li-child .current_page_item a {
  color: #28b5b5;
}

.li-child .current_page_item a::before {
  background: #fff;
}

.li-child .current_page_item a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media(max-width: 1140px) {
  .li-child {
    margin: -30px 30px 0;
  }
}

@media(max-width: 767px) {
  .li-child {
    padding: 15px 20px;
  }
  .li-child li {
    margin: 5px 0;
  }
  .li-child li a {
    font-size: 1.5rem;
  }
}

@media(max-width: 567px) {
  .li-child {
    padding: 0;
    margin: -30px 20px 0;
  }
  .li-child li {
    margin: 0;
    width: 100%;
  }
  .li-child li::before {
    right: 20px;
  }
  .li-child li:nth-child(n + 2) {
    border: 0;
    border-top: 1px solid #ccc;
  }
  .li-child li a {
    padding: 10px 20px;
    display: block;
  }
  .li-child li a::before,
  .li-child li a::after {
    right: 28px;
  }
  .li-child li::before {
    width: 26px;
    height: 26px;
    right: 20px;
  }
}

.page-parent:not(.page-child) .li-child li:first-child::before {
  background: #28b5b5;
}

.page-parent:not(.page-child) .li-child li:first-child a {
  color: #28b5b5;
}

.page-parent:not(.page-child) .li-child li:first-child a::before {
  background: #fff;
}

.page-parent:not(.page-child) .li-child li:first-child a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.subpage-title {
  margin: 100px 0 0;
  position: relative;
  text-align: center;
}

.subpage-title .en-title {
  color: #28b5b5;  
}

.subpage-title h1 {
  font-weight: 900 !important;
  margin: 0;
}

@media(max-width: 767px) {
  .subpage-title {
    margin: 50px 0 0;
  }
}

@media(max-width: 567px) {
  .subpage-title h1 {
    font-size: 2.8rem;
  }
}

/* スマホ・タブレットのとき電話番号リンク有効化 */

a[href^="tel:"] {
  pointer-events: none;
}

@media(max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}


/*--------------------------------------------------------------
テンプレート：メッセージ
--------------------------------------------------------------*/
.entry-content .cont-message {
  margin-bottom: 50px !important;
}

.m-name {
  text-align: right;
}

.m-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.m-img::before {
  content: '';
  display: block;
  padding-top: 120%;
}

@media(max-width: 767px) {
  .entry-content .cont-message {
    flex-direction: column-reverse;
    margin-bottom: 0 !important;
  }
  .m-img {
    margin: 0 auto 40px;
    max-width: 300px;
  }
}


/*--------------------------------------------------------------
職種紹介
--------------------------------------------------------------*/
/*
.cont-jobs-inner:nth-child(n + 2) {
  margin: 120px 0 0;
}

.cont-jobs-inner > *:first-child {
  margin-top: 0;
}

.j-main {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.j-main::before {
  content: '';
  display: block;
  padding-top: 55%;
}

.j-about {
  margin: 30px 0 0;
}

.entry-content .j-cont {
  margin: 80px -50px 0;
}

.entry-content .j-cont:nth-child(odd) {
  flex-direction: row-reverse;
}

.entry-content .j-cont > * {
  padding: 0 50px;
}

.j-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.j-img::before {
  content: '';
  display: block;
  padding-top: 100%;
}

@media(max-width: 767px) {
  .cont-jobs-inner:nth-child(n + 2) {
    margin: 50px 0 0;
  }
  .entry-content .j-cont {
    margin: 50px -50px 0;
  }
  .entry-content .j-cont > *:nth-child(even) {
    margin-top: 30px;
  }
}
*/

/*--------------------------------------------------------------
社員紹介
--------------------------------------------------------------*/
.i-main {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 0 20px;
  position: relative;
}

.i-main::before {
  content: '';
  display: block;
  padding-top: 55%;
}

.i-main-inner {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
}

.i-info-inner,
.i-main-inner h1 {
  font-size: 2rem;
  line-height: 1.7;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
  background: linear-gradient(transparent 8%, #fff 0%);
  padding: 0 10px;
}

.i-catch {
  margin: 0 0 10px;
}

.i-catch-inner {
  color: #333;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.7;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
  background: linear-gradient(transparent 8%, #fff 0%);
  padding: 0 10px;
}

.other-interview {
  background: #f2f2f2;
  padding: 80px 0 130px;
}

.other-interview h3 {
  font-size: 3rem;
  margin: 0 0 50px;
  text-align: center;
}

.other-interview-inner {
  margin: 0 auto;
  max-width: 1060px;
  padding: 0 30px;
}

@media screen and (max-width: 767px) {
  .i-main::before {
    padding-top: 70%;
  }
  .i-catch-inner {
    font-size: 2.6rem;
  }
  .i-info-inner,
  .i-main-inner h1 {
    font-size: 1.8rem;
  }
  .other-interview {
    padding: 50px 0;
  }
  .other-interview h3 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 567px) {
  .i-catch-inner {
    font-size: 1.6rem;
  }
  .i-info,
  .i-name {
    line-height: 1;
  }
  .i-main-inner {
    left: 10px;
  }
  .i-catch-inner {
    padding: 0 5px;
    white-space: nowrap;
  }
  .i-info-inner,
  .i-main-inner h1 {
    font-size: 1.1rem;
    padding: 0 5px;
  }
}

/* 社員紹介/詳細ページ */
.entry-content .i-cont {
  margin: 80px -50px 0;
  gap: 0;
}

.entry-content .i-cont > * > *:first-child {
  margin-top: 0;
}

.entry-content .i-cont > * {
  padding: 0 50px;
}

/*
.i-cont:nth-child(odd) {
  flex-direction: row-reverse;
}
*/

.i-img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.i-img::before {
  content: '';
  display: block;
  padding-top: 100%;
}

.i-img-half .i-img::before {
  padding-top: 50%;
}

.entry-content .i-lead {
  font-size: 2.8rem;
  padding: 0;
}

.entry-content .i-lead::before {
  display: none;
}

@media screen and (max-width: 767px) {
  .entry-content .i-cont {
    margin: 50px -50px 0;
  }
  .entry-content .i-cont > *:nth-child(even) {
    margin-top: 30px;
  }
  .entry-content .i-lead {
    font-size: 2rem;
  }
}

/*--------------------------------------------------------------
数字でみる
--------------------------------------------------------------*/
.n-cont-inner {
  border: 1px solid #eee;
  box-sizing: border-box;
  margin-bottom: 0 !important;
  padding: 40px 10px !important;
}

.n-title {
  color: #333;  
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.5 !important;
  margin: 10px 0 0 !important;
  text-align: center;
}

.n-number-box {
  margin-top: 0 !important;
}

.n-number-box > * {
  display: flex;
  align-items: baseline !important;
  justify-content: center;
  margin: 15px 0 0;
}

.n-number {
  color: #28b5b5;  
  font-size: 100px;
  font-weight: 900;
  line-height: 1 !important;
  text-align: center;
  margin: 0 !important;
}

.n-small {
  color: #333;  
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 10px;
}

body .is-layout-constrained > .n-number,
body .is-layout-constrained > .n-small {
  margin: 0 !important;
}

.n-text {
  font-size: 1.4rem;
  max-width: 80% !important;
  margin: 30px auto 0 !important;
}

.n-icon {
  margin: 0 !important;
}

.n-icon img {
  width: 100%;
  height: 70px;
  object-fit: contain;
}

@media screen and (max-width: 1023px) {
  .n-title {
    font-size: 2.2rem;
  }
  .n-number {
    font-size: 80px;
  }
  .n-small {
    font-size: 1.4rem;
    padding: 0 5px !important;
  }
}

@media screen and (max-width: 567px) {
  .n-cont-inner {
    padding: 20px 10px 15px !important;
  }
  .n-title {
    font-size: 1.7rem;
  }
  .n-number {
    font-size: 50px;
  }
  .n-small {
    font-size: 1.2rem;
    padding: 0 5px !important;
  }
  .n-icon img {
    height: 50px;
  }
  .n-text {
    font-size: 1.2rem;
    line-height: 1.8 !important;
    max-width: 94%;
    margin: 20px auto 0 !important;
  }
}

.number01 .n-icon {
  background: url('images/ico_number01.png') no-repeat center center / contain;
}

.number02 .n-icon {
  background: url('images/ico_number02.png') no-repeat center center / contain;
}

.number03 .n-icon {
  background: url('images/ico_number03.png') no-repeat center center / contain;
}

.number04 .n-icon {
  background: url('images/ico_number04.png') no-repeat center center / contain;
}

.number05 .n-icon {
  background: url('images/ico_number05.png') no-repeat center center / contain;
}

.number06 .n-icon {
  background: url('images/ico_number06.png') no-repeat center center / contain;
}

.number07 .n-icon {
  background: url('images/ico_number07.png') no-repeat center center / contain;
}

.number08 .n-icon {
  background: url('images/ico_number08.png') no-repeat center center / contain;
}

.number09 .n-icon {
  background: url('images/ico_number09.png') no-repeat center center / contain;
}

.number10 .n-icon {
  background: url('images/ico_number10.png') no-repeat center center / contain;
}

.number11 .n-icon {
  background: url('images/ico_number11.png') no-repeat center center / contain;
}

.number12 .n-icon {
  background: url('images/ico_number12.png') no-repeat center center / contain;
}

.number13 .n-icon {
  background: url('images/ico_number13.png') no-repeat center center / contain;
}

.number14 .n-icon {
  background: url('images/ico_number14.png') no-repeat center center / contain;
}

.number15 .n-icon {
  background: url('images/ico_number15.png') no-repeat center center / contain;
}

.number16 .n-icon {
  background: url('images/ico_number16.png') no-repeat center center / contain;
}

.number17 .n-icon {
  background: url('images/ico_number17.png') no-repeat center center / contain;
}

.number18 .n-icon {
  background: url('images/ico_number18.png') no-repeat center center / contain;
}


/*--------------------------------------------------------------
よくある質問
--------------------------------------------------------------*/
.list-q {
  background: #f5f5f5;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  padding: 15px 15px 15px 60px;
  position: relative;
}

.list-q a {
  text-decoration: none;
}

.list-q:nth-child(n + 2) {
  margin: 40px 0 0;
}

.list-q::before {
  content: 'Q';
  font-size: 3rem;
  padding: 0 10px 0 0;
  position: absolute;
  top: 5px;
  left: 15px;
}

.list-a {
  font-size: 1.5rem;
  line-height: 1.6;
  padding: 20px 15px 15px 60px;
  position: relative;
}

.list-a > *:last-child {
  margin-bottom: 0 !important;
}

.list-a::before {
  content: 'A';
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  padding: 0 10px 0 0;
  position: absolute;
  top: 15px;
  left: 15px;
}

@media screen and (max-width: 767px) {
  .list-q {
    font-size: 1.6rem;
    padding: 15px 15px 15px 50px;
  }
  .list-q::before {
    font-size: 2.4rem;
    top: 6px;
  }
  .list-a {
    padding: 15px 15px 15px 50px;
  }
  .list-a::before {
    font-size: 2.4rem;
    top: 12px;
  }
}

@media screen and (max-width: 567px) {
  .list-q {
    font-size: 1.5rem;
  }
}

/*--------------------------------------------------------------
中途採用エントリー
--------------------------------------------------------------*/
.list-job {
  margin: 0 !important;
  padding: 0 !important;
}

.list-job li {
  margin: 0 0 5px !important;
}

.list-job li:nth-child(n + 2) a {
  border-top: 0;
}

.list-job li::before {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  transition: ease .2s;
}

.list-job li::after {
  display: none !important;
}

.list-job li a {
  background: #f2f2f2;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  text-decoration: none;
  padding: 24px 30px;
  position: relative;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.list-job li a::before {
  right: 42px;
  width: 14px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  padding: 0 !important;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.list-job li a::after {
  content: '';
  right: 42px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  padding: 0 !important;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.list-job li a:hover {
  color: #fff;
}

.list-job li a:hover::before {
  background: #fff;
}

.list-job li a:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media screen and (max-width: 567px) {
  .list-job li a {
    font-size: 1.8rem;
    padding: 14px 20px;
  }
}

/*--------------------------------------------------------------
中途採用エントリー / 職種別ページ
--------------------------------------------------------------*/
.c-table {
  margin: 50px 0 0;
}

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

.btn-entry a {
  display: block;
  background: #333;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 900;
  padding: 24px 20px;
  position: relative;
  line-height: 1;
  margin: 50px auto 0;
  max-width: 300px;
  width: 100%;
  text-decoration: none;
}

.btn-entry a::before {
  right: 25px;
  width: 14px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  padding: 0 !important;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-entry a::after {
  content: '';
  right: 25px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  padding: 0 !important;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-entry a:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

/*--------------------------------------------------------------
お問い合わせフォーム
--------------------------------------------------------------*/

.form-contact {
  border: 1px solid #eee;
  padding: 80px;
  margin: 60px 0 0;
}

@media screen and (max-width: 767px) {
  .form-contact {
    padding: 30px;
  }
  .form-contact input,
  .form-contact textarea {
    font-size: 1.6rem;
  }
}

.form-contact label {
  margin: 0;
}

.form-contact .pure-g {
  margin: 0;
}

.form-contact .pure-g > * {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0;
}

.form-contact .pure-g > *:nth-child(odd) {
  padding: 20px 0 0;
}

.form-contact .pure-g > *:nth-child(even) {
  align-items: center;
}

.mw_wp_form_preview .form-contact .pure-g > *:nth-child(even) {
  padding: 20px 0 0;
}

.form-contact .pure-g > * * {
  width: 100%;
}

.l-required {
  background: #c00;
  color: #fff;
  font-size: 1.1rem;
  font-weight: normal;
  margin: 0 1em 0 0;
  padding: 0.2em 0.5em 0.3em;
}

.l-optional {
  background: #ddd;
  color: #333;
  font-size: 1.1rem;
  font-weight: normal;
  margin: 0 1em 0 0;
  padding: 0.2em 0.5em 0.3em;
}

.pure-form input[type=color], .pure-form input[type=date], .pure-form input[type=datetime-local], .pure-form input[type=datetime], .pure-form input[type=email], .pure-form input[type=month], .pure-form input[type=number], .pure-form input[type=password], .pure-form input[type=search], .pure-form input[type=tel], .pure-form input[type=text], .pure-form input[type=time], .pure-form input[type=url], .pure-form input[type=week], .pure-form select, .pure-form textarea {
  background: #eff4f7;
  border: 0 !important;
  -webkit-box-shadow: inherit;
  box-shadow: inherit;
  padding: 1.5em;
}

.btn-form {
  text-align: center;
  margin: 40px 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 567px) {
  .form-contact .pure-g > *:nth-child(odd) {
    padding: 0;
  }
  .pure-form input[type=color], .pure-form input[type=date], .pure-form input[type=datetime-local], .pure-form input[type=datetime], .pure-form input[type=email], .pure-form input[type=month], .pure-form input[type=number], .pure-form input[type=password], .pure-form input[type=search], .pure-form input[type=tel], .pure-form input[type=text], .pure-form input[type=time], .pure-form input[type=url], .pure-form input[type=week], .pure-form select, .pure-form textarea {
    padding: 1em 1.5em;
  }
  .btn-form {
    margin: 0;
  }
}

.btn-form-inner {
  position: relative;
  max-width: 300px;
  width: 100%;
}

.btn-form-inner::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: ;
  position: absolute;
  top: 50%;
  right: 35px;
  transform: rotate(45deg) translateY(-50%);
  transition: ease .2s;
}

.btn-form-inner:hover::after {
  right: 25px;
}

.btn-submit {
  margin: 30px 0 0;
  text-align: center;
}

.btn-submit input[type="submit"] {
  background: #28b5b5;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 25px 20px;
  position: relative;
  max-width: 300px;
  width: 100%;
}

.btn-submit-inner {
  display: inline;
  position: relative;
}

.btn-submit-inner::before {
  right: 25px;
  width: 14px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  padding: 0 !important;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
  z-index: 1;
}

.btn-submit-inner::after {
  content: '';
  right: 25px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  padding: 0 !important;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.btn-submit-inner:hover {
  opacity: 0.6;
  -webkit-transition: .2s ease-in;
  transition: .2s ease-in;
}

.form-policy {
  text-align: center;
  margin: 30px 0 0;
}

.form-policy .mwform-checkbox-field label {
  display: inline;
}

.form-policy input[name="__children[プライバシーポリシー][]"] + .error {
	display : inline;
	padding-right:.5em;
}


/*--------------------------------------------------------------
Snow Monkey Forms（エントリーフォーム）

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

.form-contact {
  margin: 50px 0;
}

.smf-item label {
  font-weight: normal;
}

.smf-item__description {
  font-size: 1.2rem;
}

.smf-button-control {
  position: relative;
}

.smf-action .smf-button-control__control {
  background-color: #28b5b5;
  background-image: none;
  border: 0;
  border-radius: 2px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 25px 20px;
  position: relative;
  max-width: 300px;
  width: 100%;
  outline: 0;
  text-decoration: none;
  transition: .2s ease-in;
}

.smf-action .smf-button-control__control:hover {
  opacity: 0.6;
}

.smf-form .smf-item .smf-checkbox-control,
.smf-form .smf-item .smf-radio-button-control {
  align-items: center;
}

.box-privacy {
  background: #f7f7f7;
  margin-top: 20px !important;
  padding: calc(var(--_space, 1.8rem)*1) !important;
  text-align: center;
}

.box-privacy label {
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
}

.box-privacy .smf-checkbox-control__label {
  margin: 0 0 0 5px;
}

.smf-item__label__text::before {
  border-radius: 2px;
  font-size: 1.2rem;
  padding: 3px 5px;
  margin: 0 10px 0 0;
}

.required .smf-item__label__text::before {
  content: '必須';
  background: #ea2525;
  color: #fff;
}

.optional .smf-item__label__text::before {
  content: '任意';
  background: #eee;
}

/* 確認画面 */
form[data-screen="confirm"] .box-privacy {
  display: none;
}

/* 送信完了画面 */
.smf-complete-content > *:first-child {
  margin-top: 0 !important;
}

.smf-complete-content > *:last-child {
  margin-bottom: 0 !important;
}

/*--------------------------------------------------------------
Googleマップ レスポンシブ
--------------------------------------------------------------*/

.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 55%;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media(max-width: 767px) {
  .map {
    margin: 0 0 30px;
  }
}


/*--------------------------------------------------------------
ブロックエディタ
--------------------------------------------------------------*/
.wp-block-image {
  margin: 0 0 30px;
}

.wp-block-column .wp-block-image {
  margin: 0 0 1em;
}

.is-layout-flex > * > *:first-child {
  margin-top: 0;
}


/*--------------------------------------------------------------
YouTube
--------------------------------------------------------------*/
.youtube,
.wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
 
.youtube iframe,
.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*--------------------------------------------------------------
ログイン中
--------------------------------------------------------------*/

.admin-bar .site-header {
  top: 32px;
}

.admin-bar .openbtn1 {
  top: 45px;
}

.admin-bar  #g-nav.panelactive #g-nav-list {
  height: calc(100vh - 75px + 32px);
}

@media screen and (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px !important;
  }
  .admin-bar .openbtn1 {
    top: calc(46px + 13px);
  }
  .admin-bar  #g-nav {
    top: calc(46px + 75px) !important;
  }
}

@media screen and (max-width: 567px) {
  .admin-bar .openbtn1 {
    top: calc(46px + 23px);
  }
}


/*--------------------------------------------------------------
プラグイン上書き
--------------------------------------------------------------*/


/*--------------------------------------------------------------
19.0 Media Queries

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


/* Adjust positioning of edit shortcuts,
override style in customize-preview.css */

@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}



/*--------------------------------------------------------------
20.0 Print

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

@media print {
  /* Hide elements */
  /* Font sizes */
  body {
    font-size: 9pt;
    line-height: 1.6;
    width: 1300px;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    margin: 0;
  }
  .home {
    width: 1450px;
  }
  h1 {
    font-size: 15pt;
  }
  h2 {
    font-size: 14pt;
  }
  h3 {
    font-size: 13pt;
  }
  h4,
  h5,
  h6 {
    font-size: 11pt;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 30px 0 15px;
  }
  .page-title,
  .entry-title {
    margin: 0 auto 30px;
  }
  /* 調整 */
  .content {
    display: block;
  }
  .side {
    float: left;
  }
  .entry {
    float: right;
  }
  /* Pure.css */
  .pure-u-md-7-8 {
    width: 87.5%;
  }
  .pure-u-md-4-5 {
    width: 80%;
  }
  .pure-u-md-18-24,
  .pure-u-md-3-4 {
    width: 75%;
  }
  .pure-u-md-2-3,
  .pure-u-sm-2-3 {
    width: 66.6666%;
  }
  .pure-u-md-3-5 {
    width: 60%;
  }
  .pure-u-sm-1-2,
  .pure-u-sm-12-24,
  .pure-u-md-1-2,
  .pure-u-md-12-24 {
    width: 50%;
  }
  .pure-u-md-2-5 {
    width: 40%;
  }
  .pure-u-md-9-24 {
    width: 37.5%;
  }
  .pure-u-md-1-3,
  .pure-u-sm-1-3,
  .pure-u-md-8-24 {
    width: 33.3333%;
  }
  .pure-u-md-5-24 {
    width: 20.8333%;
  }
  .pure-u-md-7-24 {
    width: 29.1666%;
  }
  .pure-u-md-1-4,
  .pure-u-md-6-24,
  .pure-u-sm-1-4 {
    width: 25%;
  }
  .pure-u-md-1-5 {
    width: 20%;
  }
  .pure-u-md-1-8,
  .pure-u-md-3-24 {
    width: 12.5%;
  }
}
