@charset "UTF-8";
/* CSS Document */
/*===============================================
共通
===============================================*/
html,
body {
    height: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-size: 0.625rem;
    /*font-size: 0.69444444vw;*/
    font-weight: 400;
    font-style: normal;
    background-color: #fff;
    line-height: 1.8;
    color: #595858;
    letter-spacing: 0.15em;
}
:root {
    --main: #37a649;
    --sub: #9dd038;
    --glay: #595858;
    --bg: #F0EEE6;
    --pc: 14.4;
    --sp: 8.2;
}
*:focus {
    outline: none;
}
body {
    display: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
figure,
figcaption,
ul {
    margin: 0;
    padding: 0;
}
img {
    border: 0;
    line-height: 0;
    width: 100%;
    height: auto;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
    color: #595858;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
a:hover {
    color: var(--main);
}
table {
    border-collapse: collapse;
}
span.text-block {
    display: inline-block;
}
.pc-none {
    display: none;
}
.note {
    text-indent: -1em;
    padding-left: 1em;
}
input {
    font-size: 1.6rem
}
input:focus {
    outline: 0;
}
input[type="button"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="submit"],
input[type="image"],
textarea,
select {
    -webkit-appearance: none;
    border-radius: 0;
}
input[type="submit"] {
    border: none;
    -webkit-appearance: none;
    margin-left: 55px;
}
.mg {
    margin: clamp(200px, (250vw/var(--pc)), 250px);
}
.btn a {
    background-color: var(--main);
    border: 2px solid var(--main);
    padding: 0.65em 1.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 100px;
    color: #fff;
    position: relative;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    font-size: 1.4rem;
    display: inline-block;
    text-align: center;
    min-width: 140px;
}
.btn a:hover {
    background-color: #fff;
    color: var(--main);
}
.btn.sub a {
    background-color: var(--sub);
    border: 2px solid var(--sub);
}
.btn.sub a:hover {
    background-color: #fff;
    color: var(--sub);
}
/*==============================================
アニメーション
===============================================*/
.js-slide,
.js-slide_bg,
.js-fade {
    opacity: 0;
}
.js-slide.active {
    opacity: 0;
    -webkit-animation: slide 1s ease 0.5s forwards;
    animation: slide 1s ease 0.5s forwards;
}
.js-slide_bg.active {
    opacity: 0;
    -webkit-animation: slide-bg 1s ease 1s forwards;
    animation: slide-bg 1s ease 1s forwards;
}
#technology_menu .js-slide_bg.active {
    opacity: 0;
    -webkit-animation: slide-bg2 1s ease 1s forwards;
    animation: slide-bg2 1s ease 1s forwards;
}
@media only screen and (max-width: 820px) {
    #technology_menu .js-slide_bg.active {
        opacity: 0;
        -webkit-animation: slide-bgSP 1s ease 1s forwards;
        animation: slide-bgSP 1s ease 1s forwards;
    }
}
@-webkit-keyframes slide {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-25px);
        transform: translateX(-25px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}
@keyframes slide {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-25px);
        transform: translateX(-25px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}
