@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */

html {
    font-size: 62.5%;
	scroll-padding-top: 50px;
}

body {
    font-size: 3.6vw;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.65;
    font-weight: normal;
    max-width: 100%;
}

object {
    pointer-events: none;
}

.sp {
    display: block !important;
}

.pc,
.pc.inline_block {
    display: none !important;
}

a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}


/* ---------------------------------------------------------------------------
  ★フォントファミリー
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★LIST
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★BASE
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★タイトル
--------------------------------------------------------------------------- */

.tit02 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    margin: 0 auto 35px;
}

.tit02 b {
    font-size: 5rem;
    line-height: 1.5;
    letter-spacing: 2px;
    display: inline-block;
    position: relative;
}

.tit02 span {
    color: #8c8c8c;
    font-size: 3.6vw;
    display: block;
    line-height: 1;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", cursive, sans-serif, serif;
}


/* ---------------------------------------------------------------------------
  ★テキスト
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★アニメーション
--------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------
  ★グローバルナビゲーション
--------------------------------------------------------------------------- */

.nav_wrp {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 3;
    display: none;
}

.nav_wrp.changed {
    display: block;
}

.nav_site {
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 240px;
    height: 100%;
    padding: 100px 30px 50px;
    position: fixed;
    opacity: 0;
    -webkit-transition: 0.7s;
    transition: 0.7s;
    -webkit-transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
    transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
    background: rgba(0, 0, 0, 0.8);
    overflow-y: auto;
    z-index: 1;
}

.nav_site.active {
    opacity: 1;
    top: 0;
    right: 0;
}


/* =======================================
	★ページャー
========================================== */

.pager {
    width: auto;
    margin: 0 auto;
    padding-bottom: 100px;
}

.wp-pagenavi {
    clear: both;
    font-size: 14px;
    text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    width: 35px;
    height: 35px;
    line-height: 2.6;
    border: 1px solid #000000;
    -webkit-transition: ease-out 0.5s;
    transition: ease-out 0.5s;
    color: #000000;
    font-size: 14px;
    margin: 5px;
    vertical-align: top;
    padding: 0px;
    background-color: #fff;
    border-radius: 4px;
}

.wp-pagenavi span.extend {
    border: 1px solid rgba(245, 245, 245, 0);
}

.wp-pagenavi span.current {
    color: #fff;
    background-color: #000000;
    font-size: 14px;
    vertical-align: top;
    text-decoration: none;
}



/* =======================================
	共通
========================================== */
header {
	top: .5rem;
}
.header_inner {
	padding: 0 1.5rem;
	border-radius: 5px;
}
header .logo a {
	margin: .5rem 0;
}
header .logo svg {
	width: 5.5rem;
}
.hamburger {
	right: 30px;
    top: 6px;
}
.global_nav {
	padding: 5rem 3rem;
}
#global_nav_list li a,
#global_nav_list li p {
	font-size: 14px;
}

/* footer */
footer {
	--footer-left: 100%;
	padding: 3.5rem 0;
}
.footer_inner {
	flex-wrap: wrap;
	gap: 3rem 0;
}
.footer_logo svg {
	width: 7.5rem;
}
.footer_title {
	font-size: 20px;
}
.footer_right {
	gap: 1rem;
	width: 100%;
	max-width: unset;
	margin-right: 0;
}
.footer_right > div {
	width: calc((100% - 1rem)/2);
}
.footer_link {
	padding-left: 1rem;
}
.footer_link + .footer_link {
    margin-top: 1rem;
}
.footer_link > li + li {
	margin-top: 1rem;
}
.copyright {
    margin-top: 3rem;
}
.copyright p {
	font-size: 12px;
}

/* footer_top */
.footer_top {
	padding-top: 8vw;
}
.footer_top_inner {
	padding-top: 4.5rem;
	padding-bottom: 4rem;
}
.footer_top .titleBox {
	margin-bottom: 2rem;
}
.footer_top .character1 {
	width: 25vw;
}
.footer_top .cloud1 {
	top: 24vw;
    left: -5vw;
    width: 30vw;
}
.footer_top .cloud2 {
    top: 56%;
    right: -6vw;
    width: 31vw;
}
.footer_top .cloud3 {
    bottom: 8%;
    left: -13vw;
    width: 36vw;
}
.footer_top .titleBox .titleBox_big {
	font-size: 30px;
}

