@charset "UTF-8";
/*
Theme Name: KNOTTE
Author: myk
*/
/* Reset
----------------------------------------------------------- */
:root {
  /* bodyの背景色 */
  --body-bg-color: #fff;
  /* メインのフォントファミリー */
  /* メインのフォントカラー */
  --main-font-color: #000;
  /* h2~h5タグまでのフォントウェイト */
  --h-tag-weight: normal;
  /* ここはブログで使用します */
  --main-color: #023752;
  --main-light-color: #bfe6e6;
}

/* wordpress ブロックcss
----------------------------------------------------------- */
.wp-block-embed iframe {
  max-width: 100%;
  position: relative !important;
  margin-bottom: 30px;
  pointer-events: none;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-block-table {
  padding-bottom: 30px;
  overflow-x: auto;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table td, .wp-block-table th {
  padding: 0.5em;
  border: 1px solid #777777;
  word-break: normal;
}

.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th {
  border-color: transparent;
}

.wp-block-table.is-style-stripes {
  border-spacing: 0;
  border-collapse: inherit;
  background-color: transparent;
}

.wp-block-table thead {
  background: #aa843f;
  color: #fff;
}

.wp-block-table tfoot {
  background: #aa843f;
  color: #fff;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: rgba(157, 190, 76, 0.4);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
  background-color: rgb(255, 255, 255);
}

.wp-block-table figcaption {
  text-align: center;
}

.blogcont ul {
  padding: 0 0 30px 30px;
  list-style: disc;
}

.blogcont ol {
  padding: 0 0 30px 30px;
  list-style: decimal;
}

.blogcont ul.pager {
  padding: 0;
  list-style: none;
}

.blogcont a {
  font-weight: bold;
  text-decoration: underline;
}

.blogcont ul.pager a {
  text-decoration: none;
}

/* 引用 */
blockquote.wp-block-quote {
  border-left: 1px solid;
  padding-left: 15px;
}

blockquote.wp-block-quote p {
  padding-bottom: 10px !important;
}

/* 埋め込みコンテンツ */
figure.wp-block-embed {
  margin-top: 30px;
}

blockquote.wp-block-quote cite {
  color: currentColor;
  font-size: 14px;
  color: #aaaaaa;
}

/* ギャラリー　*/
figure.wp-block-gallery {
  display: flex;
}

figure.wp-block-gallery.columns-1 figure.wp-block-image {
  width: 100%;
}

figure.wp-block-gallery.columns-2 figure.wp-block-image {
  width: 48%;
}

figure.wp-block-gallery.columns-3 figure.wp-block-image {
  width: 32%;
}

figure.wp-block-gallery.columns-4 figure.wp-block-image {
  width: 23%;
}

figure.wp-block-gallery.columns-5 figure.wp-block-image {
  width: 18%;
}

figure.wp-block-gallery.columns-6 figure.wp-block-image {
  width: 15%;
}

figure.wp-block-gallery figure.wp-block-image.is-style-rounded img {
  border-radius: 15px;
}

/* 動画 */
.wp-block-video {
  margin-top: 30px;
}

.wp-block-video video {
  max-width: 100%;
}

/* その他 */
.wp-block-embed__wrapper {
  position: relative;
}

.wp-block-embed__wrapper .wp-embedded-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.wp-block-embed__wrapper .wp-embedded-content a {
  display: block;
  width: 100%;
  height: 100%;
}

iframe.wp-embedded-content {
  margin-bottom: 0;
}

:root .has-pale-pink-color {
  font-weight: bold;
  color: #f78da7;
}

:root .has-vivid-red-color {
  font-weight: bold;
  color: #cf2e2e;
}

:root .has-luminous-vivid-orange-color {
  font-weight: bold;
  color: #ff6900;
}

:root .has-luminous-vivid-amber-color {
  font-weight: bold;
  color: #fcb900;
}

:root .has-light-green-cyan-color {
  font-weight: bold;
  color: #7bdcb5;
}

:root .has-vivid-green-cyan-color {
  font-weight: bold;
  color: #00d084;
}

:root .has-pale-cyan-blue-color {
  font-weight: bold;
  color: #8ed1fc;
}

:root .has-vivid-cyan-blue-color {
  font-weight: bold;
  color: #0693e3;
}

:root .has-vivid-purple-color {
  font-weight: bold;
  color: #9b51e0;
}

:root .has-white-color {
  font-weight: bold;
  color: #fff;
}

:root .has-very-light-gray-color {
  font-weight: bold;
  color: #eee;
}

:root .has-cyan-bluish-gray-color {
  font-weight: bold;
  color: #abb8c3;
}

:root .has-very-dark-gray-color {
  font-weight: bold;
  color: #313131;
}

:root .has-black-color {
  font-weight: bold;
  color: #000;
}

/* フェードアニメーション
--------------------------------------------------------*/
/*ふわっと出る*/
.mv01_on {
  transition: all 0.8s ease-out;
  transform: scale(1, 1) translate3d(0, 0, 0);
  opacity: 0;
}

.mv01_off {
  animation-fill-mode: both;
  transform: scale(1, 1) translate3d(0, 0, 0);
  opacity: 1;
}

/*下から*/
.mv02_on {
  transition: all 1s ease-out 0.2s;
  transform: scale(1, 1) translate3d(0, 35px, 0);
  opacity: 0;
}

.mv02_off {
  animation-fill-mode: both;
  transform: scale(1, 1) translate3d(0, 0, 0);
  opacity: 1;
}

/*右から*/
.mv03_on {
  transition: all 0.8s ease-out;
  transform: scale(1, 1) translate3d(30px, 0, 0);
  opacity: 0;
}

.mv03_off {
  animation-fill-mode: both;
  transform: scale(1, 1) translate3d(0, 0, 0);
  opacity: 1;
}

/*左から*/
.mv04_on {
  transition: all 0.8s ease-out;
  transform: scale(1, 1) translate3d(-30px, 0, 0);
  opacity: 0;
}

.mv04_off {
  animation-fill-mode: both;
  transform: scale(1, 1) translate3d(0, 0, 0);
  opacity: 1;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  font-size: 100%;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  font-size: 1.8em;
  font-weight: 500;
  line-height: 1.5;
  word-wrap: break-word;
  color: #212020;
}
body.top header nav ul li a.hw {
  color: #E95925;
}
body.business header nav ul li a.srv {
  color: #E95925;
}
body.company header nav ul li a.co {
  color: #E95925;
}
body.news header nav ul li a.ns {
  color: #E95925;
}
@media screen and (min-width: 768px) {
  body.news h1 {
    color: #212020 !important;
  }
}
body.case header nav ul li a.cs {
  color: #E95925;
}

a {
  color: #212020;
  text-decoration: none;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.8;
  }
}

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

main {
  display: block;
}

.c_btn1 {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: linear-gradient(to right, #e95925, #ffd600);
  border-radius: 100px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .c_btn1 {
    width: 258px;
    height: 63px;
    font-size: 25px;
  }
}
@media screen and (max-width: 767px) {
  .c_btn1 {
    width: 34.4vw;
    height: 8.4vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c_btn1 span {
    transform: translateY(-2px);
  }
}
.c_btn1:after {
  content: "";
}
@media screen and (min-width: 768px) {
  .c_btn1:after {
    transform: translateX(-25%) rotate(45deg);
    width: 12px;
    height: 12px;
    border: 2px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    margin-left: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c_btn1:after {
    transform: rotate(45deg);
    width: 1.4666666667vw;
    height: 1.4666666667vw;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    margin-left: 2vw;
  }
}

@media screen and (min-width: 768px) {
  .c_tel {
    pointer-events: none;
  }
}
@keyframes shake1 {
  0% {
    opacity: 0;
    transform: translate(0, 0);
  }
  100% {
    opacity: 1;
    transform: translate(0px, 60px);
  }
}
@keyframes shake2 {
  0% {
    opacity: 1;
    transform: translate(60px, 0px);
  }
  100% {
    opacity: 0;
    transform: translate(0, 0);
  }
}
@keyframes shake3 {
  0% {
    opacity: 1;
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    transform: translate(-60px, 0);
  }
}
.obj1, .obj2, .obj3 {
  position: absolute;
  display: block;
  z-index: 1;
}

.obj1 {
  animation: shake1 5s linear infinite alternate;
  background: linear-gradient(to bottom right, rgba(240, 90, 40, 0.32), rgba(253, 187, 45, 0.32));
}

.obj2 {
  animation: shake2 5s linear infinite alternate;
}
@media screen and (min-width: 768px) {
  .obj2 {
    background: url(../img/obj2_bg.png) 0 0/11px repeat;
  }
}
@media screen and (max-width: 767px) {
  .obj2 {
    background: url(../img/obj2_bg.png) 0 0/8px repeat;
  }
}

.obj3 {
  animation: shake3 5s linear infinite alternate;
}
@media screen and (min-width: 768px) {
  .obj3 {
    background: url(../img/obj2_bg.png) 0 0/11px repeat;
  }
}
@media screen and (max-width: 767px) {
  .obj3 {
    background: url(../img/obj2_bg.png) 0 0/8px repeat;
  }
}

header div.inner {
  position: fixed;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  header div.inner {
    top: 15px;
    width: calc(100% - 70px);
    padding: 0 0 0 5px;
  }
}
@media screen and (max-width: 767px) {
  header div.inner {
    top: 2.6666666667vw;
    width: 94.8vw;
    height: 9.3333333333vw;
    padding-left: 2.6666666667vw;
  }
}
header div.inner a.logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  header div.inner a.logo {
    margin-right: 30px;
  }
}
@media screen and (min-width: 768px) {
  header div.inner a.logo img {
    width: 193px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  header div.inner a.logo img {
    width: 154px;
  }
}
@media screen and (max-width: 767px) {
  header div.inner a.logo img {
    width: 29.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  header div.inner div.menu-btn {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  header div.inner div.menu-btn {
    position: fixed;
    z-index: 15;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 9.3333333333vw;
    height: 9.3333333333vw;
    top: 0;
    right: 0;
    background-color: #E95925;
  }
}
@media screen and (max-width: 767px) {
  header div.inner div.menu-btn.is-active span:nth-of-type(1) {
    margin-top: 0;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
header div.inner div.menu-btn.is-active span:nth-of-type(2) {
  opacity: 0;
}
header div.inner div.menu-btn.is-active span:nth-of-type(3) {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 767px) {
  header div.inner div.menu-btn span {
    position: absolute;
    transition: 0.4s;
    width: 5.7333333333vw;
    height: 0.4vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  header div.inner div.menu-btn span:nth-of-type(1) {
    margin-top: -2vw;
  }
}
@media screen and (max-width: 767px) {
  header div.inner div.menu-btn span:nth-of-type(3) {
    margin-top: 2vw;
  }
}
@media screen and (max-width: 767px) {
  header div.inner nav {
    display: none;
    align-items: center;
    position: fixed;
    top: -2.6666666667vw;
    left: -2.6666666667vw;
    z-index: 10;
    background: rgba(233, 89, 37, 0.8);
    width: 100vw;
    height: 100vh;
  }
}
header div.inner nav.is-active ul {
  transform: translateX(0);
}
@media screen and (min-width: 768px) {
  header div.inner nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  header div.inner nav ul {
    gap: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  header div.inner nav ul {
    transition: 0.3s;
    transform: translateX(50%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 80%;
    height: 100%;
    margin-left: auto;
    background-color: #fff;
  }
}
@media screen and (min-width: 768px) {
  header div.inner nav ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56px;
  }
}
@media screen and (min-width: 768px) {
  header div.inner nav ul li:not(:last-of-type) {
    margin-right: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  header div.inner nav ul li:not(:last-of-type) {
    margin-right: 10px;
  }
}
@media screen and (min-width: 768px) {
  header div.inner nav ul li.contact {
    width: 156px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  header div.inner nav ul li.contact {
    width: 125px;
  }
}
@media screen and (max-width: 767px) {
  header div.inner nav ul li.contact {
    width: 40vw;
    margin-top: 3.3333333333vw;
  }
}
header div.inner nav ul li.contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #E95925;
}
@media screen and (min-width: 768px) {
  header div.inner nav ul li.contact a {
    width: 100%;
    height: 56px;
  }
}
@media screen and (max-width: 767px) {
  header div.inner nav ul li.contact a {
    height: 10.6666666667vw;
  }
}
header div.inner nav ul li a {
  font-weight: 700;
  color: #000;
}
@media screen and (min-width: 768px) {
  header div.inner nav ul li a {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  header div.inner nav ul li a {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  header div.inner nav ul li a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 2.6666666667vw 6.6666666667vw;
    font-size: 4.8vw;
    background-color: #fff;
  }
}

@media screen and (min-width: 768px) {
  section.projects, section.news, section.case, section.company, section.contact {
    padding: 100px 30px;
  }
}
@media screen and (max-width: 767px) {
  section.projects, section.news, section.case, section.company, section.contact {
    padding: 13.3333333333vw 0;
  }
}
@media screen and (min-width: 768px) {
  section.business, section.about {
    padding: 100px 0;
  }
}
@media screen and (max-width: 767px) {
  section.business, section.about {
    padding: 13.3333333333vw 0;
  }
}
@media screen and (min-width: 768px) {
  section.service {
    padding: 0 0 100px;
  }
}
@media screen and (max-width: 767px) {
  section.service {
    padding-bottom: 13.3333333333vw;
  }
}

.c_title1 {
  text-align: center;
}
.c_title1 h2 {
  color: #E95925;
  letter-spacing: 0.055em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c_title1 h2 {
    font-size: 60px;
  }
}
@media screen and (max-width: 767px) {
  .c_title1 h2 {
    font-size: 8vw;
  }
}
.c_title1 p {
  font-weight: 600;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c_title1 p {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c_title1 p {
    font-size: 3.3333333333vw;
  }
}

.c_title2 {
  text-align: center;
}
.c_title2 h2 {
  color: #FBFF9A;
  font-weight: 700;
  letter-spacing: 0.065em;
}
@media screen and (min-width: 768px) {
  .c_title2 h2 {
    font-size: 60px;
  }
}
@media screen and (max-width: 767px) {
  .c_title2 h2 {
    font-size: 8vw;
  }
}
.c_title2 p {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .c_title2 p {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c_title2 p {
    font-size: 3.3333333333vw;
  }
}

.c_title3 h2 {
  color: #EEDC00;
  font-weight: 700;
  letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) {
  .c_title3 h2 {
    font-size: 60px;
  }
}
@media screen and (max-width: 767px) {
  .c_title3 h2 {
    font-size: 8vw;
  }
}
.c_title3 p {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c_title3 p {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c_title3 p {
    font-size: 3.3333333333vw;
  }
}

@media screen and (min-width: 768px) {
  table.c_table1 {
    display: grid;
    max-width: 890px;
    width: 100%;
    margin: 70px auto 0;
    padding: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 {
    width: 90.2666666667vw;
    margin: 10.6666666667vw auto 0;
  }
}
table.c_table1 tbody tr {
  display: flex;
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr + tr {
    margin: 1.3333333333vw 0;
    padding: 1.3333333333vw 0;
  }
}
table.c_table1 tbody tr th, table.c_table1 tbody tr td {
  display: flex;
  align-items: center;
}
table.c_table1 tbody tr th {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  table.c_table1 tbody tr th {
    min-width: 165px;
    font-size: 20px;
    padding: 13px 0 13px 60px;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr th {
    min-width: 26.6666666667vw;
    padding: 2.6666666667vw;
    font-size: 3.3333333333vw;
  }
}
table.c_table1 tbody tr td {
  line-height: 1.35;
}
@media screen and (min-width: 768px) {
  table.c_table1 tbody tr td {
    width: 100%;
    padding-left: 100px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr td {
    width: calc(100% - 26.6666666667vw);
    padding-bottom: 2vw;
    padding-left: 5.3333333333vw;
    font-size: 4vw;
  }
}
table.c_table1 tbody tr.thin th {
  border-bottom: 1px solid #E95925;
}
table.c_table1 tbody tr.thin td {
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  table.c_table1 tbody tr.thick {
    margin-top: 50px;
    min-height: 160px;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr.thick {
    margin-top: 6.6666666667vw;
    min-height: 21.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr.thick + tr {
    margin-top: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  table.c_table1 tbody tr.thick.short th {
    padding-left: 45px;
  }
}
table.c_table1 tbody tr.thick th {
  border-top: 1px solid #E95925;
  border-bottom: 1px solid #E95925;
  border-left: 1px solid #E95925;
}
table.c_table1 tbody tr.thick td {
  border-top: 1px solid #D6D6D6;
  border-right: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  table.c_table1 tbody tr.thick td {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr.thick td {
    padding: 4vw 4vw 4vw 9.3333333333vw;
    font-size: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  table.c_table1 tbody tr.thick td ul li + li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  table.c_table1 tbody tr.thick td ul li + li {
    margin-top: 1.3333333333vw;
  }
}

body.top h1 {
  position: absolute;
  z-index: 1;
  color: #fff;
}
@media screen and (min-width: 768px) {
  body.top h1 {
    bottom: 10px;
    right: 10px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  body.top h1 {
    bottom: 2vw;
    right: 2vw;
    font-size: 2.6666666667vw;
  }
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
body.top section.kv .add-zoom {
  animation: fadezoom 10s 0s forwards;
}
body.top section.kv div picture img {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
}
body.top section.kv div.title {
  position: absolute;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  body.top section.kv div.title {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding: 0 100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.top section.kv div.title {
    padding: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  body.top section.kv div.title {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding: 0 4vw;
  }
}
body.top section.kv div.title h2 > span {
  opacity: 0;
}
body.top section.kv div.title h2 > span:nth-of-type(1) {
  animation: slideInFromLeft 1s ease-in-out forwards;
}
body.top section.kv div.title h2 > span:nth-of-type(2) {
  animation: slideInFromLeft 1s 0.1s ease-in-out forwards;
}
body.top section.kv div.title p {
  opacity: 0;
  animation: slideInFromLeft 1s ease-in-out 0.2s forwards;
}
@keyframes slideInFromLeft {
  0% {
    transform: translateX(-15%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
body.top section.kv div.title h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  color: #fff;
}
@media screen and (min-width: 768px) {
  body.top section.kv div.title h2 {
    gap: 30px 0;
  }
}
@media screen and (max-width: 767px) {
  body.top section.kv div.title h2 {
    gap: 2.6666666667vw 0;
  }
}
body.top section.kv div.title h2 > span {
  line-height: 1.3;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  body.top section.kv div.title h2 > span {
    padding: 0 15px 6px;
    font-size: 56px;
    background-color: #E95925;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.top section.kv div.title h2 > span {
    font-size: 45px;
  }
}
@media screen and (max-width: 767px) {
  body.top section.kv div.title h2 > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2.6666666667vw 0;
  }
}
@media screen and (max-width: 767px) {
  body.top section.kv div.title h2 > span span {
    padding: 0 2vw 0.8vw;
    font-size: 8vw;
    background-color: #E95925;
  }
}
body.top section.kv div.title p {
  display: table;
  line-height: 1.25;
  letter-spacing: 0.05em;
  background-color: #fff;
  color: #E95925;
  font-weight: 700;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 768px) {
  body.top section.kv div.title p {
    margin-top: 30px;
    padding: 0 16px 3px;
    font-size: 28px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.top section.kv div.title p {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  body.top section.kv div.title p {
    margin-top: 5.3333333333vw;
    padding: 0.6666666667vw 2vw 0.6666666667vw;
    letter-spacing: -0.03em;
    font-size: 3.3333333333vw;
  }
}

body.lower h1 {
  position: absolute;
  z-index: 1;
  color: #fff;
}
@media screen and (min-width: 768px) {
  body.lower h1 {
    top: 313px;
    right: 10px;
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  body.lower h1 {
    top: 49.3333333333vw;
    right: 2.6666666667vw;
    font-size: 2.4vw;
  }
}
body.lower section.kv {
  color: #fff;
  position: relative;
}
body.lower section.kv h2 {
  position: absolute;
  font-weight: 600;
  color: #fff;
  background-color: #E95925;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  letter-spacing: 0.05em;
  bottom: 0;
  left: 0;
  transform: translateY(50%);
}
@media screen and (min-width: 768px) {
  body.lower section.kv h2 {
    z-index: 1;
    font-size: 56px;
    width: 39.7333333333vw;
    height: 133px;
    padding-right: 100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.lower section.kv h2 {
    padding-right: 40px;
    font-size: 45px;
  }
}
@media screen and (max-width: 767px) {
  body.lower section.kv h2 {
    width: 50vw;
    height: 10.4vw;
    font-size: 5.3333333333vw;
    padding: 0 3.3333333333vw;
  }
}
body.lower section.kv h2 .obj1 {
  position: absolute;
  background: linear-gradient(to bottom right, rgba(240, 90, 40, 0.32), rgba(253, 187, 45, 0.32));
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.lower section.kv h2 .obj1 {
    top: -76px;
    right: -76px;
    width: 151px;
    height: 125px;
  }
}
@media screen and (max-width: 767px) {
  body.lower section.kv h2 .obj1 {
    top: -11.0666666667vw;
    right: -8.9333333333vw;
    width: 11.0666666667vw;
    height: 8.9333333333vw;
  }
}
body.lower section.kv picture img {
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  body.lower section.kv picture img {
    height: 341px;
  }
}
body.lower section.kv div.title {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 0 100px;
}
body.lower section.kv div.title h2 {
  color: #fff;
  font-weight: 700;
  line-height: 1.3;
  font-size: 56px;
}
@media screen and (min-width: 768px) {
  body.lower section.kv div.title h2 {
    gap: 30px 0;
  }
}
@media screen and (max-width: 767px) {
  body.lower section.kv div.title h2 {
    gap: 2.6666666667vw 0;
    font-size: 8vw;
  }
}
body.lower section.kv div.title p {
  display: table;
  line-height: 1.25;
  letter-spacing: 0.05em;
  background-color: #fff;
  color: #E95925;
  font-weight: 700;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  margin-top: 30px;
  padding: 0 16px 3px;
  font-size: 28px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.lower section.kv div.title p {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  body.lower section.kv div.title p {
    margin-top: 5.3333333333vw;
    padding: 0.2666666667vw 1.3333333333vw 0.5333333333vw;
    font-size: 3.7333333333vw;
  }
}
body.lower main {
  position: relative;
}

body.news section.kv {
  color: #212020;
  position: relative;
}
body.news section.kv h1 {
  position: absolute;
}
@media screen and (min-width: 768px) {
  body.news section.kv h1 {
    right: 10px;
    bottom: 10px;
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  body.news section.kv h1 {
    right: 2.6666666667vw;
    bottom: 8vw;
    font-size: 2.4vw;
  }
}

@media screen and (min-width: 768px) {
  nav.breadcrumbs {
    display: flex;
    justify-content: flex-end;
    padding: 20px 50px 0;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  nav.breadcrumbs {
    padding: 20px 20px 0;
  }
}
@media screen and (max-width: 767px) {
  nav.breadcrumbs {
    margin: 6.6666666667vw 2.6666666667vw 0vw;
  }
}
nav.breadcrumbs ul {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  nav.breadcrumbs ul {
    justify-content: flex-end;
    padding-bottom: 2.6666666667vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  nav.breadcrumbs ul li {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  nav.breadcrumbs ul li {
    font-size: 2.9333333333vw;
  }
}
nav.breadcrumbs ul li + li {
  display: flex;
  align-items: center;
}
nav.breadcrumbs ul li + li:before {
  content: ">";
  font-size: inherit;
}
@media screen and (min-width: 768px) {
  nav.breadcrumbs ul li + li:before {
    margin: 0 7px;
  }
}
@media screen and (max-width: 767px) {
  nav.breadcrumbs ul li + li:before {
    margin: 0 1.2vw;
  }
}
@media screen and (min-width: 768px) {
  nav.breadcrumbs + section {
    padding-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  nav.breadcrumbs + section {
    padding-top: 6.6666666667vw;
  }
}

section.business {
  position: relative;
}
section.business > .obj1 {
  z-index: 2;
}
@media screen and (min-width: 768px) {
  section.business > .obj1 {
    top: -111px;
    left: 0;
    width: 222px;
    height: 218px;
  }
}
@media screen and (max-width: 767px) {
  section.business > .obj1 {
    top: -21.4666666667vw;
    left: 0;
    width: 22.9333333333vw;
    height: 21.4666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.business > .obj2 {
    top: 75px;
    left: 150px;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.business > .obj2 {
    display: none;
  }
}
section.business div.c_title1 {
  position: relative;
  z-index: 3;
}
section.business ul {
  max-width: 1500px;
}
@media screen and (min-width: 768px) {
  section.business ul {
    margin: 100px auto 0;
  }
}
@media screen and (max-width: 767px) {
  section.business ul {
    margin: 6.6666666667vw 0 0;
    gap: 4vw;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}
section.business ul li:nth-of-type(1) {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(1) .obj3 {
    top: -130px;
    right: 0;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li:nth-of-type(1) .obj3 {
    top: -5.3333333333vw;
    right: 0;
    width: 14vw;
    height: 10.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(1) .obj1 {
    bottom: -25px;
    left: 0;
    width: 83px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li:nth-of-type(1) .obj1 {
    bottom: -5.3333333333vw;
    left: 0;
    width: 11.0666666667vw;
    height: 10.6666666667vw;
  }
}
section.business ul li:nth-of-type(3) div.image {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(3) div.image .obj3 {
    top: -63.5px;
    right: 0;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li:nth-of-type(3) div.image .obj3 {
    top: -5.3333333333vw;
    right: 0;
    width: 14vw;
    height: 10.5333333333vw;
  }
}
section.business ul li:nth-of-type(3) .texts {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(3) .texts .obj1 {
    bottom: -80px;
    right: 0;
    width: 134px;
    height: 109px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li:nth-of-type(3) .texts .obj1 {
    bottom: -10.6666666667vw;
    left: 0;
    width: 17.8666666667vw;
    height: 14.5333333333vw;
  }
}
section.business ul li div.image {
  width: 100%;
}
section.business ul li div.image img {
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.business ul li div.image img {
    height: 380px;
  }
}
section.business ul li .texts {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.business ul li .texts {
    min-width: calc(100% - 780px);
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li .texts {
    padding: 5.3333333333vw;
  }
}
section.business ul li .texts h3 {
  font-weight: bold;
  color: #E95925;
  line-height: 1.35;
}
@media screen and (min-width: 768px) {
  section.business ul li .texts h3 {
    margin-bottom: 30px;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li .texts h3 {
    text-align: center;
    font-size: 5.8666666667vw;
  }
}
section.business ul li .texts p {
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.business ul li .texts p {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li .texts p {
    margin-top: 4vw;
    font-size: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li .texts p + p {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li .texts p + p {
    margin-top: 4vw;
  }
}
section.business ul li .texts a.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: red;
}
@media screen and (min-width: 768px) {
  section.business ul li .texts a.btn {
    width: 80px;
    height: 35px;
    margin: 20px auto 0;
    font-size: 16px;
    border-radius: 8px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li .texts a.btn {
    width: 21.3333333333vw;
    height: 9.3333333333vw;
    margin: 5.3333333333vw auto 0;
    font-size: 4.2666666667vw;
    border-radius: 2.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li + li {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  section.business ul li + li {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(odd) .texts {
    padding: 40px 40px 40px 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.business ul li:nth-of-type(odd) .texts {
    padding: 32px 32px 32px 48px;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(even) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  section.business ul li:nth-of-type(even) .texts {
    padding: 40px 60px 40px 40px;
  }
}
@media screen and (min-width: 768px) {
  section.about {
    padding-bottom: 75px;
  }
}
@media screen and (max-width: 767px) {
  section.about {
    padding-bottom: 17.3333333333vw;
  }
}
section.about div.c_title1 {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.about div.c_title1 {
    display: table;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  section.about div.c_title1 .obj1 {
    top: 35px;
    left: -320px;
    width: 83px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  section.about div.c_title1 .obj1 {
    top: 173.3333333333vw;
    right: 0;
    width: 11.0666666667vw;
    height: 10.6666666667vw;
  }
}
section.about ul {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  counter-reset: num;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.about ul {
    gap: 40px 60px;
    margin: 120px auto 0;
    padding: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  section.about ul {
    flex-direction: column;
    align-items: center;
    gap: 6.6666666667vw 4vw;
    margin: 18.6666666667vw 0 0;
    padding: 0 4vw;
  }
}
section.about ul:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
}
@media screen and (min-width: 768px) {
  section.about ul:before {
    top: 128px;
    width: 100%;
    height: 324px;
    background: url(../img/about_bg1.png) 0 0/cover no-repeat;
  }
}
@media screen and (max-width: 767px) {
  section.about ul:before {
    top: 46%;
    width: 100vw;
    height: 163.666667vw;
    background: url(../img/sp/about_bg1.png) 0 0/cover no-repeat;
  }
}
section.about ul li {
  counter-increment: num;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.about ul li {
    max-width: 360px;
    width: 33.3333333333%;
  }
}
@media screen and (max-width: 767px) {
  section.about ul li {
    width: 73.6vw;
  }
}
@media screen and (max-width: 767px) {
  section.about ul li + li {
    margin-top: 10.6666666667vw;
  }
}
section.about ul li:before {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  content: "0" counter(num);
  z-index: 1;
  font-weight: 300;
  letter-spacing: -0.05em;
  color: #E95925;
}
@media screen and (min-width: 768px) {
  section.about ul li:before {
    top: -90px;
    left: 20px;
    font-size: 109px;
  }
}
@media screen and (max-width: 767px) {
  section.about ul li:before {
    top: -21.3333333333vw;
    left: 2.6666666667vw;
    font-size: 23.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.about ul li .texts {
    padding: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  section.about ul li .texts {
    padding: 4vw 0;
  }
}
section.about ul li h3 {
  position: absolute;
  top: 0;
  z-index: 1;
  transform: translate(0, -50%);
  display: table;
  font-weight: 600;
  background-color: #E95925;
  line-height: 1.35;
  color: #fff;
}
@media screen and (min-width: 768px) {
  section.about ul li h3 {
    right: -20px;
    padding: 0 15px 2px;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  section.about ul li h3 {
    padding: 0 4vw 1.0666666667vw;
    right: -4vw;
    font-size: 5.8666666667vw;
  }
}
section.about ul li div.image img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.about ul li p {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.about ul li p {
    font-size: 3.3333333333vw;
  }
}

section.projects {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.projects {
    background: url(../img/projects_bg1.png) 0 0/cover no-repeat;
  }
}
@media screen and (max-width: 767px) {
  section.projects {
    background: url(../img/sp/projects_bg1.png) 0 0/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  section.projects > .obj1 {
    top: -25px;
    left: 0;
    width: 83px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  section.projects > .obj1 {
    top: -10.6666666667vw;
    left: 0;
    width: 11.0666666667vw;
    height: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects > .obj2 {
    top: -63.5px;
    right: 60px;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.projects > .obj2 {
    top: -13.3333333333vw;
    left: 0;
    width: 14.2666666667vw;
    height: 10.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.c_title2 {
    display: table;
    margin: 0 auto;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.c_title2:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    right: -4.6666666667vw;
    width: 13.8666666667vw;
    height: 22.9333333333vw;
    background: url(../img/sp/performance_obj1.png) 0 0/100% no-repeat;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main-wrap {
    display: table;
    max-width: 930px;
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main-wrap {
    width: 91.8666666667vw;
    margin: 5.3333333333vw auto 0;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main-wrap:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    background: url(../img/performance_obj1.png) 0 0/100% no-repeat;
    width: 280px;
    height: 451px;
    bottom: -120px;
    right: -230px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.projects div.main-wrap:before {
    z-index: 2;
    right: 10px;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main {
    position: relative;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main > ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 930px;
    margin: 30px auto 0;
    gap: 30px 30px;
  }
}
section.projects div.main > ul li {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  section.projects div.main > ul li {
    width: calc(50% - 15px);
    max-width: 450px;
    padding: 15px 20px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li {
    padding: 3.3333333333vw 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li + li {
    margin-top: 2.6666666667vw;
  }
}
section.projects div.main > ul li p.year {
  text-align: center;
  background-color: #E95925;
  color: #fff;
  border-radius: 100px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section.projects div.main > ul li p.year {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li p.year {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5.8666666667vw;
    font-size: 4vw;
  }
}
section.projects div.main > ul li h3 {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section.projects div.main > ul li h3 {
    margin: 15px 0 10px;
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li h3 {
    margin: 2vw 0 1.3333333333vw;
    font-size: 3.3333333333vw;
  }
}
section.projects div.main > ul li p.num {
  text-align: center;
  color: #E95925;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li p.num {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 0 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li p.num span:nth-of-type(1) {
    font-size: 9.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main > ul li p.num span:nth-of-type(2) {
    font-size: 4.8vw;
  }
}
section.projects div.main div.f {
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f {
    max-width: 930px;
    margin: 30px auto 0;
    padding: 30px 40px 50px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f {
    margin: 2.6666666667vw auto 0;
    padding: 3.3333333333vw 5.3333333333vw 4vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f .obj1 {
    top: -60px;
    left: 0;
    transform: translateX(-50%);
    width: 83px;
    height: 80px;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f .obj2 {
    bottom: -63.5px;
    left: -85px;
    width: 170px;
    height: 127px;
  }
}
section.projects div.main div.f h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  background-color: #E95925;
  border-radius: 100px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f h3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f h3 {
    height: 5.8666666667vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 100px auto 0;
    gap: 0 60px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h img {
    display: table;
    margin: 6vw auto 0;
    width: 49.2vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    width: 85%;
    margin: 0 auto;
    gap: 0 4.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li {
    line-height: 1.35;
    display: flex;
    align-items: baseline;
    width: 46%;
    gap: 0 1.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li + li {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li + li {
    margin-top: 0.5333333333vw;
  }
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(1)::before {
  background-color: #F8BA01;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(2)::before {
  background-color: #FD945F;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(3)::before {
  background-color: #FC5400;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(4)::before {
  background-color: #EE220C;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(5)::before {
  background-color: #B51700;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(6)::before {
  background-color: #890F00;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(7)::before {
  background-color: #F9C320;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(8)::before {
  background-color: #F3E826;
}
section.projects div.main div.f div.h div.list ul li:nth-of-type(9)::before {
  background-color: #FC6A22;
}
section.projects div.main div.f div.h div.list ul li:before {
  content: "";
  border-radius: 100px;
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li:before {
    width: 26px;
    height: 26px;
    margin-right: 8px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li:before {
    min-width: 5.0666666667vw;
    min-height: 5.0666666667vw;
    margin-right: 0.6666666667vw;
    transform: translateY(25%);
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(1) {
    width: 60px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(1) {
    width: 9.3333333333vw;
    font-size: 3.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) {
    margin-left: 0.6666666667vw;
  }
}
section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) span:nth-of-type(1) {
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) span:nth-of-type(1) {
    font-size: 27px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) span:nth-of-type(1) {
    font-size: 5.2vw;
  }
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) span:nth-of-type(2) {
    margin-left: 10px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.h div.list ul li span:nth-of-type(2) span:nth-of-type(2) {
    font-size: 3.0666666667vw;
  }
}
section.projects div.main div.f div.m {
  text-align: center;
}
@media screen and (min-width: 768px) {
  section.projects div.main div.f div.m {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.m {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  section.projects div.main div.f div.m img {
    width: 61.4666666667vw;
  }
}
section.projects p.notice {
  text-align: right;
}
@media screen and (min-width: 768px) {
  section.projects p.notice {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.projects p.notice {
    font-size: 3.7333333333vw;
  }
}

section.service > div.image {
  display: table;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.service > div.image {
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  section.service > div.image .obj2 {
    bottom: -63.5px;
    left: -85px;
    width: 170px;
    height: 127px;
  }
}
@media screen and (min-width: 768px) {
  section.service div.main-wrap {
    display: flex;
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.service div.main-wrap {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  section.service div.main div.c_title3 {
    max-width: 730px;
    margin-left: auto;
    padding-left: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.service div.main div.c_title3 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.c_title3 {
    padding: 8vw 13.3333333333vw;
  }
}
section.service div.main div.c_title3 h2 {
  position: relative;
  z-index: 3;
}
section.service div.main div.texts {
  background-color: #F2F2F2;
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts {
    width: 58.3333333333vw;
    margin-top: 20px;
    padding: 70px 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.service div.main div.texts {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts {
    padding: 8vw 2.6666666667vw 28vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts div.inner {
    max-width: 730px;
    margin-left: auto;
    padding-left: 30px;
  }
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts h3 {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts h3 {
    text-align: center;
    font-size: 4.4vw;
  }
}
section.service div.main div.texts div.m {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts div.m {
    margin-top: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts div.m ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 0;
    margin: 50px 0 60px;
  }
}
section.service div.main div.texts div.m ul li {
  line-height: 1.35;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts div.m ul li {
    width: 50%;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts div.m ul li {
    font-size: 3.7333333333vw;
  }
}
section.service div.main div.texts div.m ul li:before {
  content: "";
  background: url(../img/icon_check1.png) 0 0/cover no-repeat;
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts div.m ul li:before {
    width: 30px;
    height: 30px;
    margin-right: 8px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts div.m ul li:before {
    width: 4vw;
    height: 4vw;
    margin-right: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts div.m ul li + li {
    margin-top: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.main div.texts div.m a.c_btn1 {
    transform: translateX(-50px);
  }
}
@media screen and (max-width: 767px) {
  section.service div.main div.texts div.m a.c_btn1 {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.foot {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.foot {
    margin-top: -24vw;
  }
}
section.service div.foot div.image {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.service div.foot div.image picture img {
    width: 41.6666666667vw;
    height: 506px;
    object-fit: cover;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.service div.foot div.image picture img {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  section.service div.foot div.image picture img {
    display: table;
    width: 83.3333333333vw;
    margin-left: auto;
  }
}
@media screen and (min-width: 768px) {
  section.service div.foot div.image .obj1 {
    bottom: 0;
    right: 0;
    transform: translateY(50%);
    width: 83px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.foot div.image .obj1 {
    bottom: -5.3333333333vw;
    right: 0;
    width: 11.0666666667vw;
    height: 10.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.agency {
    margin: 100px auto 0;
    max-width: 1500px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency {
    margin-top: 16vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency div.block {
    margin-top: 8vw;
  }
}
section.service div.agency div.block div.image {
  width: 100%;
}
section.service div.agency div.block div.image img {
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block div.image img {
    height: 380px;
  }
}
section.service div.agency div.block .texts {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block .texts {
    min-width: calc(100% - 780px);
    margin-top: 20px;
    padding: 40px 40px 40px 60px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency div.block .texts {
    padding: 5.3333333333vw;
  }
}
section.service div.agency div.block .texts h3 {
  font-weight: bold;
  color: #E95925;
  line-height: 1.35;
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block .texts h3 {
    margin-bottom: 30px;
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency div.block .texts h3 {
    text-align: center;
    font-size: 5.8666666667vw;
  }
}
section.service div.agency div.block .texts li {
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block .texts li {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency div.block .texts li {
    margin-top: 4vw;
    font-size: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block .texts li + li {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency div.block .texts li + li {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 768px) {
  section.service div.agency div.block .texts a.c_btn1 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  section.service div.agency div.block .texts a.c_btn1 {
    margin-top: 5.3333333333vw;
  }
}

section.news {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.news {
    padding-top: 0;
    display: table;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  section.news {
    padding-top: 0;
  }
}
@media screen and (min-width: 768px) {
  section.news .obj1 {
    bottom: 70px;
    left: -40px;
    width: 57px;
    height: 60px;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  section.news .obj1 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  section.news .obj2 {
    bottom: 100px;
    left: -80px;
    width: 61px;
    height: 81px;
  }
}
@media screen and (max-width: 767px) {
  section.news .obj2 {
    top: -10.6666666667vw;
    left: 2.6666666667vw;
    width: 22.6666666667vw;
    height: 16.9333333333vw;
  }
}
@media screen and (max-width: 767px) {
  section.news a.c_btn1 {
    margin-top: 8vw;
  }
}
section.case {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.case {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  section.case {
    padding-top: 0;
  }
}
section.case:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #F2F2F2;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  section.case:before {
    width: 100%;
    height: 60%;
  }
}
@media screen and (max-width: 767px) {
  section.case:before {
    width: 100%;
    height: 56%;
  }
}
@media screen and (min-width: 768px) {
  section.case > .obj1 {
    top: 455px;
    right: 0;
    width: 83px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  section.case > .obj1 {
    top: -10.6666666667vw;
    left: 4vw;
    width: 7.6vw;
    height: 8vw;
  }
}
@media screen and (min-width: 768px) {
  section.case > .obj2 {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  section.case > .obj2 {
    top: -16vw;
    left: 0;
    width: 8vw;
    height: 10.8vw;
  }
}
section.case ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1060px;
}
@media screen and (min-width: 768px) {
  section.case ul {
    gap: 40px 25px;
    margin: 60px auto;
  }
}
@media screen and (max-width: 767px) {
  section.case ul {
    width: 91.4666666667vw;
    margin: 8vw auto 0;
  }
}
@media screen and (min-width: 768px) {
  section.case ul li {
    width: calc(33.3333333333% - 17px);
  }
}
@media screen and (max-width: 767px) {
  section.case ul li {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  section.case ul li + li {
    margin-top: 10.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.case ul li:nth-of-type(2) {
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  section.case ul li:nth-of-type(2) .obj1 {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  section.case ul li:nth-of-type(2) .obj1 {
    position: absolute;
    top: -14.9333333333vw;
    right: -4.2666666667vw;
    width: 13.4666666667vw;
    height: 14.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.case ul li .texts {
    padding: 10px 0;
  }
}
@media screen and (max-width: 767px) {
  section.case ul li .texts {
    padding: 4vw 0 0;
  }
}
section.case ul li h3 {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section.case ul li h3 {
    margin-bottom: 8px;
    padding-bottom: 5px;
    border-bottom: 2px solid #E95925;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.case ul li h3 {
    margin-bottom: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
    border-bottom: 1px solid #E95925;
    font-size: 5.0666666667vw;
  }
}
section.case ul li img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.case ul li p {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.case ul li p {
    font-size: 3.4666666667vw;
  }
}
@media screen and (max-width: 767px) {
  section.case a.c_btn1 {
    margin-top: 16vw;
  }
}
section.company {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.company {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 200px;
    background: url(../img/company_bg1.png) right bottom/cover fixed no-repeat;
  }
}
@media screen and (max-width: 767px) {
  section.company {
    padding-top: 0;
    background: url(../img/sp/company_bg1.png) right bottom/cover fixed no-repeat;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj1:nth-of-type(1) {
    top: 500px;
    right: 0;
    width: 101px;
    height: 112px;
  }
}
@media screen and (max-width: 767px) {
  section.company > .obj1:nth-of-type(1) {
    top: -14.9333333333vw;
    left: 13.3333333333vw;
    width: 11.6vw;
    height: 12.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj1 + .obj2 {
    top: 900px;
    left: 0;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.company > .obj1 + .obj2 {
    bottom: 22.6666666667vw;
    left: 0vw;
    width: 22.6666666667vw;
    height: 16.9333333333vw;
    background-size: 8%;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj1 + .obj2 + .obj1 {
    top: 940px;
    left: 50px;
    width: 87px;
    height: 92px;
  }
}
@media screen and (max-width: 767px) {
  section.company > .obj1 + .obj2 + .obj1 {
    bottom: 22.6666666667vw;
    left: 13.3333333333vw;
    width: 11.6vw;
    height: 12.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj1 + .obj2 + .obj1 + .obj1 {
    top: 1370px;
    right: 0px;
    width: 101px;
    height: 112px;
  }
}
@media screen and (max-width: 767px) {
  section.company > .obj1 + .obj2 + .obj1 + .obj1 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj1 + .obj2 + .obj1 + .obj1 + .obj2 {
    top: 1600px;
    left: 0px;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.company > .obj1 + .obj2 + .obj1 + .obj1 + .obj2 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj1 + .obj2 + .obj1 + .obj1 + .obj2 + .obj1 {
    top: 1640px;
    left: 50px;
    width: 87px;
    height: 92px;
  }
}
@media screen and (max-width: 767px) {
  section.company > .obj1 + .obj2 + .obj1 + .obj1 + .obj2 + .obj1 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  section.company > .obj2 {
    top: 200px;
    left: 0;
    width: 170px;
    height: 127px;
  }
}
section.company div.image {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.company div.image .obj1 {
    top: 0;
    left: 125px;
    width: 83px;
    height: 80px;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  section.company div.image .obj1 {
    bottom: -7.4666666667vw;
    right: 0vw;
    width: 13.4666666667vw;
    height: 14.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.company div.image .obj2 {
    top: -85px;
    left: 0;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.company div.image .obj2 {
    top: -9.3333333333vw;
    left: 0;
    width: 22.6666666667vw;
    height: 16.9333333333vw;
    background-size: 9%;
  }
}
section.company div.image picture img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.company div.image picture img {
    height: 301px;
    object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  section.company div.image + div.c_title1 {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  section.company div.image + div.c_title1 {
    margin-top: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.company a.c_btn1 {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  section.company a.c_btn1 {
    margin-top: 12vw;
  }
}

section.contact {
  position: relative;
}
@media screen and (min-width: 768px) {
  section.contact {
    padding-top: 0;
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  section.contact > .obj1:nth-of-type(1) {
    top: 420px;
    left: 0;
    width: 101px;
    height: 112px;
  }
}
@media screen and (max-width: 767px) {
  section.contact > .obj1:nth-of-type(1) {
    bottom: 18.6666666667vw;
    left: 0;
    width: 9.2vw;
    height: 9.6vw;
  }
}
@media screen and (min-width: 768px) {
  section.contact > .obj1 + .obj2 {
    bottom: 100px;
    right: 80px;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.contact > .obj1 + .obj2 {
    bottom: 2.6666666667vw;
    right: 18.6666666667vw;
    width: 16.4vw;
    height: 12.2666666667vw;
    background-size: 9%;
  }
}
@media screen and (min-width: 768px) {
  section.contact > .obj1 + .obj2 + .obj1 {
    bottom: 80px;
    right: 40px;
    width: 87px;
    height: 92px;
  }
}
@media screen and (max-width: 767px) {
  section.contact > .obj1 + .obj2 + .obj1 {
    bottom: 4.4vw;
    right: 0vw;
    width: 8.4vw;
    height: 8.8vw;
  }
}
section.contact div.head {
  background: linear-gradient(to right, #e95925, #ffc300);
}
@media screen and (min-width: 768px) {
  section.contact div.head {
    padding: 40px 0 50px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.head {
    padding: 5.3333333333vw 0 6.6666666667vw;
  }
}
section.contact div.head div.c_title1 {
  position: relative;
}
section.contact div.head div.c_title1 h2 {
  color: #fff;
}
section.contact div.head div.c_title1 p {
  color: #F8ED5E;
}
@media screen and (min-width: 768px) {
  section.contact div.head div.c_title1 .obj3 {
    top: -100px;
    right: 0;
    width: 170px;
    height: 127px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.head div.c_title1 .obj3 {
    bottom: -14vw;
    right: 0;
    width: 10.5333333333vw;
    height: 14vw;
    background-size: 8%;
  }
}
section.contact ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  section.contact ul {
    margin: 30px 0;
    gap: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  section.contact ul {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  section.contact a.c_btn1 {
    margin-top: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.contact div.form {
    max-width: 700px;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form {
    width: 89.3333333333vw;
    margin: 6.6666666667vw auto 0;
  }
}
section.contact div.form .wpcf7-not-valid-tip {
  color: #ff9800;
}
@media screen and (min-width: 768px) {
  section.contact div.form .wpcf7-not-valid-tip {
    margin: 5px 0 0;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form .wpcf7-not-valid-tip {
    margin: 1.3333333333vw 0 0;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  section.contact div.form .wpcf7 form .wpcf7-response-output {
    font-size: 20px;
    margin-top: 10px !important;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form .wpcf7 form .wpcf7-response-output {
    margin-top: 5px !important;
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  section.contact div.form table {
    width: 100%;
  }
}
section.contact div.form table tr {
  display: flex;
}
@media screen and (max-width: 767px) {
  section.contact div.form table tr {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  section.contact div.form table tr + tr {
    margin: 25px 0 0;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form table tr + tr {
    margin: 6.6666666667vw 0 0;
  }
}
section.contact div.form table tr th {
  font-weight: 600;
  text-align: left;
}
@media screen and (min-width: 768px) {
  section.contact div.form table tr th {
    min-width: 180px;
    margin-top: 10px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form table tr th {
    margin-bottom: 0.8vw;
    font-size: 4vw;
  }
}
section.contact div.form table tr th span {
  font-size: inherit;
  color: #E95925;
}
@media screen and (min-width: 768px) {
  section.contact div.form table tr th span {
    margin-left: 3px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form table tr th span {
    margin-left: 0.8vw;
  }
}
@media screen and (min-width: 768px) {
  section.contact div.form table tr td {
    width: 100%;
  }
}
section.contact div.form table tr td textarea {
  resize: none;
}
section.contact div.form table tr td input, section.contact div.form table tr td textarea {
  border: 0;
  background-color: #fff;
  border-radius: 0;
  outline: none;
  width: 100%;
  border: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  section.contact div.form table tr td input, section.contact div.form table tr td textarea {
    padding: 10px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form table tr td input, section.contact div.form table tr td textarea {
    padding: 2.6666666667vw;
    font-size: 16px;
  }
}
section.contact div.form table + p {
  text-align: center;
}
@media screen and (min-width: 768px) {
  section.contact div.form table + p {
    margin: 20px 0 0;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form table + p {
    margin: 5.3333333333vw 0 0;
    font-size: 4vw;
  }
}
section.contact div.form table + p + p {
  text-align: center;
}
@media screen and (min-width: 768px) {
  section.contact div.form table + p + p {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form table + p + p {
    font-size: 4.2666666667vw;
  }
}
section.contact div.form table + p + p a {
  color: #212020;
  font-size: 0.8em;
}
section.contact div.form table + p + p + p {
  text-align: center;
}
section.contact div.form input.wpcf7-submit {
  border-radius: 0;
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  color: #fff;
  background: #E95925;
}
@media screen and (min-width: 768px) {
  section.contact div.form input.wpcf7-submit {
    transition: 0.4s;
    width: 200px;
    height: 50px;
    margin: 30px auto 0;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.contact div.form input.wpcf7-submit {
    width: 80vw;
    height: 13.3333333333vw;
    margin: 5.3333333333vw auto 0;
    font-size: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  section.contact div.form input.wpcf7-submit:hover {
    cursor: pointer;
    opacity: 0.8;
  }
}

@media screen and (max-width: 767px) {
  div.content + section.contact {
    padding-top: 1.3333333333vw !important;
  }
}

@media screen and (max-width: 767px) {
  main + section.contact, div.content + section.contact {
    padding-top: 0vw;
  }
}

footer.c_footer {
  position: relative;
}
@media screen and (min-width: 768px) {
  footer.c_footer {
    padding: 80px 30px 0;
    border-top: 2px solid #E95925;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer {
    padding-top: 4vw;
    border-top: 1px solid #E95925;
  }
}
@media screen and (min-width: 768px) {
  footer.c_footer:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-75%);
    right: 20px;
    width: 582px;
    height: 118px;
    background: url(../img/txt_sumrise.png) 0 0/100% no-repeat;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer:before {
    content: "";
    display: block;
    position: absolute;
    top: 22.6666666667vw;
    transform: translateY(-75%);
    right: 1.3333333333vw;
    width: 52.2666666667vw;
    height: 10.5333333333vw;
    background: url(../img/sp/txt_sumrise.png) 0 0/100% no-repeat;
  }
}
@media screen and (min-width: 768px) {
  footer.c_footer div.menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1060px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer div.menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  footer.c_footer div.menu a.logo img {
    width: 193px;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer div.menu a.logo img {
    width: 25.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  footer.c_footer div.menu nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer div.menu nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 3.3333333333vw;
  }
}
footer.c_footer div.menu nav ul li a {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  footer.c_footer div.menu nav ul li a {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer div.menu nav ul li a {
    font-size: 3.2vw;
  }
}
footer.c_footer p.copyright {
  text-align: center;
  color: #E95925;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  footer.c_footer p.copyright {
    margin-top: 70px;
    padding-bottom: 20px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  footer.c_footer p.copyright {
    margin-top: 4vw;
    padding-bottom: 10.6666666667vw;
    font-size: 2.9333333333vw;
  }
}

.c_category {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c_category {
    display: table;
    max-width: 1060px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
  }
}
@media screen and (max-width: 767px) {
  .c_category {
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .c_category > .obj1 {
    bottom: 70px;
    left: -40px;
    width: 57px;
    height: 60px;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  .c_category > .obj1 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .c_category > .obj2 {
    bottom: 100px;
    left: -80px;
    width: 61px;
    height: 81px;
  }
}
@media screen and (max-width: 767px) {
  .c_category > .obj2 {
    top: -10.6666666667vw;
    left: 2.6666666667vw;
    width: 22.6666666667vw;
    height: 16.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c_category ul {
    margin: 60px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul {
    margin: 0 auto;
    width: 91.4666666667vw;
  }
}
.c_category ul li {
  position: relative;
}
.c_category ul li:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/icon_arrrow1.png) 0 0/100% no-repeat;
}
@media screen and (min-width: 768px) {
  .c_category ul li:before {
    right: 40px;
    width: 14px;
    height: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul li:before {
    right: 0vw;
    width: 2.8vw;
    height: 4.1333333333vw;
  }
}
.c_category ul li:after {
  content: "";
  display: block;
  border-bottom: 1px dashed #E95925;
  width: 100%;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .c_category ul li:after {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .c_category ul li + li {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .c_category ul li a {
    display: flex;
    gap: 0 20px;
    padding: 0 80px 15px;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin: 0 auto;
    padding: 6.6666666667vw 4vw 4.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .c_category ul li a img {
    width: 200px;
    max-width: 200px;
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul li a img {
    width: 24vw;
    min-width: 24vw;
  }
}
.c_category ul li a .date {
  font-weight: 700;
  color: #8B8B8B;
}
@media screen and (min-width: 768px) {
  .c_category ul li a .date {
    min-width: 150px;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul li a .date {
    font-size: 3.7333333333vw;
  }
}
.c_category ul li a .title {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c_category ul li a .title {
    line-height: 1.35;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul li a .title {
    line-height: 1.3;
    font-size: 4vw;
  }
}
.c_category ul li a .title + p {
  line-height: 1.4;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c_category ul li a .title + p {
    margin-top: 3px;
    padding-bottom: 5px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c_category ul li a .title + p {
    margin-top: 0.6666666667vw;
    font-size: 3.4666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .c_category a.c_btn1 {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .c_category a.c_btn1 {
    margin-top: 8vw;
  }
}
.c_category div.pager {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c_category div.pager {
    gap: 0 15px;
    margin: 50px 0 0px;
  }
}
@media screen and (max-width: 767px) {
  .c_category div.pager {
    margin: 6.6666666667vw 0 10.6666666667vw;
    gap: 0 2.6666666667vw;
  }
}
.c_category div.pager span, .c_category div.pager a {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .c_category div.pager span, .c_category div.pager a {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .c_category div.pager span, .c_category div.pager a {
    width: 8vw;
    height: 8vw;
    font-size: 4.8vw;
  }
}
.c_category div.pager span.page-numbers.current {
  color: #fff;
  background-color: #E95925;
}
.c_category div.pager a.page-numbers {
  color: #E95925;
  border: 1px solid #E95925;
}
body.news section.category ul li div.image {
  display: none;
}

@media screen and (max-width: 767px) {
  body.case section.c_category ul li a {
    flex-direction: row;
    gap: 0 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.case section.c_category ul li a img {
    margin-top: 1.3333333333vw;
  }
}
body.top section.category div.image {
  display: none;
}
@media screen and (min-width: 768px) {
  body.top section.contact {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 150px;
  }
}
@media screen and (max-width: 767px) {
  body.top section.contact {
    padding-top: 0;
  }
}

body.contact table.c_table1 {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  body.contact div.form {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  body.contact div.form {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  body.contact main > section.contact {
    padding-bottom: 4vw;
  }
}
@media screen and (max-width: 767px) {
  body.contact main + section.contact {
    padding-top: 0;
  }
}

body.post {
  position: relative;
}
body.post > .obj1 {
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.post > .obj1 {
    top: 70px;
    left: 40px;
    width: 57px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  body.post > .obj1 {
    bottom: 50.6666666667vw;
    right: 16vw;
    width: 14.6666666667vw;
    height: 14.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.post > .obj2 {
    top: 100px;
    left: 80px;
    width: 61px;
    height: 81px;
  }
}
@media screen and (max-width: 767px) {
  body.post > .obj2 {
    bottom: 50.6666666667vw;
    right: 17.3333333333vw;
    width: 22.6666666667vw;
    height: 16.9333333333vw;
  }
}
body.post header h1 {
  line-height: 1.3;
  color: #212020;
}
@media screen and (min-width: 768px) {
  body.post header h1 {
    top: 80px;
    right: 35px;
  }
}
@media screen and (max-width: 767px) {
  body.post header h1 {
    top: -8vw;
    left: 2.9333333333vw;
  }
}
body.post nav.breadcrumbs {
  position: static;
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  body.post nav.breadcrumbs {
    max-width: 1260px;
    width: 100%;
    margin: 0px auto;
    padding: 110px 30px 40px;
  }
}
@media screen and (max-width: 767px) {
  body.post nav.breadcrumbs {
    margin-top: 21.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
body.post nav.breadcrumbs ul {
  justify-content: flex-start;
}
body.post nav.breadcrumbs ul li {
  color: #212020;
}
body.post nav.breadcrumbs ul li a {
  color: #212020;
}
@media screen and (min-width: 768px) {
  body.post div.content {
    margin: 0 0 60px;
    padding: 0 30px;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 0 20px;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main {
    max-width: 850px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article {
    width: 92vw;
    margin: 0 auto 4vw;
  }
}
body.post div.content div.inner main article img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h1, body.post div.content div.inner main article h2, body.post div.content div.inner main article h3, body.post div.content div.inner main article h4, body.post div.content div.inner main article h5, body.post div.content div.inner main article h6, body.post div.content div.inner main article p, body.post div.content div.inner main article ul, body.post div.content div.inner main article ol, body.post div.content div.inner main article img {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h1, body.post div.content div.inner main article h2, body.post div.content div.inner main article h3, body.post div.content div.inner main article h4, body.post div.content div.inner main article h5, body.post div.content div.inner main article h6, body.post div.content div.inner main article p, body.post div.content div.inner main article ul, body.post div.content div.inner main article ol, body.post div.content div.inner main article img {
    margin-bottom: 4vw;
  }
}
body.post div.content div.inner main article h1 a, body.post div.content div.inner main article h2 a, body.post div.content div.inner main article h3 a, body.post div.content div.inner main article h4 a, body.post div.content div.inner main article h5 a, body.post div.content div.inner main article h6 a, body.post div.content div.inner main article p a, body.post div.content div.inner main article ul a, body.post div.content div.inner main article ol a, body.post div.content div.inner main article img a {
  text-decoration: underline;
  color: #E95925;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article div.title + div.image {
    margin-bottom: 10px;
  }
}
body.post div.content div.inner main article div.title p.ttl {
  line-height: 1.35;
  font-weight: 600;
  color: #212020;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article div.title p.ttl {
    margin-bottom: 10px;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article div.title p.ttl {
    margin-bottom: 2.6666666667vw;
    font-size: 5.0666666667vw;
  }
}
body.post div.content div.inner main article div.title p.info {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article div.title p.info {
    gap: 0 10px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article div.title p.info {
    gap: 0 1.3333333333vw;
  }
}
body.post div.content div.inner main article div.title p.info span.cate {
  color: #fff;
  background-color: #E95925;
  letter-spacing: 0.1em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article div.title p.info span.cate {
    padding: 0 7px;
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article div.title p.info span.cate {
    padding: 0 1.8666666667vw;
    font-size: 3.2vw;
  }
}
body.post div.content div.inner main article div.title p.info span.date {
  color: #555;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article div.title p.info span.date {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article div.title p.info span.date {
    font-size: 3.3333333333vw;
  }
}
body.post div.content div.inner main article h2 {
  line-height: 1.3;
  color: #fff;
  background-color: #212020;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h2 {
    margin-top: 40px;
    padding: 10px 15px;
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h2 {
    margin-top: 8vw;
    padding: 2vw 2.6666666667vw 2.4vw;
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h2 + h3 {
    margin-top: 30px !important;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h2 + h3 {
    margin-top: 6.6666666667vw !important;
  }
}
body.post div.content div.inner main article h3 {
  line-height: 1.35;
  border-bottom: 3px solid #E95925;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h3 {
    margin-top: 40px;
    padding: 0 0 5px;
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h3 {
    margin-top: 8vw;
    padding: 0 0 1.3333333333vw;
    font-size: 4.5333333333vw;
  }
}
body.post div.content div.inner main article h4 {
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h4 {
    margin-bottom: 10px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h4 {
    margin-bottom: 2.6666666667vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h5 {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h5 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article h6 {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article h6 {
    font-size: 2.6666666667vw;
  }
}
body.post div.content div.inner main article p {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article p {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article p {
    font-size: 4.2666666667vw;
  }
}
body.post div.content div.inner main article li {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article li {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article li {
    font-size: 4.2666666667vw;
  }
}
body.post div.content div.inner main article ul li {
  list-style: disc;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article ul li {
    margin-left: 20px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article ul li {
    margin-left: 6vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article ul li + li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article ul li + li {
    margin-top: 2.6666666667vw;
  }
}
body.post div.content div.inner main article ul ul li {
  list-style: none;
}
body.post div.content div.inner main article ol {
  list-style-type: decimal;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article ol li {
    margin-left: 20px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article ol li {
    margin-left: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article ol li + li {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article ol li + li {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main article ol ul {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main article ol ul {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main .wp-block-table {
    overflow-x: scroll;
  }
}
body.post div.content div.inner main table {
  display: block;
  border: 1px solid #000;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main table {
    margin: 30px 0 30px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main table {
    margin: 5.3333333333vw 0 5.3333333333vw;
    overflow-x: scroll;
    white-space: nowrap;
  }
}
body.post div.content div.inner main table tbody tr {
  border-top: 1px solid #000;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main table tr {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main table tr {
    padding: 2.6666666667vw;
  }
}
body.post div.content div.inner main table tr th, body.post div.content div.inner main table tr td {
  text-align: left;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main table tr th, body.post div.content div.inner main table tr td {
    padding: 15px;
    font-size: 16px;
    min-width: 120px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner main table tr th, body.post div.content div.inner main table tr td {
    padding: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
body.post div.content div.inner main table tr th:not(:first-of-type), body.post div.content div.inner main table tr td:not(:first-of-type) {
  border-left: 1px solid #000;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner main table tr th:nth-of-type(2), body.post div.content div.inner main table tr td:nth-of-type(2) {
    max-width: 670px;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside {
    max-width: 300px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.post div.content div.inner aside {
    max-width: 160px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside {
    width: 89.3333333333vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside:not(.square) img {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside:not(.square) img {
    margin-bottom: 0.6666666667vw;
  }
}
body.post div.content div.inner aside img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside > div {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside > div {
    margin-bottom: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside > div + div {
    margin-top: 40px;
  }
}
body.post div.content div.inner aside > div a {
  color: #000;
}
body.post div.content div.inner aside > div h2 {
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside > div h2 {
    margin-bottom: 10px;
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside > div h2 {
    margin-bottom: 2.6666666667vw;
    font-size: 4.5333333333vw;
  }
}
body.post div.content div.inner aside > div h3 {
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside > div h3 {
    line-height: 1.35;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside > div h3 {
    line-height: 1.4;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside > div ul li + li {
    margin: 20px 0 0;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.column ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.column ul li {
    width: 43.3333333333vw;
  }
}
body.post div.content div.inner aside div.category h2 {
  margin: 0;
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.category h2 {
    font-size: 4vw;
  }
}
body.post div.content div.inner aside div.category ul li {
  margin: 0;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside div.category ul li {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.category ul li {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.category ul li:nth-of-type(1) {
    margin-top: 2.4vw;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.category ul li + li {
    margin-top: 1.6vw;
  }
}
body.post div.content div.inner aside div.category ul li a {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.post div.content div.inner aside div.category ul li a {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  body.post div.content div.inner aside div.category ul li a {
    font-size: 3.2vw;
  }
}