@-webkit-keyframes slide-bg {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(3.125vw, 0);
        transform: translate(3.125vw, 0);
    }
}
@keyframes slide-bg {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(3.125vw, 0);
        transform: translate(3.125vw, 0);
    }
}
@-webkit-keyframes slide-bg2 {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(2.125vw, 0);
        transform: translate(2.125vw, 0);
    }
}
@keyframes slide-bg2 {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(2.125vw, 0);
        transform: translate(2.125vw, 0);
    }
}
@-webkit-keyframes slide-bgSP {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(4.125vw, 0);
        transform: translate(4.125vw, 0);
    }
}
@keyframes slide-bgSP {
    0% {
        opacity: 0;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(4.125vw, 0);
        transform: translate(4.125vw, 0);
    }
}
.js-fade {
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
}
.js-fade.active {
    opacity: 0;
    -webkit-transform: translateY(15px);
    transform: translateY(15px);
    -webkit-animation: fade 1s ease 0.5s forwards;
    animation: fade 1s ease 0.5s forwards;
}
@-webkit-keyframes fade {
    0% {
        opacity: 0;
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@keyframes fade {
    0% {
        opacity: 0;
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
/*==============================================
ヘッダー
===============================================*/
header {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 99999;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
/*==============================================
メニュー
===============================================*/
.pc_nav {
    font-size: 1.7rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 2.5%;
    height: 80px;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
header.active .pc_nav {
    background-color: #fff;
}
.pc_nav h1 {
    width: 20%;
    max-width: 240px;
    min-width: 200px;
    line-height: 0;
}
.pc_nav h1 a {
    display: block;
    width: 100%;
    height: 100%;
}
.pc_nav nav {
    display: block;
    height: 100%;
}
.pc_nav ul.pcMenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1;
    white-space: nowrap;
    height: 100%;
    margin-top: 10px;
}
.pc_nav ul.pcMenu > li {
    margin-left: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
}
.pc_nav ul.pcMenu > li:nth-child(1) {
    margin-left: 50px;
}
.pc_nav ul.pcMenu li.moreMenu {
    padding-right: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.pc_nav ul.pcMenu li span.plus {
    position: relative;
    padding-right: 0.75em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.pc_nav ul.pcMenu li span.plus::before {
    content: '';
    width: 12px;
    height: 1px;
    position: absolute;
    right: 0;
    top: 50%;
    background-color: var(--main);
    -webkit-transform: translateX(calc(50% - 1px));
    transform: translateX(calc(50% - 1px));
}
.pc_nav ul.pcMenu li span.plus::after {
    content: '';
    width: 1px;
    height: 12px;
    position: absolute;
    right: 0;
    top: 50%;
    background-color: var(--main);
    -webkit-transform: translateY(calc(-50% + 1px));
    transform: translateY(calc(-50% + 1px));
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
.pc_nav ul.pcMenu li:hover span.plus::after {
    -webkit-transform: translateY(calc(-50% + 1px))rotate(-90deg);
    transform: translateY(calc(-50% + 1px))rotate(-90deg);
    opacity: 0;
}
.pc_nav .moreMenu {
    position: relative;
}
.pc_nav .subMenu {
    position: absolute;
    top: 100%;
    left: -20px;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: 0.5s ease;
    transition: 0.5s ease;
    font-size: 1.5rem;
    border-radius: 10px;
    padding: 10px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.pc_nav ul.subMenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 180px;
    -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}
.pc_nav .moreMenu:hover .subMenu {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.pc_nav ul.subMenu li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #c8c8c8;
}
.pc_nav ul.subMenu li:nth-last-child(1) {
    border-bottom: none;
}
.pc_nav ul.subMenu li a {
    padding: 1em 0;
    display: block;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
.pc_nav ul.subMenu li a:hover {
    -webkit-transform: translateX(5px);
    transform: translateX(5px)
}
.pc_nav ul.subMenu li span {
    position: relative;
    padding: 0 0 0 18px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.pc_nav ul.subMenu li span::before {
    content: "";
    width: 12px;
    height: 1px;
    background: var(--main);
    opacity: 0.5;
    position: absolute;
    left: 0;
    top: 50%;
}
.pc_nav ul.subMenu li:hover span::before {
    background: var(--main);
}
#menu-list .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100vh;
    padding-bottom: 100px;
}
.menufooter {
    padding: 0 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.4rem;
    color: #fff;
    line-height: 1.5;
}
.menufooter a {
    color: #fff;
}
.menufooter .name {
    font-size: 1.8rem;
    margin-bottom: 10px;
}
.menufooter .adress {
    margin-bottom: 5px;
}
/*==============================================
index
===============================================*/
.wrapper {
    margin: clamp(100px, (150vw/var(--pc)), 150px) 0 0;
    overflow: hidden;
}
.contaner {
    width: 100%;
    padding: 0 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 1200px;
}
main {
    margin-bottom: clamp(100px, (150vw/var(--pc)), 150px);
    position: relative;
}
main .slider {
    text-align: right;
    overflow: hidden;
    position: relative;
    z-index: 10;
    width: 60%;
    max-width: 1200px;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
    margin-left: auto;
}
main .mask {
    -webkit-clip-path: url(#svgPath);
    clip-path: url(#svgPath);
}
main .mainCopy {
    font-size: clamp(40px, (60vw/var(--pc)), 60px);
    position: absolute;
    top: 50%;
    left: 5%;
    -webkit-transform: translateY(-65%);
    transform: translateY(-65%);
    letter-spacing: 2px;
    z-index: 20;
    font-family: "Noto Serif", serif;
    font-weight: 400;
    line-height: 1.5em;
}
main .gradation {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 1200px;
    line-height: 0;
}
.bgItem {
    position: absolute;
    width: 100%;
    max-width: 13.020833333vw;
    z-index: 0;
}
.bgItem.colorRing_A {
    max-width: 5.208333333vw;
}
.bgItem.colorRing_B {
    max-width: 3.9vw;
}
.bgItem.colorRing_C {
    max-width: 1.875vw;
}
.bgItem.item01 {
    top: 2.8125vw;
    left: 37.5vw;
}
.bgItem.item02 {
    top: 0;
    left: 0;
    -webkit-transform: translateX(-25%);
    transform: translateX(-25%);
}
.bgItem.item03 {
    bottom: 2.645833333vw;
    left: 8.854166666vw;
}
.bgItem.item04 {
    bottom: 8.854166666vw;
    left: 40.625vw;
}
.bgItem.item05 {
    bottom: -2vw;
    left: 11.45833333vw;
}
.bgItem.item06 {
    top: 7.8125vw;
    right: 0;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
}
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.top_contaner {
    width: 90%;
    margin: 0 auto clamp(80px, (100vw/var(--pc)), 100px);
    position: relative;
}
.top_contaner .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.top_contaner .image {
    width: 52%;
    position: relative;
    z-index: 20;
}
.top_contaner .image .js-slide {
    position: relative;
    z-index: 20;
}
.top_contaner .image .js-slide_bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
}
.top_contaner .contents_title {
    font-size: clamp(35px, (40vw/var(--pc)), 40px);
    padding: 0 5px 20px;
    line-height: 1;
    border-bottom: 2px solid #a0a0a0;
    margin-bottom: 1.5em;
    display: inline-block;
    letter-spacing: 3px;
}
.top_contaner .copy {
    font-size: clamp(20px, (24vw/var(--pc)), 24px);
    margin-bottom: 1em;
}
.top_contaner .menu_contents {
    width: 40%;
    margin-top: 13.0208333vw;
}
.top_contaner .contentsBox {
    display: inline-block;
    text-align: left;
}
/*-----TOP-双葉ダイスについて-----*/
#top_about {
    position: relative;
}
#top_about .flex {
    position: relative;
    z-index: 10;
}
.bgItem.item07 {
    top: 0;
    right: 0%;
    -webkit-transform: translateX(25%);
    transform: translateX(25%);
}
.bgItem.item08 {
    top: 11.45833vw;
    right: 7.8125vw;
}
.bgItem.item09 {
    bottom: 0;
    right: 5.20833vw;
}
/*-----TOP-会社概要-----*/
#top_profile {
    margin-bottom: clamp(150px, (200vw/var(--pc)), 200px);
    position: relative;
}
#top_profile .flex {
    position: relative;
    z-index: 10;
}
#top_profile .top_contaner .menu_contents {
    text-align: right;
}
.bgItem.item10 {
    top: 2.08333vw;
    left: 3.38541666vw;
}
.bgItem.item12 {
    bottom: 0;
    right: 8.51041vw;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}
.bgItem.item13 {
    left: 4.6875vw;
    bottom: 0;
}
.bgItem.item14 {
    left: 9.63541vw;
    bottom: 0.78125vw;
}
.bgItem.item15 {
    right: 21.875vw;
    bottom: 0;
}
.bgItem.item16 {
    right: 3.125vw;
    bottom: -100px;
}
/*-----TOP-技術と設備-----*/
#top_technology {
    position: relative;
    width: 100%;
    background-image: linear-gradient(135deg, #37a649, transparent 15% 85%, #9dd038);
    padding: clamp(120px, (150vw/var(--pc)), 150px) 0;
}
#top_technology .top_contaner {
    margin-bottom: 0;
    position: relative;
    z-index: 999;
}
#top_technology .top_contaner .mainCopy {
    font-size: clamp(40px, (45vw/var(--pc)), 45px);
    margin-bottom: 100px;
}
#top_technology .technologyBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
#top_technology .contentsBox {
    display: block;
    width: 50%;
}
#top_technology .contentsBox {
    margin: 0 0 100px;
}
#top_technology .technology_menu {
    width: 50%;
}
#top_technology .technology_menu#mold {
    margin-bottom: 100px;
}
#top_technology .technology_menu#vendor {
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%);
}
#top_technology .technology_menu#electronic .image {
    margin-left: auto;
}
#top_technology .technology_menu .image {
    width: 90%;
    margin-bottom: 30px;
}
#top_technology .technology_name {
    font-size: clamp(35px, (40vw/var(--pc)), 40px);
}
#top_technology .column_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
#top_technology .column_menu .technology_name {
    margin-right: 25px;
}
.bgItem.item11 {
    top: -5.166666vw;
    left: 30.041666vw;
}
.bgItem.item17 {
    bottom: 1.875vw;
    left: 6.25vw;
}
.bgItem.item18 {
    top: 23.4375vw;
    right: 0;
    -webkit-transform: translateX(25%);
    transform: translateX(25%);
}
.bgItem.item19 {
    top: 7.8125vw;
    right: 9.375vw
}
.bgItem.item20 {
    bottom: 19.2708333vw;
    right: 0vw;
    -webkit-transform: translateX(25%);
    transform: translateX(25%);
}
.bgItem.item21 {
    bottom: 1.09375vw;
    left: 2.760416vw;
}
.bgItem.item22 {
    bottom: 6.25vw;
    left: 38.0208333vw;
}
/*-----TOP-NEWS-----*/
#top_news {
    background: url("../img/contact_bg.jpg")no-repeat center bottom / cover;
    display: block;
    width: 100%;
    height: auto;
    padding: 100px 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#top_news .top_contaner {
    margin-bottom: 0;
}
#top_news .topNews_contaner {
    background-color: rgba(255, 255, 255, 0.85);
    display: inline-block;
    padding: 3.5% 2.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 720px;
    min-width: 600px;
}
#top_news .topNews_title {
    font-size: clamp(35px, (40vw/var(--pc)), 40px);
    margin-bottom: 50px;
}
#top_news .topNews_box {
    margin-bottom: 50px
}
#top_news .topNews_box li {
    padding: 0 0 20px 0;
    border-bottom: 1px solid #707070;
    margin-bottom: 25px;
}
#top_news .topNews_box li:nth-last-child(1) {
    margin-bottom: 0;
}
#top_news .topNews_box .date {
    font-size: 1.2rem;
    display: block;
    margin-bottom: 5px;
    line-height: 1;
}
#top_news .topNews_box .title {
    font-size: 1.6rem;
    line-height: 1.6;
    position: relative;
    width: 100%;
}
#top_news .topNews_box .title a {
    display: block;
    width: 100%;
    padding-right: 1.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#top_news .topNews_box .title::after {
    content: '';
    background: url("../img/arrow02.svg")no-repeat center center /cover;
    width: 7.5px;
    height: 15px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#top_news .topNews_contaner .btn {
    text-align: right
}
/*-----TOP-採用情報-----*/
#top_recruit {
    background: url("../img/recruit_bg.jpg")no-repeat center center / cover;
    display: block;
    width: 100%;
    height: auto;
    padding: 180px 5% 200px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}
