@charset "utf-8";

/* -------------------------------------------------------------------------- */
/* 1. サイト全体の基準となるCSSを記述*/
/* -------------------------------------------------------------------------- */
*,
*:after,
*:before {
  box-sizing: border-box;
}
html {
  font-size: 16px;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

body {
  /*フォントの指定*/
  font-family: "M PLUS ROUNDED 1C", "Helvetica Neue", Helvetica, sans-serif;

  /*行間の指定*/
  line-height: 1.4;
  margin: 0;
  padding: 0;
  /*サイトのデフォルトとなる文字の色を指定*/
  color: #666;

  /* Header Footer fix */
  min-height: 100vh;
  box-sizing: border-box;
  padding-top: 96px;
  padding-bottom: 50px;
  position: relative;

  overflow-y: scroll;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

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

pre {
  white-space: pre-wrap;
}

a {
  color: #ff8ea0;
  text-decoration: none;
}

.spbr {
  display: none;
}
span.pcbr::after {
  content: "\A" attr(data);
  white-space: pre;
}

/* -------------------------------------------------------------------------- */
/* 2. Format */
/* -------------------------------------------------------------------------- */
.alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}
.alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*------------------------*/
/* Main Container*/
#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 100;
}

.header-inner,
.footer-inner {
  padding: 0.8rem;
}

.container {
  box-sizing: border-box;
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
  position: relative;
  padding: 0 1.25em 2em 1.25em;
  text-align: left;
}

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

.container.center {
  text-align: center;
}
.content {
  width: 100%;
}
body.side .content {
  float: left;
  width: 70%;
}

.sidebar {
  float: left;
  width: 27%;
  margin-left: 3%;
}

.sidebar-wrapper {
  margin-bottom: 2rem;
}

.sidebar-title {
  font-size: 1.1rem;
  box-sizing: border-box;
  margin: 0 0 1.2rem;
  padding: 0.5rem;
  border-bottom: 4px solid #03162f;
}

.tag {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 9999px;
  border: 1px solid #f4a7b9;
  color: #f4a7b9;
  font-weight: bold;
}

#navbutton {
  display: none;
  bottom: 0;
  cursor: pointer;
  height: 24px;
  margin: auto 0;
  opacity: 0;
  position: fixed;
  right: 20px;
  top: 60px;
  -webkit-transition: all 0s;
  transition: all 0s;
  width: 24px;
  z-index: 2;
}
#navbutton span {
  background: #000;
  display: block;
  height: 2px;
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 24px;
}
#navbutton.opened span {
  background: #fff;
}

.header-inner {
  position: relative;
  margin: 30px 30px 0px 0px;
  border-radius: 0 10px 10px 0;
  background-color: rgba(255, 255, 255, 0.9);
  padding-left: 1.6rem;
}
.header-inner img.logo {
  max-height: 35px;
}

.navbutton {
  display: none;
}

.header-nav-wrap {
  position: absolute;
  top: 50%;
  right: 0;
  margin-left: 230px;
  transform: translateY(-50%);
}

.header-nav {
  font-size: 0;
}

.header-nav li {
  text-align: center;
}

.header-nav li {
  font-size: 1rem;
  display: inline-block;
  margin-right: 1rem;
}

.header-nav li a {
  font-weight: bold;
  color: #666;
  display: block;
  text-decoration: none;
}

.header-nav li a:hover {
  opacity: 0.6;
}