/* single_mv_box */
.single_mv_box {
	padding: calc(5.5rem + 6vw) 3vw 9vw;
	margin-bottom: 7.5vw;
}
.single_mv_box > div::before {
	bottom: -14vw;
	left: -4vw;
	width: 15vw;
}
.single_mv_title {
	font-size: 6.5vw;
}
.single_mv_subtitle {
	font-size: 3.5vw;
	margin-bottom: .5vw;
}

/* breadcrumb_box */
.breadcrumb_box {
	margin-bottom: 1rem;
}

/* btn01 */
.btn01 a,
.btn01 span {
	min-width: 210px;
	padding: .8em 5rem;
}
.btn01 a::before,
.btn01 span::before {
	right: 1.4rem;
	width: 2.5rem;
}

/* btn02 */
.btn02 a,
.btn02 span {
	padding-right: 3.25rem;
}
.btn02 a::before,
.btn02 span::before {
	width: 2.4rem;
}

/* page_btns */
.page_top_btns {
	padding-top: 2rem !important;
}
.page_btns {
	--gap: 1rem;
}
.page_btns > li {
	width: calc((100% - var(--gap)) / 2);
	min-width: 150px;
}
.page_btn a {
	font-size: 14px;
	padding: 1rem 1.5rem;
}

/* banner_btn */
.banner_btn {
	--icon-size: 5.5rem;
}
.banner_icon_text {
	font-size: 18px;
	margin-bottom: 5px;
}
.banner_iconBox {
	margin-bottom: 1.5rem;
}
.fax .banner_iconBox {
    margin-bottom: 2.6rem;
}
.contact .banner_iconBox {
    margin-bottom: 2rem;
}
.banner_btn_inner a {
	width: calc((100% - var(--gap)) / 2);
	min-width: unset;
	padding: 0 1rem 2.5rem;
	min-height: 110px;
	border-radius: 10px;
}
.banner_text {
	font-size: 22px;
}
.contact .banner_text {
	font-size: 16px;
}
.banner_info {
	font-size: 12px;
	margin-top: .5rem;
}
.banner_icon_text {
	font-size: 12px;
}

/* big_img_column */
.big_img_column {
	flex-wrap: wrap;
	justify-content: center;
}
.big_img_column.cl50 > div.big_img_column_text {
	order: -1;
	width: 100%;
}
.big_img_column.cl50 > div.big_img_column_img {
	width: 100%;
	max-width: 400px;
}

/* titleBox */
.titleBox {
	gap: 0.25rem;
	margin-bottom: 2rem;
}
.titleBox .titleBox_big {
	font-size: 24px;
}
.titleBox .titleBox_small {
	font-size: 14px;
}

/* title02 */
.title02 {
	margin-bottom: 1.7rem;
}
.title02 .title02_big {
	font-size: 22px;
}
.title02 .title02_small {
	font-size: 12px;
}

/* h2Tit */
.h2Tit {
	font-size: 20px;
}

/* h3Tit */
.h3Tit {
	font-size: 18px;
}

/* underline */
.underline {
	padding-bottom: .5rem;
}

/* screw_pin */
.screw_pin {
	padding: .5rem;
}

/* submit */
.submit_box input[type="submit"] {
	font-size: 18px;
}

/* table01 */
.table01 th,
.table01 td {
	display: block;
	font-size: 14px;
	width: 100%;
	padding: 10px;
}
.table01 th {
	text-align: left;
}
.table01 td {
	padding: 15px 10px;
}


/* =======================================
	トップページ
========================================== */
/* fv */
.fv_bg_wrap {
	aspect-ratio: 700 / 555;
}
.fv_inner {
	left: 0;
    width: 70%;
}
.fv_text_box {
	right: auto;
	left: 75vw;
}
.fv_text_box_title {
	font-size: 4.2vw;
}
.fv_bottom_bg {
	width: 130%;
	bottom: -1.4vw;
}

/* fv_bottom */
.fv_bottom {
	padding-bottom: 3rem;
}
.fv_bottom_column {
	flex-wrap: wrap;
	justify-content: flex-end;
}
.fv_bottom_column_text {
	width: 100%;
	padding-top: 0 !important;
}
.fv_bottom_column_img {
	order: -1;
}
.fv_bottom_column_text h2 {
	font-size: 24px;
}
.fv_bottom_column_text h2 span {
	font-size: 1.3em;
	margin-top: .6rem;
}
.fv_bottom_column_img {
	width: 12rem;
}
.fv_bottom_column_img .fv_bottom_character {
	right: -20.5%;
	margin-bottom: -7.5rem;
}