#top_recruit::before {
    content: '';
    width: 80%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-image: -webkit-gradient(linear, left top, right top, from(#ffffffe6), color-stop(70%, transparent));
    background-image: linear-gradient(90deg, #ffffffe6, transparent 70%);
}
#top_recruit .top_contaner {
    margin-bottom: 0;
    position: relative;
    z-index: 999;
}
#top_recruit::after {
    content: '';
    background: url("../img/heart.svg")no-repeat center center / cover;
    width: 100vw;
    aspect-ratio: 312 / 189;
    max-width: 300px;
    position: absolute;
    right: 31.25vw;
    top: 50%;
}
/*==============================================
双葉ダイスの強み
===============================================*/
#strengths #page_header .copy {
    margin-left: 6.25vw;
}
#strengths .strengths_wrap {
    padding: clamp(250px, (300vw/var(--pc)), 300px) 0;
    position: relative;
}
#strengths .strengths_wrap {
    position: relative;
}
#strengths .strengths_wrap::after {
    content: '';
    position: absolute;
    background: url("../img/strengths_item.svg")no-repeat center center / cover;
    width: 45%;
    height: 0;
    padding-top: 35.1109877913%;
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
}
#strengths .strengths_wrap .contents {
    position: relative;
    z-index: 10;
}
#strengths .no_image {
    max-width: 130px;
    margin-bottom: 40px;
}
#strengths .title {
    font-size: clamp(25px, (30vw/var(--pc)), 30px);
    margin-bottom: 1em;
}
#strengths .text {
    font-size: clamp(16px, (20vw/var(--pc)), 20px);
    max-width: 480px;
    margin-bottom: 1em;
    text-align: justify;
}
#strengths .strengths_wrap#strengths_1 {
    background: url("../img/strengths_bg01.jpg")no-repeat center right 15% / cover;
    position: relative;
    color: #fff;
}
#strengths .strengths_wrap#strengths_1::before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, right top, from(#000000b3), color-stop(70%, transparent));
    background-image: linear-gradient(90deg, #000000b3, transparent 70%);
    top: 0;
    left: 0;
    position: absolute;
}
#strengths .strengths_wrap#strengths_1::after {
    top: 0;
    right: 5%;
}
#strengths .strengths_wrap#strengths_2 {
    background: url("../img/strengths_bg02.jpg")no-repeat center left 42% / cover;
    color: #fff;
}
#strengths .strengths_wrap#strengths_2::before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(70%, #5ea6bccc));
    background-image: linear-gradient(90deg, transparent, #5ea6bccc 70%);
    position: absolute;
    top: 0;
    right: 0;
    mix-blend-mode: multiply;
}
#strengths .strengths_wrap#strengths_2::after {
    top: 0;
    left: 5%;
}
#strengths .strengths_wrap#strengths_2 .contents {
    text-align: right;
}
#strengths .strengths_wrap#strengths_2 .strengths_contentsWrap {
    display: inline-block;
    margin: auto 0 0;
    text-align: left;
}
#strengths .strengths_wrap#strengths_3 {
    background: url("../img/strengths_bg03.jpg")no-repeat center left 58% / cover;
    color: #fff;
}
#strengths .strengths_wrap#strengths_3::before {
    content: '';
    width: 100%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, right top, from(#000000b3), color-stop(70%, transparent));
    background-image: linear-gradient(90deg, #000000b3, transparent 70%);
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
}
#strengths .strengths_wrap#strengths_3::after {
    top: 0;
    right: 10%;
    -webkit-transform: translateY(-15%);
    transform: translateY(-15%);
}
/*==============================================
金型・FA事業部
===============================================*/
.contents {
    width: 90%;
    margin: 0 auto;
    max-width: 1800px;
}
#page_header {
    position: relative;
    margin-bottom: clamp(120px, (150vw/var(--pc)), 150px);
}
#page_header .contents {
    position: relative;
    z-index: 10;
    padding-top: 7.8125vw;
    display: block;
    margin-bottom: 23.4375vw;
}
#page_header .headline {
    font-size: 2rem;
    color: var(--main);
    border-bottom: 1px solid var(--glay);
    display: inline-block;
    padding-bottom: 5px;
    margin-bottom: 30px;
}
#page_header h2 {
    font-size: clamp(35px, (40vw/var(--pc)), 40px);
    color: var(--main);
    font-weight: 500;
    margin-bottom: clamp(80px, (100vw/var(--pc)), 100px);
    letter-spacing: 3px;
    display: table;
}
#page_header .copy {
    font-size: clamp(30px, (32vw/var(--pc)), 32px);
    margin-bottom: 50px;
}
#page_header .explanation {
    font-size: 2rem;
    max-width: 560px;
    text-align: justify;
}
#page_header .sp_iamge {
    display: none;
    width: 90%;
    margin-top: -10vw;
    margin-bottom: 25px;
    margin-left: auto;
}
#page_header .sp_iamge .js-slide {
    position: relative;
    z-index: 20;
}
#page_header .sp_iamge .js-slide_bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
}
#page_header .iamge {
    width: 80%;
    position: absolute;
    top: 0;
    right: -2.5%;
    z-index: 0;
    max-width: 1500px;
}
#detail {
    font-size: 1.6rem;
    margin-bottom: clamp(120px, (150vw/var(--pc)), 150px);
    position: relative;
}
#detail .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#detail .business_wrap {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 1000px;
    margin-right: 50px;
}
#detail .image {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 480px;
    margin-top: 8.59375vw;
}
#detail .title {
    font-size: 2rem;
    margin-bottom: 1em;
    color: var(--main)
}
#detail .business_cont {
    margin-bottom: 50px;
}
#detail .business_cont .note {
    margin-bottom: 1em;
}
#detail .business_cont .note:nth-last-of-type(1) {
    border: none;
}
#equipment {
    margin-bottom: clamp(150px, (200vw/var(--pc)), 200px);
}
#equipment .title {
    font-size: clamp(25px, (28vw/var(--pc)), 28px);
    margin-bottom: 50px
}
#equipment .grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px 2.5%;
    margin-bottom: clamp(120px, (150vw/var(--pc)), 150px);
}
@media only screen and (max-width:1440px) {
    #equipment .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media only screen and (max-width:667px) {
    #equipment .grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 2.5%;
    }
}
#equipment figure img {
    margin-bottom: 0.5em;
    border-radius: 25px 0 0 0;
    display: block;
}
#equipment figcaption {
    font-size: 1.2rem;
}
#equipment .equipment_list {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
#equipment .equipment_list table,
#equipment .equipment_list tr,
#equipment .equipment_list th,
#equipment .equipment_list td {
    border: 1px solid var(--glay);
    font-size: 1.4rem;
    font-weight: 500;
}
#equipment .equipment_list th {
    white-space: nowrap;
    padding: 0.5em 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #e4efd8;
    text-align: left;
}
#equipment .equipment_list th.th1 {
    width: 30%;
}
#equipment .equipment_list th.th2 {
    width: 30%;
}
#equipment .equipment_list th.th3 {
    width: 30%;
}
#equipment .equipment_list th.th4 {
    width: 10%;
    text-align: center;
}
#equipment .equipment_list td {
    white-space: nowrap;
    padding: 0.5em 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    text-align: left;
}
#equipment .equipment_list td:nth-child(4) {
    text-align: center;
}
#flow .contents {
    max-width: 1400px;
}
#flow .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#flow .flex .title {
    font-size: clamp(25px, (28vw/var(--pc)), 28px);
    white-space: nowrap;
    margin-right: 50px;
}
#flow .flex .flowList {
    font-size: clamp(20px, (22vw/var(--pc)), 22px);
    white-space: nowrap;
    text-align: left;
}
#flow .flex .flowList .flow_name {
    margin-bottom: clamp(25px, (70vw/var(--pc)), 70px);
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
#flow .flex .flowList .flow_name span {
    margin-right: 15px;
    width: 60px;
}
#flow .flex .tree_image {
    position: relative;
    margin-left: auto;
    padding-top: 0;
    max-width: 900px;
    min-width: 432px;
    line-height: 0;
    margin-right: 2.5%;
    margin-top: auto;
}
#flow::after {
    content: '';
    width: 100%;
    height: clamp(120px, (200vw/var(--pc)), 200px);
    background-image: -webkit-gradient(linear, left bottom, left top, from(#fdfce7), to(#d1e2af));
    background-image: linear-gradient(0deg, #fdfce7, #d1e2af);
    display: block;
}
#technology_menu {
    padding: 100px 0;
    margin: 0 auto;
    width: 90%;
    font-size: clamp(25px, (28vw/var(--pc)), 28px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#technology_menu .technology_menu {
    width: 48%;
}
#technology_menu .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
#technology_menu .title_wrap {
    white-space: nowrap;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 25px;
    min-width: 8em;
}
#technology_menu .image {
    position: relative;
    z-index: 20;
}
#technology_menu .image .js-slide {
    position: relative;
    z-index: 20;
}
#technology_menu .image .js-slide_bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
}
#mold .bgItem.item23 {
    top: -6.25vw;
    right: 10.15625vw;
}
#mold .bgItem.item24 {
    top: 0vw;
    right: 13.541666vw;
}
#equipment .bgItem.item25 {
    top: 2.34375vw;
    right: -12.76041666vw;
}
#equipment .bgItem.item26 {
    top: 9.9vw;
    right: -9.375vw;
}
#equipment .bgItem.item27 {
    top: 37.5vw;
    left: -14.0625vw;
}
#equipment .bgItem.item28 {
    top: 42.708333vw;
    left: -14.32291666vw;
}
#equipment .bgItem.item29 {
    bottom: 3vw;
    left: -14.0625vw;
}
#equipment .bgItem.item30 {
    bottom: 0vw;
    left: -14.32291666vw;
}
.bg_img {
    width: 100%;
    height: clamp(300px, (500vw/var(--pc)), 500px);
    margin-bottom: clamp(100px, (150vw/var(--pc)), 150px);
}
.bg_img.mold_01 {
    background: url("../img/mold_bg01.jpg")no-repeat center center / cover;
}
.bg_img.mold_02 {
    background: url("../img/mold_bg02.jpg")no-repeat center center / cover;
}
/*==============================================
ベンダー事業部
===============================================*/
#vendor #detail .image {
    max-width: inherit;
    margin-top: 0;
}
.bg_img.vendor_01 {
    background: url("../img/vendor_bg01.jpg")no-repeat center center / cover;
}
.bg_img.vendor_02 {
    background: url("../img/vendor_bg02.jpg")no-repeat center center / cover;
}
/*==============================================
電子部
===============================================*/
#equipment p {
    display: inline-block;
    margin-right: 1.5em;
    font-size: 1.8rem;
}
#electronic #detail .flex {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
}
#electronic #detail .image {
    margin-top: -25px;
}
#electronic #detail .business_wrap {
    max-width: 800px;
}
.bgItem.item31 {
    top: 0;
    right: 5.208333vw;
}
.bgItem.item32 {
    top: 5.7291666vw;
    right: 9.375vw;
}
.bg_img.electronic_01 {
    background: url("../img/electronic_bg01.jpg")no-repeat center center / cover;
}
/*===============================================
会社概要
===============================================*/
#about {
    margin-bottom: 0;
}
#about #page_header {
    margin-bottom: clamp(150px, (200vw/var(--pc)), 200px);
}
#about #page_header .contents {
    margin-bottom: 0;
}
#about #message {
    padding-top: clamp(150px, (200vw/var(--pc)), 200px);
}
#about #message .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#about #message .message_wrap {
    width: 48%;
}
#about #message .title {
    font-size: clamp(25px, (30vw/var(--pc)), 30px);
    margin-bottom: 1em;
}
#about #message .text {
    font-size: 1.6rem;
    line-height: 1.8;
}
#about #message .image {
    width: 48%;
    border-radius: 5.20833333vw 0 0 0;
}
#about #message .image img {
    border-radius: 5.20833333vw 0 0 0;
}
#about #message .text p.name {
    margin-top: 2em;
    text-align: right;
}
#about #message .text p.name span {
    margin-left: 1em;
    font-size: 1.8rem;
}
#about #profile {
    padding-top: clamp(150px, (200vw/var(--pc)), 200px);
}
.about_title {
    width: 20%;
    margin-right: 5%;
}
.about_title .title {
    font-size: clamp(25px, (30vw/var(--pc)), 30px);
}
.about_contents {
    width: 65%;
    font-size: 1.8rem;
    text-align: left;
}
.about_contents table {
    margin-bottom: 100px;
}
.about_contents table th {
    font-weight: 500;
    padding: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 15%;
    max-width: 200px;
    white-space: nowrap;
    border-top: 1px solid var(--main);
    border-bottom: 1px solid var(--main);
    border-right: 20px solid #fff;
}
.about_contents table td {
    padding: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 1px solid var(--glay);
    border-bottom: 1px solid var(--glay);
}
.about_contents table td span {
    display: block;
}
.about_contents .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 0;
}
#about #profile .flex,
#about #history .flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
#about #profile .flex figure,
#about #history .flex figure {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
    line-height: 1;
}
#about #profile .flex figure:nth-child(2n),
#about #history .flex figure:nth-child(2n) {
    margin-right: 0;
}
#about #profile .flex figure figcaption,
#about #history .flex figure figcaption {
    font-size: 1.5rem;
    margin-top: 0.5em;
}
#about #profile .flex figure:nth-child(n + 3),
#about #history .flex figure:nth-child(n + 3) {
    margin-bottom: 0;
}
.about_contents .map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 45%;
    overflow: hidden;
    margin-bottom: 25px;
}
.about_contents .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.about_contents .btn {
    text-align: right;
}
#about #history,
#about #philosophy,
#about #motto,
#about #slogan,
#about #badge {
    padding-top: clamp(150px, (200vw/var(--pc)), 200px);
}
#about #motto .text p {
    display: inline-block;
    margin-right: 3em;
    font-size: 2.2rem;
}
#about #slogan .slogan {
    font-size: clamp(35px, (40vw/var(--pc)), 40px);
    margin-bottom: 1em;
    font-family: "Noto Serif", serif;
    font-weight: 400;
}
#about #badge {
    margin-bottom: clamp(150px, (200vw/var(--pc)), 200px);
}
#about #badge .image {
    width: 40%;
    margin-right: 10%;
}
#about #badge .text {
    text-align: justify;
    width: 50%;
    line-height: 1.8;
}
#about #badge .text span {
    font-size: 1.3rem;
}
#philosophy .text {
    line-height: 1.8;
    font-size: 2.2rem;
}
#about .bg_img {
    width: 100%;
    height: clamp(600px, (800vw/var(--pc)), 800px);
    margin-bottom: 0;
}
.bg_img.about_01 {
    background: url("../img/about_bg01.jpg")no-repeat center center / cover;
}
#about #other_btn{
	margin: 0 auto clamp(150px, (200vw/var(--pc)), 200px);
}
#about #other_btn .btnList{
	display: flex;
	justify-content: space-between;
}
#about #other_btn .btn{
	margin: 0 15px;
	width: 250px;
}
#about #other_btn .btn a{
	display: block;
}
/*==============================================
CSR
===============================================*/
#csr #page_header .contents {
    margin-bottom: 0;
    border-bottom: 1px solid var(--glay);
}
.pillar_flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 100px;
}
.pillar {
    text-align: center;
    width: 32%;
    padding: 50px 30px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-image: -webkit-gradient(linear, left top, right top, from(#37a64933), to(#9dd03833));
    background-image: linear-gradient(90deg, #37a64933, #9dd03833);
    border-radius: 50px 0 0 0;
}
.pillar .image {
    max-width: 200px;
    margin: 0 auto 25px;
}
.pillar .title {
    font-size: 1.8rem;
    margin-bottom: 30px;
}
.pillar .text {
    text-align: justify;
    font-size: 1.5rem;
}
#csr_wrap {
    margin-bottom: clamp(150px, (200vw/var(--pc)), 200px);
}
#csr_wrap .contents {
    max-width: 1400px;
}
#csr_wrap .flex {
    margin-bottom: 50px;
}
#csr_wrap .flex .title {
    font-size: 1.8rem;
}
#csr_wrap .flex .text p {
    margin-bottom: 3em;
    line-height: 1.8;
}
#csr_wrap .flex .text p span {
    font-size: 1.4rem;
}
#csr_wrap .flex .text a {
    text-decoration: underline;
}
.csr_text {
    font-size: 2.4rem;
    margin-bottom: 100px;
    text-align: center;
    font-weight: 500;
}
#csr_wrap .csr_contents {
    font-size: 1.6rem;
    width: 75%;
}
#csr_wrap .csr_contents section {
    margin-bottom: 5em;
}
#csr_wrap .headline {
    font-size: 2rem;
    margin-bottom: 0.25em;
}
#csr_wrap .headline span {
    font-size: 2rem;
    color: var(--main);
    margin-right: 0.25em;
}
#csr_wrap .content {
    margin-bottom: 2em;
}
#csr_wrap .content span {
    font-size: 1.8rem;
    display: block;
    font-weight: 500;
    margin-bottom: 0.25em;
}
/*==============================================
お知らせ
===============================================*/
#news #page_header .contents {
    margin-bottom: 0;
}
#other_wrap {
    background: linear-gradient(135deg, #d1e2af, #fdfce7);
    padding: clamp(100px, (150vw/var(--pc)), 150px) 0 clamp(150px, (200vw/var(--pc)), 200px);
}
#other_wrap .contents {
    max-width: 800px;
    background-color: #fff;
    padding: clamp(80px, (100vw/var(--pc)), 100px) 2.5% clamp(100px, (150vw/var(--pc)), 150px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 30px;
}
#news #other_wrap .contents {
    padding: clamp(80px, (100vw/var(--pc)), 100px) 2.5% 50px;
}
.news_table {
    font-size: 1.6rem;
    position: relative;
}
.news_table li {
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #999999;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.news_table li .flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.news_table li .flex .thumb {
    max-width: 200px;
    margin-right: 15px;
    line-height: 0;
}
.news_table li .flex .newsText {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.news_table .date {
    font-size: 1.2rem;
    display: block;
    line-height: 1;
}
.news_table .title {
    font-size: 1.6rem;
    display: block;
    margin-bottom: 5px;
}
.news_table .text {
    font-size: 1.4rem;
}
#single #other_wrap .contents {
    padding: clamp(80px, (100vw/var(--pc)), 100px) 2.5%;
}
#single #other_wrap .contents .date {
    font-size: 1.4rem;
}
#single #other_wrap .contents .title {
    font-size: 2rem;
    padding-bottom: 1em;
    margin-bottom: 3em;
    border-bottom: 1px solid var(--main)
}
#single #other_wrap .contents p {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#single #other_wrap .contents img {
    max-width: 400px;
}
#single figcaption {
    font-size: 1rem;
    margin-top: 0.25em;
}
#single #page_header .contents {
    margin-bottom: 0;
}
#single .wp-block-embed {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}
#single .wp-block-embed__wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    overflow: hidden;
}
#single .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*==============================================
ページアーカイブ
===============================================*/
.archive {
    position: relative;
    font-size: 1.5rem;
	margin-top: 150px;
	height: auto;
}
.archive a {
    color: var(--main);
}
.archive .index {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.archive .index a:hover {
    color: #fff
}

.archive .index.archiveBtn a {
    width: 200px;
    border: 1px solid var(--main);
	color: #fff;
	background: var(--main);
	display: block;
	text-align: center;
	height: 100%;
	line-height: 1;
	padding: 1.25em 0;
	border-radius: 100px;
	transition: 0.25s;
}
.archive .index.archiveBtn a:hover {
    border: 1px solid var(--main);
	color: var(--main);
	background: #fff;
}
.archive .index.archiveBtn a::before {
    background: var(--main);
}
.archive .prev {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 45px;
    height: 45px;
    border: 1px solid var(--main);
    border-radius: 100%;
}
.archive .next {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 45px;
    height: 45px;
    border: 1px solid var(--main);
    border-radius: 100%;
}
.archive .prev a,
.archive .next a {
    width: 45px;
    height: 45px;
    border-radius: 100%;
    display: block;
    position: relative;
}
.archive .prev a::after,
.archive .next a::after {
    content: '';
    background: url("../img/next.svg")no-repeat center center / cover;
    width: 8px;
    height: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.archive .prev a::after {
    background: url("../img/prev.svg")no-repeat center center / cover;
}
.archive .next a:hover::after {
    animation: arrow_next 0.5s 0s both;
}
.archive .prev a:hover::after {
    animation: arrow_prev 0.5s 0s both;
}
@keyframes arrow_next {
    0% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    49.9% {
        opacity: 0;
        -webkit-transform: translate(20px, -50%);
        transform: translate(20px, -50%);
    }
    50% {
        -webkit-transform: translate(-20px, -50%);
        transform: translate(-20px, -50%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}
@keyframes arrow_prev {
    0% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    49.9% {
        opacity: 0;
        -webkit-transform: translate(-20px, -50%);
        transform: translate(-20px, -50%);
    }
    50% {
        -webkit-transform: translate(20px, -50%);
        transform: translate(20px, -50%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}
/*==============================================
お問い合わせ
===============================================*/
#contact #page_header .contents {
    margin-bottom: 0;
}
#contact #other_wrap .contents {
    font-size: 1.6rem;
    padding: clamp(80px, (100vw/var(--pc)), 100px) 5% 50px;
}
#contact #other_wrap .contents#tel_contact {
    margin-bottom: 50px;
    text-align: center;
    font-size: 2.2rem;
}
#contact #other_wrap .contents h2 {
    margin-bottom: 1em;
    position: relative;
    font-weight: 500;
}
#contact #other_wrap .contents h2::before {
    content: '';
    background: url("../img/contact_img01.svg")no-repeat center center / cover;
    width: 100vw;
    aspect-ratio: 49 / 38;
    max-width: 50px;
    display: inline-block;
    margin-right: 15px;
    vertical-align: -0.25em;
}
#contact #other_wrap .contents p {
    font-weight: 500;
    font-size: 3.4rem;
}
#contact #other_wrap .contents#tel_contact p:nth-last-child(1) {
    font-weight: 400;
    font-size: 2rem;
    margin-top: 2em;
}
#contact #other_wrap .contents#contact_form {
    padding: clamp(80px, (100vw/var(--pc)), 100px) 5% 50px;
}
#contact #other_wrap .contents#contact_form .text {
    margin-bottom: 50px;
    line-height: 1.8;
}
#contact #other_wrap .contents#contact_form .text p {
    font-size: 1.6rem;
}
#contact_form .contact_list .list {
    font-size: 1.8rem;
    margin-bottom: 0.5em;
}
#contact_form .contact_list .list span {
    color: var(--main);
}
#contact_form input {
    width: 100%;
    background-color: #ebebeb;
    border: none;
    padding: 1em 2em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 100px;
}
#contact_form li.input {
    margin-bottom: 2em;
}
#contact_form li.input_half {
    margin-bottom: 1em;
}
#contact_form li.input_half span {
    display: inline-block;
    margin-right: 0.5em;
}
#contact_form li.input_half input {
    width: 10em;
    text-align: center;
}
#contact_form textarea {
    width: 100%;
    background-color: #ebebeb;
    border: none;
    padding: 1em 2em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 15px;
    font-size: 1.6rem;
    font-family: "Noto Sans", sans-serif;
    height: 10em;
}
#contact #other_wrap .contents .sendBox {
    text-align: center;
}
#contact #other_wrap .contents .sendBox p {
    font-size: 1.6rem;
}
/*チェックボックスカスタム*/
input[type=checkbox] {
    display: none;
}
.checkboxAnime {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 0 5px 30px;
    position: relative;
    width: auto;
}
.checkboxAnime::before {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.checkboxAnime::after {
    /*チェックの色*/
    border-right: 6px solid var(--main);
    border-bottom: 3px solid var(--main);
    content: '';
    display: block;
    height: 20px;
    left: 7px;
    margin-top: -16px;
    opacity: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(.7, .7, 1);
    transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(.7, .7, 1);
    -webkit-transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
    transition: transform .2s ease-in-out, opacity .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: 9px;
}
input[type=checkbox]:checked + .checkboxAnime::before {
    border-color: #666;
}
input[type=checkbox]:checked + .checkboxAnime::after {
    opacity: 1;
    -webkit-transform: rotate(45deg) scale3d(1, 1, 1);
    transform: rotate(45deg) scale3d(1, 1, 1);
}
input[type=checkbox]:checked + .checkboxAnime::before {
    border-color: #666;
}
input[type=checkbox]:checked + .checkboxAnime::after {
    opacity: 1;
    -webkit-transform: rotate(45deg) scale3d(1, 1, 1);
    transform: rotate(45deg) scale3d(1, 1, 1);
}
.send {
    margin: 3rem auto 0;
    text-align: center;
}
.send-container a {
    text-decoration: underline;
}
#contact_form input[type="submit"].send-btn {
    font-size: 1.5rem;
    background-color: var(--main);
    border: 1px solid var(--main);
    color: #fff;
    display: inline-block;
    text-align: center;
    width: auto;
    min-width: 140px;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
#contact_form input[type="submit"].send-btn:hover {
    background-color: #fff;
    border: 1px solid var(--main);
    color: var(--main);
}
/*==============================================
プライバシーポリシー
===============================================*/
#policy #page_header .contents {
    margin-bottom: 0;
    border-bottom: 1px solid var(--glay);
}
#policy_wrap {
    margin-bottom: clamp(150px, (200vw/var(--pc)), 200px);
}
#policy_wrap .contents {
    max-width: 1200px;
}
#policy_wrap .flex {
    margin-bottom: 50px;
}
#policy_wrap .flex .title {
    font-size: 1.8rem;
}
#policy_wrap .flex .text p {
    margin-bottom: 3em;
    line-height: 1.8;
}
#policy_wrap .flex .text p span {
    font-size: 1.4rem;
}
#policy_wrap .flex .text a {
    text-decoration: underline;
}
.policy_text {
    font-size: 1.8rem;
    margin-bottom: 100px;
}
/*==============================================
フッター
===============================================*/
footer {
    background-image: linear-gradient(135deg, #d1e2af, #fdfce7);
    padding: 100px 5% 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.6rem;
    position: relative;
}
.footer_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.footer_contaner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.company_info {
    margin-bottom: 50px;
}
.company_info .company_name {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 15px;
}
.footer_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: auto;
    margin-bottom: 50px;
}
.footer_menu ul {
    margin-right: 2em;
}
.footer_menu ul li.title {
    font-weight: 700;
    margin-bottom: 0.5em;
}
.footer_menu ul li.menuList a {
    font-size: 1.3rem;
}
.footer_menu ul li.menuList a::before {
    content: '';
    width: 10px;
    height: 1px;
    background-color: var(--glay);
    display: inline-block;
    margin-right: 0.5em;
    vertical-align: 0.35em;
}
.footer_menu ul li.footer_btn {
    margin-bottom: 1em;
}
.footer_logo {
    max-width: 230px;
}
.copyright {
    font-size: 1rem;
}
.footer_menu .btn a {
    background-color: #fff;
    color: var(--main);
}
.footer_menu .btn a:hover {
    background-color: var(--main);
    color: #fff;
}
.footer_menu .btn.sub a {
    background-color: #fff;
    color: var(--sub);
}
.footer_menu .btn.sub a:hover {
    background-color: var(--sub);
    color: #fff;
}
.top {
    position: absolute;
    right: 5%;
    top: 100px;
    max-width: 60px;
    z-index: 999;
}
/*==============================================
404
===============================================*/
.notfound-wrap {
    min-height: 800px;
    position: relative;
}
.notfound {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 400px;
    width: 100%;
    text-align: center;
}
.notfound img {
    width: 100%;
    height: auto;
    max-width: 400px;
    margin-bottom: 50px;
}
.notfound p {
    font-size: 1.6rem;
    margin-bottom: 80px;
    text-align: left;
}
.notfound .more {
    margin: 0 auto;
    display: inline-block;
}
.notfound a {
    background-color: #646464;
    color: #fff;
    padding: 1em 2em;
    font-size: 1.4rem;
    margin: 0 auto;
}
/*==============================================
画面の横幅が820pxまで
===============================================*/
@media only screen and (max-width:820px) {
    .sp-none {
        display: none;
    }
    .pc-none {
        display: block;
    }
    .btn a {
        padding: 0.5em 1.5em;
        -webkit-transition: 0s;
        transition: 0s;
        font-size: 1.2rem;
        min-width: 120px;
    }
    .btn a:hover {
        background-color: var(--main);
        color: #fff;
    }
    .btn.sub a:hover {
        background-color: var(--sub);
        color: #fff;
    }
    /*==============================================
メニュー
===============================================*/
    .pc_nav {
        height: 60px;
    }
    .pc_nav nav {
        display: none;
    }
    .logo {
        position: absolute;
        width: 20%;
        max-width: 240px;
        min-width: 200px;
        line-height: 0;
        left: 5%;
        top: 2.5%;
    }
    /*==============================================
index
===============================================*/
    .contaner {
        max-width: 640px;
    }
    main {
        margin-bottom: clamp(80px, (100vw/var(--sp)), 100px);
        padding-bottom: 80px;
    }
    main .slider {
        width: 100%;
        -webkit-transform: translateX(10%);
        transform: translateX(10%);
        max-width: 640px;
    }
    main .mainCopy {
        font-size: clamp(26px, (45vw/var(--sp)), 45px);
        top: inherit;
        bottom: -25px;
        left: 5%;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        letter-spacing: 1px;
    }
    .bgItem {
        max-width: 21.951219512vw;
    }
    .bgItem.colorRing_A {
        max-width: 10.208333333vw;
    }
    .bgItem.colorRing_B {
        max-width: 8.9vw;
    }
    .bgItem.colorRing_C {
        max-width: 6.875vw;
    }
    .bgItem.item01 {
        display: none;
    }
    .bgItem.item03 {
        bottom: -8vw;
        left: inherit;
        right: 5vw;
    }
    .bgItem.item04 {
        bottom: 8.854166666vw;
        left: inherit;
        right: 0vw;
        -webkit-transform: translateX(20%);
        transform: translateX(20%);
    }
    .bgItem.item05 {
        display: none;
    }
    .bgItem.item06 {
        top: 7.8125vw;
        right: 0;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }
    .top_contaner {
        margin: 0 auto clamp(50px, (80vw/var(--sp)), 80px);
    }
    .top_contaner .flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .top_contaner .image {
        width: 80%;
    }
    .top_contaner .contents_title {
        font-size: clamp(22px, (25vw/var(--sp)), 25px);
        padding: 0 5px 10px;
        letter-spacing: 1px;
        margin-bottom: 1em;
    }
    .top_contaner .copy {
        font-size: clamp(18px, (20vw/var(--sp)), 20px);
    }
    .top_contaner .menu_contents {
        margin-top: 25px;
        width: 100%;
    }
    /*-----TOP-双葉ダイスについて-----*/
    .bgItem.item07 {
        display: none;
    }
    .bgItem.item08 {
        top: 24vw;
        right: 3.8125vw;
    }
    .bgItem.item09 {
        bottom: 5vw;
        right: 3.20833vw;
    }
    /*-----TOP-会社概要-----*/
    #top_profile {
        margin-bottom: clamp(100px, (150vw/var(--sp)), 150px);
        position: relative;
    }
    #top_profile .top_contaner .menu_contents {
        text-align: right;
    }
    .bgItem.item12 {
        display: none;
    }
    .bgItem.item14 {
        bottom: 9.78125vw;
    }
    #top_profile .flex .menu_contents {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    #top_profile .flex .image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-left: auto;
    }
    .bgItem.item13 {
        display: none;
    }
    .bgItem.item15 {
        display: none;
    }
    .bgItem.item16 {
        display: none;
    }
    /*-----TOP-技術と設備-----*/
    #top_technology {
        padding: clamp(80px, (100vw/var(--sp)), 100px) 0;
    }
    #top_technology .top_contaner .mainCopy {
        font-size: clamp(26px, (30vw/var(--sp)), 30px);
        margin-bottom: 50px;
    }
    #top_technology .technologyBox {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    #top_technology .contentsBox {
        display: block;
        width: 48%;
    }
    #top_technology .contentsBox {
        margin: 0 0 25px;
        width: 100%;
    }
    #top_technology .technology_menu {
        width: 46%;
    }
    #top_technology .technology_menu#mold {
        margin-bottom: 50px;
    }
    #top_technology .technology_menu#vendor {
        -webkit-transform: translateY(36%);
        transform: translateY(36%);
    }
    #top_technology .technology_menu#electronic .image {
        margin-left: auto;
    }
    #top_technology .technology_menu .image {
        width: 100%;
        margin-bottom: 15px;
    }
    #top_technology .technology_name {
        font-size: clamp(22px, (25vw/var(--sp)), 25px);
    }
    #top_technology .column_menu {
        display: block;
    }
    #top_technology .column_menu .technology_name {
        margin-right: 0;
        font-size: clamp(20px, (24vw/var(--sp)), 24px);
        margin-bottom: 10px;
    }
    .bgItem.item11 {
        left: 50vw;
    }
    .bgItem.item17 {
        bottom: 20vw;
        right: 6.25vw;
        left: inherit;
    }
    .bgItem.item20 {
        top: 65vw;
        right: 20vw;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    /*-----TOP-NEWS-----*/
    #top_news {
        padding: 50px 5%;
    }
    #top_news .topNews_contaner {
        padding: 5% 5%;
        max-width: 400px;
        min-width: inherit;
        width: 100%;
    }
    #top_news .topNews_title {
        font-size: clamp(22px, (25vw/var(--sp)), 25px);
        margin-bottom: 25px;
    }
    #top_news .topNews_box {
        margin-bottom: 25px
    }
    #top_news .topNews_box li {
        padding: 0 0 10px 0;
        margin-bottom: 10px;
    }
    #top_news .topNews_box .date {
        font-size: 1rem;
    }
    #top_news .topNews_box .title {
        font-size: 1.3rem;
    }
    #top_news .topNews_box .title::after {
        width: 6px;
        height: 12px;
    }
    /*-----TOP-採用情報-----*/
    #top_recruit {
        background: url("../img/recruit_bg.jpg")no-repeat left 52% center / cover;
        padding: 50px 5% 100px;
    }
    #top_recruit::before {
        width: 100%;
        background-image: -webkit-gradient(linear, left top, right top, from(#ffffffe6), to(transparent));
        background-image: linear-gradient(90deg, #ffffffe6, transparent 100%);
    }
    #top_recruit::after {
        width: 40vw;
        right: 5%;
        top: inherit;
        bottom: 10%;
    }
    /*==============================================
双葉ダイスの強み
===============================================*/
    #strengths #page_header .copy {
        margin-left: 0;
    }
    #strengths .strengths_wrap {
        padding: 80px 0 clamp(300px, (350vw/var(--sp)), 350px);
    }
    #strengths .strengths_wrap::after {
        display: none;
    }
    #strengths .no_image {
        width: 25%;
        max-width: 100px;
    }
    #strengths .title {
        font-size: clamp(22px, (25vw/var(--sp)), 25px);
    }
    #strengths .text {
        font-size: clamp(16px, (18vw/var(--sp)), 18px);
    }
    #strengths .strengths_wrap#strengths_1::before {
        background-image: -webkit-gradient(linear, left top, left bottom, from(#000000b3), to(transparent));
        background-image: linear-gradient(#000000b3, transparent 100%);
    }
    #strengths .strengths_wrap#strengths_2::before {
        background-image: -webkit-gradient(linear, left top, left bottom, from(#5ea6bccc), to(#5ea6bccc));
        background-image: linear-gradient(#5ea6bccc, #5ea6bccc 100% transparent);
    }
    #strengths .strengths_wrap#strengths_3::before {
        background-image: -webkit-gradient(linear, left top, left bottom, from(#000000b3), to(transparent));
        background-image: linear-gradient(#000000b3, transparent 100%);
    }
    /*==============================================
金型・FA事業部
===============================================*/
    #page_header {
        margin-bottom: clamp(50px, (100vw/var(--sp)), 100px);
    }
    #page_header .contents {
        margin-bottom: 15vw;
    }
    #page_header .headline {
        font-size: clamp(16px, (18vw/var(--sp)), 18px);
        margin-bottom: 20px;
        padding-bottom: 0px;
    }
    #page_header h2 {
        font-size: clamp(24px, (35vw/var(--sp)), 35px);
        margin-bottom: clamp(30px, (60vw/var(--sp)), 60px);
        letter-spacing: 1px;
    }
    #page_header .copy {
        font-size: clamp(20px, (25vw/var(--sp)), 25px);
        margin-bottom: clamp(30px, (50vw/var(--sp)), 50px);
    }
    #page_header .explanation {
        font-size: 1.6rem;
    }
    #page_header .sp_iamge {
        display: block;
        position: relative;
    }
    #page_header .iamge {
        display: none;
    }
    #detail {
        font-size: 1.4rem;
        margin-bottom: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #detail .flex {
        display: block;
    }
    #detail .business_wrap {
        max-width: 640px;
        margin-right: 0;
    }
    #detail .image {
        max-width: 250px;
        margin-left: auto;
        margin-top: 0;
    }
    #detail .title {
        font-size: 1.6rem;
    }
    #detail .business_cont {
        margin-bottom: 25px;
    }
    #detail .business_cont .note {
        margin-bottom: 0.5em;
        padding-bottom: 0.5em;
        line-height: 1.5;
    }
    #equipment {
        margin-bottom: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #equipment .title {
        font-size: clamp(20px, (22vw/var(--sp)), 22px);
        margin-bottom: 30px
    }
    #equipment .grid {
        margin-bottom: 50px;
    }
    #equipment figure img {
        margin-bottom: 0.25em;
        border-radius: 25px 0 0 0;
    }
    #equipment figcaption {
        font-size: 1rem;
    }
    #equipment .equipment_list {
        width: 90%;
        max-width: 640px;
        margin: 0 auto;
    }
    #equipment .equipment_list table,
    #equipment .equipment_list tr,
    #equipment .equipment_list th,
    #equipment .equipment_list td {
        font-size: 1.2rem;
    }
    #flow .flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    #flow .flex .title {
        font-size: clamp(20px, (24vw/var(--sp)), 24px);
        margin-right: 0;
        width: 100%;
        margin-bottom: 15px;
    }
    #flow .flex .flowList {
        font-size: clamp(14px, (18vw/var(--sp)), 18px);
        width: 50%;
    }
    #flow .flex .flowList .flow_name {
        margin-bottom: 25px;
    }
    #flow .flex .flowList .flow_name span {
        margin-right: 10px;
        width: 35px;
        min-width: 35px;
    }
    #flow .flex .tree_image {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        max-width: 900px;
        min-width: inherit;
        margin-right: 0;
        margin-top: auto;
    }
    #flow::after {
        content: '';
        width: 100%;
        height: clamp(120px, (200vw/var(--pc)), 200px);
        background-image: -webkit-gradient(linear, left bottom, left top, from(#fdfce7), to(#d1e2af));
        background-image: linear-gradient(0deg, #fdfce7, #d1e2af);
        display: block;
    }
    #technology_menu {
        padding: 50px 0;
        max-width: 640px;
        font-size: clamp(20px, (24vw/var(--sp)), 24px);
        display: block;
    }
    #technology_menu .technology_menu {
        width: 100%;
        margin-bottom: 25px;
    }
    #technology_menu .technology_menu:nth-last-of-type(1) {
        margin-bottom: 0;
    }
    #technology_menu .technology_menu:nth-of-type(2) .flex .title_wrap {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-right: 0;
        margin-left: 25px;
    }
    #technology_menu .technology_menu:nth-of-type(2) .flex .image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    #mold .bgItem.item23 {
        display: none;
    }
    #mold .bgItem.item24 {
        display: none;
    }
    #equipment .bgItem.item25 {
        display: none;
    }
    #equipment .bgItem.item26 {
        display: none;
    }
    #equipment .bgItem.item27 {
        display: none;
    }
    #equipment .bgItem.item28 {
        display: none;
    }
    #equipment .bgItem.item29 {
        display: none;
    }
    #equipment .bgItem.item30 {
        display: none;
    }
    .bg_img {
        width: 100%;
        height: clamp(200px, (300vw/var(--sp)), 300px);
        margin-bottom: clamp(80px, (100vw/var(--sp)), 100px);
    }
    /*==============================================
ベンダー事業部
===============================================*/
    /*==============================================
電子部
===============================================*/
    #equipment p {
        font-size: 1.6rem;
    }
    #electronic #detail .image {
        margin-top: 0;
    }
    .bgItem.item31 {
        display: none;
    }
    .bgItem.item32 {
        display: none;
    }
    /*===============================================
会社概要
===============================================*/
    #about #page_header {
        margin-bottom: 0;
    }
    #about #message {
        padding-top: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #about #message .flex {
        display: block;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    #about #message .message_wrap {
        width: 100%;
        margin-bottom: 25px;
    }
    #about #message .title {
        font-size: clamp(20px, (25vw/var(--sp)), 25px);
    }
    #about #message .text {
        font-size: 1.4rem;
    }
    #about #message .image {
        width: 100%;
    }
    #about #message .text p.name span {
        font-size: 1.6rem;
    }
    #about #profile {
        padding-top: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #about #profile .flex {
        display: block;
    }
    .about_title {
        width: 100%;
        margin-right: 0;
        margin-bottom: 0.5em;
    }
    #about .about_title {
        margin-bottom: 1em;
    }
    .about_title .title {
        font-size: clamp(20px, (25vw/var(--sp)), 25px);
    }
    .about_contents {
        width: 100%;
        font-size: 1.4rem;
    }
    .about_contents table {
        margin-bottom: 25px;
    }
    .about_contents table th {
        display: block;
        width: 100%;
        padding: 1em 1em 0 0;
        max-width: inherit;
        border-right: none;
        border-top: none;
        border-bottom: none;
    }
    .about_contents table td {
        display: block;
        width: 100%;
        padding: 0 1em 1em 0;
        border-top: none;
    }
    #about #profile .about_contents .flex.image,
    #about #history .about_contents .flex.image {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    #about #profile .flex figure figcaption,
    #about #history .flex figure figcaption {
        font-size: 1.2rem;
        line-height: 1.5;
    }
    .about_contents .map {
        padding-top: 60%;
    }
    #about #history,
    #about #philosophy,
    #about #motto,
    #about #slogan,
    #about #badge {
        padding-top: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #about .contents .flex {
        display: block;
    }
    #about #motto .text p {
        display: block;
        margin-right: 0;
        font-size: 1.8rem;
    }
    #about #slogan .slogan {
        font-size: clamp(28px, (34vw/var(--sp)), 34px);
        line-height: 1.4;
    }
    #about #badge {
        margin-bottom: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #about #badge .image {
        width: 40%;
        margin: 0 auto 15px;
        max-width: 300px;
    }
    #about #badge .text {
        width: 100%;
    }
    #about #badge .text span {
        font-size: 1.3rem;
    }
    #philosophy .text {
        font-size: 1.8rem;
    }
    #about .bg_img {
        height: clamp(250px, (400vw/var(--sp)), 400px);
    }
