@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

#wrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
}

header {
	position: relative;
	width: 100%;
	z-index: 10; /* 他の要素より上に表示 */
}

#h_logo_n.change-color {
  background-color: rgba(255,255,255,.5);
}

header #h_logo_n {
	width: calc(100% - 1.30208333vw*2);
	position: fixed;
	top: 0;
	left: 0;
	padding: 0.5208333vw 1.30208333vw;
	display: flex;
	z-index: 10; /* 他の要素より上に表示 */
	justify-content: space-between;
	align-items: flex-end;
}

header #gnav {
	margin-left: auto;
}

header #gnav ul {
	display: flex;
	z-index: 10; /* 他の要素より上に表示 */
}

header #gnav ul li {
	margin-right: var(--margin-30);
}

header #navArea {
	display: none;
}

header #h_txt {
	position: absolute;
	bottom: var(--margin-150);
}

#box {
	padding: var(--margin-100);
	overflow: hidden;
}

#box02 {
	text-align: center;
	padding: var(--margin-200) var(--margin-100);
	overflow: hidden;
}

#box03 {
	position: relative;
	margin-top: -27.6041666vw;
	padding: 0 var(--margin-100);
}

.sub {
	margin-top: var(--margin-100);
	overflow: hidden;
}

.cont {
	position: relative;
	display: flex;
}

.cont_box {
	margin-top: var(--margin-100);
}

.txt {
	margin: var(--margin-100) 0;
}

.txt02 {
	margin: var(--margin-50) 0 0;
}

.center {
	text-align: center;
}

.box_cont_list {
	width: 52.08333vw;
	margin: var(--margin-100) auto 0;
}

.box_cont_list dl .box_cont_list_box {
	border-bottom: 1px solid #333;
	margin: var(--margin-60) 0;
	padding-bottom: var(--margin-30);
}

.box_cont_list dl .box_cont_list_box:first-child {
	margin-top: 0;
}

.box_cont_list dl .box_cont_list_box:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.box_cont_list dl dt {
	font-size: 1.25vw;
	font-weight: bold;
	margin-bottom: var(--margin-60);
}

.en,
.strengths_box_list dt,
footer .f_catch {
	font-family: "Cormorant Garamond", serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}

.header_catch {
	margin: 50px 0 0;
	font-size: var(--font-size-24);
}

h1 {
	width: 9.01041666vw;
	height: 1.5625vw;
	text-indent: -9999px;
	background: url(https://takeda-tx.co.jp/blog/wp-content/themes/takeda/images/takeda_logo.png)no-repeat bottom;
	background-size: cover;
}

h2 {
	font-size: var(--font-size-76);
}

h2 strong {
	font-size: var(--font-size-100);
}

h2 span {
	padding-left: 1.041666vw;
}

h3 {
	font-size: var(--font-size-48);
}

h3 span {
	margin-right: var(--margin-10);
}

h3 span,
h4 {
	font-size: var(--font-size-36);
}

h5 {
	font-size: var(--font-size-28);
	font-weight: 500;
}

h6 {
	font-size: var(--font-size-18);
	margin: var(--margin-50) 0;
}

h5,
h6 {
	
}

/*========= テキストスライドのCSS ===============*/

#h_loop {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--margin-50);
}

.loop_box {
	position: relative;
	width: 100vw;
	padding: 10px 0;
	left: 50%;
	transform: translateX(-50%);
    overflow: hidden;
}

.loop_box:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	background: rgba(197,182,208,0.7);
    mix-blend-mode: multiply;
    z-index:0;
  }

.loop_wrap {
    display: flex;
    width: 100vw;
	letter-spacing: 0.1em;
    overflow: hidden;
}

.loop_wrap div {
	position: relative;
    flex: 0 0 auto;
	margin: 0;
	padding: 0;
    white-space: nowrap;
    font-size: var(--font-size-18);
	font-weight: normal;
	letter-spacing: 0.1em;
	color: white;
}