.footer {
  background-color: #ff8ea0;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.footer-nav,
.copyright {
  text-align: center;
}

.footer-nav {
  font-size: 0;
  margin-bottom: 3rem;
}

.footer-nav li {
  font-size: 1rem;
  display: inline-block;
  margin-left: 1.5rem;
}
.footer-nav li:nth-child(1) {
  margin-left: 0;
}

.footer-nav li a {
  text-decoration: none;
  color: #fff;
}

.footer-nav li a:hover {
  opacity: 0.6;
}

.copyright p {
  font-size: 1rem;
  color: #fff;
}

/* Article */
.article-list {
  margin-bottom: 1rem;
  padding: 0;
  border-left: 0.8em solid #ff8ea0;
  background-color: #fff;
  position: relative;
  box-shadow: 0px 0px 5px #00000033;
  border-radius: 12px;
  overflow: hidden;
}

.article-list a {
  display: flex;
  align-items: stretch;
  text-decoration: none;
  color: #666;
}

.article-list .img-wrap {
  position: relative;
  flex: 0 0 45%;
  width: 45%;
  min-width: 0;
  min-height: 0;
  line-height: 0;
  overflow: hidden;
}

.article-list .img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}

.article-list .text .cat-data {
  padding: 0 0.7em;
  border-radius: 0.7em;
  margin-right: 0.5em;
  color: #fff;
  background-color: #ff8ea0;
  font-size: small;
}

.article-list .text {
  position: relative;
  flex: 1;
  min-width: 0;
  padding: 1rem;
}

.article-list .text h2 {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  font-size: x-large;
  margin: 0.2em 0;
  border-bottom: unset !important;
  letter-spacing: unset;
  padding: unset;
  line-height: 2.2rem;
  color: #666;
}

.article-list .text .article-date,
.article-list .text .article-author {
  font-size: small;
  color: #888;
}

.article-list .text .article-date {
  margin-right: 0.5rem;
}

.article-list .text .article-author i {
  margin-right: 0.3rem;
}

.article-list .text p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2rem;
}

.content {
  margin-bottom: 2rem;
}

.content .article-info {
  margin-bottom: 0.7rem;
}

.content .cat-data a {
  padding: 0 1em;
  border-radius: 0.7em;
  margin-right: 0.5em;
  color: #fff;
  background-color: #ff8ea0;
  letter-spacing: 0.05em;
}

.content .article-info .article-tag {
  font-size: 0.8rem;
  display: inline-block;
  color: #888;
}
.content .article-info .article-tag::after {
  content: "|";
  padding-left: 0.3rem;
}
.content .article-info .article-tag a {
  color: #ff8ea0;
}
.content .article-info .article-date,
.content .article-info .article-author {
  font-size: 0.8rem;
  display: inline-block;
  margin-right: 0.5rem;
  color: #888;
}

.content .article-info .article-author i {
  margin-right: 0.3rem;
}

.content p,
.content b,
.content table,
.content ul,
.content ol {
  font-size: 1rem;
  line-height: 1.7rem;
}

.content p,
.content img,
.content table,
.content ul,
.content ol {
  margin-bottom: 2rem;
}
.content p {
  margin-bottom: 1rem;
}

.content h1 {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  font-size: 1.9rem;
  font-weight: normal;
  margin: 0 0 0.7rem;
  letter-spacing: 1px;
}

.content h2 {
  font-size: 1.7rem;
  margin: 3rem 0 2rem;
  padding: 0.4rem 0;
  letter-spacing: 1px;
  border-bottom: solid 5px #ffc4a6 !important;
}

.content h3 {
  font-size: 1.5rem;
  margin: 2.5rem 0 1.8rem;
  padding: 0 1rem;
  letter-spacing: 1px;
  border-left: solid 7px #ffc4a6 !important;
  background: transparent;
}

.content h4 {
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
  letter-spacing: 1px;
}

.content h5 {
  font-size: 1.1rem;
  margin: 0 0 0.3rem;
  letter-spacing: 1px;
}

.content .article-img {
  margin-bottom: 2rem;
}

.content .article-img img {
  display: block;
  margin: 0 auto;
}

.content ul {
  margin-left: 2rem;
  list-style: disc;
}
.content ul li {
  list-style-type: none;
  position: relative;
  padding-left: 0.6em;
}
.content ul li:before {
  border-radius: 0.4rem;
  width: 0.4rem;
  height: 0.4rem;
  display: block;
  position: absolute;
  left: 0px;
  top: 0.6em;
  content: "";
  background: #ffc4a6;
}

