@charset "utf-8";
/*
theme Name: OsakaMishinshow
Author: Ruri Igarashi & Kansuke Shimobayashi
Description: 大阪ミシンショー
version： 1.0.0
*/
/*==========================================================================
    初期化
==========================================================================*/

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,
sub,
sup,
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,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  background: transparent;
  vertical-align: baseline;
  font-size: 100%;
}

/*==========================================================================
    基本設定
==========================================================================*/
* {
  box-sizing: border-box;
  max-width: 100%;
}

body {
  margin: 0;
  padding: 0;
  min-width: 1250px;
  outline: 0;
  border: 0;
  background: #fff;
  vertical-align: baseline;
  font-size: 100%;
  font-family: 'Sawarabi Gothic', 'HiraKakuPro-W6', 'ヒラギノ角ゴ Pro W6', 'Meiryo', 'Meiryo', 'Noto Sans Japanese', sans-serif;
}
@media screen and (max-width: 768px) {
  body {
    min-width: unset;
  }
}

.container {
  max-width: 100%;
}

p {
  color: #463631;
  font-family: 'Sawarabi Gothic';
  line-height: 36px;
}

a {
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

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

.inner {
  margin: 0 auto;
  width: 95%;
}

.page__inner {
  margin: 0 auto;
  padding-top: 80px;
  padding-bottom: 120px;
  width: 95%;
}

.sp {
  display: none;
}

.WavyLine {
  position: absolute;
  /* max-width: fit-content; */
  top: -10px;
  width: 100%;
}

.title {
  color: #685127;
  text-align: center;
  text-shadow: #00000029 0 3px 6px;
  font-size: 48px;
}

.title__sub {
  color: #685127;
  text-align: left;
  font-size: 32px;
}

.post-content h2 {
  margin: 16px 0;
  color: #685127;
  text-align: left;
  font-size: 32px;
}

.title__midium {
  font-size: 40px;
}

.title__small {
  font-size: 24px;
}

.title__red {
  color: #e60012;
}

.title__yellow {
  color: #feff00;
}

.text {
  text-align: center;
}

.text__large {
  font-size: 24px;
}

.text__midium {
  font-size: 16px;
}

.text__small {
  font-size: 14px;
}

.mishinBox {
  outline: 2px dashed #ffc948;
  outline-offset: -4px;
  background-color: #fff;
  box-shadow: 0 3px 6px #00000029;
}

.is-disabled a {
  pointer-events: none;
  opacity: 0.5;
}

/*==========================================================================
    Not AlwaysCSS
==========================================================================*/
.corona-banner.corona-banner {
  margin: 0 auto;
  padding: 8px;
  max-width: 100%;
  width: 875px;
  border: 3px solid #ffa500;
  background-color: #fff;
  box-shadow: 0 8px 15px #00000029;
  text-align: center;
  transition: 0.5s;
}
.corona-banner p {
  width: 100%;
}

.corona-system {
  margin-bottom: 16px;
  text-align: center;
}
.corona-system a {
  border-bottom: 1px solid #cf422f;
  color: #cf422f;
  font-weight: bold;
}

/*==========================================================================
    z-index(PC)
==========================================================================*/
header {
  z-index: 20;
}

.btn {
  z-index: 2;
}

.drawr {
  z-index: 1;
}

.btn__homesewing {
  z-index: 10;
}

.btn__instagram {
  z-index: 2;
}

.top__btn:before {
  z-index: 1;
}

.top__btn-text {
  z-index: 2;
}

/*==========================================================================
    ヘッダー
==========================================================================*/
.outer {
  overflow: hidden;
}
header {
  position: fixed;
  top: 0;
  display: flex;
  justify-content: space-between;
  padding: 5px 40px 15px;
  width: 100%;
  height: 80px;
  background-color: #ffa500;
  box-shadow: 0 3px 6px #00000029;
}
.header__contactArea .fa-youtube {
  font-size: 40px;
  text-align: center;
  width: 100%;
}
header:after {
  position: absolute;
  bottom: 4px;
  left: 0;
  display: block;
  width: 150%;
  border: 2px dashed #fff;
  content: '';
}

.header__contactArea {
  display: flex;
  justify-content: flex-end;
  margin-right: 0;
  width: 80%;
}

.logo__Box {
  padding: 10px;
}
.logo {
  width: 75px;
  height: 63px;
  margin: 0;
}

.contact__mail,
.drawer {
  margin: 0;
  width: 60px;
  height: 60px;
}

.drawer {
  padding: 10px;
  color: #685127;
}

.contact__mail {
  margin-right: 16px;
  padding: 8px 0;
}

.contact__tel {
  display: flex;
  padding: 8px;
  padding-top: 8px;
  width: 200px;
  height: 60px;
}

.contact__tel > p {
  text-align: left;
  letter-spacing: 0.36px;
  line-height: 24px;
}

.contact__tel p > span {
  font-size: 14px;
}

header .contact__tel {
  margin-right: 12px;
}

.logo img {
  width: 100%;
}

.fa-envelope,
.fa-phone-alt,
.fa-fax {
  color: #e60012;
  font-size: 32px;
  line-height: 41px;
}

.fa-envelope {
  width: 100%;
  height: auto;
  text-align: center;
}

.fa-phone-alt,
.fa-fax {
  margin-right: 8px;
}

/*==========================================================================
    drawer
==========================================================================*/

.btn {
  display: block;
  text-align: center;
  font-size: 14px;
  cursor: pointer;
}

.fa-bars {
  font-size: 24px;
  line-height: 33px;
}

.peke::before {
  color: #e60012;
  content: '\f00d';
  font-weight: bold;
  font-size: 32px;
  font-family: 'Font Awesome 5 Free';
}

.drawr {
  position: absolute;
  top: 0px;
  right: 0;
  display: none;
  padding-right: 28px;
  padding-left: 28px;
  height: 100vh;
  background-color: #ffc948;
  overflow-y: scroll;
}

.drawer__menu {
  margin-top: 124px;
  width: 400px;
}

.btn.drawer span {
  display: block;
  font-size: 14px;
  line-height: 0.5;
}
.peke.peke span {
  display: none;
}

.drawer__item {
  padding: 15px;
  border-bottom: 2px dashed #fff;
  font-weight: normal;
  font-size: 24px;
}

.drawer__item-first {
  padding: 15px;
  border-top: 2px dashed #fff;
  border-bottom: 2px dashed #fff;
  font-weight: normal;
  font-size: 24px;
}

.drawer__item > a,
.drawer__item-first > a {
  color: #463631;
}

.drawr > .drawer__contact > .contact__mail > .fa-envelope {
  margin-right: 8px;
  width: auto;
}

.drawer__link {
  display: block;
  padding: 15px;
  color: #463631;
  font-weight: normal;
}

.drawer__contact {
  margin-top: 40px;
  padding-left: 16px;
}

.drawer__contact > .contact__mail {
  margin-top: 16px;
  padding-right: 12px;
  padding-left: 12px;
}

/*==========================================================================
    トップ
==========================================================================*/
.top {
  position: relative;
  padding-top: 60px;
}

.p-topLabel {
  width: 180px;
  height: 180px;
  background: #fff;
  box-shadow: 0 3px 6px #00000029;
  padding: 8px;
  text-align: center;
  position: absolute;
  top: 100px;
  right: 40px;
  font-size: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  background: linear-gradient(180deg, #fdf7a1 0%, #fdf7a1 50%, #ffdf00 50%, #ffdf00 100%);
  justify-content: center;
}

.p-topLabel p {
  font-weight: 700;
  line-height: 1.6;
}

.p-topLabel span {
  display: block;
  font-size: 14px;
  font-weight: 400;
}

@media (max-width: 768px) {
  .p-topLabel {
    width: 120px;
    height: 120px;
    bottom: 10px;
    top: unset;
  }
  .p-topLabel p {
    font-size: 16px;
  }
  .p-topLabel span {
    font-size: 10px;
  }
}

.mainVisual {
  width: 100%;
}

.top__image-1 {
  position: absolute;
  top: 20%;
  left: 20vw;
  width: 20%;
}

.top__image-2 {
  position: absolute;
  top: 26%;
  left: 57vw;
  width: 12%;
}

.btn__homesewing {
  position: absolute;
  top: 490px;
  right: -170px;
  display: block;
  padding: 16px 0 16px 35px;
  width: 400px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #ea5532;
  color: #fff;
  font-size: 18px;
  transform: rotate(90deg);
}

/*==========================================================================
    main
==========================================================================*/
.main {
  position: relative;
  padding-bottom: 80px;
  background-image: url('img/white-background.webp');
}

.main .inner {
  padding-top: 40px;
}

.news {
  display: flex;
  margin: 40px auto 0;
  width: 838px;
}

.news__items {
  margin-left: 40px;
}

.news__item {
  display: flex;
  margin-top: 12px;
}

.text__news {
  margin-left: 16px;
  width: 600px;
  text-align: left;
  font-size: 14px;
  line-height: 21px;
}

time {
  color: #463631;
  font-size: 12px;
}

.main__contents {
  display: flex;
  justify-content: space-around;
  margin-top: 60px;
}

.about {
  margin-top: 60px;
}

.text__about {
  margin: 0 auto;
  margin-top: 40px;
  width: 650px;
}

.btn__about {
  position: relative;
  display: block;
  margin: 40px auto 80px;
  padding: 18px 55px;
  width: 200px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #ea5532;
  color: #fff;
  font-size: 18px;
}

.illustrationArea,
.illustrationArea2 {
  width: 160px;
}

.illustrationArea img,
.illustrationArea2 img {
  display: block;
}

.top-button,
.top-hanger,
.top-clothespin,
.top-yarn,
.top-iron {
  margin-left: auto;
}

/*==========================================================================
    topic
==========================================================================*/
.topic {
  position: relative;
  padding-top: 80px;
  padding-bottom: 84px;
  background-image: url('img/blue-background.webp');
}

.header__theme {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}

.theme__content {
  display: flex;
  align-items: center;
  margin: 0 auto;
  margin-top: 52px;
  width: 926px;
}

.theme__text {
  margin-left: 52px;
  width: 450px;
  vertical-align: middle;
  text-align: left;
}

.theme__image {
  padding: 12px;
  background-color: #fff;
}

.event {
  margin-top: 92px;
}

.event__contents {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  margin-top: 40px;
  width: 900px;
  max-width: 100%;
  justify-content: center;
}

.event__content {
  width: 100%;
}

.event__content-title span {
  font-size: 14px;
}

.event__text {
  margin-top: 10px;
  text-align: left;
}

.topic__illust {
  position: absolute;
  top: 40px;
  right: 40px;
}

.btn__event {
  display: block;
  margin: 40px auto 80px;
  padding: 18px;
  width: 256px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #ea5532;
  color: #fff;
  text-align: center;
  font-size: 18px;
}

.topic__illust2 {
  position: absolute;
  bottom: 40px;
  left: 40px;
}

/*==========================================================================
    entries
==========================================================================*/
.fa-file-pdf {
  margin-right: 5px;
  color: #d61f28;
  font-size: 24px;
}

.pdf-file {
  z-index: 10;
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
  color: #333;
  text-align: center;
  font-size: 18px;
}

.entry {
  position: relative;
  padding-top: 80px;
  padding-bottom: 100px;
  background-image: url('img/white-background.webp');
}

.entry__illust {
  position: absolute;
  bottom: 0;
  left: 0;
}

.entry__illust2 {
  position: absolute;
  top: 80px;
  left: 80px;
}

.entry__headerText {
  margin-top: 12px;
}

.btnWrapper {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.btn__mishin {
  display: block;
  margin-right: 40px;
  padding: 19px;
  width: 304px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #ffa500;
  color: #fff;
  text-align: center;
  font-size: 16px;
}

.btn__sewing {
  display: block;
  padding: 19px;
  width: 400px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #8ec31f;
  color: #fff;
  text-align: center;
  font-size: 16px;
}

.entry__itemArea {
  margin-top: 64px;
  padding: 16px;
}

.entry__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 40px;
}

.entry__item:last-child {
  margin-right: 0;
}

.entry__item {
  margin-right: 40px;
  padding: 10px 10px 16px 10px;
  width: 290px;
  background-color: #ffa500;
}

#tab3 .entry__item {
  background-color: #8ec31f;
}

/* .entry__item:before {
} */

.entry__image {
  display: block;
  padding: 10px;
  width: 270px;
  background-color: #fff;
}

.entry__companyName {
  margin-top: 16px;
}

.entry .tab_area ul {
  margin: 0 auto;
  max-width: 992px;

  grid-template-columns: 33.3% 33.3% 33.3%;
}

.instagram-feed-area {
  position: relative;
}

/*==========================================================================
    Instagram
==========================================================================*/
.sb_instagram_header,
.sbi_no_avatar {
  display: none;
}

#sb_instagram #sbi_load {
  display: none;
}