.products_bg {
	z-index: 10;
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.products_bg .loop_box {
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	color: white;
    overflow: hidden;
}

.loop_wrap div:nth-child(odd) {
animation: loop 250s -125s linear infinite;
}

.loop_wrap div:nth-child(even) {
animation: loop2 250s linear infinite;
}

@keyframes loop {
    0% {
      transform: translateX(100%);
    }
    to {
      transform: translateX(-100%);
    }
  }
  
  @keyframes loop2 {
    0% {
      transform: translateX(0);
    }
    to {
      transform: translateX(-200%);
    }
  }


/*-- header --*/


/*メインビジュアル*/


/*-- header end --*/


/*-------------------------------
          mainコンテンツ
-------------------------------*/

main {
	position: relative;
	overflow: hidden;
}

.container {
	position: relative;
}

.btn {
	position: relative;
	display: block;
	line-height: 1.041666vw;
	width: 8.333vw;
	height: 1.041666vw;
	margin: var(--margin-150) auto 0;
	padding: 1.04166vw;
	border:1px solid #333;
	transition: 0.5s;
	border-radius: 100px;
	font-size: 0.8333vw;
	overflow: hidden;
}

.btn:after {
	position: absolute;
	content: "→";
	right: 1.041666vw;
}

.btn:hover:after {
  transform: rotate3d(1,0,0,360deg);
  transition: 2s;
}

#about {
}

#about .about_concept {
	position: relative;
}

#about .about_concept .about_concept_img {
	width: 49.01041666vw;
	margin: 0 auto;
}

#about .about_concept .about_concept_img02 {
	position: absolute;
	top: calc(50% - 0.5208333vw);
	left: var(--margin-200);
	transform: translate(-50%, 0);
	font-size: var(--font-size-28);
}

#about .about_concept .about_concept_img02 img {
	width: 100%;
}

#about .about_concept ul {
	width: 49.635416666vw;
	margin: 0 auto;
}

#about .about_concept ul li {
	position: relative;
	z-index: 0;
	width: 14.63541666vw;
	height: 14.63541666vw;
	display: flex; /* Flexboxコンテナにする */
	justify-content: center; /* 水平方向を中央揃え */
	align-items: center; /* 垂直方向を中央揃え */
	margin-left: -10px;
	border-radius: 50%;
	border: 1px solid #333;
	background-color: #f5f4f0;
	font-size: var(--font-size-24);
}

#about .about_concept ul li:first-child {
	margin-left: 0;
}

#about .about_concept ul li:last-child {
	margin-right: 0;
}

#about .about_concept ul li.line {
	position: relative;
	z-index: 5;
	width: 70px;
	height: 1px;
	align-self: center;  /* ラインを円のセンターに配置 */
	margin: 0 0 0 -10px;
	border-radius: 0%;
	border: none;
	background-color: transparent; /* 背景色を透明に */
	border-top: 1px dashed #333; /* 点線のスタイル */
	font-size: 0;
}

.title_box {
	margin-bottom: var(--margin-80);
	font-weight: 700;
}

.under {
	display: inline-block;
	margin-bottom: var(--margin-20);
	padding-bottom: 10px;
	border-bottom: 1px solid #333;
	font-size: var(--font-size-24);
}

.underline {
	position: relative;
	text-align: center;
	margin-bottom: var(--margin-20);
	font-size: var(--font-size-24);
}

.underline::before {
	background-color: #333; /* 線の色 */
	bottom: -10px; /* 線の位置 */
	content: "";
	height: 1px; /* 線の高さ */
	left: 50%; /* 線の中央寄せ */
	position: absolute;
	transform: translateX(-50%); /* 線の中央寄せ */
	width: 1.5625vw; /* 線の長さ */
}