/* top_product */
.top_product {
	padding-top: 3.3rem;
	margin-bottom: 2.5vw;
}
.top_product::before {
	top: auto;
	bottom: -2vw;
	left: -4vw;
	width: 18vw;
}
.top_product::after {
	top: -19vw;
	width: 24vw;
	right: -4vw;
}
.top_product > div {
	display: flex;
	flex-wrap: wrap;
}
.top_product > div > * {
	width: 100%;
}
.top_product_column {
	display: contents;
}
.top_product_column .btn01 {
	order: 5;
}
.top_product .product_slider {
	margin: 0 -1rem;
}
.product_item.slick-slide {
	margin: 0 1rem;
}
.product_item img {
	margin-bottom: .5rem;
	border-radius: 10px;
}
.product_item.slick-slide img {
	margin-bottom: 1rem;
}
.product_item p {
	font-size: 12px !important;
	line-height: 1.7;
}
.product_slider_bottom {
    gap: 3rem;
    margin-top: 2rem;
}
.slider_prev,
.slider_next {
	width: 4.5rem;
}
.product_slider_indicator {
	margin-top: 2.5rem;
}
.top_product .top_product_column .btn01 {
	margin-right: auto;
}

/* top_strength */
.top_strength {
	padding-top: 12.5vw;
	padding-bottom: calc(6rem + 9vw);
}
.top_strength_character {
    top: -18vw;
	right: 0rem;
	width: 36vw;
}
.top_strength .titleBox {
	margin-bottom: 2rem;
}
.point_items {
	--gap: 3rem;
}
.top_strength .point_items {
	max-width: 500px;
	margin-top: 2.5rem;
	margin-bottom: 4rem;
    margin-left: auto;
    margin-right: auto;
}
.point_items li {
	width: 100%;
	min-width: unset;
}
.point_items .point_num p {
	font-size: 40px;
}
.point_img {
    margin-bottom: 1.6rem;
}
.point_img img {
	border-radius: 15px;
}
.point_text {
	padding: 1.5rem 1.5rem;
	border-radius: 13px;
}
.point_text h3 {
    font-size: 20px;
}
.top_strength_btns {
	flex-direction: column;
	align-items: center;
}

/* top_factory */
.top_factory {
	padding-top: 1.5rem;
	padding-bottom: 3rem;
}
.top_factory .top_factory_text {
	padding-top: 0;
}
.top_factory_character {
	top: calc((1.5rem + 19vw) * -1);
    left: 1vw;
    width: 22vw;
}
.top_factory_text {
	display: contents;
}
.top_factory .titleBox {
	margin-bottom: 2rem;
	order: -2;
}
.top_factory .top_factory_text p:not(.titleBox_small) {
	line-height: 1.7;
	margin-right: 0;
}
.cl3_7 > div.top_factory_img {
	width: 100%;
	order: -1;
	padding-bottom: 10%;
	margin-bottom: 1.5rem;
}
.top_factory_img img:not(.top_factory_img_character) {
	border-radius: 15px;
}
.top_factory_img .top_factory_img_character {
	left: auto;
	right: -1rem;
    width: 32%;
}
.top_factory .btn01 {
	margin-top: 2rem;
	margin-left: auto;
}

/* top_company */
.top_company {
	padding-top: calc(22vw - 47px);
	padding-bottom: 2rem;
}
.top_company_character1 {
	top: 0;
	right: 19vw;
	width: 15vw;
}
.top_company_character2 {
	top: 9vw;
    right: -13vw;
	width: 12vw;
}