.archive-top ul li:before,
.pagination ul li:before {
  display: none;
}

.content ol {
  margin-left: 2rem;
  list-style: decimal;
}

.content table {
  border-collapse: collapse;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #ffc4a61d;
}

.content th,
.content td {
  padding: 0.6rem;
  vertical-align: middle;
  border: 1px solid #ddd;
}

.content figure {
  max-width: 100%;
}

.content iframe {
  max-width: 100%;
}

blockquote {
  position: relative;
  padding: 0.4rem 0.6rem 0.4rem 2rem;
  font-style: italic;
  background: #ffc4a610;
  color: #777777;
  border-left: 4px solid #ffc4a6;
}

blockquote:before {
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 0;
  content: "“";
  font-family: sans-serif;
  color: #ffc4a6;
  font-size: 3rem;
  line-height: 1;
}

blockquote p {
  padding: 0;
  margin: 7px 0;
  line-height: 1.7;
}

blockquote cite {
  display: block;
  text-align: right;
  color: #999;
  font-size: 0.8em;
}

.article-tag {
  text-align: right;
}

.article-tag ul {
  display: inline-block;
  vertical-align: middle;
}

.article-tag ul li {
  font-size: 0.9rem;
  display: inline-block;
  margin-right: 0.5rem;
  vertical-align: middle;
}

.article-tag ul li:last-child {
  margin-right: 0;
}

.article-tag ul li a {
  padding: 0.2rem 0.5rem;
  text-decoration: none;
  border: 1px solid #000;
}

.article-tag ul li a:hover {
  opacity: 0.6;
}

/* Pagenation */

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

.pagination ul {
  font-size: 0;
}

.pagination ul li {
  font-size: 0.8rem;
  display: inline-block;
  margin-right: 0.5rem;
}

.pagination ul li:last-child {
  border: 0;
}

.pagination ul li a,
.pagination .current {
  display: block;
  padding: 0.5rem 0.8rem;
  border: 1px solid #ffc4a6;
}

.pagination ul li .prev,
.pagination ul li .next {
  border: 0;
}

.pagination ul li a {
  color: #ffc4a6;
  text-decoration: none;
}

.pagination ul li a:hover {
  opacity: 0.6;
}

.pagination .current {
  color: #fff;
  background-color: #ffc4a6;
}

/* 404 */
body.error404 .content {
  text-align: center;
}
body.error404 .text {
  font-family: "M PLUS Rounded 1c";
  font-size: xx-large;
}

/* Skrollr */
body.home {
  top: 0;
  left: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
  background-attachment: fixed;
}
body.home header {
  transform: translateY(-100%);
}
body.home .footer {
  position: relative;
  bottom: unset;
}
body.home .scrollable {
  position: fixed;
}
body.home .bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg-c1.png) repeat 0 0;
  background-size: auto;
  z-index: -1;
}
body.home #skrollr-body {
  position: relative;
  box-sizing: border-box;
}

body.home h2 {
  color: #999;
  font-size: xxx-large;
  font-size: -webkit-xxx-large;
  font-weight: bold;
}
body.home p.subtitle {
  font-weight: bold;
  margin-bottom: 1.5em;
}
body.home .more {
  display: inline-block;
  width: 100%;
  text-align: right;
  font-size: x-large;
}
body.home .more a {
  text-decoration: none;
  color: #ff8ea0;
}
body.home .more a p {
  color: #fff;
  margin: auto;
  padding: 0.8em 1em;
}