.fadeInUp {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.6s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* 初期状態は透明で下に配置 */
.fade-in-up {
  opacity: 0;
  transform: translateY(100px); /* 下から表示されるように */
  transition: opacity 1.0s ease-out, transform 1.0s ease-out; /* 1秒で滑らかに表示 */
}

/* スクロールしてきたときに表示されるクラス */
.is-visible {
  opacity: 1;
  transform: translateY(0); /* 元の位置に戻す */
}

.image-item {
  opacity: 0;
  transform: translateX();  /* 初期位置を左に設定してスライドイン効果 */
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.is-visible .image-item {
  opacity: 1;
  transform: translateX(0);  /* 画面内に入ったときに元の位置に戻る */
}


.fadeIn1s {
    transition-delay: 0s;
}


.fadeIn1200ms {
    transition-delay: 0.5s;
}

.fadeIn1500ms {
    transition-delay: 0.7s;
}

.fadeIn1400ms {
    transition-delay: 1.4s;
}

.fadeIn1600ms {
    transition-delay: 1.6s;
}

.fadeIn2000ms {
    transition-delay: 1s;
}

.fadeIn2003ms {
    transition-delay: 1.3s;
}

.fadeIn2s {
    transition-delay: 1.2s;
}

.fadeIn21s {
    transition-delay: 1.5s;
}

.fadeIn22s {
    transition-delay: 1.7s;
}

.fadeIn26s {
    transition-delay: 2.0s;
}

.fadeIn23s {
    transition-delay: 2.2s;
}

.fadeIn24s {
    transition-delay: 2.9s;
}

.fadeIn25s {
    transition-delay: 3.6s;
}

.fadeIn2500ms {
    transition-delay: 2.4s;
}

.fadeIn2800ms {
    transition-delay: 2.9s;
}

.fadeIn3500ms {
    transition-delay: 3.5s;
}

#info .info_box_list:last-child,
#company .txt {
	margin-bottom: 0;
}

#info .info_box_list dt {
	margin-right: var(--margin-60);
}

#oem {
	background-color: #bdbfa3;
}

#oem h3,
#company h3,
#info h3,
#info .info_box {
	margin-bottom: var(--margin-100);
}

#oem h4 {
	background-color: #bdbfa3;
}

#oem .oem_img {
	width: 100%;
	height: 0;
	padding-top: 60.0493218249%;
	background: url("https://takeda-tx.co.jp/blog/wp-content/themes/takeda/images/oem_img.png")no-repeat center center;
	background-size: cover;
}

#info .info_box_list {
	position: relative;
	display: flex;
	margin-bottom: var(--margin-30);
	padding: 1.0416666vw 0;
	font-size: 0.9375vw;
	border-bottom: 1px solid #333;
}

#info .info_box_list dl dt {
	font-size: 0.9375vw;
}

#info .info_box_list .arrow {
	position: absolute;
	right: 0;
}

#ourbusiness {
	text-align: center;
}

#businessmvimgbox,
#recruit #imgbox,
#blog #imgbox {
	margin-top: 2.86458333vw;
}

#businessmvimgbox {
	position: relative;
	width: 100%;
	height: calc(100vh - 2.86458333vw);
	overflow: hidden;
}

#businessmvimgbox video {
	position: absolute;
	bottom: 0;
	left: 0;
    width: 100%;
	height: calc(100vh - 2.86458333vw);
    object-fit: cover;
	object-position: center bottom;
}

#business_img {
	position: relative;
	padding-bottom: var(--margin-100);
}

#business_img .business_img_back {
	height: 27.6041666vw;
}

.business_img {
	height: 23.958333vw;
}

.business_img06 {
	width: 35.41666vw;
}

.business_img07 {
	width: auto;
	margin-left: var(--margin-30);
}

#business_img .business_img_back,
#products,
#textiledesign .business_img_back {
	background-color: #f5f4f0;
}

#products {
	padding: var(--margin-150);
}

#products .products_title,
#products ul {
	margin-right: var(--margin-100);
	text-align: left;
}

#products ul {
	margin-bottom: var(--margin-70);
}

#products ul:last-child {
	margin-right: 0;
}

#products ul li {
	margin-bottom: var(--margin-15);
}

#products ul li span {
	margin-right: var(--margin-5);
	font-size: var(--font-size-7);
}

#textiledesign {
	width: 72.91666vw;
	margin: 0 auto;
	padding: var(--margin-150) 0 var(--margin-200);
}

#textiledesign .box_cont_left {
	margin: var(--margin-50) var(--margin-150) 0 0;
	text-align: left;
}

#textiledesign .box_cont_right {
	position: absolute;
	top: var(--margin-150);
	right: 0;
	width: 29.94791666vw;
	z-index: 10;
}

#textiledesign .business_imgback {
	position: relative;
	margin-top: var(--margin-150);
}

#textiledesign .business_img08back {
	position: relative;
	width: 100vw; /* 横幅は画像と同じ */
  height: 28.90625vw; /* 高さを画像の70%に設定 */
  background-color: #f5f4f0; /* 背景色 */
  z-index: -1; /* 背景に配置 */
}

#textiledesign .business_img08 {
	position: absolute;
	top: 0;
	left: 0;
	width: 34.63541666vw;
	display: inline-block; /* 画像のサイズに合わせた幅 */
}