@keyframes carBumpyBrakeIn {
	0% {
		right: -13vw;
		transform: translateY(0) rotate(0deg);
		opacity: 0;
	}
	10% {
		transform: translateY(-0.2rem) rotate(-1deg);
		opacity: 1;
	}
	20% {
		transform: translateY(0.3rem) rotate(1deg);
	}
	30% {
		transform: translateY(-0.35rem) rotate(-1deg);
	}
	40% {
		transform: translateY(0.4rem) rotate(1deg);
	}
	50% {
		transform: translateY(-0.3rem) rotate(-0.5deg);
	}
	60% {
		transform: translateY(0.35rem) rotate(0.5deg);
	}
	70% {
		transform: translateY(-0.25rem) rotate(0deg);
	}
	/* ブレーキ開始 */
	82% {
		transform: translateY(0.15rem) rotate(-1.5deg);
	}
	/* 急ブレーキで前のめり */
	90% {
		transform: translateY(0.05rem) rotate(-3deg);
	}
	/* 反動で少し戻る */
	96% {
		transform: translateY(-0.1rem) rotate(1deg);
	}
	100% {
		right: 6vw;
		transform: translateY(0) rotate(0deg);
		opacity: 1;
	}
}
.top_company_screw {
	top: -6rem;
	width: 11rem;
	left: -3rem;
}
.top_company_column {
	max-width: 500px;
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
}
.top_company_column.cl33 > div:nth-child(3n),
.top_company_column.cl33 > div:not(:nth-child(3n)) {
	width: 100%;
}
.top_company_column > div > a {
	border-radius: 10px;
}
.top_company_banner {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 10px;
}
.top_company_column img {
	border-radius: 15px;
}
.top_company_column > div > a p {
	padding: .9rem 1.9rem;
    padding-right: 6rem;
	border-radius: 10px 0 0 0;
}
.top_company_banner img:not(.top_company_btn_character) {
	aspect-ratio: 550 / 190;
}
.top_company_banner .btn01 {
	left: 50%;
	right: auto;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: unset;
}
.top_company_banner .btn01 span {
	min-width: 280px;
}
.top_company_btn_character {
	width: 6.1rem;
    left: -1.4rem;
}

/* top_news */
.top_news {
	padding-top: 2rem;
	padding-bottom: 3rem;
}
.top_news_screw {
	top: -1.5rem;
	right: -1rem;
	width: 5.7rem;
}
.top_news > .flex {
	flex-wrap: wrap;
}
.top_news > .flex > div {
	display: contents;
}
.top_news > .flex > div:has(.new_list) {
	width: 100%;
}
.top_news .titleBox {
	gap: 0.25rem;
	margin-bottom: 2rem;
}
.top_news .titleBox .titleBox_small {
	font-size: 40px;
}
.top_news .titleBox .titleBox_big {
	font-size: 14px;
}
.top_news .news_list {
	padding-right: 0;
}
.top_news .btn02 {
	margin: 2.5rem auto 0;
	order: 5;
}
body.top .footer_top {
	margin-top: 0;
}



/* お問い合わせ */
.contact_title {
	flex-wrap: wrap;
}
.contact_title .titleBox {
	width: 100%;
	padding-right: 0;
}
.contact_section .titleBox::before {
	display: none;
}
.contact_column > div {
	padding: 2.5rem 1rem;
}
.contact_section .tel_box .contact_title {
	margin-bottom: 15px;
}