body.home #top {
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 11;
  text-align: center;
  overflow: hidden;
}
body.home #skrollr-body > div {
  top: 0;
  left: 0;
  width: 100%;
  min-height: 50vh;
  z-index: 10;
  text-align: center;
  padding: 4em 0;
  box-sizing: border-box;
  overflow: hidden;
}
body.home #skrollr-body .subtitle {
  color: #ff8ea0;
}
body.home #service-sec {
  display: flex;
  flex-direction: column;
  width: 1280px;
  max-width: 100%;
  margin: auto;
}
body.home #service-sec #business-sec {
  width: 100%;
  margin-top: 5em;
  padding-top: 1em;
}
body.home #skrollr-body .services {
  flex-direction: row;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
  width: 100%;
  max-width: 970px;
  margin: auto;
}
body.home #skrollr-body .service {
  width: calc(50% - 24px);
  background: #fff;
}
body.home #skrollr-body .service .service_image {
  display: block;
  width: 100%;
  aspect-ratio: 850 / 600;
  object-fit: cover;
  object-position: center;
}
body.home #skrollr-body .service .text {
  width: 40rem;
  max-width: 100%;
  margin: auto;
  text-align: left;
}

body.home #skrollr-boVdy > div h2 {
  line-height: 1.1em;
}
body.home #skrollr-body > div:nth-child(odd) {
  width: 100%;
  min-height: 512px;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 10;
}
body.home #skrollr-body > div:nth-child(even) {
  background-color: #ffc4a6ee;
}
body.home #skrollr-body > div:nth-child(even) h2.title {
  color: #fff;
}

body.home #skrollr-body h3 {
  color: #ff8ea0;
  font-size: larger;
  letter-spacing: 0.08em;
  line-height: 3em;
  margin: auto;
  position: relative;
  text-align: center;
  margin-bottom: 0.3em;
  overflow: hidden;
}

body.home #skrollr-body > div:nth-child(even) .subtitle {
  color: #fff;
}
body.home #skrollr-body > div#top-space-sec {
  background-color: #ff8ea0;
  height: 1000px;
}
body.home #skrollr-body > div#vision-sec {
  background-color: #ff8ea0;
  min-height: 65vh;
}
body.home #vision-sec h2 {
  color: #fff;
}
body.home #vision-sec p.subtitle {
  color: #ffe4c6;
}

body.home #vision-sec h3 {
  background: #fff;
  color: #ff8ea0;
  font-size: larger;
  letter-spacing: 0.08em;
  line-height: 3em;
  margin: auto;
  position: relative;
  text-align: center;
  width: 18em;
  margin-bottom: 1.2em;
  overflow: hidden;
}
body.home #vision-sec h3 span {
  font-size: xx-large;
  vertical-align: middle;
}
body.home #vision-sec h3::before,
body.home #vision-sec h3::after {
  content: "";
  border: 1em solid transparent;
  position: absolute;
}
body.home #vision-sec h3::before {
  left: -1em;
  border-top: 4em solid #ff8ea0;
}
body.home #vision-sec h3::after {
  right: -1em;
  border-bottom: 4em solid #ff8ea0;
  bottom: 0;
}
body.home #vision-sec p.text {
  color: #fff;
  line-height: 2em;
  margin: auto;
  font-size: large;
}
body.home #vision-sec p.text > span {
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1em;
  margin: auto;
  width: 18.5em;
  background: linear-gradient(transparent 60%, rgba(255, 230, 200, 0.4) 60%);
}

body.home #news-sec .news {
  width: 60em;
  text-align: initial;
  margin: auto;
}

body.home .logo_set {
  position: absolute;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  width: 692px;
  max-width: 100%;
}

body.home .logo_set div.splite {
  width: 512px;
  max-width: 100%;
  overflow: hidden;
  margin: auto;
  text-align: center;
  background: url(../images/conico_logo_anim.png) no-repeat;
  background-size: auto 100%;
}
body.home .logo_set div.inner {
  width: 0;
  height: 0;
  margin-bottom: 100%;
}
body.home .logo_set div.title {
  position: relative;
  width: 90%;
  margin: auto;
  text-align: center;
}
body.home .logo_set div.title img {
  opacity: 0;
}

body.home .logo_set div.title img:nth-child(n + 2) {
  position: absolute;
  left: 0;
}
body.home div.splite img {
  max-width: none;
}
.bg-c1,
.bg-c2,
.bg-c3 {
  top: 100vh;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/bg-c1.png);
  background-repeat: repeat;
  background-size: auto;
  z-index: 12;
}
.bg-c2 {
  background-image: url(../images/bg-c2.png);
}
.bg-c3 {
  background-image: url(../images/bg-c3.png);
}