/*#textiledesign .business_img08::before {
  content: '';
  position: absolute;
  left: 0;
  width: 100vw;
  height: 28.90625vw;
  background-color: #f5f4f0;
  z-index: -1;
}*/

.textiledesign_back {
	position: relative;
	width: 100%;
}

#textiledesign .business_img_back {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 200%;
	height: 28.90625vw;
	z-index: 0;
	background-color: #ddd; /* 背景色の例 */
	z-index: -1; /* 背景が画像の下に来るように */
}

.w_pro_box {
	display: flex;
	flex-direction: column;
	align-items: center; /* 中央寄せ */
	justify-content: center; /* 縦方向の中央揃え */
	margin: 0 auto; /* 中央寄せ */
}

#fourimg div {
	width: calc(100%/4);
	
}

#threeimg div img,
#fourimg div img {
	width: 100%;
	vertical-align: bottom;
	object-fit: cover;
}

#recruit .slideBox img,
#blog .slideBox img {
	height: 31.25vw;
}

#company_l .box_cont_list.cont_box table tr th,
#recruit .box_cont_list.cont_box table tr th {
	width: 13.0208333vw;
}

#recruit .box_cont_list.cont_box h5 {
	margin-bottom: var(--margin-50);
}

/* スライダーコンテナの設定 */
.sliderArea {
	width: 28.125vw;
	height: 42.708333vw; /* 最大幅を設定 */
	margin-right: var(--margin-30);
	padding-bottom: var(--padding-100);
}

/* スライド内の画像を100%の幅で表示 */
.slick-slide img {
	width: 100%;
	height: 42.708333vw; /* 固定の高さを設定 */
	object-fit: cover;
}

.slick-dots {
	margin-top: var(--margin-30);
}

/* 非アクティブなドットの表示（色を薄くして目立たなくする） */
.slick-dots li button:before {
    width: 8px;  /* 非アクティブなドットの幅 */
    height: 8px; /* 非アクティブなドットの高さ */
    border-radius: 50%;  /* ドットを丸くする */
    background-color: rgba(0, 0, 0, 0.3);  /* 非アクティブなドットの色（薄い黒） */
    opacity: 0.4;  /* 非アクティブなドットの透明度 */
    content: '';  /* 必要であればここでコンテンツを消す */
}

/* アクティブなドットのサイズと色 */
.slick-dots li.slick-active button:before {
    width: 8px;  /* アクティブなドットの幅 */
    height: 8px; /* アクティブなドットの高さ */
    background-color: #666;  /* アクティブなドットの色（オレンジ） */
    opacity: 1;  /* アクティブなドットは完全に表示 */
}

/* ドットの間隔を調整 */
.slick-dots li {
    margin: 0 2px; /* 各ドット間の間隔 */
}

.bbox_cont {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.box_cont {
	width: calc(100% - 2.6041666vw);
}

.box_cont_left {
	position: relative;
    margin-right: var(--margin-100);
}

.box_cont_right {
	position: relative;
}

.sub h2,
#business h2 {
	font-size: var(--font-size-32);
	font-weight: 500;
	color: #333;
}

.sub h2 strong {
	font-size: var(--font-size-32);
	margin-left: var(--margin-30);
}

.sub h3 {
	margin-top: var(--margin-100);
	font-size: var(--font-size-48);
}

#map iframe {
	width: 100%;
	height: 400px; /* 固定の高さに設定 */
}

#map {
	height: 26.041666vw;
	min-height: 400px; /* 固定の高さに設定 */
}

.map_add {
	margin: var(--margin-30) 0 var(--margin-100);
}

.map_add .googlemaplink {
	margin-top: var(--margin-30);
}

.map_add .googlemaplink a {
	color: #aaa;
}

.map_add .googlemaplink a:hover{
	color: red;
}

#tokyomap .map_add {
	margin-bottom: 0;
}

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

.form_area {
	position: relative;
	overflow: hidden;
}

.form_area table th {
	width: 10.41666vw;
	font-weight: normal;
	vertical-align: top;
}

.form_area table th span {
	margin-left: var(--margin-10);
	color: red;
	font-size: var(--font-size-12);
}

.form_area table th,
.form_area table td {
	border-bottom: none;
}

.form_area table th:last-child,
.form_area table td:last-child {
	padding-bottom: 0;
}