.btn__instagram {
  position: absolute;
  top: -20%;
  left: 50%;
  display: inline-block;
  margin: 0 auto;
  padding: 21px 0;
  width: 300px;
  height: 120px;
  border: dashed 2px #ffc948;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0px 0px 0px 5px #fff;
  text-align: center;
  font-size: 14px;
  transform: translateX(-50%);
}

.btn__instagram p {
  margin: 8px auto 0;
  width: 192px;
  border: 4px solid #ffc948;
  border-radius: 5px;
  color: #e60012;
  font-size: 24px;
}

.fa-instagram {
  margin-right: 10px;
  color: #cf2f93;
  font-size: 32px;
  line-height: 41px;
}

/*==========================================================================
    sns
==========================================================================*/
.sns {
  position: relative;
  padding-top: 120px;
  padding-bottom: 80px;
  background-image: url('img/white-background.webp');
}

.sns__text {
  margin-top: 40px;
}

.sns__iconList {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  margin-top: 12px;
}

.sns__item {
  margin-right: 24px;
}

.sns__item:last-child {
  margin-right: 0;
}

.fa-twitter,
.fa-facebook,
.fa-line,
.fa-youtube {
  font-size: 56px;
}

.fa-twitter {
  color: #00acee;
}

.fa-facebook {
  color: #3b5998;
}

