/* ----------------------------------------
*   body
* ---------------------------------------- */

html {
  scroll-snap-type: y proximity;
  scroll-padding-top: 100px;
  scroll-behavior: smooth;
}

@media screen and (max-width: 1300px) {
  html {
    scroll-padding-top: 70px;
  }
}

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #111;
  -webkit-text-size-adjust: none;
  line-height: 1.8;
  margin: 0;
  padding: 0;
}

.sp {
  display: none;
}

ul,
ol,
li,
dl,
dt,
dd,
div,
figure {
  margin: 0;
  padding: 0;
  font-weight: normal;
  list-style: none;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
  font-weight: normal;
  letter-spacing: 1px;
}

table,
th,
td {
  border: none;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  padding: 0;
  font-weight: normal;
}

img {
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  border-style: none;
}

@media screen and (max-width: 800px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
}

/* ----------------------------------------
*   common
* ---------------------------------------- */

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  justify-content: space-between;
  align-content: space-between;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex02 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  align-content: space-between;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.reverse {
  flex-flow: row-reverse;
}

.fs90 {
  font-size: 90%;
}

.fw {
  font-weight: bold;
}

.bm20 {
  margin-bottom: 20px;
}

.bm40 {
  margin-bottom: 40px;
}

.tm120 {
  margin-top: 120px;
}

.center {
  text-align: center;
}

.btn {
  width: 100%;
  margin: 0 auto;
}

.cap {
  font-size: 14px;
  color: #555;
}

.colorf {
  color: #fff;
}

.color01 {
  color: #00c1d2;
}