.form_area table td .textarea {
	width: calc(100% - 2.083333vw);
	padding: var(--padding-20);
	background-color: #eae3da;
	border: none;
}

.form_area table td.input-container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.form_area table td span {
	flex-shrink: 0;
	width: 5.208333vw;
}

.input-container:last-child .label {
  margin-left: var(--margin-10);
}


.form_area .form_privacy {
	margin: var(--margin-50) 0 var(--margin-50);
	padding: var(--padding-20);
	border: 1px solid #eae3da;
}

.scroll-container {
	width: calc(100% - 2.1875vw);
	height: 10.41666vw;
	overflow-y: auto;
	border: 1px solid #333;
	padding: var(--padding-20);  /* 内部の余白 */
	background-color: #fefefe;  /* 背景色 */
	margin: var(--margin-50) 0;  /* 上下の余白 */
}

.scroll-container h6 {
  margin-top: 0;
}

.scroll-container h6,
.scroll-container p strong {
	font-weight: 700;
}

.policy-check{
    width: 100%;
    max-width: 200px;
    padding: 15px;
    border: 1px solid;
    display: block;
    text-align: center;
    margin: 0 auto;
    color: #000;
}
.policy-check.-disabled{
    border: 1px solid #ccc;
    color: #ccc;
}

.privacy-comment {
	margin-bottom: var(--margin-50);
	text-align: center;
}

.check-disabled {
	margin-top: var(--margin-20);
}

.submit,
.submit_back {
	border: none;
}

.form_area table td .h_textarea {
	height: 250px;
}

.thanks {
	margin: var(--margin-200) 0;
	text-align: center;
}

/*フォームボタン*/

.form_submit {
	text-align: center;
}

.form_submit .submit {
	position: relative;
	width: 13.0208333vw;
	height: 3.6458333vw;
	background-color: white;
	border:1px solid #333;
	border-radius: 100px;
	font-size: var(--font-size-21);
	overflow: hidden;
}

.form_submit .submit_back {
	
}

.sex label {
	margin-right: 20px;
}

input::placeholder,
textarea::placeholder,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: white;
}

input[type=radio] {
	margin-right: 5px;
}

input[type=radio] ,
input[type=checkbox] {
	accent-color: #;
}

#formconfirm dl#confirm{
	
}

#formconfirm div.button {
	text-align: center;
}

#applicant .note {
	margin: 50px 0;
	text-align: center;
}

/*-- main end --*/



/*-- footer  --*/

footer {
	position: relative;
left: 0;
  bottom: 0;
	width: calc(100% - var(--margin-200));
	padding: var(--margin-100);
	background-color: #3f3f3f;
	color: white;
	text-align: left;
	line-height: normal;
}

footer a {
	color: white;
}


footer .cont {
	position: relative;
}

footer .box_cont_left {
	margin: var(--margin-70) var(--margin-100) 0 0;
}

footer .box_cont_right {
	width: 31.25vw;
	margin-right: var(--margin-100);
}

footer #f_nav ul,
footer #f_add {
	position: relative;
	display: flex;
}

footer #f_nav ul li {
	margin-right: var(--margin-20);
	font-size: var(--font-size-16);
	padding-right: var(--padding-20);
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	border-right: 1px solid #fff;
}

footer #f_nav ul li:last-child {
	margin-right: 0;
	padding-right: 0;
	border-right: none;
}

footer .f_catch {
	margin-top: var(--margin-150);
	font-size: var(--font-size-100);
}

footer #f_add_box {
	
}

footer #f_add .f_add_list {
	width: 50%;
	margin-top: var(--margin-10);
	font-size: var(--font-size-14);
}

footer #f_add .f_add_list h6 {
	margin: 0 0 var(--margin-30);
	font-weight: bold;
}

header #gnav ul li:last-child,
footer #f_nav ul li:last-child,
footer #f_add .f_add_list:last-child {
	margin-right: 0;
}

footer #f_add .f_add_list p {
	
}

footer #contact_box {
	margin-top: var(--margin-5);
}

footer .f_logo {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 11.666vw;
	height: 1.92708333vw;
	background: url("https://takeda-tx.co.jp/blog/wp-content/themes/takeda/images/white_takeda_logo.png")no-repeat;
	background-size: contain;
	display: block;
	text-indent: -9999px;
}

footer .copyright {
	margin-top: var(--margin-40);
}