/* =======================================
	会社案内
========================================== */
.message_img_box {
	padding-top: 11vw;
	margin-top: 2rem;
}
.message_img {
	width: 90%;
}
.message_text_slider {
	top: 0;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.message_text_slider_track span {
	font-size: 13vw;
}
.message_content {
	padding: 2.5rem 2rem;
	margin-top: 3.5rem;
	margin-bottom: 2rem;
	border-radius: 13px;
}
.message_character {
	top: -7rem;
    right: -2.5rem;
    width: 13.2rem;
}
.message_title {
	font-size: 22px !important;
	margin-bottom: 1rem
}
.message_content > p {
	line-height: 1.7;
}
.message_name {
	margin-top: 2rem;
}
.message_name .role {
	font-size: 12px !important;
}
.message_name .name {
	font-size: 22px;
    margin-top: .5rem;
}

.page_company_philosophy {
	padding-top: 3rem !important;
	padding-bottom: 3rem !important;
	margin-top: 11vw;
}
.philosophy_character {
	top: -13vw;
	left: .5%;
	width: 34vw;
	max-width: 270px;
}
.philosophy_box + .philosophy_box {
	margin-top: 3.5rem !important;
}
.philosophy_box_title {
	font-size: 40px;
}
.philosophy_box .item_philosophy_sub,
.item_philosophy .item_philosophy_sub {
	font-size: 32px;
}
.philosophy_box p {
	font-size: 14px;
}
.item_value_list {
	--gap: 1rem;
	gap: 4rem var(--gap);
	max-width: 500px;
}
.item_value_list .value_item {
	width: calc((100% - var(--gap)) / 2);
	border-radius: 10px;
}
.value_item_num {
	font-size: 28px;
	margin-bottom: 1.2rem;
}
.value_item .value_item_title {
	font-size: 16px;
}
.item_value_list .value_item:nth-child(3) .value_item_title {
	min-height: 2.6em;
}
.value_item_content_inner .value_item_en {
	font-size: 14px;
}
.value_item_content_inner .value_item_img {
	width: 60px;
	margin: .7rem auto .5rem;
}

.company_item {
	display: block;
	margin-bottom: 1.5rem !important;
}
.page_company_profile .table01 .btn02 {
	margin-bottom: 1rem !important;
}

.page_company_certification::before {
	top: auto;
	bottom: 50vw;
	left: -5vw;
	width: 24vw;
}
.page_company_certification::after {
	top: 0vw;
	width: 29vw;
	right: -6vw;
}
.certification_item_inner {
	justify-content: center;
	flex-wrap: wrap;
}
.certification_item + .certification_item {
	margin-top: 3rem;
	border-radius: 15px;
}
.certification_icon {
	order: -1;
	width: 170px;
}

.page_company_iso > .inner_1100 {
	padding: 3rem 1.5rem;
	border-radius: 10px;
}
.iso_column {
	flex-wrap: wrap;
	justify-content: center;
}
.iso_img {
	order: -1;
	width: 100px;
}
.iso_table th,
.iso_table td {
	display: block;
	width: 100%;
}
.iso_table th span {
	font-size: 14px;
}
.iso_table td {
	font-size: 14px;
	padding-top: 1rem;
    padding-bottom: 2rem;
}
.iso_table tr:last-child td {
	padding-bottom: 0;
}

#GoogleMap iframe {
	aspect-ratio: 4 / 3;
	border-radius: 10px;
}
.map_items .map_item {
	width: 100% !important;
	padding-bottom: 5rem;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.map_items .map_item + .map_item {
	margin-top: 2.5rem !important;
}
.map_item img {
	margin-top: 1.25rem;
	margin-bottom: 1rem !important;
}

.history_item {
	position: relative;
	flex-wrap: wrap;
}
.history_item dt,
.history_item dd {
	width: 100%;
	padding-left: 2rem;
}
.history_item dt {
	border-left: 2px solid var(--main-color);
}
.history_item dd {
	position: static;
	padding-bottom: 1.5rem;
	margin-left: 0;
}
.history_item dd::before {
	left: -4.5px;
}
.history_item dd .history_img {
	width: 100%;
	max-width: 30rem;
}
.history_img p {
	font-size: 12px;
}


/* =======================================
	SDGs
========================================== */
.sdgs_goals_character {
	top: -11vw;
    right: -3vw;
    width: 24vw;
}
.sdgs_goal,
.eco_list_box {
	padding: 3rem 2.5rem;
    border-radius: 15px;
}
.eco_list {
	padding-left: 0;
}
.sdgs_goals_img {
	width: 90%;
	max-width: 380px;
}
.report_list {
	gap: 1rem var(--gap);
}
.report_list li {
	width: calc((100% - var(--gap)) / 2);
}
.report_list li a {
	padding: 1rem 1rem;
	border-radius: 5px;
}
.co2_box {
	padding: 2rem 2rem;
    border-radius: 13px;
}
.eco_action {
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1.5rem;
}
.eco_action > div.eco_action_img {
	order: -1;
	width: 16rem;
}
.sdgs_items > li {
	padding: 2rem;
    border-radius: 13px;
}
.sdgs_icons_box {
	max-width: 25rem;
	margin-top: 1.25rem !important;
	margin-bottom: 1.25rem !important;
}
.sdgs_icons li {
    width: 5.5rem;
}
.sdgs_item h3 {
	line-height: 1.5;
}


/* =======================================
	製品一覧
========================================== */
.product_order {
	padding: 2rem 2rem;
}
.product_cat_inner {
	flex-wrap: wrap;
	justify-content: center;
}
.product_cat > div {
	padding: 2rem 2rem;
	border-radius: 13px;
}
.product_cat > div + div {
	margin-top: 1.5rem;
}
.product_cat_title {
	padding: 0 1rem;
	padding-bottom: 1rem;
    margin-right: 0;
    margin-bottom: 1.5rem;
    border-right: none;
    border-bottom: 2px solid var(--main-color);
}
.product_cat_icon svg {
    width: 2.2rem;
}
.product_cat_title h3 {
	font-size: 20px;
}

/* page_product */
.page_product::before {
	top: auto;
	bottom: -13vw;
	width: 17vw;
}
.page_product::after {
	top: 84rem;
	width: 18vw;
}
.page_product > div {
	flex-wrap: wrap;
	justify-content: center;
}
.product_side {
	width: 300px;
}
.product_side_inner {
	position: relative;
	top: 0;
	width: 100%;
	margin-right: 0;
}
.product_side_character {
	width: 11rem;
    margin-top: -4rem;
    margin-left: auto;
}

.product_box_title {
	flex-wrap: wrap;
	gap: .5rem 2rem;
	margin-bottom: 1.8rem;
}
.product_box_title .cat_tag {
	font-size: 12px;
	border-width: 1px;
}
.product_box_title h3 {
	font-size: 20px;
	width: 100%;
}
.product_box .product_item_img {
	margin-bottom: 0;
}
.product_box_stock_img img {
	border-radius: 12px;
}
.product_box.stock .product_box_content {
	gap: 1rem;
	margin-top: 2rem;
}
.product_box .product_box_content .btn02 a {
	font-size: 13px;
	padding: 1rem 4.5rem;
	border-radius: 7px;
}
.product_box .product_box_content .btn02 a::before,
.product_box .product_box_content .btn02 span::before {
	right: 1.5rem;
}
.product_box .product_box_content .btn02 a:hover::before,
.product_box .product_box_content .btn02 span:hover::before {
	right: 1rem;
}
.popup_modal {
	width: 90%;
    max-width: unset;
	padding: 4.5rem 2rem;
}
.popup_content table tr th,
.popup_content table tr td {
	min-width: unset;
}


/* =======================================
	技術・品質保証
========================================== */
.page_quality_box .title02 .title02_big {
	font-size: 20px;
}
.min_lot_banner {
	padding: 3rem 2rem;
	border-radius: 13px;
}
.min_lot_character {
	top: -9vw;
    right: -6vw;
    width: 25vw;
}
.min_lot_subtitle {
	font-size: 16px;
	padding: .8rem 1.5rem;
}
.min_lot_title {
	font-size: 22px;
}
.min_lot_title .highlight {
	margin-right: 5px;
}
.min_lot_visual {
	flex-wrap: wrap;
	margin-top: 3rem;
	margin-bottom: 2rem !important;
}
.lot_block {
	width: 100%;
}
.box_info {
	font-size: 13px;
}
.box {
	padding: 1.5rem;
    padding-top: 2.5rem;
	margin-top: 2.2rem;
}

.case_items {
	margin-top: 1.5rem;
}
.case_item {
	padding: 2rem;
    border-radius: 10px;
}
.case_item + .case_item {
	margin-top: 1.5rem;
}
.case_top::before {
	bottom: 2.125rem;
	width: 3.5rem;
}

.info_box {
	margin-top: 2rem;
	margin-bottom: 1.5rem;
	border-radius: 10px;
}
.info_box_title {
	margin-bottom: 1rem !important;
}

.dots-wrap {
	bottom: .6rem;
}
.dots-wrap li {
	width: 8px;
    height: 8px;
    margin: 0 4px;
}


/* =======================================
	出荷までの流れ
========================================== */
.flow_list_item {
	flex-wrap: wrap;
}
.flow_list_item .flow_list_numBox {
	font-size: 14px;
    width: 85px;
}
.flow_list_numBox_inner {
	position: relative;
	margin-bottom: -41%;
    margin-left: 1.5rem;
}
.flow_list_numBox p {
	font-size: 2.2em;
}
.flow_list_textBox {
	padding: 2rem 2rem 3rem;
	padding-top: 4.5rem;
	border-width: 2px;
	border-radius: 5px;
}
.flow_list_character {
	bottom: -4rem;
	right: -2rem;
	width: 12rem;
}
.flow_list_textBox .flow_item_title {
	font-size: 20px;
}
.flow_btns {
	flex-wrap: wrap;
	font-size: 16px;
	margin-bottom: 2.5rem !important;
}
.flow_btn_icon {
	width: 2.8rem;
}
.flow_circle {
	--gap: 1rem;
	width: 100%;
	max-width: 400px;
}
.flow_circle li {
	width: calc((100% - var(--gap)*2) / 3);
}
.flow_circle_img_text {
	font-size: 11px;
}


/* =======================================
	工場・設備
========================================== */
#factory1 .page_factory_img .page_factory_character {
	bottom: -4vw;
    right: -5vw;
    width: 20vw;
}
#factory2 .page_factory_img .page_factory_character {
	right: auto;
    left: -4vw;
    width: 21vw;
}
#factory3 .page_factory_img .page_factory_character {
	top: -11vw;
	right: -4vw;
	width: 24vw;
}
.factory_table {
	--gap: 0.7rem;
	--radius: 5px;
	min-width: 860px;
}
.factory_table_top li {
	font-size: 14px;
}
.factory_table_item .item_head {
	font-size: 16px;
}
.factory_table_item .item_content ul li > div {
	padding: 1rem .5rem;
}
.factory_table_item .item_content ul li > div p {
	font-size: 13px;
}