.marker {
  background: linear-gradient(transparent 0%, #ffff66 0%);
}

.bg01 {
  background: #00c1d2;
}

@media screen and (max-width: 1300px) {
  .reverse {
    flex-flow: row wrap;
  }
}

@media screen and (max-width: 800px) {
  .flex {
    justify-content: space-around;
  }
  .wrap .inner {
    margin: 0 auto;
    width: 90%;
  }
  .btn {
    text-align: center;
  }
}

/* ----------------------------------------
*   link
* ---------------------------------------- */

a:link {
  color: #111;
  text-decoration: none;
}

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

a:active {
  color: #111;
  text-decoration: none;
}

a:hover {
  color: #f5ce28;
  text-decoration: none;
}

a {
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -ms-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

/* ----------------------------------------
*   header
* ---------------------------------------- */

header {
  display: block;
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  background: #00c1d2;
}

header .inner {
  position: relative;
  width: 100%;
  margin: auto;
  box-sizing: border-box;
}

header .logo {
  padding: 0;
  width: 24%;
  line-height: 1.8;
  text-align: left;
}

header h1.logo {
  box-sizing: border-box;
}

header .logo img {
  width: auto;
  height: 100px;
}

@media screen and (max-width: 1300px) {
  header .sp {
    display: block;
  }
  header {
    height: 70px;
  }
  header .pc {
    display: none;
  }
  header .inner {
    justify-content: space-between;
  }
  header .logo {
    padding: 0;
    width: auto;
    height: 70px;
  }
  header .logo img {
    position: relative;
    top: 0;
    left: 0;
    height: 70px;
  }
  .home header .logo img {
    top: 0px;
  }
}

/* ----------------------------------------
*   mainvisual
* ---------------------------------------- */

.mainvisual {
  width: 100%;
  margin: 100px 0 0;
  padding: 0;
}

@media screen and (max-width: 1300px) {
  .mainvisual {
    margin-top: 70px;
  }
}

.slick-dotted.slick-slider {
  margin-bottom: 35px;
}
.slick-dots {
  bottom: -35px;
}
.slick-dots li {
  width: 16px;
  height: 16px;
  margin: 0 5px;
}
.slick-dots li button {
  width: 16px;
  height: 16px;
  padding: 0;
}
.slick-dots li button:before {
  width: 16px;
  height: 16px;
  line-height: 16px;
  content: "";
  border-radius: 50%;
  background: #c1c1c1;
}
.slick-dots li.slick-active button:before {
  opacity: 1;
  background: #00c1d1;
}

@media screen and (max-width: 800px) {
  .slick-dotted.slick-slider {
    margin-bottom: 30px;
  }
  .slick-dots {
    bottom: -30px;
  }
  .slick-dots li {
    width: 14px;
    height: 14px;
    margin: 0 5px;
  }
  .slick-dots li button {
    width: 14px;
    height: 14px;
  }
  .slick-dots li button:before {
    width: 14px;
    height: 14px;
    line-height: 14px;
  }
}

/* ----------------------------------------
*   contentstit
* ---------------------------------------- */

.head01 {
  font-size: 42px;
  letter-spacing: 5px;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
}

.head02 {
  font-size: 14px;
  margin: 0 0 10px 0;
  text-align: center;
}

.head03 {
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
}

.head04 {
  font-size: 48px;
  letter-spacing: 5px;
  margin-top: -20px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}

.yoko-subtitle {
  padding-left: 40px;
  position: relative;
}

.yoko-subtitle:before {
  content: "";
  position: absolute;
  top: 40%;
  left: 0;
  width: 30px;
  height: 5px;
  background-color: #00c1d2;
}

@media screen and (max-width: 800px) {
  .contentstit {
    width: 100%;
    margin: 60px auto 0 auto;
  }
  .contentstit .head {
    margin: 0 auto;
  }
  .head01 {
    font-size: 38px;
    letter-spacing: 5px;
    line-height: 1.4;
  }
  .head01.vw {
    font-size: 10vw;
  }
  .head04.vw {
    font-size: 7vw;
    letter-spacing: 0;
    line-height: 1.4;
  }
}

/* ----------------------------------------
*   main
* ---------------------------------------- */

#main {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.head {
  margin: 0 0 60px 0;
}

.tit01 {
  font-size: 21px;
  margin: 0 0 20px 0;
  line-height: 1.6;
  font-weight: bold;
}

.tit02 {
  font-size: 38px;
  line-height: 1.6;
  font-weight: bold;
}

.tit03 {
  font-size: 21px;
  line-height: 1.6;
  font-weight: bold;
}

.tit04 {
  font-size: 16px;
  font-weight: bold;
}

.cap01 {
  font-size: 16px;
  line-height: 1.6;
  font-weight: bold;
}

.tel01 {
  font-size: 28px;
  font-family: "Noto Sans Japanese";
}

.return {
  margin: 0 auto 80px auto;
}

.return a.button {
  margin: 0;
}

@media screen and (max-width: 800px) {
  .tit01 {
    font-size: 24px;
    line-height: 1.4;
  }
  .tit02 {
    font-size: 38px;
    line-height: 1.4;
  }
  .return {
    margin: 0 auto 40px auto;
    width: 90%;
  }
}

/* ----------------------------------------
*   footer
* ---------------------------------------- */

/* footer-contact  */
.footer-contact {
  padding: 80px 0;
  width: 100%;
  background: #00c1d2;
}

.footer-contact .inner {
  margin: 0 auto;
  width: 1000px;
}

.footer-contact h3 {
  font-size: 21px;
  font-weight: bold;
  line-height: 1.4;
}

.footer-contact span {
  font-size: 14px;
}

.footer-contact a {
  display: block;
  color: #111;
}

.footer-contact .telbtn,
.footer-contact .mailbtn,
.footer-contact .linebtn {
  text-align: center;
  width: 32%;
  line-height: 1.6;
  background: #fff;
}

.footer-contact .telbtn a,
.footer-contact .mailbtn a,
.footer-contact .linebtn a {
  padding: 16px 10px 15px;
  width: 100%;
  height: 100%;
  align-content: center;
}

.footer-contact .telbtn a {
}

.footer-contact .telbtn a:hover {
  color: #111;
}

.footer-contact .mailbtn a {
  background: #7aeb02;
}

.footer-contact .mailbtn a:hover {
  color: #111;
  background: #fff;
}

.footer-contact .linebtn h3 {
  font-size: 18px;
}

.footer-contact .linebtn a {
  color: #111;
  background: #ff0;
}

.footer-contact .linebtn a:hover {
  color: #111!important;
  background: #fff;
}

@media screen and (max-width: 1020px) {
  .footer-contact .inner {
    margin: 0 auto;
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .footer-contact {
    padding: 40px 0;
  }
  .footer-contact .telbtn,
  .footer-contact .mailbtn,
  .footer-contact .linebtn {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .footer-contact .mailbtn a {
    padding-top: 26px;
	padding-bottom: 25px;
  }
}

/* footer  */
footer {
  width: 100%;
  box-sizing: border-box;
}

footer .inner {
  width: 100%;
}

.footer-ricruit {
  width: 15%;
  height: 150px;
  background: #f81b84;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.footer-ricruit a {
  display: block;
  color: #fff;
  width: 100%;
  height: 150px;
  padding: 53px 0 0 0;
}

.footer-ricruit a:hover {
  background-color: #fff;
  color: #f81b84;
}

.footer-nav {
  width: 55%;
  height: 150px;
}

.footer-nav ul {
  width: 100%;
  margin: 0 auto;
}

.footer-nav ul li {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4;
  width: 20%;
}

.footer-nav ul li a {
  width: 100%;
  height: 150px;
  padding: 70px 0 0 0;
  text-align: center;
  display: block;
  color: #111;
}

.footer-nav ul li:first-child a {
  padding-top: 58px;
}

.footer-nav ul li a .txt01 {
  font-size: 14px;
  display: block;
  font-weight: normal;
}

.footer-nav ul li a:hover {
  color: #f5ce28;
}

.footer-logo {
  width: 30%;
  /*height: 150px;*/
  padding: 2px 40px 7px;
}

.footer-logo span {
  font-size: 1.4rem;
  display: inline-block;
  line-height: 1.3;
}

.footer-logo img {
  width: auto;
  height: 81px;
  margin: 0;
}

.footer-logo .copy {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.5;
}

@media screen and (max-width: 1300px) {
  footer {
    margin-bottom: 80px;
  }
  .footer-ricruit {
    width: 100%;
    height: 100px;
  }
  .footer-ricruit a {
    height: 100px;
    padding: 22px 0 0 0;
    font-size: 21px;
  }
  .footer-nav {
    width: 100%;
    height: auto;
  }
  .footer-nav ul {
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
  }
  .footer-nav ul li {
    font-weight: bold;
    width: 50%;
  }
  .footer-nav ul li a {
    width: 100%;
    height: auto;
    min-height: 80px;
    padding: 29px 0 0;
  }
  .footer-nav ul li:first-child a {
    padding: 19px 0 0;
  }
  .footer-nav ul li a .txt01 {
    font-size: 14px;
    font-weight: normal;
  }
  .footer-logo {
    width: 100%;
    max-width: 50rem;
    margin: 0 auto;
    text-align: center;
    height: auto;
    padding: 0 0 10px;
  }
  .footer-logo img {
    height: 90px;
    margin-bottom: 3px;
  }
}

@media screen and (max-width: 800px) {
  .footer-logo {
    max-width: 100%;
  }
}

/* ----------------------------------------
*   bottomnav
* ---------------------------------------- */

@media screen and (max-width: 800px) {
  .bottomnav {
    background: #fff;
    display: block;
    width: 100%;
    height: 70px;
    margin: 0 auto;
    bottom: 0;
    position: fixed;
    z-index: 9997;
  }
  .bottomnav ul {
    width: 100%;
  }
  .bottomnav li {
    width: 20%;
    text-align: center;
  }
  .bottomnav li a {
    display: block;
    padding: 10px 0;
    height: 70px;
  }
  .bottomnav li a i {
    font-size: 18px;
    color: #5ebeeb;
  }
  .bottomnav li a span {
    font-size: 12px;
    line-height: 1.2;
    display: block;
  }
  .bottomnav-ricruit {
    background: #f81b84;
  }
  .bottomnav-ricruit a {
    color: #fff;
    font-weight: bold;
  }
  .bottomnav-ricruit a span {
    margin: 15px 0 0 0;
  }
  .bottomnav li a span {
    font-size: 12px;
    line-height: 1.2;
    display: block;
  }
}

/* ----------------------------------------
*   table
* ---------------------------------------- */

table,
th,
td {
  border-collapse: collapse;
}

table {
  width: 100%;
  border: none;
  background: #fff;
}

th {
  padding: 10px 0;
  border: 2px solid #ccc;
  background: #f7f7f7;
}

td {
  padding: 10px 20px;
  border: 2px solid #ccc;
}

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

/* ----------------------------------------
*   btn
* ---------------------------------------- */

a.button {
  display: inline-block;
  height: 50px;
  text-align: center;
  text-decoration: none;
  line-height: 50px;
  background-color: #fdf34a;
  border: 1px solid #fdf34a;
  width: 280px;
  color: #111;
  margin: 40px auto 0 auto;
  font-weight: bold;
  border-radius: 25px;
  /* CSS3草案 */
  -webkit-border-radius: 25px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 25px;
  /* Firefox用 */
}

a.button:hover {
  background-color: #fff;
  border: 1px solid #fdf34a;
  color: #111;
  text-decoration: none;
}

a.button::before,
a.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}

a.button,
a.button::before,
a.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@media screen and (max-width: 800px) {
  a.button {
    width: 100%;
    margin: 20px auto 0 auto;
  }
}

/* ----------------------------------------
*   zoom
* ---------------------------------------- */

.img a {
  display: block;
  width: 100%;
}

.img a .zoom {
  height: 100%;
  overflow: hidden;
}

.img a .zoom img {
  width: 100%;
  height: auto;
  transition: 0.5s;
}

.img a:hover .zoom img {
  transform: scale(1.1);
}

/* ----------------------------------------
*   fadein
* ---------------------------------------- */

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.5s;
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/* ----------------------------------------
*   404
* ---------------------------------------- */

.notfind {
  width: 100%;
  margin: 70px auto 0 auto;
  padding: 60px 0;
  text-align: center;
  letter-spacing: 0.3em;
}

/* ----------------------------------------
*   グーグルカレンダー
* ---------------------------------------- */

.googlecal {
  position: relative;
  padding-bottom: 100%;
  /* 縦横比 */
  height: 0;
  margin: 40px 0 0 0;
}

.googlecal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 800px) {
  .googlecal {
    position: relative;
    padding-bottom: 120%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
  }
}

/* ----------------------------------------
*   グーグルマップ
* ---------------------------------------- */

@media screen and (max-width: 1020px) {
  .ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }
  .access-list:last-of-type .ggmap {
	margin-bottom: 25px;
  }
  .ggmap iframe,
  .ggmap object,
  .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

/* ----------------------------------------
*   ユーチューブ
* ---------------------------------------- */

.video {
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0;
}

/* Grouping content
 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* Top Page
 ========================================================================== */

/* ----------------------------------------
 *   policy
 * ---------------------------------------- */

.policy {
  margin: 40px 0 80px;
  width: 100%;
}

.policy .inner {
  margin: 0 auto;
  width: 1000px;
}

.policy .inner p {
  text-align: center;
  font-weight: bold;
  line-height: 2.4;
  font-size: 120%;
}

.policy ul {
  margin: 0 auto;
  width: 60%;
}

.policy li {
  width: 50%;
}

@media screen and (max-width: 1020px) {
  .policy .inner {
    width: 90%;
  }
}

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

  .policy .inner p {
    text-align: left;
    font-size: 110%;
  }
  .policy ul {
    width: 100%;
  }
  .policy li {
    width: 100%;
  }
}