footer .copyright strong {
	
}

/*-- BLOG css --*/
#blog .box_cont_list,
.postbox,
.post-navigation {
	display: flex;
}

#blog .box_cont_list {
	width: 78.125vw;
}

#blog .title {
	margin-left: var(--margin-50);
}

#blog .box_cont_list .leftcont {
	flex: 1;
	margin-right: var(--margin-100);
}

.sidebar {
	width: auto;
	background-color: initial;
}

.sidebar .widget-title {
	font-size: 14px;
	font-weight: bold;
}

.widget {
	margin-bottom: var(--margin-50);
}

.sidebar ul li,
.page-numbers li {
	font-size: 12px;
}

.post {
	padding: var(--margin-25) 0;
	border-top: 1px solid #333;
}

.post:last-of-type {
	border-bottom: 1px solid #333;
}

.page-numbers {
    list-style: none;
    display: flex;
    gap: 8px;
	margin-top: var(--margin-25);
    padding: 0;
}

.page-numbers li {
    display: inline-block;
}

.page-numbers a,
.page-numbers span {
    display: block;
    padding: 6px 12px;
    background: #f0f0f0;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
}

.page-numbers .current {
    font-weight: bold;
    background: #333;
    color: #fff;
}

.nav-previous {
	margin-right: 30px;
}

.post-title {
	font-size: 16px;
}

.post-meta time {
    font-size: 14px; /* ← 任意のサイズに変更 */
}

.post-navigation,
.post-content p {
    font-size: 12px; /* ← 任意のサイズに変更 */
}

.post-content {
	margin-top: var(--margin-50);
}

/*-- footer end --*/

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


}

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

	
}

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


}


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

	
}

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

}


/*-- ここからスマホcss START --*/
@media only screen and ( max-width : 767px ) {
	
h1 {
	width: 120px;
	height: 21px;
}

h2 {
	font-size: 9.908735332464145vw;
}

h2 strong {
	font-size: 11vw;
}

h2 span {
	padding-left: 1.041666vw;
}

h3 {
	font-size: 4.8vw;
}

h3 span {
	margin-right: var(--margin-10);
}

h3 span,
h4 {
	font-size: 3.6vw;
}

h5 {
	font-size: 16px;
	font-weight: 500;
}

h6 {
	font-size: 2.737940026075619vw;
	margin: var(--margin-100) 0;
}
	
header #h_logo_n {
	display: block;
	padding: 20px 10px;
}
	
header #gnav {
	display: none;
}
	
header #navArea {
	display: block;
	z-index: 10;
}
	
header #h_txt {
	bottom: 15vw;
}
	
.header_catch {
	margin: 50px 0 0;
	font-size: 3.129074315514994vw;
}
	
.loop_wrap div {
    font-size: 1.4vw;
}
	
.title_box {
	
}
	
.txt {
	margin: 30px 0;
}
	
.under {
	font-size: 14px;
}
	
.btn {
	margin: 50px auto;
}
	
/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  right: -300px;
  bottom: 0;
  width: 300px;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: .5s;
  z-index: 3;
}
	
.open nav {
	right: 0;
}
	