/* =======================================
	採用情報
========================================== */
.page_recruit_top {
	padding-bottom: 0 !important;
}
.page_recruit_top .big_img_column_img {
	order: -2;
}
.page_recruit_top .title02 {
	margin-bottom: 1rem;
}
.page_recruit_character {
	width: 16rem !important;
	margin-top: 2rem;
	margin-left: auto;
	margin-right: auto;
}
.page_recruit_merit {
	padding-bottom: 1rem !important;
}
.page_recruit_merit .circle_list_item_img_text {
	font-size: 15px;
    line-height: 1.5;
}
.circle_list_item_img_text span {
	font-size: 1.2em;
}
.circle_list_item_img_text span.big {
	font-size: 1.5em;
}

.page_recruit_interview .title_column {
	flex-wrap: wrap;
	gap: 1rem 0;
	margin-bottom: 1rem;
}
.page_recruit_interview .title_column > * {
	width: 100%;
}

.page_recruit_interview .staff_list:has(.staff_slider_top) {
	margin-top: 0;
}
.page_recruit_support .column_item .column_item_text {
	display: contents;
}
.page_recruit_support .title02 {
	order: -2;
}
.page_recruit_support .column_item .cl50 > div:has(.screw_pin) {
	order: -1;
}
.page_recruit_support .btn01 {
	margin-left: auto;
	margin-right: auto;
}