body.home #member-sec .container {
  display: flex;
  align-items: flex-start;
}
body.home .member {
  float: left;
  padding: 0.8em;
  margin: 0 auto;
  width: 30%;
}
body.home .member img {
  width: 10em;
  border-radius: 15em;
}
body.home .member .prof {
  margin-top: 0.8em;
  font-size: small;
}
body.home #company-sec h3 {
  text-align: left;
  line-height: unset;
}
body.home #company-sec .info {
  font-size: small;
}
body.home .company-info {
  margin-bottom: 1em;
  background-color: #fff;
  display: flex;
  overflow: hidden;
}
body.home .company-info .text {
  padding: 1em;
  line-height: 1.8em;
  border-right: 1px dotted #ffc4a6;
}
body.home .company-info > div {
  width: 100%;
  box-sizing: border-box;
}
body.home .company-info .map iframe {
  width: 100%;
  height: 100%;
}

body.home .scroll {
  position: absolute;
  right: 2.5rem;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: smaller;
}
body.home .scroll::before {
  position: absolute;
  bottom: 7.6rem;
  content: "☻\A↓\A↓";
  white-space: pre;
  -webkit-animation: scrAnime 2s cubic-bezier(0.85, 0, 0.15, 1) infinite;
  animation: scrAnime 2s cubic-bezier(0.85, 0, 0.15, 1) infinite;
  color: #ff8ea0;
  background-color: #fff;
  line-height: 0.7em;
}
body.home .scroll::after {
  width: 1px;
  height: 8rem;
  display: block;
  background-color: #ff8ea0;
  content: "";
}
body.home .scroll span {
  margin-bottom: 1rem;
  font-size: 0.8rem;
  letter-spacing: 0.5em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #ff8ea0;
  -webkit-transform: rotate(0.028deg);
  transform: rotate(0.028deg);
}

@keyframes scrAnime {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  55% {
    opacity: 1;
  }
  95% {
    opacity: 0;
    bottom: 0rem;
  }
  100% {
    opacity: 0;
  }
}

/* NEWS */
.archive-top {
  text-align: center;
}
.archive-top .head h1 {
  color: #999;
  font-weight: bold;
  font-size: -webkit-xxx-large;
}
.archive-top .head p {
  color: #ff8ea0;
  margin-bottom: 2.5em;
}
.archive-top .category-list {
  font-weight: bold;
  list-style: none;
  margin-bottom: 2em;
}
.archive-top .category-list li {
  display: inline-block;
}
.archive-top .category-list li:nth-last-child(n + 2):after {
  content: "|";
  display: inline-block;
  margin: 0 1em;
  font-weight: normal;
}
.archive-top .category-list li a {
  text-decoration: none;
  color: #ff8ea0;
}

/* CONTACT */
.contact.container h2 {
  color: #999;
  font-size: -webkit-xxx-large;
  line-height: 0.9em;
  margin: unset;
  border: unset;
}
.contact.container .subtitle {
  color: #ff8ea0;
  margin-bottom: 1.5em;
}

/* WPCForm7 */
.wpcf7 form > p {
  text-align: center;
  display: block;
  margin-bottom: 0.8em;
}
.wpcf7 input,
.wpcf7 textarea {
  font-size: 16px;
  border: solid 1px #ffc4a6;
  padding: 1em 1em;
  -webkit-appearance: none;
  max-width: 90%;
  margin: auto;
}
.wpcf7 input.wpcf7-submit {
  background-color: #ffc4a6;
  color: #fff;
  font-weight: bold;
  width: 25em;
}
.wpcf7 .ajax-loader {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  padding: 0;
  margin: 0;
}