nav .snav {
  padding: 25px;
}
nav .snav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .snav ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .snav ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .snav ul li a:hover {
  background: #e4e4e4;
}
@media screen and (max-width: 767px) {
  nav {
    right: -240px;
    width: 240px;
  }
}
/*============
@keyframes
=============*/
@keyframes equalizer01 {
  0% {
    width: 70%;
  }
  10% {
    width: 50%;
  }
  20% {
    width: 100%;
  }
  30% {
    width: 10%;
  }
  40% {
    width: 50%;
  }
  50% {
    width: 70%;
  }
  60% {
    width: 50%;
  }
  70% {
    width: 10%;
  }
  80% {
    width: 100%;
  }
  90% {
    width: 10%;
  }
  100% {
    width: 70%;
  }
}
@keyframes equalizer02 {
  0% {
    width: 30%;
  }
  10% {
    width: 20%;
  }
  20% {
    width: 40%;
  }
  30% {
    width: 10%;
  }
  40% {
    width: 20%;
  }
  50% {
    width: 30%;
  }
  60% {
    width: 20%;
  }
  70% {
    width: 10%;
  }
  80% {
    width: 40%;
  }
  90% {
    width: 10%;
  }
  100% {
    width: 30%;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
	display: block;
	position: fixed;
	top: 2.6041666vw;
	right: 2.6041666vw;
	width: 60px;
	height: 30px;
	transform: translate(0, 0);
	transition: all .5s;
	cursor: pointer;
	z-index: 5;
}
.open .toggle_btn {
  left: 2.6041666vw;
}
.toggle_btn span {
  display: block;
  position: absolute;
  right: 0;
  width: 30px;
  height: 2px;
  background-color: #172249;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 5px;
  width: 20px;
  animation: equalizer01 7000ms infinite;
}
.toggle_btn span:nth-child(2) {
  top: 15px;
  width: 30px;
  animation: equalizer02 5000ms infinite;
  animation-delay: 0.33s;
}
.toggle_btn span:nth-child(3) {
  top: 25px;
  width: 60px;
  animation: equalizer02 5000ms infinite;
}
.open .toggle_btn span {
  background-color: #fff;
  width: 30px;
}
.open .toggle_btn span:nth-child(1) {
  transform: translate(0, 10px) rotate(-45deg);
  animation: unset;
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
  animation: unset;
}
.open .toggle_btn span:nth-child(3) {
  transform: translate(0, -10px) rotate(45deg);
  animation: unset;
}
@media screen and (max-width: 767px) {
  .open .toggle_btn {
    right: 20px;
  }
}
/*============
#mask
=============*/
#mask {
  display: none;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
  transition: all .5s;
}
	
.box_cont {
	width: 100%;
}

.box_cont_list {
	width: 100%;
	margin-left: 0;
}
	
.cont {
	display: block;
}

.btn {
	line-height: 20px;
	width: 130px;
	height: 20px;
	padding: 5px 10px;
}
	
.box_cont_list dl dt {
	font-size: 3.129074315514994vw;
}
	
.sub h2,
#business h2 {
	margin-bottom: 50px;
	font-size: 5.215123859191656vw;
}
	
.btn,
#info .info_box_list {
	font-size: 12px;
}
	
#info .info_box {
	margin: 50px 0;
}
	
#info .info_box_list {
	display: block;
	margin-bottom: 10px;
	padding: 20px 0;
	font-size: 12px;
	text-align: left;
}

#info .info_box_list dt,
#info .info_box_list dd	{
	width: 100%;
}
	
#info .info_box_list dt {
	margin: 0 0 20px 0;
}
	
#about .box_cont_left .about_catch {
	position: relative;
}

#about .box_cont_left .about_catch p {
	font-size: 6vw;
}
	
#about dl .strengths_box_list {
	border-radius: 0 10px 0 0;
}
	
#oem .oem_img,
#company .box_cont_right {
	margin-top: 30px;
}
	
#about .about_concept {
	width: 100%;
}
	
#about .about_concept .about_concept_img {
	width: 100%;
	margin: 0 auto;
}

#about .about_concept .about_concept_img02 {
	position: relative;
	margin: 50px auto 30px;
	top: 0;
	left: 0;
	transform: translate(0, 0);
	font-size: 18px;
}

#about .about_concept ul li {
	width: 200px;
	height: 200px;
	margin: -10px 0 0;
	font-size: 16px;
}

#about .about_concept ul li:last-child {
	
}
	
#about .about_concept ul li.line {
	width: 1px; /* 縦線の幅 */
    height: 70px; /* 縦線の高さ */
	margin: -10px auto 0;
    border-top: none; /* 横線のボーダーを無効化 */
    border-left: 1px dashed #333; /* 縦線を点線に */
}

#businessmvimgbox {
	margin-top: 50px;
}
	
.business_img {
	height: auto;
}

.business_img06,
.business_img07,
#textiledesign .box_cont_right,
#textiledesign .business_img08 {
	width: 100%;
}

.business_img07 {
	margin-left: 0;
}

#products .products_title,
#products ul {
	margin: 0 0 30px 0;
}

#products,
#textiledesign {
	padding: 50px 20px;
}

#textiledesign .box_cont_left {
	margin: 50px 0;
}

#textiledesign .business_img08 {
	margin-top: 50px;
}

.w_pro_box,
#textiledesign {
	display: block;
}

#fourimg {
	display: flex;
	flex-wrap: wrap;
}

#fourimg div {
	width: calc(100%/2);
}
	