/* =======================================
	インタビュー
========================================== */
.interview_top_title {
	margin-bottom: calc(2rem + 5vw);
}
.iterview_top_title span {
	padding: .5rem .5rem;
}
.interview_top_character {
	width: 23vw;
    left: -4vw;
    top: -14vw;
}
.staff_list .staff_flex {
	gap: 2rem var(--gap);
}
.staff_flex .staff_item {
	width: calc((100% - var(--gap)) / 2);
}
.staff_item_img .staff_message {
	gap: .5rem;
	font-size: 10px;
	width: calc(100% - 1rem);
}
.staff_slider .staff_item_img .staff_message {
	font-size: 14px;
}
.staff_item_meta {
	font-size: 12px;
	margin-top: 1rem !important;
}
.staff_item_img .staff_message span {
	padding: 4px .4rem;
}
.iterview_top_img {
	width: 92%;
}
.iterview_top_meta {
	position: relative;
	left: 0;
    bottom: auto;
	margin-top: -6rem;
}
.iterview_top_title {
	gap: .8rem;
    font-size: 22px;
	margin-bottom: 2rem;
}
.iterview_top_info {
	min-width: 270px;
    padding: 1.5rem 2rem;
    border-radius: 13px;
}
.iterview_top_meta p {
	font-size: 14px;
}
#staff .title02 {
	margin-bottom: 1rem;
}
#staff .title02 .title02_big {
	font-size: 20px;
}
.interview_messagebox {
	padding: 2.5rem;
	border-radius: 13px;
}
.interview_messagebox_title {
	font-size: 34px;
	margin-bottom: 1rem;
}
.interview_messagebox_comment {
	font-size: 16px;
}
.interview_messagebox::before {
	bottom: -2rem;
    right: -2rem;
	width: 5.5rem;
}
.interview_schedule_column {
	position: relative;
	flex-wrap: wrap;
}
.interview_schedule_column > div {
	position: static !important;
	width: 100%;
}
.schedule_item::before {
	left: 2.5rem;
}
.schedule_item + .schedule_item {
	padding-top: 1.5rem;
}
.schedule_item_time p {
	font-size: 18px;
	width: 12rem;
}
.schedule_item_text {
	padding-left: 4.5rem;
}
.schedule_item_text p {
	font-size: 14px;
}
.page_interview_schedule_img {
	width: 23vw;
	bottom: -5vw;
}