#about #other_btn{
	margin: 0 auto clamp(80px, (100vw/var(--sp)), 100px);
}
#about #other_btn .btnList{
	display: block;
	margin-top: 25px;
}
#about #other_btn .btn{
	margin: 0 auto 15px;
	width: 250px;
}
#about #other_btn .btn a{
	display: block;
}
    /*==============================================
CSR
===============================================*/
    .pillar_flex {
        display: block;
        max-width: 420px;
        margin: 0 auto 50px;
    }
    .pillar {
        text-align: center;
        width: 100%;
        padding: 7%;
        border-radius: 30px 0 0 0;
        margin-bottom: 25px;
    }
    .pillar .image {
        width: 50%;
        max-width: 150px;
        margin: 0 auto 15px;
    }
    .pillar .title {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }
    .pillar .text {
        font-size: 1.4rem;
    }
    #csr_wrap {
        margin-bottom: clamp(80px, (100vw/var(--sp)), 100px);
    }
    #csr_wrap .contents {
        max-width: 640px;
    }
    #csr_wrap .flex {
        display: block;
        margin-bottom: 35px;
    }
    #csr_wrap .flex .title {
        font-size: 1.6rem;
    }
    #csr_wrap .flex .text p {
        margin-bottom: 2em;
    }
    .csr_text {
        font-size: 1.8rem;
        margin-bottom: 50px;
        text-align: left;
    }
    #csr_wrap .csr_contents {
        font-size: 1.4rem;
        width: 100%;
    }
    #csr_wrap .csr_contents section {
        margin-bottom: 3em;
    }
    #csr_wrap .headline {
        font-size: 1.6rem;
    }
    #csr_wrap .headline span {
        font-size: 1.6rem;
        margin-right: 0em;
    }
    #csr_wrap .content {
        margin-bottom: 2em;
    }
    #csr_wrap .content span {
        font-size: 1.6rem;
    }
    /*==============================================
お知らせ
===============================================*/
    #other_wrap {
        padding: clamp(80px, (100vw/var(--sp)), 100px) 0 clamp(100px, (150vw/var(--sp)), 150px);
    }
    #other_wrap .contents {
        max-width: 640px;
        padding: 10% 5% 10%;
    }