/* ----------------------------------------
 *   about
 * ---------------------------------------- */

.about {
  margin: 80px 0;
  width: 100%;
}

.about img {
  width: 100%;
}

.about .inner {
  margin: 0 auto;
  width: 1000px;
}

.about .about-list {
  margin: 0 auto;
  width: 30%;
}

.about .about-list p {
  font-size: 90%;
}

.about .about-list img {
  margin: 0 0 20px 0;
}

@media screen and (max-width: 1020px) {
  .about .inner {
    width: 90%;
  }
}

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

  .about .about-list {
    width: 100%;
    margin: 0 0 40px 0;
  }
}

.about-support {
  margin: 80px 0;
  width: 100%;
}

.about-support .inner {
  margin: 0 auto;
  width: 1000px;
}

.about-support-box {
  border: 5px solid #00c1d2;
  padding: 40px;
}

.about-support-box li {
  width: 19%;
}

.about-support-box p.hosoku {
  font-size: 90%;
}

@media screen and (max-width: 1020px) {
  .about-support .inner {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .about-support-box {
    padding: 40px 20px;
  }
  .about-support-box li {
    width: 100%;
    margin: 0 0 20px 0;
  }
}

/* ----------------------------------------
 *   service
 * ---------------------------------------- */

.service {
  padding: 80px 0 0 0;
  width: 100%;
  background: #f7f7f7;
}

.service img {
  width: 100%;
}

.service .inner {
  margin: 0 auto;
  width: 1000px;
}

.service-box {
  padding: 0 0 80px 0;
}

.service-box h3 {
  margin: 0 0 20px 0;
}

.service-box .txt {
  width: 50%;
}

.service-box .list {
  width: 40%;
}

.service-box .list ul {
  padding: 10px;
}

.service-box .list li {
  color: #fff;
  font-weight: bold;
}

.service-box .list span {
  font-size: 90%;
}

.service-list {
  margin: 40px 0;
}

.service-list h4 span {
  margin: 0 10px 0 0;
}

@media screen and (max-width: 1020px) {
  .service .inner {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .service {
    padding: 60px 0;
  }
  .service-box {
    padding: 0 0 0 0;
  }
  .service-box .txt {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .service-box .list {
    width: 100%;
  }
}

/* ----------------------------------------
 *   flow
 * ---------------------------------------- */

.flow {
  margin: 80px 0;
  width: 100%;
}

.flow img {
  width: 100%;
}

.flow .inner {
  margin: 0 auto;
  width: 1000px;
}

.flow .img {
  margin: 60px auto;
}

.flow .txt {
  border: 1px solid #ccc;
  padding: 20px;
}

.flow h3 {
  margin: 0 0 40px 0;
}

@media screen and (max-width: 1020px) {
  .flow .inner {
    width: 90%;
  }
}

/* ----------------------------------------
 *   voice
 * ---------------------------------------- */

.voice {
  padding: 80px 0;
  width: 100%;
  background: #f7f7f7;
}

.voice img {
  width: 100%;
}

.voice .inner {
  margin: 0 auto;
  width: 1000px;
}

.voice .voice-list {
  background: #fff;
  padding: 20px;
  margin: 0 0 20px 0;
}

.voice h3 {
  margin: 0 0 10px 0;
}

@media screen and (max-width: 1020px) {
  .voice .inner {
    width: 90%;
  }
}

/* ----------------------------------------
 *   column
 * ---------------------------------------- */

.home .column {
  width: 100%;
  margin: 80px 0;
}

.home .column .inner {
  width: 1000px;
  margin: 0 auto;
}

.home .column ul.flex {
  justify-content: center;
}

.home .column ul.flex li a.button {
  margin-top: 6rem;
}

@media screen and (max-width: 1020px) {
  .home .column .inner {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .home .column ul.flex,
  .home .column ul.flex li {
    width: 100%;
  }
  .home .column ul.flex li a.button {
    margin-top: 4rem;
  }
}

/* ----------------------------------------
 *   company
 * ---------------------------------------- */

.company {
  margin: 80px 0;
  width: 100%;
}

.company img {
  width: 100%;
}

.company .inner {
  margin: 0 auto;
  width: 1000px;
}

.company table {
  width: 100%;
  background: #fff;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.company th {
  width: 25%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  border: none;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background: #00c1d2;
}

.company td {
  width: 75%;
  text-align: left;
  border: none;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background: #f7f7f7;
}

@media screen and (max-width: 1020px) {
  .company .inner {
    width: 90%;
  }
}

/* ----------------------------------------
 *   access
 * ---------------------------------------- */

.access {
  margin: 80px 0;
  width: 100%;
}

.access img {
  width: 100%;
}

.access .inner {
  margin: 0 auto;
  width: 1000px;
}

.access h3 {
  margin: 0 0 40px 0;
}

.access-list {
  margin: 0 0 40px 0;
}

.access-list li {
  width: 22%;
  margin: 20px 0 0 0;
}

@media screen and (max-width: 1020px) {
  .access .inner {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .access-list li {
    width: 50%;
    margin: 0 0 0 0;
  }
}

/* ----------------------------------------
 *   advice
 * ---------------------------------------- */

.advice {
  margin: 80px 0;
  width: 100%;
}

.advice .inner {
  width: 800px;
  margin: 0 auto;
}

.advice p {
  text-align: center;
}

.advice .form {
  margin: 0 auto;
  padding: 20px 0;
  border-bottom: 1px solid #eee;
}

.advice .item {
  width: 30%;
  font-weight: bold;
}

.advice .item span {
  font-size: 70%;
  margin: 0 0 0 10px;
  color: #f24141;
}

.advice .txt {
  width: 70%;
}

.advice .wpcf7-form-control {
  padding: 2.5%;
  width: 95%;
}

.advice .wpcf7-submit {
  margin: 40px 0 0 0;
}

@media screen and (max-width: 1020px) {
  .advice .inner {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .advice p {
    text-align: left;
  }
  .advice .item {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .advice .txt {
    width: 100%;
  }
}

/* ----------------------------------------
 *   sns
 * ---------------------------------------- */

.sns {
  margin: 80px 0;
  width: 100%;
}

.sns .inner {
  width: 1000px;
  margin: 0 auto;
}

.sns .flex {
  width: 200px;
  margin: 0 auto;
}

.sns .img {
  width: 50px;
  margin: 0 auto;
}

@media screen and (max-width: 1020px) {
  .sns .inner {
    width: 90%;
  }
}

/* Inside Page
 ========================================================================== */

/* ----------------------------------------
*   title
* ---------------------------------------- */

.l-pageTitle {
  height: 215px;
  overflow: hidden;
  background: #f0f7f8;
  display: flex;
  flex-wrap: wrap;
}

.l-pageTitle__inner {
  width: 1150px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.l-pageTitle__title span {
  display: block;
}

.l-pageTitle__title span.en {
  margin-bottom: 5px;
  color: #56bfce;
  font-size: 4.3rem;
  font-weight: bold;
  line-height: 1;
}

.l-pageTitle__title span.ja {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1;
}

@media screen and (max-width: 1170px) {
  .l-pageTitle__inner {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .l-pageTitle {
    height: 165px;
  }
  .l-pageTitle__title span.en {
    font-size: 4rem;
  }
}

@media screen and (max-width: 800px) {
  .l-pageTitle {
    height: 115px;
  }
  .l-pageTitle__title span.en {
    font-size: 3.6rem;
  }
  .l-pageTitle__title span.ja {
    font-size: 1.3rem;
  }
}

/* ----------------------------------------
*   topicpath
* ---------------------------------------- */

.l-topicpath {
  width: 100%;
  margin: 2rem 0 7.5rem;
  padding: 0;
  color: #111;
  font-size: 1.2rem;
}

.l-topicpath a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 800px) {
  .l-topicpath {
    margin-bottom: 3.5rem;
  }
}

/* ----------------------------------------
*   contents
* ---------------------------------------- */

.boxContent {
  width: 1000px;
  margin: 0 auto;
}

.single .boxContent {
  width: 1150px;
}

.c-container {
  padding: 0 0 9rem;
}

@media screen and (max-width: 1170px) {
  .single .boxContent {
    width: 90%;
  }
  .c-container {
    padding-bottom: 8rem;
  }
}

@media screen and (max-width: 1020px) {
  .boxContent {
    width: 90%;
  }
}

@media screen and (max-width: 800px) {
  .c-container {
    padding-bottom: 5rem;
  }
}

/* Post List Page
 ========================================================================== */

.c-post__list {
  margin: 0 0 7rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.home .c-post__list {
  margin-bottom: 0;
}

.c-post__box {
  width: 30.83%;
  margin-right: 3.755%;
  margin-bottom: 8rem;
  display: flex;
}

.c-post__box:nth-of-type(3n) {
  margin-right: 0;
}

.c-post__box:nth-last-of-type(-n + 3) {
  margin-bottom: 0;
}

.c-post__box a {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
}

.c-post__box figure {
  width: 100%;
  max-width: 32rem;
  margin-bottom: 22px;
  aspect-ratio: 4 / 3;
}

.c-post__box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-post__box figure img:hover {
  opacity: 0.7;
}

.c-post__box .c-post__box--text {
  width: 100%;
  padding: 0 20px 0;
}

.c-post__box--category ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
}

.c-post__box--category ul li {
  min-width: 100px;
  height: 26px;
  margin: 0 10px 10px 0;
  padding: 2px 10px 0;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  background: #56bfce;
}

.c-post__box--category ul li:last-child {
  margin-right: 0;
}

.c-post__box .c-post__box--ttl {
  width: 100%;
  margin-bottom: 10px;
  color: #111;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6;
}

.c-post__box .c-post__box--ttl:hover {
  text-decoration: underline;
}

.c-post__box .c-post__box--date {
  width: 100%;
  margin-bottom: 0;
  color: #111;
  font-size: 1.4rem;
  line-height: 1.4;
}

@media screen and (max-width: 800px) {
  .c-post__list {
    margin-bottom: 5rem;
  }
  .c-post__box {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4rem;
  }
  .c-post__box:nth-of-type(3n) {
    margin-right: 4%;
  }
  .c-post__box:nth-of-type(even) {
    margin-right: 0;
  }
  .c-post__box:nth-last-of-type(-n + 3) {
    margin-bottom: 4rem;
  }
  .c-post__box:nth-last-of-type(-n + 2) {
    margin-bottom: 0;
  }
  .c-post__box figure {
    margin-bottom: 17px;
  }
  .c-post__box .c-post__box--text {
    padding: 0 15px 0;
  }
}

@media screen and (max-width: 480px) {
  .c-post__box {
    width: 100%;
    margin-right: 0;
  }
  .c-post__box:nth-of-type(3n) {
    margin-right: 0;
  }
  .c-post__box:nth-last-of-type(-n + 2) {
    margin-bottom: 4rem;
  }
  .c-post__box:last-of-type {
    margin-bottom: 0;
  }
  .c-post__box figure {
    max-width: 100%;
  }
}

/* ----------------------------------------
*   Pager
* ---------------------------------------- */

.l-post__pager {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  line-height: 1.4;
}

.l-post__pager .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.l-post__pager span.current,
.l-post__pager a {
  width: 50px;
  height: 50px;
  margin: 0 6px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #f7f7f7;
}

.l-post__pager span.current,
.l-post__pager a:hover {
  color: #fff;
  text-decoration: none;
}

.l-post__pager span.current {
  background: #00c1d2;
}

.l-post__pager a:hover {
  background: rgba(0, 193, 210, 0.5);
}

.l-post__pager a.previouspostslink {
  margin-left: 0;
}

.l-post__pager a.nextpostslink {
  margin-right: 0;
}

@media screen and (max-width: 480px) {
  .l-post__pager span.current,
  .l-post__pager a {
    width: 40px;
    height: 40px;
    margin: 0 5px;
  }
}

/* Post Detail Page
 ========================================================================== */

.p-postDetail .c-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-postDetail .c-main {
  width: 84rem;
}

.p-postDetail__heading {
  width: 100%;
  margin: 0;
  margin-bottom: 3.5rem;
}

.p-postDetail__meta {
  width: 100%;
  margin: 0 0 2.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.p-postDetail__category {
  margin-bottom: 0;
}

.p-postDetail__category ul {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
}

.p-postDetail__category ul li {
  min-width: 100px;
  height: 26px;
  margin: 0 1rem 0 0;
  padding: 2px 10px 0;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  background: #56bfce;
}

.p-postDetail__category ul li:last-child {
  margin-right: 0;
}

.p-postDetail__date {
  width: 10.5rem;
  margin-bottom: 0;
  padding-top: 3px;
  color: #111;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
}

.p-postDetail__title {
  width: 100%;
  color: #111;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0;
}

.p-postDetail__content {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0;
}

.p-postDetail__content h2,
.p-postDetail__content h3,
.p-postDetail__content h4,
.p-postDetail__content h5 {
  margin: 0;
  padding: 0;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0;
}

.p-postDetail__content h2 {
  margin: 4rem 0 2.5rem;
  padding-left: 4.5rem;
  position: relative;
  font-size: 2.6rem;
}

.p-postDetail__content h2::before {
  width: 30px;
  height: 5px;
  position: absolute;
  top: 40%;
  left: 0;
  content: "";
  background-color: #00c1d2;
}

.p-postDetail__content h3 {
  margin: 4rem 0 2rem;
  padding-left: 1.5rem;
  font-size: 2.4rem;
  border-left: 2px solid #00c1d2;
}

.p-postDetail__content h4 {
  margin: 3.5rem 0 1.5rem;
  font-size: 2.1rem;
}

.p-postDetail__content h5 {
  margin: 3rem 0 1rem;
  font-size: 1.6rem;
}

.p-postDetail__content p {
  margin-bottom: 2rem;
}

.p-postDetail__content a {
  color: #007bff;
  text-decoration: underline;
}

.p-postDetail__content a:hover {
  opacity: 1;
  text-decoration: none;
}

.p-postDetail__content a[target="_blank"]::after {
  margin: 0 0.25rem;
  content: "\f08e";
  font-weight: 400;
  font-family: "Font Awesome 5 Pro";
}

.p-postDetail__content figure.p-postDetail__image,
.p-postDetail__content figure.wp-block-image {
  margin: 0 0 2.5rem;
}

.p-postDetail__content .wp-block-image.size-full,
.p-postDetail__content .wp-block-image .size-full {
  margin: 4.5rem 0 2.5rem;
}

.p-postDetail__content .wp-block-image.size-full img {
  width: 100% !important;
}

.p-postDetail__content ul,
.p-postDetail__content ol {
  margin: 0 0 2rem;
  padding: 0;
}

.p-postDetail__content ul {
  padding-left: 15px;
}

.p-postDetail__content ol {
  padding-left: 1px;
}

.p-postDetail__content ul li,
.p-postDetail__content ol li {
  margin: 0 0 0.7rem;
  padding: 0;
}

.p-postDetail__content ul li {
  text-indent: -15px;
}

.p-postDetail__content ol li {
  margin-bottom: 0.9rem;
  margin-left: 2rem;
  list-style: decimal;
}

.p-postDetail__content ul li:last-child,
.p-postDetail__content ol li:last-child {
  margin-bottom: 0;
}

.p-postDetail__content ul li:before {
  width: 7px;
  height: 7px;
  margin-right: 10px;
  display: inline-block;
  position: relative;
  top: -3px;
  left: 0px;
  content: "";
  border-radius: 100%;
  background: #111;
}

.p-postDetail__content .wp-block-table,
.p-postDetail__content .wp-block-flexible-table-block-table {
  margin: 2rem 0;
}

.p-postDetail__content .wp-block-table table,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table {
  width: 100%;
}

.p-postDetail__content .wp-block-table table th,
.p-postDetail__content .wp-block-table table td,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  th,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  td {
  padding: 1rem 2.3rem;
  vertical-align: top;
  font-size: 1.6rem;
  line-height: 1.6;
  border: 2px solid #ccc;
}

.p-postDetail__content .wp-block-table table th,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  th {
  font-weight: 600;
}

.p-postDetail__content .wp-block-table table td,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  td {
  min-width: 19.5rem;
  font-weight: 400;
}

.p-postDetail__content .wp-block-table table th,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  th {
  background: #f7f7f7;
}

.p-postDetail__content .wp-block-table table td ul,
.p-postDetail__content
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  td
  ul {
  margin-top: 1.5rem;
  margin-bottom: 0;
}

.p-postDetail__content .u-fullLine {
  width: 100%;
  margin: 2rem 0;
  border-bottom: 1px solid #ccc;
}

.single blockquote {
  margin: 0 0 2rem;
  padding: 2rem 3rem;
  position: relative;
  font-style: normal;
  border-left: 2px solid #dcdcdc;
}

.single blockquote cite {
  display: block;
  text-align: left;
  color: #858795;
  font-size: 1.4rem;
}

.single blockquote cite a {
  margin-left: 10px;
}

.p-postDetail__blog-card {
  width: 100%;
  margin: 3em 0;
  padding: 4rem;
  position: relative;
  font-size: 1.6rem;
  border: 2px solid #ccc;
}

.p-postDetail__blog-card a {
  width: 100%;
  color: #111;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-postDetail__blog-card-ttl {
  padding: 0 15px;
  display: inline-block;
  position: absolute;
  top: -14px;
  left: 30px;
  font-size: 1.8rem;
  font-weight: bold;
  background: #fff;
}

.p-postDetail__blog-card-content {
  width: 72.063%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.p-postDetail__blog-card-title {
  width: 100%;
  color: #111;
  font-weight: bold;
}

.p-postDetail__blog-card-thumbnail {
  width: 23.937%;
}

.p-postDetail__blog-card-thumbnail img:hover {
  opacity: 0.7;
}

.p-postDetail__content .c-btnWrap {
  margin-top: 8rem;
  margin-left: 0;
  text-align: center;
}

.p-postDetail__content .c-btn {
  width: 280px;
  height: 50px;
  margin: 0 auto;
  display: inline-block;
  text-align: center;
  color: #111;
  font-weight: bold;
  line-height: 50px;
  text-decoration: none;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border: 1px solid #fdf34a;
  background-color: #fdf34a;
}

.p-postDetail__content .c-btn:hover {
  color: #111;
  text-decoration: none;
  border: 1px solid #fdf34a;
  background-color: #fff;
}

.p-postDetail__content #toc_container {
  width: 100%;
  margin: 4.5rem 0;
  padding: 3rem;
  border: none;
  background: #f7f7f7;
}

.p-postDetail__content #toc_container .toc_title {
  text-align: left;
  font-size: 1.6rem;
  font-weight: bold;
}

#toc_container p.toc_title + ul.toc_list {
  margin-top: 0.9em;
}

.p-postDetail__content #toc_container .toc_list {
  margin-left: 1.2rem;
  padding-left: 1.2rem;
  list-style: none;
}

.p-postDetail__content #toc_container .toc_list li {
  margin-bottom: 0.7rem;
  font-weight: 600;
  text-indent: -1.2rem;
  list-style: none;
}

.p-postDetail__content #toc_container .toc_list li:before {
  display: none;
}

.p-postDetail__content #toc_container .toc_list ul {
  margin-top: 0.7rem;
  margin-left: 3rem;
}

.p-postDetail__content #toc_container .toc_list li ul li {
  font-weight: normal;
}

.p-postDetail__content #toc_container .toc_list li a {
  color: #111;
}

.p-postDetail__content #toc_container .toc_list li a:hover {
  opacity: 1;
}