.fa-line {
  color: #00ba01;
}

.fa-youtube {
  color: #ff0000;
}

.sns__illust {
  margin-top: 40px;
  width: 100%;
}

/*==========================================================================
    event
==========================================================================*/

.event {
  width: 90%;
  margin: 0 auto;
}
.p-balloonImages {
  margin-top: 16px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.p-balloonImage {
  width: 50%;
}
.p-balloonImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*==========================================================================
    access
==========================================================================*/

.access {
  position: relative;
  padding-top: 76px;
  padding-bottom: 80px;
}

.access__contents {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.access__content {
  margin-left: 40px;
  padding: 20px 24px;
  width: 600px;
  border: 2px dashed #685127;
}

.train,
.bus {
  margin-bottom: 24px;
}

.train__header,
.bus__header,
.car__header {
  display: flex;
}

.access__image {
  margin-right: 12px;
  height: 40px;
}

.access__text {
  margin-top: 16px;
  margin-left: 52px;
  line-height: 24px;
}

.page-id-181 .newsPage {
  background: linear-gradient(to bottom, #0f0e2b, #16194f);
  color: #fff;
}

/*==========================================================================
    outline
==========================================================================*/
.outline {
  position: relative;
  padding-top: 80px;
  /* background-image: url('img/white-background.png'); */
  background: linear-gradient(to bottom, #0f0e2b, #16194f);
}

.outline p {
  color: #fff;
}

.outline h2,
.outline h1 {
  color: #fff;
}

.outline__title {
  position: relative;
}

.outline__item {
  margin: 0 auto;
  margin-top: 40px;
  max-width: 100%;
  width: 800px;
}

.outline__item > .title {
  position: relative;
  margin-bottom: 24px;
  text-align: left;
}

.redBorder {
  border-bottom: 3px dashed #e60012;
}

.outline__image {
  position: absolute;
  margin-left: 16px;
}

/*==========================================================================
    eventPage
==========================================================================*/
.eventPage {
  position: relative;
  padding-top: 80px;
  background-image: url('img/white-background.webp');
}

.eventPage__text {
  margin: 0 auto;
  margin-top: 40px;
  width: 800px;
  text-align: center;
}

/*==========================================================================
    newsPage
==========================================================================*/
.newsPage {
  padding-top: 80px;
  background-image: url('img/white-background.webp');
}

.newsPage__items {
  margin-top: 40px;
}

.newsPage__item {
  margin: 0 auto;
  margin-bottom: 24px;
  padding-bottom: 24px;
  max-width: 100%;
  width: 875px;
}

.newsPage__item:last-child {
  border-bottom: none;
}

.newsPage__item .title {
  position: relative;
  margin-bottom: 12px;
  text-align: left;
}

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

.pagenation {
  display: flex;
  margin-top: 40px;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.pagenation a {
  transition: all 0.3s ease 0s;
}

.pagenation a:hover {
  opacity: 0.6;
}

.pagenation a.next:hover,
.pagenation a.prev:hover {
  opacity: 0.6;
}

.single-pagenation {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 100%;
  width: 875px;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  min-width: 40px;
  height: 40px;
  border: 1px solid #ea5532;
  border-radius: 50%;
  background: #fff;
  color: #ea5532;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 38px;
}

.page-numbers:last-child {
  margin-right: 0;
}

.page-numbers.current {
  border: 1px solid #ea5532;
  background: #ea5532;
  color: #fff;
  font-weight: 700;
}

/*==========================================================================
    contactPage
==========================================================================*/
textarea {
  padding-left: 16px;
  width: 100%;
}

input[type='text'] {
  padding-left: 16px;
  width: 100%;
}

input[type='url'] {
  padding-left: 16px;
  width: 100%;
}

input[type='email'] {
  padding-left: 12px;
  width: 100%;
}

input[type='submit'],
.wpcf7c-btn-back {
  display: block;
  margin: 0 auto;
  margin-top: 42px;
  padding: 18px 0;
  width: 256px;
  outline: 2px dashed #fff;
  outline-offset: -4px;
  border: none;
  border-color: unset;
  background-color: #e85298;
  box-shadow: 0 3px 6px #00000029;
  color: #fff;
  text-align: center;
}

input[type='tel'] {
  padding-left: 12px;
}

input[type='number'] {
  padding-left: 12px;
}

.contactPage {
  padding-top: 80px;
}

.contact-form {
  margin: 0 auto;
  max-width: 800px;
  border-collapse: collapse;
}

.contact-form th {
  padding-left: 16px;
  width: 280px;
  border: 1px solid #463631;
  background-color: #ddd;
  color: #463631;
  vertical-align: middle;
  text-align: left;
}

.contact-form td {
  padding: 12px 24px;
  width: 520px;
  border: 1px solid #463631;
  color: #463631;
}

.wpcf7-radio {
  display: flex;
  flex-direction: column;
}

select > option {
  width: 32px;
  height: 32px;
}

span.wpcf7-list-item {
  margin-left: 0 !important;
}

.wpcf7-list-item-label {
  font-size: 14px;
}

.required,
.any {
  padding: 2px 12px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
}

.required {
  background-color: #e60012;
}

.any {
  background-color: #00a95f;
}

.table-4th {
  background-color: #c4d700;
}

.company-form {
  margin: 40px auto 0;
  width: 800px;
  background-color: #f6ab00;
}

.entry-form {
  margin: 40px auto 0;
  width: 800px;
  background-color: #c4d700;
}

.fz12 {
  font-size: 12px;
}

.fz14 {
  font-size: 14px;
}

.mt40 {
  margin-top: 40px;
}
/*==========================================================================
    archive-movie
==========================================================================*/
.movie-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 80px;
}
.movie-list li {
  width: calc(33.33333% - 32px);
  margin: 0 16px 16px 0;
}
.movie-list li:nth-of-type(3n) {
  margin-right: 0;
}
video {
  width: 100%;
}
.cmpny-name {
  text-align: center;
  background-color: #fff;
  padding: 4px 8px;
}

@media (max-width: 600px) {
  .movie-list {
    flex-direction: column;
  }
  .movie-list li {
    width: 100%;
  }
  .post-type-archive-movie .sewing__contentTitle {
    font-size: 24px;
  }
}
/*==========================================================================
    entry
==========================================================================*/
.entryPage {
  padding-top: 80px;
  background-image: url('../mishinshow/img/white-background.webp');
}

.entryCompany__item {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}

.entryCompany__image {
  margin-right: 40px;
  width: 380px;
  height: 380px;
}

.entryCompany__body {
  width: 600px;
}

.entry__pageShare {
  display: flex;
  margin-top: 12px;
}

.share__twitter {
  margin-right: 12px;
  width: 80px;
  border-radius: 4px;
  background-color: #00acee;
  color: #fff;
  text-align: center;
  font-size: 12px;
}

.share__twitter > i,
.share__facebook > i {
  margin-right: 4px;
  color: #fff;
  font-size: 14px;
}

.share__facebook {
  width: 80px;
  border-radius: 4px;
  background-color: #3b5998;
  color: #fff;
  text-align: center;
  font-size: 12px;
}

.entry__companyName {
  color: #463631;
  font-size: 24px;
}

.entry__PageTable {
  margin-top: 40px;
  color: #463631;
  font-size: 16px;
}

.entry__PageTable--white {
  color: #fff;
}

.entryPage__td-left {
  padding: 18px 24px;
  width: 25%;
  border-right: 2px dashed #e60012;
  border-bottom: 2px dashed #e60012;
}

.entry__PageTable--white .entryPage__td-left {
  border-right: 2px dashed #feff00;
  border-bottom: 2px dashed #feff00;
}
.entry__PageTable--white .entryPage__td-right {
  border-bottom: 2px dashed #feff00;
}

.entryPage__td-right {
  padding: 18px 30px;
  width: 75%;
  border-bottom: 2px dashed #e60012;
}

.last-td {
  border-bottom: none !important;
}

.entryPage .btnWrapper {
  justify-content: center;
  margin-top: 80px;
}

.btn__map {
  display: block;
  margin-right: 20px;
  padding: 18px;
  width: 256px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #00afec;
  color: #fff;
  text-align: center;
  font-size: 18px;
}

.btn__entry {
  display: block;
  margin-left: 20px;
  padding: 18px;
  width: 256px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #ea5532;
  color: #fff;
  text-align: center;
  font-size: 18px;
}

/* NEW */
.company-list {
  margin: 40px auto;
  max-width: 100%;
  width: 800px;
}

.company-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px;
  border-bottom: 2px dashed #685127;
}

.company-list li a {
  padding: 4px 12px;
  background-color: #e95532;
  color: #fff;
}

/*==========================================================================
    archive
==========================================================================*/
.archive {
  position: relative;
  background-image: url('img/white-background.webp');
}

.btn__all {
  display: block;
  margin-right: 40px;
  padding: 19px;
  width: 300px;
  height: 60px;
  outline: 2px dashed #fff;
  background-color: #00afec;
  color: #fff;
  text-align: center;
  font-size: 16px;
}

.archive .btn__mishin {
  width: 300px;
}

.archive .btn__sewing {
  padding-right: 0;
  padding-left: 0;
  width: 300px;
  text-align: center;
  line-height: 19px;
}

.entry__companyContent {
  width: 95%;
  color: #fff;
  font-size: 8px;
  line-height: 12px;
}

.archive .entry__illust2 {
  top: 80px;
  left: 40px;
  width: 200px;
}

/*==========================================================================
    archive-entry
==========================================================================*/
.archive {
  padding-top: 80px;
}

/* タブ切り替え */
ul.tab li.active a {
  /*選択中のタブ*/
  color: #333;
  font-weight: bold;
}

.tab_area {
  /*切り替え部分非表示*/
  display: none;
}

.tab_content {
  margin-top: 80px;
}

.tab_area ul {
  display: grid;

  grid-template-columns: 25% 25% 25% 25%;
}

.tab_content ul li {
  /*内容のリスト表示*/
  clear: both;
  /*画像有りの場合*/
  margin: 0 auto 40px;
  width: 290px;
}

.tab_content .entry__item:last-child {
  margin-right: auto;
}

.tab_content ul li a {
  text-align: center;
}

/*==========================================================================
    footer
==========================================================================*/

footer {
  position: relative;
  padding-top: 32px;
  padding-bottom: 40px;
  background-color: #ffc948;
}

.coalecingLine {
  position: absolute;
  bottom: -12px;
  left: 0;
  z-index: 2;
  width: 100%;
}

.nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.nav__item {
  margin-right: 24px;
  font-size: 16px;
}

.nav__item:last-child {
  margin-right: 0;
}

.nav__item > a {
  color: #463631;
}

.text__red {
  color: #e60012;
  font-weight: bold;
}

.footer__contents {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.footer__content-inner {
  display: flex;
}

.footer__content-inner > p {
  line-height: 24px;
}

.footer__content-innerTextA {
  margin-right: 40px;
  width: 64px;
  font-weight: bold;
}

.footer__left {
  margin-right: 12px;
  padding: 16px 44px;
  outline: 2px dashed #ea5532;
  outline-offset: -6px;
}

.footer__left > .text__large {
  margin-bottom: 24px;
}

.footer__right-top {
  padding: 12px 84px;
  width: 624px;
  outline: 2px dashed #8ec31f;
  outline-offset: -6px;
  background-color: #fff;
}

.footer__right-top > .text__large > .text__red {
  margin-right: 12px;
}

/* ここからgrid */

.footer__right-bottom {
  display: grid;
  margin-top: 12px;

  grid-template-columns: 100px 100px 100px 100px 100px 100px;
  grid-template-rows: 60px 60px;
  gap: 12px 6px;
}

.contact__hp .text {
  text-align: center;
}

.footer__right-bottom .contact__tel {
  padding: 8px;
  width: 200px;

  grid-column-start: 1;
  grid-column-end: 3;
}

.footer__right-bottom .contact__fax {
  display: flex;
  padding: 8px 16px;
  width: 200px;

  grid-column-start: 3;
  grid-column-end: 5;
}

.footer__right-bottom .contact__mail {
  width: 200px;

  grid-column-start: 5;
  grid-column-end: 7;
}

.footer__right-bottom .contact__fax p {
  line-height: 24px;
}

.footer__right-bottom .fa-envelope {
  margin-right: 8px;
  padding-left: 16px;
  width: auto;
}

.contact__mail-footer {
  display: flex;
  width: 200px;
  height: 60px;
}

.footer__fa-line {
  margin-right: 8px;
  font-size: 40px;
}

.contact__line {
  margin-right: 12px;
  padding: 10px 48px;
  width: 306px;
  height: 60px;

  grid-column-start: 1;
  grid-column-end: 4;
}

.contact__line > .text {
  display: flex;
  line-height: 26px;
}

.contact__line span {
  line-height: 40px;
}

.contact__hp {
  padding: 8px 28px;
  width: 306px;
  height: 60px;

  grid-column-start: 4;
  grid-column-end: 7;
}

.contact__hp > .text {
  display: flex;
  line-height: 26px;
}

.contact__hp > .text > span {
  margin-right: 8px;
  line-height: 45px;
}

.copyright {
  margin-top: 40px;
}

.top__btn {
  position: fixed;
  bottom: 60px;
  left: 90%;
  z-index: 10;
  box-shadow: 0 3px 6px #00000029;
  color: #685127;
  font-size: 18px;
}

.top__btn:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 108px;
  height: 108px;
  border: dashed 2px #e60012;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 0px 0px 5px #fff;
  content: '';
  transform: translate(-50%, -50%);
}

.top__btn-text {
  position: relative;
  display: block;
  color: #685127;
  text-align: center;
  line-height: 24px;
}

.line-through {
  text-decoration: line-through;
}
.u-textSmall {
  display: block;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  /*==========================================================================
    z-index(sp)
==========================================================================*/

  .btn__event {
    z-index: 2;
  }

  /*==========================================================================
    共通
==========================================================================*/

  .pc {
    display: none !important;
  }

  .sp {
    display: block;
  }

  .page__inner {
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 80px;
    width: 95%;
  }

  .title__spSize {
    position: relative;
    font-size: 32px;
  }

  .text__large {
    font-size: 18px;
  }

  /*==========================================================================
    topPage
==========================================================================*/

  /* 共通 */
  .title {
    font-size: 32px;
  }

  .text {
    text-align: left;
  }

  /* header */
  header {
    padding-right: 16px;
    padding-left: 16px;
    height: 64px;
  }

  .header__contactArea > .contact__tel > .fa-phone-alt {
    width: 100%;
    text-align: center;
  }

  .header__contactArea > .contact__mail {
    width: 56px;
    height: 56px;
    text-align: center;
  }

  .logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 56px;
  }

  .header__contactArea > .contact__tel,
  .drawer {
    width: 56px;
    height: 56px;
  }

  .header__contactArea > a > i {
    margin-right: 0;
  }

  .drawr {
    padding: 0;
    width: 75%;
  }

  .drawer__menu {
    margin-top: 108px;
  }

  .drawer__item-first,
  .drawer__item {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 18px;
  }

  .drawer__contact .contact__mail,
  .drawer__contact .contact__tel {
    width: 200px;
  }

  /* top */
  .top__image-1 {
    top: 38%;
    left: 30vw;
    width: 30%;
  }

  .top__image-2 {
    top: 43%;
    left: 63vw;
    width: 30%;
  }

  .top .btn__homesewing span {
    color: #e60012;
  }

  .btn__homesewing {
    position: relative;
    top: unset;
    right: unset;
    display: block;
    margin: 0 auto 28px;
    padding: 5px 0;
    width: 272px;
    height: 32px;
    outline: 2px dashed #ffa500;
    background-color: unset;
    box-shadow: unset;
    color: #463631;
    text-align: center;
    font-size: 14px;
    transform: none;
  }

  /* main */
  .news {
    display: block;
  }

  .news__items {
    margin-left: 0;
  }

  .news__item {
    display: block;
  }

  .text__news {
    margin-left: 0;
  }

  .text__about {
    margin-top: 24px;
  }

  /* topic */
  .header__theme {
    font-size: 16px;
  }

  .topic__illust {
    top: -16%;
    left: 35%;
    width: 30%;
    transform: rotate(270deg);
  }

  .topic__illust2 {
    bottom: -7%;
    left: 35%;
    width: 30%;
    transform: rotate(270deg);
  }

  .topic {
    padding-top: 104px;
  }

  /* theme */
  .theme__content {
    display: block;
    margin-top: 40px;
  }

  .theme__image {
    margin: 0 auto;
    width: 90%;
  }

  .theme__text {
    margin: 40px auto 0;
    width: 95%;
  }

  /* event */
  .event__contents {
    display: block;
  }

  .event__content-first {
    margin-right: 0;
  }

  .title__sub {
    text-align: center;
  }

  .event__text {
    margin: 16px auto 0;
    width: 95%;
  }

  /* entry */
  .entry {
    padding-bottom: 120px;
  }

  .entry__illust2 {
    top: 16px;
    left: 16px;
    width: 24%;
  }

  .entry__headerText {
    margin: 12px auto 0;
    width: 66%;
    text-align: center;
  }

  .btn__sewing {
    padding-top: 9px;
  }

  .entry__items {
    display: block;
  }

  .entry__item {
    margin: 0 auto 40px;
  }

  .entry__item:last-child {
    margin: 0 auto 0;
  }

  .btn__event {
    position: relative;
    margin-bottom: 0;
  }

  .top__btnWrapper li {
    margin-right: 32px;
    width: 160px;
  }

  .top__btnWrapper li:last-child {
    margin-right: 0;
    width: 160px;
  }

  .top__btnWrapper .btn__sewing {
    padding-right: 0;
    padding-left: 0;
  }

  .top__entry .entry__companyName {
    font-size: 16px;
  }

  .entry .tab_area ul {
    grid-template-columns: 100%;
  }

  /* sns */
  #sb_instagram #sbi_images {
    display: flex;
  }

  .title__small {
    font-size: 24px;
  }

  .sns__text {
    text-align: center;
    font-size: 18px;
  }

  /* access */
  .text__place {
    margin-top: 8px;
    text-align: center;
  }

  .access__contents {
    display: block;
  }

  .map {
    margin: 0 auto;
    width: 95%;
  }

  .map iframe {
    width: 100%;
  }

  .access__content {
    margin-top: 40px;
    margin-left: 0;
    padding-right: 18px;
    padding-left: 18px;
    border: none;
  }

  .access__text {
    margin-left: 0;
  }

  /* footer */

  .footer__contents {
    flex-direction: column;
  }

  .footer__nav {
    display: none;
  }

  .footer__left {
    margin-right: 0;
    padding: 18px 21px;
  }

  .footer__content-inner {
    margin-bottom: 12px;
  }

  .footer__content-innerTextB {
    font-size: 14px;
  }

  .footer__right-top {
    margin-top: 12px;
    padding: 16px 27px;
    width: 100%;
  }

  .footer__right-top > .text__large > .text__red {
    margin-right: 24px;
  }

  .fa-envelope {
    margin-right: 8px;
    width: auto;
  }

  .copyright {
    text-align: center;
  }

  /*==========================================================================
    outline
==========================================================================*/
  .outline__image {
    width: 40px;
  }

  /*==========================================================================
    archive
==========================================================================*/
  .archive .btnWrapper {
    flex-wrap: wrap;
  }

  .btn__all {
    margin-right: 0;
    width: 332px;
  }

  .archive .btn__mishin {
    margin-top: 12px;
    margin-right: 12px;
    width: 160px;
  }

  .archive .btn__sewing {
    margin-top: 12px;
    width: 160px;
  }

  .archive .entry__items {
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 24px;
  }

  .archive .entry__item {
    margin-right: auto;
    margin-bottom: 24px;
    padding: 10px 10px 16px 10px;
    width: 158px;
    background-color: #ffa500;
  }

  .archive .entry__itemArea {
    padding: 0;
  }

  .archive .entry__image {
    padding: 0;
  }

  .archive .entry__illust2 {
    top: 12px;
    left: 12px;
    width: 100px;
  }

  .entry__companyName {
    font-size: 12px;
  }

  .tab_content {
    margin-top: 40px;
  }

  .tab_area ul {
    display: grid;

    grid-template-columns: 50% 50%;
  }
}

@media screen and (max-width: 480px) {
  /*==========================================================================
    基本レイアウト
==========================================================================*/

  .archive,
  .outline,
  .newsPage,
  .eventPage,
  .entryPage {
    padding-top: 64px;
  }

  .WavyLine {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;

    -o-object-fit: none;
    object-fit: none;
  }

  .coalecingLine {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;

    -o-object-fit: none;
    object-fit: none;
  }

  .topic__illust {
    top: -7%;
    left: 35%;
  }

  .btn__instagram {
    top: -50%;
  }

  .access__content .title__sub {
    font-size: 24px;
  }

  .map iframe {
    height: 248px;
  }

  .archive .entry__illust2 {
    top: 76px;
  }

  .entryCompany__item {
    display: block;
    margin-top: 40px;
  }

  .entryCompany__image {
    margin: 0 auto;
  }

  .entryCompany__image img {
    width: 100%;
  }

  .entry__pageShare {
    justify-content: flex-end;
    margin-top: 14px;
  }

  .entryPage .entry__companyName {
    margin-bottom: 40px;
    font-size: 24px;
  }

  .entryPage__td-left {
    padding: 8px 4px;
  }

  .entryPage .btnWrapper {
    display: block;
    margin-top: 40px;
  }

  .entryPage .btn__map {
    margin: 0 auto;
  }

  .entryPage .btn__entry {
    margin: 0 auto;
    margin-top: 28px;
  }

  .outline__image-news {
    position: absolute;
    top: 10px;
  }

  /* ここからgrid */

  .footer__right-bottom {
    display: grid;
    margin-top: 12px;

    grid-template-columns: 59% 39%;
    grid-template-rows: 60px 60px;
    gap: 4% 2%;
  }

  .contact__hp {
    order: 1;
    width: 100%;
    outline: 2px dashed #8ec31f;

    grid-column-start: unset;
    grid-column-end: unset;
    grid-column-start: 1;
    grid-column-end: 3;
  }

  .contact__hp .text {
    text-align: center;
  }

  .footer__right-bottom .contact__tel {
    order: 2;
    padding-left: 16px;
    width: 100%;

    grid-column-start: unset;
    grid-column-end: unset;
  }

  .footer__right-bottom .contact__mail {
    order: 3;

    grid-column-start: unset;
    grid-column-end: unset;
  }

  .footer__right-bottom .contact__fax {
    display: flex;
    order: 4;
    padding: 8px 16px;
    width: 100%;

    grid-column-start: unset;
    grid-column-end: unset;
  }

  .footer__right-bottom .contact__line {
    order: 5;

    grid-column-start: unset;
    grid-column-end: unset;
  }

  .footer__right-bottom .contact__fax p {
    line-height: 24px;
  }

  .footer__right-bottom .fa-line {
    display: block;
    margin: 0 auto;
    text-align: center;
  }

  .footer__right-bottom .fa-envelope {
    padding-left: 8px;
    width: 100%;
  }

  /*==========================================================================
    contact-page
==========================================================================*/
  input[type='text'],
  input[type='tell'],
  input[type='url'],
  input[type='email'],
  textarea {
    font-size: 16px;
  }

  .contact-form tr {
    display: flex;
    flex-direction: column;
  }

  .contact-form th {
    width: 100%;
  }

  .contact-form td {
    width: 100%;
  }
}

@media screen and (max-width: 320px) {
  .top__btnWrapper li:last-child {
    margin-right: 5px;
    width: 140px;
  }

  .archive .btn__mishin,
  .archive .btn__sewing {
    margin-right: 0;
    width: 150px;
  }

  .footer__right-bottom .contact__fax p {
    font-size: 12px;
  }

  .footer__right-bottom .contact__tel p {
    font-size: 12px;
  }

  .footer__right-bottom .contact__tel span {
    font-size: 8px;
  }
}
.event__contentItem {
  width: 100%;
}
.event__contentItem:not(:first-of-type) {
  margin-top: 20px;
}
.p-seminorList {
  border: 6px solid #e6bea0;
  padding: 40px;
  background: #fff;
  box-shadow: 0 3px 6px #00000029;
  margin-top: 40px;
}
.p-seminorItem {
  padding: 16px 0;
  text-align: left;
}
.p-seminorItem:not(:first-of-type) {
  border-top: 1px solid #000;
}
.p-seminorDate {
  font-weight: 700;
  color: #333;
  font-size: 14px;
  text-align: left;
}
.p-seminorTitle {
  text-align: left;
  font-size: 24px;
  font-weight: 700;
}
@media (max-width: 600px) {
  .p-seminorTitle {
    font-size: 20px;
  }
}
.p-seminorClockIcon {
  margin-right: 8px;
}

@media (max-width: 600px) {
  .p-seminorDescription {
    font-size: 14px;
    line-height: 1.4;
  }
}

@media (max-width: 600px) {
  .event .title__sub,
  .page-template-page-event .title__sub {
    font-size: 24px;
  }
}

.is-spOnly {
  display: none;
}
@media (max-width: 600px) {
  .is-spOnly {
    display: block;
  }
}

.entryPage__td-left {
  font-weight: 700;
}

.gradient-text {
  background: linear-gradient(to bottom, #fce516, #f78d23, #ee1a68);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  margin-inline: auto;
}

.btn-flex {
  display: flex;
  gap: 20px;
}
@media (max-width: 600px) {
  .btn-flex {
    flex-direction: column;
    gap: 8px;
    margin: 16px 0 40px;
  }

  .btn-flex .btn__event {
    margin-top: 0;
  }
}

.fixed-technology-img {
  position: fixed;
  top: 0;
  left: 0;
}

.page__inner {
  position: relative;
  z-index: 2;
}

/* ファクトリーコーナー新設のお知らせ */
.p-home__factory-corner-news {
  padding: 80px 0;
  position: relative;
}

.p-home__factory-corner-news-bg {
  width: 800px;
  max-width: 100%;
  opacity: 0.2;
  position: absolute;
  right: 0;
  bottom: 0;
}

.p-home__factory-corner-news-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .p-home__factory-corner-news-title {
    font-size: 20px;
  }
}

.p-home__factory-corner-bubble {
  font-weight: 700;
  line-height: 1.8;
  position: relative;
  display: flex;
  width: fit-content;
  padding: 0.25rem 5.75rem;
  border-radius: 0.5rem;
  background: #ffad00;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-home__factory-corner-bubble {
    padding: 0.25rem 2.5rem;
    width: 100%;
  }
}