#news #other_wrap .contents {
    padding: 10% 5% 50px;
}
    .news_table {
        font-size: 1.4rem;
    }
    .news_table li {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .news_table li .flex {
        display: block;
    }
    .news_table li .flex .thumb {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .news_table .date {
        font-size: 1rem;
    }
    .news_table .title {
        font-size: 1.5rem;
    }
    .news_table .text {
        font-size: 1.3rem;
    }
    #single #other_wrap .contents {
        padding: 10% 5% 80px;
    }
    #single #other_wrap .contents .date {
        font-size: 1.2rem;
    }
    #single #other_wrap .contents .title {
        font-size: 1.6rem;
    }
    #single #other_wrap .contents p {
        font-size: 1.4rem;
        margin-bottom: 1em;
    }
    /*==============================================
お問い合わせ
===============================================*/
    #contact #other_wrap .contents {
        font-size: 1.4rem;
        padding: 10% 5% 10%;
    }
    #contact #other_wrap .contents#tel_contact {
        margin-bottom: 1em;
        font-size: 1.6rem;
    }
    #contact #other_wrap .contents h2 {
        font-size: 1.8rem;
    }
    #contact #other_wrap .contents h2::before {
        max-width: 35px;
        margin-right: 10px;
        vertical-align: -0.25em;
    }
    #contact #other_wrap .contents p {
        font-size: 2rem;
    }
    #contact #other_wrap .contents#tel_contact p:nth-last-child(1) {
        font-size: 1.4rem;
        margin-top: 1em;
    }
    #contact #other_wrap .contents#contact_form {
        padding: 10% 5% 10%;
    }
    #contact #other_wrap .contents#contact_form .text {
        margin-bottom: 50px;
    }
    #contact #other_wrap .contents#contact_form .text p {
        font-size: 1.4rem;
    }
    #contact_form .contact_list .list {
        font-size: 1.6rem;
    }
    #contact_form input {
        border-radius: 15px;
    }
    #contact_form input[type="submit"].send-btn {
        font-size: 1.2rem;
        border-radius: 100px;
    }