#textiledesign {
	width: calc(100% - 40px);
	margin: 0 auto;
	padding: 50px 20px;
}

#textiledesign .box_cont_right {
	position: relative;
	top: 50px;
	left: 0;
	right: 0;
	width: 100%;
	margin-bottom: 50px;
	z-index: 10;
}

#textiledesign .business_imgback {
	position: relative;
	margin-top: 0;
}

#textiledesign .business_img08back {
	display: none;
}

#textiledesign .business_img08 {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
}
	
/* スライダーコンテナの設定 */
.sliderArea {
	width: 100%;
	margin-right: 0;
	padding-bottom: 50px;
}

/* スライド内の画像を100%の幅で表示 */
.sliderArea,
.slick-slide img {
	height: 400px; /* 固定の高さを設定 */
}
	
.form_area table th {
	width: 100%;
}
	
.form_submit .submit {
	line-height: 1vw;
	width: 25vw;
	height: 1vw;
	padding: 3vw;
	font-size: 1.8vw;
	overflow: hidden;
}

.form_submit .submit_back {
	
}
	
.form_area table th {
	width: 100%;
	padding-bottom: 0;
}
	
.form_area table td .textarea {
	width: calc(100% - 20px);
	padding: 10px;
}
	
.form_area table td .textarea02 {
	width: calc(100% - 100px);
	padding: 10px;
}
	
.sex label {
	margin: 0;
}
	
.form_area table td.input-container {
	display: block;
	margin: 10px 0;
}
	
.form_area table td.input-containeryear {
	display: flex;
}
	
	.yaerlabel {
		display: none;
	}

.form_area table td span {
	flex-shrink: 0;
	width: 100%;
	margin-left: 0;
}

.input-container:last-child .label {
	width: auto;
	margin-left: 10px;
}
	
.scroll-container {
	width: calc(100% - 22px);
	height: 200px;
	overflow-y: auto;
	border: 1px solid #333;
	padding: 10px;  /* 内部の余白 */
	background-color: #fefefe;  /* 背景色 */
	margin: var(--margin-50) 0;  /* 上下の余白 */
}
	
#company_l .box_cont_list.cont_box table tr th,
#recruit .box_cont_list.cont_box table tr th {
	width: 100%;
}

input::placeholder,
textarea::placeholder,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	font-size: 1.8vw;
}
	
footer .box_cont_left,
footer .box_cont_right {
	margin-right: 0;
}

footer .box_cont_right {
	width: 100%;
}

footer #f_nav ul,
footer #f_add {
	display: block;
}

footer #f_nav ul li {
	margin: 0 0 10px;
	font-size: 10px;
}
	
footer #f_nav ul li {
	margin: 0 0 10px;
	font-size: 10px;
	padding-right: 0;
	border-right: none;
}

footer .f_catch {
	margin: 50px 0;
	font-size: 10vw;
}

footer #f_add .f_add_list {
	margin-bottom: 20px;
	font-size: 9px;
}

header #gnav ul li:last-child,
footer #f_nav ul li:last-child,
footer #f_add .f_add_list:last-child {
	margin-right: 0;
}
	
footer #contact_box {
	margin-top: 0;
}

footer .f_logo {
	position: relative;
	left: 0;
	bottom: 0;
	width: 100px;
	height: 17px;
}
	
footer .copyright {
	margin: 20px 0;
	font-size: 8px;
}
	
/*-- BLOG css --*/
#blog {
	margin-top: 100px;
}
	
#blog .box_cont_list,
.postbox,
.post-navigation {
	display: block;
}

#blog .title {
	margin-left: 0;
}

#blog .box_cont_list .leftcont {
	flex: 0;
	margin-right: 0;
}

#blog .box_cont_list .leftcont,
.sidebar {
	width: 100%;
}

.sidebar .widget-title {
	font-size: 12px;
}

.widget {
	margin: 30px 0 0;
}

.post {
	padding: 20px 0;
}

.page-numbers {
	margin-top: 10px;
}

.nav-previous {
	margin-right: 30px;
}

.post-meta {

}

.post-meta time {
    font-size: 12px; /* ← 任意のサイズに変更 */
}

.post-navigation {
    font-size: 10px; /* ← 任意のサイズに変更 */
}

.post-content {
	margin-top: 50px;
}

.post-content p {
	font-size: 14px;
}

}