/* Breadcrumbs */
.aioseo-breadcrumbs {
  font-size: 0.8rem;
  color: #888;
}
span.aioseo-breadcrumb a {
  color: #888;
}
span.aioseo-breadcrumb-separator {
  color: #ffc4a6;
  font-weight: bold;
  padding: 0 5px;
}
span.aioseo-breadcrumb:nth-child(1) a {
  font-size: 0;
}
span.aioseo-breadcrumb:nth-child(1) a::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%20standalone%3D%22no%22%20%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20width%3D%22350%22%20height%3D%22350%22%20viewBox%3D%220%200%20350%20350%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdesc%3ECreated%20with%20Fabric.js%201.7.22%3C%2Fdesc%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cg%20id%3D%22icon%22%20style%3D%22stroke%3A%20none%3B%20stroke-width%3A%201%3B%20stroke-dasharray%3A%20none%3B%20stroke-linecap%3A%20butt%3B%20stroke-linejoin%3A%20miter%3B%20stroke-miterlimit%3A%2010%3B%20fill%3A%20none%3B%20fill-rule%3A%20nonzero%3B%20opacity%3A%201%3B%22%20transform%3D%22translate(-1.9444444444444287%20-1.9444444444444287)%20scale(3.89%203.89)%22%20%3E%20%3Cpath%20d%3D%22M%2045%201.5%20L%201.5%2035.137%20h%2010.888%20V%2088.5%20h%2020.752%20V%2062.269%20c%200%20-4.221%203.337%20-7.674%207.416%20-7.674%20h%208.889%20c%204.079%200%207.416%203.453%207.416%207.674%20V%2088.5%20h%2020.752%20V%2035.137%20H%2088.5%20L%2045%201.5%20z%22%20style%3D%22stroke%3A%20none%3B%20stroke-width%3A%201%3B%20stroke-dasharray%3A%20none%3B%20stroke-linecap%3A%20butt%3B%20stroke-linejoin%3A%20miter%3B%20stroke-miterlimit%3A%2010%3B%20fill%3A%20rgb(255%2C196%2C166)%3B%20fill-rule%3A%20nonzero%3B%20opacity%3A%201%3B%22%20transform%3D%22%20matrix(1%200%200%201%200%200)%20%22%20stroke-linecap%3D%22round%22%20%2F%3E%20%3Cpath%20d%3D%22M%2077.612%2090%20H%2056.86%20c%20-0.828%200%20-1.5%20-0.672%20-1.5%20-1.5%20V%2062.27%20c%200%20-3.405%20-2.654%20-6.175%20-5.916%20-6.175%20h%20-8.889%20c%20-3.262%200%20-5.917%202.77%20-5.917%206.175%20V%2088.5%20c%200%200.828%20-0.671%201.5%20-1.5%201.5%20H%2012.388%20c%20-0.829%200%20-1.5%20-0.672%20-1.5%20-1.5%20V%2036.637%20H%201.5%20c%20-0.642%200%20-1.212%20-0.408%20-1.419%20-1.015%20c%20-0.208%20-0.607%20-0.006%20-1.279%200.502%20-1.671%20l%2043.5%20-33.637%20c%200.54%20-0.418%201.295%20-0.418%201.835%200%20l%2043.5%2033.637%20c%200.507%200.393%200.709%201.064%200.502%201.671%20c%20-0.208%200.607%20-0.778%201.015%20-1.42%201.015%20h%20-9.388%20V%2088.5%20C%2079.112%2089.328%2078.44%2090%2077.612%2090%20z%20M%2058.36%2087%20h%2017.752%20V%2035.137%20c%200%20-0.829%200.672%20-1.5%201.5%20-1.5%20h%206.496%20L%2045%203.396%20L%205.892%2033.637%20h%206.496%20c%200.829%200%201.5%200.671%201.5%201.5%20V%2087%20h%2017.751%20V%2062.27%20c%200%20-5.059%204%20-9.175%208.917%20-9.175%20h%208.889%20c%204.916%200%208.916%204.116%208.916%209.175%20V%2087%20z%22%20style%3D%22stroke%3A%20none%3B%20stroke-width%3A%201%3B%20stroke-dasharray%3A%20none%3B%20stroke-linecap%3A%20butt%3B%20stroke-linejoin%3A%20miter%3B%20stroke-miterlimit%3A%2010%3B%20fill%3A%20rgb(255%2C196%2C166)%3B%20fill-rule%3A%20nonzero%3B%20opacity%3A%201%3B%22%20transform%3D%22%20matrix(1%200%200%201%200%200)%20%22%20stroke-linecap%3D%22round%22%20%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1em 1em;
  vertical-align: top;
  font-size: 1rem;
}