/*==============================================
ページアーカイブ
===============================================*/
.archive {
    font-size: 1.2rem;
	margin-top: 50px;
}
.archive .index.archiveBtn a {
    width: 150px;
	padding: 1em 0;
}
.archive .index.archiveBtn a:hover {
    border: 1px solid var(--main);
	color: #fff;
	background: var(--main);
}
.archive .prev {
    width: 30px;
    height: 30px;
}
.archive .next {
    width: 30px;
    height: 30px;
}
.archive .prev a,
.archive .next a {
    width: 30px;
    height: 30px;
}
    /*==============================================
プライバシーポリシー
===============================================*/
    #policy_wrap {
        margin-bottom: clamp(100px, (150vw/var(--sp)), 150px);
    }
    #policy_wrap .contents {
        max-width: 640px;
    }
    #policy_wrap .flex {
        display: block;
        margin-bottom: 25px;
    }
    #policy_wrap .flex .title {
        font-size: 1.6rem;
    }
    #policy_wrap .flex .text p {
        margin-bottom: 2em;
    }
    .policy_text {
        font-size: 1.4rem;
        margin-bottom: 25px;
    }
    /*==============================================
フッター
===============================================*/
    footer {
        padding: 50px 5% 25px;
        font-size: 1.4rem;
    }
    .footer_flex {
        display: block;
    }
    .company_info {
        margin-bottom: 30px;
    }
    .company_info .company_name {
        font-size: clamp(18px, (20vw/var(--sp)), 20px);
        margin-bottom: 10px;
    }
    .footer_menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 50px;
    }
    .footer_menu ul {
        margin-right: 25px;
        margin-bottom: 15px;
    }
    .footer_menu ul li.title {
        margin-bottom: 0;
    }
    .footer_menu ul li.menuList a {
        font-size: 1.2rem;
    }
    .footer_menu ul li.footer_btn {
        margin-top: 1em;
    }
    .footer_logo {
        text-align: center;
        max-width: inherit;
        margin-bottom: 50px;
    }
    .copyright {
        text-align: center;
    }
    .footer_logo img {
        max-width: 200px;
        width: 40%;
        min-width: 160px;
    }
    .top {
        top: 50px;
        max-width: 45px;
    }
    /*==============================================
404
===============================================*/
    .notfound-wrap {
        min-height: 500px;
        width: 90%;
        margin: 0 auto;
    }
    .notfound p {
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .notfound img {
        width: 100%;
        max-width: 200px;
        margin-top: 0;
    }
}