.staff_slider_top {
	margin-bottom: 1.5rem;
    margin-right: 3rem;
}
.staff_list:has(.staff_slider_top) {
	margin-top: 0;
}
.staff_slider .staff_item {
	margin: 0 .75rem;
}


/* =======================================
	教育制度・福利厚生
========================================== */
.screw_pin img.page_support_img {
	right: -4vw;
    bottom: -6vw;
    width: 18vw;
}

.circle_list {
	--gap: 2rem;
}
.circle_list_item {
	width: calc((100% - var(--gap)) / 2);
}
.circle_list_item_img {
	max-width: 200px;
	margin-left: auto;
	margin-right: auto;
}
.circle_list_item_img_text {
	font-size: 14px;
}
.circle_list::before {
	width: 45%;
	max-width: 250px;
}


/* =======================================
	募集要項
========================================== */
.bg_img_banner {
	padding: 3rem 3rem;
    border-radius: 15px;
}
.bg_img_banner_character {
	top: -3rem;
    left: -3rem;
    width: 10rem;
}
.bg_img_banner_inner {
	padding: 2rem 3rem;
	border-radius: 13px;
}
.bg_img_banner_inner + .bg_img_banner_inner {
	margin-top: 1.5rem;
}
.bg_img_banner h2 {
	font-size: 28px;
	margin-bottom: 1rem;
}
.bg_img_banner p {
	font-size: 14px;
}


/* =======================================
	お知らせ
========================================== */

.category_filter {
	grid-template-columns: repeat(auto-fit, minmax(49%, 1fr));
    gap: 2%;
}
.category_filter li a {
	margin-bottom: .35rem;
}
.news_archive_list .news_item a {
	display: block;
}
.news_title_top {
	flex-wrap: wrap !important;
}
.news_title_top .date {
	width: 100%;
	margin-bottom: 5px;
}
.news_title_top .categories {
	gap: 5px;
}
.category {
	font-size: 1.2rem;
}
.post_btn a {
	padding: .25em 0.6em;
}
.post_btn.btn_prev a span {
	padding-left: 11px;
}
.post_btn.btn_next a span {
	padding-right: 11px;
}
.post_btn.btn_prev a span::before,
.post_btn.btn_next a span::before {
	width: 5px;
	height: 5px;
}
.news_item a,
.news_item.no_item {
	padding: 1.5rem 0;
}
.news_item .head {
	margin-bottom: .5rem;
}
.news_archive_list .btn01 span {
	max-width: 250px;
	margin-left: auto;
	margin-right: auto;
}
.news_item .tit {
	font-size: 14px;
}


/* =======================================
	お知らせ詳細
========================================== */
.post_news_content_inner {
	padding: 2rem 2rem 3.5rem;
    border-radius: 15px;
}
.post_news_content .news_title_top + .h2Tit {
	margin-top: 1.5rem !important;
	margin-bottom: 1rem !important;
}



/* =======================================
	お問い合わせ
========================================== */
section:has(#mailformpro) {
	padding-top: 13vw !important;
	margin-top: 1rem;
}
.contact_table_box.c_table_01 table tbody tr th {
	padding-top: 0;
}
.checkbox_content {
	align-items: flex-start;
}
form#mailformpro label {
	text-align: left !important;
	white-space: initial !important;
}
body.page-contact .contact_table_box::before {
	width: 39%;
	right: 0;
	bottom: calc(100% - 2.5vw);
}
.hissu {
	margin-top: 3px;
}
.mfp_element_radio {
	margin-bottom: 3px !important;
}

.thanks_img {
	width: 15rem;
	margin-top: -1rem;
}



/* =======================================
	プライバシーポリシー
========================================== */
.page_privacy_policy_character {
	position: static !important;
	width: 26vw;
	margin-top: 2vw;
	margin-bottom: -3%;
	margin-left: auto;
}