.p-postDetail__content #toc_container .toc_list li .toc_number {
  padding-right: 1.5rem;
}

@media screen and (max-width: 1170px) {
  .p-postDetail .c-main {
    width: 72%;
  }
}

@media screen and (max-width: 1020px) {
  .p-postDetail .c-main {
    width: 100%;
    margin-bottom: 5rem;
  }
}

@media screen and (max-width: 800px) {
  .p-postDetail__heading {
    margin-bottom: 2.5rem;
  }
  .p-postDetail__meta {
    margin-bottom: 1.7rem;
  }
  .p-postDetail__category ul li {
    padding: 2px 5px 0;
    font-size: 1.3rem;
  }
  .p-postDetail__date {
    padding-top: 2px;
    font-size: 1.3rem;
  }
  .p-postDetail__title {
    font-size: 2.6rem;
  }
  .p-postDetail__content {
    font-size: 1.4rem;
  }
  .p-postDetail__content h2 {
    margin-top: 3.5rem;
    margin-bottom: 2.3rem;
    padding-left: 4rem;
    font-size: 2.2rem;
  }
  .p-postDetail__content h2::before {
    width: 25px;
    top: 40%;
  }
  .p-postDetail__content h3 {
    margin-top: 3.5rem;
    margin-bottom: 1.5rem;
    padding-left: 1.3rem;
    font-size: 2rem;
  }
  .p-postDetail__content h4 {
    margin-top: 3rem;
    margin-bottom: 1rem;
    font-size: 1.7rem;
  }
  .p-postDetail__content h5 {
    margin: 2.5rem 0 0.7rem;
    font-size: 1.4rem;
  }
  .p-postDetail__content p {
    margin-bottom: 1.5rem;
  }
  .p-postDetail__content figure.p-postDetail__image {
    margin-bottom: 2rem;
  }
  .p-postDetail__content .wp-block-image.size-full,
  .p-postDetail__content .wp-block-image .size-full {
    margin: 3rem 0 2rem;
  }
  .p-postDetail__content ul,
  .p-postDetail__content ol {
    margin-bottom: 1.5rem;
  }
  .p-postDetail__content ul li {
    margin-bottom: 0.6rem;
  }
  .p-postDetail__content ol li {
    margin-bottom: 0.6rem;
  }
  .p-postDetail__content ul li:before {
    width: 5px;
    height: 5px;
  }
  .p-postDetail__content .wp-block-table,
  .p-postDetail__content .wp-block-flexible-table-block-table {
    margin: 1.5rem 0;
  }
  .p-postDetail__content .wp-block-table table th,
  .p-postDetail__content .wp-block-table table td,
  .p-postDetail__content
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
    > table
    tr
    th,
  .p-postDetail__content
    .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
    > table
    tr
    td {
    padding: 0.5rem 1.2rem;
    font-size: 1.4rem;
  }
  .p-postDetail__content .u-fullLine {
    margin: 1.5rem 0;
  }
  .single blockquote {
    margin-bottom: 1.5rem;
    padding: 1.5rem 2rem;
  }
  .single blockquote cite {
    font-size: 1.3rem;
  }
  .p-postDetail__blog-card {
    margin: 2.5em 0;
    padding: 2.4rem 2rem 2rem;
    font-size: 1.4rem;
  }
  .p-postDetail__blog-card-ttl {
    top: -13px;
    font-size: 1.6rem;
  }
  .p-postDetail__content .c-btnWrap {
    margin-top: 5rem;
  }
  .p-postDetail__content .c-btn {
    padding: 0 3rem;
    font-size: 1.4rem;
  }
  .p-postDetail__content #toc_container {
    margin: 3rem 0;
    padding: 2rem;
  }
  .p-postDetail__content #toc_container .toc_title {
    font-size: 1.4rem;
  }
  .p-postDetail__content #toc_container .toc_list ul {
    margin-top: 0.3rem;
    margin-left: 2rem;
  }
  .p-postDetail__content #toc_container .toc_list li {
    margin-bottom: 0.4rem;
  }
  .p-postDetail__content #toc_container .toc_list li .toc_number {
    padding-right: 0.5rem;
  }
}