.p-home__factory-corner-bubble::after {
  position: absolute;
  top: 100%;
  width: 0.9375rem;
  height: 0.8125rem;
  content: '';
  background: #ffad00;
  clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}

.p-home__factory-corner-news-contents {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr;
  width: 1100px;
  max-width: 100%;
  margin: 20px auto 0;
}

.p-home__factory-corner-news-lead-text {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 768px) {
  .p-home__factory-corner-news-lead-text {
    width: 100%;
    text-align: left;
  }
}

.p-home__factory-corner-news-description-wrapper {
  display: flex;
  gap: 40px;
}
@media (max-width: 768px) {
  .p-home__factory-corner-news-description-wrapper {
    flex-direction: column;
  }
}

.p-home__factory-corner-news-description-title {
  font-size: 18px;
  font-weight: 700;
}

.p-home__factory-corner-news-description-text {
  margin-top: 16px;
}

.p-home__factory-corner-bubble-text {
  font-size: 24px;
}
@media (max-width: 768px) {
  .p-home__factory-corner-bubble-text {
    text-align: center;
    font-size: 20px;
  }
}

.c-event-card {
  margin-top: 40px;
  width: 1100px;
  max-width: 100%;
  margin-inline: auto;
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 768px) {
  .c-event-card {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.c-event-card__item {
  border: 1px solid #cbcaca;
  border-radius: 5px;
  padding: 20px;
  background: #fff;
  position: relative;
}

.c-event-card__dates {
  display: flex;
  gap: 4px;
}

@media (max-width: 768px) {
  .c-event-card__dates {
    flex-direction: column;
  }
}

.c-event-card__date {
  line-height: 1.8;
  font-size: 13px;
  background: #f2eaf9;
  color: #a13ff7;
  padding: 0 8px;
  border-radius: 5px;
  width: fit-content;
  display: flex;
  gap: 4px;
  align-items: center;
  font-weight: 700;
}

.c-event-card__date--pink {
  background: #f9eaf2;
  color: #f73fdb;
}

.c-event-card__date span {
  font-size: 10px;
}

.c-event-card__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 10px;
}

.c-event-card__sub-title {
  font-size: 14px;
  line-height: 1.8;
}

.c-event-card__name {
  font-size: 14px;
  background: #dfdfdf98;
  color: #555454;
  padding: 0 8px;
  margin-top: 16px;
  line-height: 1.8;
  border-radius: 5px;
}

.c-event-card__label {
  position: absolute;
  top: -10px;
  left: -10px;
  background: #e22222;
  color: #fff;
  padding: 0 8px;
  border-radius: 5px;
}

@media (max-width: 768px) {
  .c-event-card__label {
    left: -5px;
  }
}