/* -------------------------------------------------------------------------- */
/* 2. for Tablet */
/* -------------------------------------------------------------------------- */
@media only screen and (max-width: 800px) {
  body {
    padding-top: 54px;
    padding-bottom: 40px;
  }
  body.fixed {
    position: fixed;
  }

  #header {
    position: absolute;
  }
  .header-inner,
  .container,
  .footer-inner {
    padding: 0.8rem;
    margin: 0;
    border-radius: unset;
  }
  .content,
  .sidebar {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .content {
    margin-bottom: 1.5rem;
  }
  #navbutton {
    bottom: auto;
    left: auto;
    opacity: 1;
    right: 14px;
    top: 19px;
  }
  #navbutton:before {
    display: block;
    width: 34px;
    height: 34px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    content: "";
    bottom: -5px;
    left: -5px;
    border-radius: 17px;
  }

  #navbutton {
    display: block;
  }
  #navbutton span:nth-of-type(1) {
    right: 0;
    top: 5px;
  }
  #navbutton span:nth-of-type(2) {
    right: 0;
    top: 11px;
    width: 16px;
  }
  #navbutton span:nth-of-type(3) {
    right: 0;
    top: 17px;
  }

  #navbutton.opened {
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
  }
  #navbutton.opened span:nth-of-type(1) {
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    margin: auto;
  }
  #navbutton.opened span:nth-of-type(2) {
    opacity: 0;
  }
  #navbutton.opened span:nth-of-type(3) {
    transform: rotate(-45deg);
    top: 0;
    bottom: 0;
    margin: auto;
  }

  #header-nav-wrap {
    right: auto;
    left: 0;
    width: 100%;
    margin-left: 0;
    transform: none;
    position: fixed;
    background-color: rgba(239, 133, 125, 0.9);
    top: 0;
    left: 0;
    padding-top: 45px;
    height: 0;
    display: none;
    opacity: 0;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
  }
  #header-nav-wrap.opened {
    display: block;
    opacity: 1;
    height: 100vh;
    padding-top: 52px;
  }
  #header-nav-wrap .menu li {
    opacity: 0;
    position: relative;
  }
  @keyframes fadeInRight {
    0% {
      opacity: 0;
      left: 20%;
    }
    100% {
      opacity: 1;
      left: 0;
    }
  }

  #header-nav-wrap.opened .menu li {
    animation: fadeInRight 0.5s ease forwards;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(1) {
    animation-delay: 0.25s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(2) {
    animation-delay: 0.3s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(3) {
    animation-delay: 0.35s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(4) {
    animation-delay: 0.4s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(5) {
    animation-delay: 0.45s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(6) {
    animation-delay: 0.5s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(7) {
    animation-delay: 0.55s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(8) {
    animation-delay: 0.6s;
  }
  #header-nav-wrap.opened .menu li:nth-of-type(9) {
    animation-delay: 0.65s;
  }

  .header-nav li {
    display: block;
    margin-right: 0;
  }

  .header-nav li a {
    position: relative;
    padding: 0.8rem 1.25rem;
    color: #fff;
    font-size: x-large;
  }

  .footer-nav {
    display: none;
  }
  /* 404 */
  body.error404 .text {
    font-size: large;
  }

  .member {
    font-size: 0.9rem;
  }

  body.home .scroll {
    right: 0.5rem;
  }
  body.home .scroll::before {
    bottom: 1.6rem;
  }
  body.home .scroll::after {
    height: 2rem;
  }
  body.home .scroll span {
    font-size: 0.5rem;
  }

  /* Skrollr */
  body.home #header {
    position: fixed;
  }
  body.home #navbutton:before {
    content: unset;
  }
}

/* -------------------------------------------------------------------------- */
/* 3. for Smartphone */
/* -------------------------------------------------------------------------- */
@media only screen and (max-width: 600px) {
  html {
    font-size: 14px;
    font-size: 3.534vw !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .spbr {
    display: unset;
  }
  .pcbr {
    display: none;
  }
  span.spbr::after {
    content: "\A" attr(data);
    white-space: pre;
  }

  .header-inner img.logo {
    max-height: 25px;
  }
  .header-inner span {
    font-size: 2rem;
  }

  .header-nav-wrap {
    padding-top: 62px;
  }

  .header-nav li a {
    padding: 0.8rem;
  }

  .header-nav li a:after {
    right: 0.8rem;
  }

  .content {
    margin-bottom: 1rem;
  }

  /* Article for Smartphone */
  .article-list {
    padding: 0 0 0.8rem 0;
    border-left: unset;
    border-bottom: 0.8em solid #ff8ea0c0;
  }

  .article-list a {
    flex-direction: column;
  }

  .article-list .img-wrap {
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 16 / 9;
  }

  .article-list .text {
    padding: 0 1em;
  }

  .article-list .text h2 {
    font-size: 1rem;
    margin-bottom: 0;
  }
  .article-list .text p {
    font-size: 0.8rem;
  }

  .article-list .text .article-date {
    margin-right: 0.2rem;
  }

  .content h1 {
    font-size: 1.6rem;
  }

  .content h2 {
    font-size: 1.4rem;
  }

  .content h3 {
    font-size: 1.3rem;
  }

  .content h4 {
    font-size: 1.2rem;
  }
  .content .article-img {
    margin: 0 -0.8rem 2rem -0.8rem;
  }

  body.home .more {
    font-size: medium;
  }

  /* Skrollr */
  body.home #skrollr-body .service .text {
    width: 100%;
  }
  body.home #vision-sec h3 {
    margin-bottom: 0;
  }
  body.home #vision-sec p.text {
    font-size: medium;
  }
  body.home .company-info {
    display: revert;
  }
  body.home #skrollr-body .services {
    padding: 0.8rem;
  }
  body.home #skrollr-body .service {
    width: 100%;
  }
  .archive-top .category-list li:nth-last-child(n + 2):after {
    margin: 0 0.5em;
  }

  body.home #member-sec .container {
    flex-direction: column;
  }
  body.home .member {
    width: 80%;
  }
}

@media print {
  body {
    -webkit-print-color-adjust: exact;
  }
  body.home .scrollable {
    position: relative !important;
  }
  body.home #skrollr-body > div {
    padding: 1em 0 !important;
  }
  body.home #skrollr-body > div#top-space-sec {
    display: none !important;
    page-break-after: none !important;
  }
  body.home #top {
    top: 0 !important;
    height: 95vh !important;
    page-break-after: always !important;
  }
  body.home .logo_set {
    filter: unset !important;
    opacity: 1 !important;
  }
  body.home .logo_set div.splite {
    background-position: 100% !important;
  }
  body.home .logo_set div.title img {
    display: none !important;
  }
  body.home .logo_set div.title img:nth-child(n + 3) {
    display: unset !important;
    opacity: 1 !important;
  }
  body.home #header {
    display: none !important;
  }
  body.home #skrollr-body > div:nth-last-of-type(n + 2) {
    page-break-after: always;
  }
  body.home #skrollr-body h2,
  body.home #skrollr-body h3,
  body.home #skrollr-body p,
  body.home #skrollr-body img,
  body.home #skrollr-body div {
    opacity: unset !important;
    transform: unset !important;
  }
  body.home #vision-sec p.text {
    line-height: 1.75em !important;
  }
}