@media screen and (max-width: 480px) {
  .p-postDetail__blog-card-ttl {
    left: 25px;
  }
  .p-postDetail__blog-card-content {
    width: 100%;
  }
  .p-postDetail__blog-card-thumbnail {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}

/* ----------------------------------------
*   Pager
* ---------------------------------------- */

.l-post__linker {
  width: 100%;
  margin: 8rem 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.l-post__linker-prev {
  margin-right: 2.5rem;
}

.l-post__linker-list {
  margin-top: 1.1rem;
}

.l-post__linker-next {
  margin-left: 2.5rem;
}

.l-post__linker-prev a,
.l-post__linker-list a,
.l-post__linker-next a {
  padding: 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  letter-spacing: 0;
}

.l-post__linker-list a {
  color: #111;
}

.l-post__linker-prev a,
.l-post__linker-next a {
  width: 50px;
  height: 50px;
  color: #fff;
  background: #00c1d2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.l-post__linker-list a:hover {
  opacity: 0.7;
}

.l-post__linker-prev a:hover,
.l-post__linker-next a:hover {
  background: rgba(0, 193, 210, 0.5);
}

@media screen and (max-width: 800px) {
  .l-post__linker {
    margin: 5rem 0;
  }
  .l-post__linker-prev a,
  .l-post__linker-list a,
  .l-post__linker-next a {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 480px) {
  .l-post__linker-list {
    margin-top: 0.8rem;
  }
  .l-post__linker-prev a,
  .l-post__linker-next a {
    width: 40px;
    height: 40px;
  }
}

/* ----------------------------------------
*   Related Articles
* ---------------------------------------- */

.l-post__connection h4 {
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: bold;
}

.connection_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.connection_box {
  width: 48%;
}

.connection_box:nth-of-type(odd) {
  margin-right: 4%;
}

.connection_box:nth-last-of-type(-n + 2) {
  margin-top: 2rem;
}

.connection_box a {
  color: #111;
  display: flex;
  flex-wrap: wrap;
}

.connection_box figure {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.connection_box figure img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.connection_box figure img:hover {
  opacity: 0.7;
}

.connection_summary {
  width: calc(100% - 100px);
  padding-left: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.connection_title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6;
}

.connection_title:hover {
  text-decoration: underline;
}

.connection_date {
  font-size: 1.2rem;
  align-self: flex-end;
}

@media screen and (max-width: 800px) {
  .l-post__connection h4 {
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
  }
  .connection_box {
    width: 100%;
  }
  .connection_box:nth-of-type(odd) {
    margin-right: 0;
  }
  .connection_box:nth-last-of-type(-n + 3) {
    margin-top: 2rem;
  }
  .connection_title {
    font-size: 1.4rem;
  }
  .connection_date {
    align-self: flex-start;
  }
}

/* ----------------------------------------
*   Side Bar
* ---------------------------------------- */

.c-side {
  width: 27rem;
  line-height: 1.6;
  letter-spacing: 0;
}

.c-side a {
  color: #111;
  text-decoration: none;
}

.c-side a:hover {
  opacity: 1;
  text-decoration: underline;
}

/* title */
.c-side .c_sub-ttl {
  width: 100%;
  margin: 5rem 0 2rem;
  padding-bottom: 0;
  color: #111;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0;
  position: relative;
}

.c-side .c_sub-ttl:first-of-type {
  margin-top: 0;
}

/* category */
.c-side .c_sub_list li {
  margin-bottom: 1.2rem;
}

.c-side .c_sub_list li:last-child {
  margin-bottom: 0;
}

.c-side .c_sub_list li.cat-item a {
  padding-left: 16px;
  display:block;
  position: relative;
  font-size: 1.4rem;
}

.c-side .c_sub_list li.cat-item.cat-parent a {
  margin-bottom: 1.2rem;
}

.c-side .c_sub_list li.cat-item a::before,
.c-side .c_sub_list li.cat-item a::after {
  width: 9.1px;
  height: 1px;
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0;
  content: "";
  border-radius: 9999px;
  background-color: #111;
  transform-origin: calc(100% - 0.5px) 50%;
}

.c-side .c_sub_list li.cat-item a::before {
  transform: rotate(42.5deg);
}

.c-side .c_sub_list li.cat-item a::after {
  transform: rotate(-42.5deg);
}

/* recent articles & recommended articles */
.c-side .items {
  width: 100%;
}

.c-side .items a {
  width: 100%;
  padding: 1rem 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.c-side .side_article .items:first-of-type a {
  padding-top: 0;
}

.c-side .side_article .items:nth-of-type(5n) a {
  padding-bottom: 0;
}

.c-side .txt_content {
  width: calc(100% - 75px);
  padding-left: 1.5rem;
}

.c-side .txt_content p {
  margin-bottom: 0;
  font-size: 1.4rem;
}

.c-side .items figure {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-side .items figure img {
  width: 75px;
  height: 75px;
  object-fit: cover;
}

.c-side .items figure img:hover {
  opacity: 0.7;
}

/* recommended articles */
.c-side .ranklist ol {
  margin: 0;
  padding: 0 0 0 25px;
  list-style: none;
  counter-reset: item;
}

.c-side .ranklist ol li {
  margin: 0;
  padding: 0;
  padding-left: 14px;
  position: relative;
  border-left: 1px solid #e1e1e2;
}

.c-side .ranklist ol li::before {
  position: absolute;
  top: 0;
  left: -20.8px;
  font-size: 1.6rem;
  font-weight: bold;
  counter-increment: item;
  content: counter(item) "";
}

.c-side .ranklist ol li + li {
  margin-top: 1.6rem;
}

.c-side .ranklist ol li .txt_content {
  padding-right: 1.5rem;
  padding-left: 0;
}

/* search */
.c-side .c_post-search-box form#c_post-search {
  padding: 2px 15px 2px 2px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 2px solid #ddd;
  background: #fff;
}

.c-side .c_post-search-box input[type="text"]#c_post-search-input {
  width: calc(100% - 40px);
  min-height: 4.2rem;
  padding: 2px 10px;
  outline: none;
  color: #111;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0;
  border: none;
  background: none;
}

.c-side .c_post-search-box input[type="submit"]#c_post-search-submit {
  color: #111;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  font-family: "Font Awesome 5 Pro";
  border: none;
  background: none;
  transition: color 0.3s ease 0s;
}

/* tag cloud */
.c-side .wp-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.c-side .wp-tag-cloud li {
  margin: 0 1rem 1rem 0;
  display: block;
}

.c-side .wp-tag-cloud li a {
  padding: 8px 25px;
  display: block;
  font-size: 1.4rem !important;
  border-radius: 25px;
  background: #f3f3f3;
}

@media screen and (max-width: 1170px) {
  .c-side {
    width: 24%;
  }
}

@media screen and (max-width: 1020px) {
  .c-side {
    width: 100%;
  }
  .c-side .side_article:nth-of-type(2) {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .c-side .side_article:nth-of-type(2) .items {
    width: 48%;
  }
  .c-side .side_article:nth-of-type(2) .items:nth-of-type(odd) {
    margin-right: 4%;
  }
  .c-side .side_article:nth-of-type(2) .items:nth-of-type(2) a {
    padding-top: 0;
  }
}

@media screen and (max-width: 800px) {
  .c-side .c_sub-ttl {
    margin: 4rem 0 1.2rem;
    font-size: 1.6rem;
  }
  .c-side .c_sub_list li {
    margin-bottom: 1rem;
  }
  .c-side .c_sub_list li.cat-item a {
    font-size: 1.3rem;
  }
  .c-side .c_sub_list li.cat-item.cat-parent a {
    margin-bottom: 1rem;
  }
  .c-side .c_sub_list li.cat-item a::before,
  .c-side .c_sub_list li.cat-item a::after {
    width: 7px;
  }
  .c-side .c_sub_list li.cat-item a::before {
    transform: rotate(48.35deg);
  }
  .c-side .c_sub_list li.cat-item a::after {
    transform: rotate(-48.35deg);
  }
  .c-side .txt_content {
    width: calc(100% - 100px);
    padding-left: 2rem;
  }
  .c-side .txt_content p {
    font-size: 1.3rem;
  }
  .c-side .items figure img {
    width: 100px;
    height: 100px;
  }
  .c-side .ranklist ol {
    padding-left: 35px;
  }
  .c-side .ranklist ol li {
    padding-left: 2rem;
  }
  .c-side .ranklist ol li::before {
    left: -25.8px;
    font-size: 1.4rem;
  }
  .c-side .ranklist ol li + li {
    margin-top: 2rem;
  }
  .c-side .ranklist ol li .txt_content {
    padding-right: 2rem;
  }
  .c-side .wp-tag-cloud li a {
    padding: 8px 25px;
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 480px) {
  .c-side .side_article:nth-of-type(2) .items {
    width: 100%;
  }
  .c-side .side_article:nth-of-type(2) .items:nth-of-type(odd) {
    margin-right: 0;
  }
  .c-side .side_article:nth-of-type(2) .items:nth-of-type(2) a {
    padding-top: 1rem;
  }
}
