@charset "UTF-8";

/* ==========================================
   1. ãƒšã?ã‚¸å…¨ä½“ã?ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«?ˆä¸?ç•ªå¤–å?ã®è¦ª??
   ========================================== */
.TopPage {
    display: flex;
    flex-direction: column;   /* ãƒšã?ã‚¸å…¨ä½“ã‚’ä¸Šã‹ã‚‰ä¸‹ã¸ç¸¦ä¸¦ã³ã«ã™ã‚‹ */
    width: 100%;
}

/* ==========================================
   2. ãƒ¡ãƒ¡ã‚¤ãƒ³ãƒ“ã‚¸ãƒ¥ã‚¢ãƒ«?ˆæž ãŒã?ã‚¿ãƒ³ã«è¢«ã‚‰ãªã?¨­å®šï¼?
   ========================================== */
.MainVisual {
    width: calc(100% - 8.6vw);
    /* â˜? ä¸‹ã?ä½™ç™½ã‚? 40px ã‹ã‚‰ 15px ã«ç¸®ã‚ã¦è·é›¢ã‚’æŽ¥è¿‘ã•ã›ã¾ã? */
    margin: 0 0 15px 0; 
    border: 2px solid #333333;
    padding: 20px;
    background-color: #ffffff;
    box-sizing: border-box;
}

/* ã‚¿ã‚¤ãƒˆãƒ«æž ?šæ–‡å­—ã«åˆã‚ã›ãŸé•·ã•ã§ä¸­å¤®ã«ç½®ã? */
.TitleBox {
    display: table;
    margin: 0 auto 20px auto;
    background-color: #00e667;
    padding: 15px 40px; /* ä½™ç™½ã‚’å°‘ã—åº?’ã¦ã‚?¨ã‚Šã‚’æŒãŸã›ã¾ã—ãŸ */
    border: 3px solid #333333; /* æž ç·šã‚‚å°‘ã—å¤ªãã—ã¦ãƒãƒ©ãƒ³ã‚¹ã‚’èª¿æ•´ */
    max-width: 90%; /* ã‚¹ãƒžã?ç”»é¢ã§æ¨ªå¹?‹ã‚‰ã?ã¿å‡ºã‚‹ã?ã‚’é˜²ãŽã¾ã? */
    box-sizing: border-box;
}

.MainTitle {
    font-size: 50px; /* 35pxã‹ã‚‰50pxã«å¤§ããå¤‰æ›´ */
    font-weight: bold;
    text-align: center;
    margin: 0;
    color: #ffffff;
    line-height: 1.2; /* æ–?­—ãŒå¤§ãããªã£ãŸéš›ã®è¡Œé–“ã‚’æœ€é©åŒ? */
    /* æ–?­—ã?ã‚µã‚¤ã‚ºã«åˆã‚ã›ã¦ã€?»’ã„ç¸å–ã‚Šã‚’ã‚ˆã‚Šå¤ªãã‚¯ãƒ?‚­ãƒªã¨ä¿®æ­£ */
    text-shadow: 
       2px  2px 2px #000000,
      -2px  2px 2px #000000,
       2px -2px 2px #000000,
      -2px -2px 2px #000000,
       2px  0px 2px #000000,
       0px  2px 2px #000000,
      -2px  0px 2px #000000,
       0px -2px 2px #000000;
}

/* ã‚¹ãƒžã?ç”¨ã®è¨­å®šï¼ˆç”»é¢å¹?Œ600pxä»¥ä¸‹ã?å ´åˆã?æ–‡å­—ã‚’å°‘ã—ç¸®å°ï¼? */
@media screen and (max-width: 600px) {
    .MainTitle {
        font-size: 32px; /* ã‚¹ãƒžã?ã§1è¡Œã«åŽã¾ã‚Šã‚„ã™ã„ã‚µã‚¤ã‚º */
    }
    .TitleBox {
        padding: 10px 20px;
    }
}

.Pictures {
    display: flex;
    gap: 15px;
    width: 100%;
}

.Pictures img {
    /* æž ç·?(2pxÃ?2)ã¨éš™é–“(15px)ã‚’è???ã—ã¦è¨ˆç®? */
    width: calc(50% - 8px); 
    height: auto;
    border: 2px solid #333333;
    box-sizing: border-box;
}

/* ==========================================
   3. ä¼šç¤¾æ¡ˆå? & çµŒå–¶ç?¿µ??Cæ™‚ã?æ¨ªä¸¦ã³??
   ========================================== */
.CompanyGuide {
    display: flex;
    flex-direction: row;      /* PCæ™‚ã?æ¨ªã«ä¸¦ã¹ã‚? */
    gap: 30px;                /* ç®±ã¨ç®±ã®é–“ã?éš™é–“ */
    width: auto;              /* ä¸­èº«ã®åˆè¨ˆå¹?«åˆã‚ã›ã‚‹ */
    margin-left: 0;
    margin-right: auto;
    box-sizing: border-box;
    padding: 20px;
}

/* ä¸¡æ–¹ã®ç®±ã«åŒã˜è£?£¾ã¨ã€Œç”»é¢å¹??40%ã€ã‚’é©ç”¨ */
.CompanyProfile, .ManagementPhilosophy {
    width: 40vw;              
    min-height: 500px;
    box-sizing: border-box;
    background-color: #ffffff;
    padding: 20px;
    color: #333333;
}

/* ==========================================
   4. æ–?­—ã?è¦‹å?ã—ã?å…±é€šã‚¹ã‚¿ã‚¤ãƒ«
   ========================================== */

/* å…±é€šã‚¿ã‚¤ãƒˆãƒ«ã®è£?£¾?ˆç·‘èƒŒæ™¯?‹é»’ç¸?¼? */
.CompanyProfile > .SubTitle:first-child,
.ManagementPhilosophy > .SubTitle:first-child {
    font-size: 26px;
    margin: 10px auto 25px auto;
    width: 90%;
    padding: 8px 0;
    text-align: center; 
    background-color: #00e667;
    border: 2px solid #333333;
    color: #ffffff;
    text-shadow:
     2px  2px 2px #000000,
      -2px  2px 2px #000000,
       2px -2px 2px #000000,
      -2px -2px 2px #000000,
       2px  0px 2px #000000,
       0px  2px 2px #000000,
      -2px  0px 2px #000000,
       0px -2px 2px #000000;
}

/* ã‚°ãƒ¬ãƒ¼ã®è¦‹å?ã—æž ?ˆå½¹å“¡æ°åã€æœªæ¥åƒãªã©?? */
.CompanyProfile .SubTitle:not(:first-child),
.ManagementPhilosophy .SubTitle:not(:first-child) {
    border: 2px solid #333333;
    padding: 6px 12px;
    margin-top: 20px;
    background-color: #f5f5f5;
    font-size: 16px;
    font-weight: bold;
 margin-bottom: 0;
}

/* å†?®¹ã®æž ç·šï¼ˆä¸­èº«ã‚’ç¹‹ã’ã‚‹ï¼? */
.CompanyProfile .SubTitle:not(:first-child) ~ h3,
.CompanyProfile .SubTitle:not(:first-child) ~ p,
.ManagementPhilosophy .SubTitle:not(:first-child) ~ p {
    border: 2px solid #333333;
    border-top: none;
    padding: 8px 15px;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    background-color: #ffffff;
}

/* â˜?½¹è·åï¼?3?‰ï¼šå°‘ã—å³ã«ãšã‚‰ã—ã¦æŽ§ãˆã‚ã«é…ç½® */
h3 {
    font-size: 17px !important;
    color: #888888;
    font-weight: normal;
    margin-left: 15px;
    margin-bottom: -2px;
    padding: 5px 0 0 0 !important;
}

/* â˜?°åãƒ»æœ¬æ–?¼??‰ï¼šå·¦ç«¯ã‹ã‚‰ãƒãƒƒã‚­ãƒªã¨é…ç½® */
p {
    font-size: 16px;
    font-weight: bold;
    color: #333333;
    margin-left: 0;
}

/* çµŒå–¶ç?¿µãªã©ã€h3ãŒãªã? ´æ‰?ã®ãƒ?‚­ã‚¹ãƒˆèª¿æ•´ */
.ManagementPhilosophy p {
 font-weight: normal;
}
.CompanyGuide p {
 font-weight: normal;
}

.CompanyGuide p span {
font-size: 13px;
}

/* ==========================================
   5. ãƒªãƒ³ã‚¯ç§»å‹•ã?ã‚¿ãƒ³?ˆç”»é¢å³ç«¯ã«å›ºå®šï¼?
   ========================================== */
.linkidou {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 6.6vw;       
    min-width: 60px;
    height: auto;
    z-index: 9999;
}

.link {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* å??ã‚¿ãƒ³å…±é€šè¨­å®? */
.p4, .p5, .p6 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 16vw; 
    min-height: 120px;
    font-weight: bold;
    color: #fff;
    border: 1px solid #094;
    box-shadow: -3px 3px #007032;
    transition: 0.5s ease-in-out;
    background-color: #00e667;
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
}

/* ç‰¹åˆ¥ãªãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆæŒ‡å®? */
.p4 { flex-direction: column; }
.p5, .p6 { flex-direction: row; }

/* å›žè»¢ã®è¨­å®? */
.kaiten {
    transform: rotate(90deg);
    white-space: nowrap;
}

.char {
    transform: rotate(270deg);
    display: inline-block;
    text-decoration: underline;
}

/* ãƒ›ãƒãƒ¼è¨­å®? */
.p4:hover, .p5:hover, .p6:hover {
    box-shadow: none;
    color: #00e667;
    background-color: #094;
    transform: translateX(-5px); 
}

/* ==========================================
   6. ãƒžãƒƒãƒ—ã‚³ãƒ³ãƒ?ƒŠ??oogleãƒžãƒƒãƒ—ã‚¨ãƒªã‚¢??
   ========================================== */
.MapContainer {
    display: flex;
    flex-direction: column !important; 
    gap: 50px;             
    padding: 0 20px;       
    margin: 30px auto;     
}

.factory-set {
    width: 100%;
    display: flex;
    flex-direction: column !important; 
    gap: 15px;             
}

.factory-set iframe {
    width: 75% !important;         
    aspect-ratio: 1 / 1 !important; 
    height: auto !important;        
    margin: 0 auto 0 0 !important; 
    border-radius: 8px;
}

/* ä½æ‰€ãƒ?‚­ã‚¹ãƒˆã?è£?£¾ */
.factory-item h3 {
    margin: 0 0 6px 0;
    font-size: 22px;
}
.factory-item p {
    margin: 4px 0;
    font-size: 14px;
    line-height: 1.5;
}
.common-info {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #ccc;
}

/* ==========================================
   7. ðŸ“± ã‚¹ãƒžã?ç‰ˆï¼?796pxä»¥ä¸‹ï¼‰ï¼šç¸¦ä¸¦ã³ã¸åˆ?‚Šæ›¿ã?
   ========================================== */
@media screen and (max-width: 796px) {
    .Map {
        flex-direction: column;
        padding: 10px;
    }

    .Map iframe {
        height: 350px;
    }

    .image-container {
        flex-direction: column; 
        gap: 50px;
        padding: 0 20px;
        margin: 30px auto;
    }

    .image-container img {
        width: 100%;
        max-width: 400px;
    }
} /* ðŸ’¡ ä¸è¶³ã—ã¦ã?Ÿé–‰ã˜ã‚«ãƒ?‚³ã‚’è£œã„ã¾ã—ãŸ */

/* ==========================================
   8. ðŸ“± ã‚¹ãƒžã?ç”»é¢?ˆæ¨ªå¹?767pxä»¥ä¸‹ï¼‰æœ€çµ‚çµ±åˆç‰ˆ
   ========================================== */
@media screen and (max-width: 767px) {
    /* ãƒšã?ã‚¸å…¨ä½“ã?å·¦å¯?› */
    .TopPage {
        align-items: flex-start !important;
    }
    
    .Map {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        max-width: 100%;
        padding: 10px;
        box-sizing: border-box;
    }

    .Map iframe {
        width: 90% !important;
        height: 300px;
        border: 0;
    }
  
    /* ãƒ¡ã‚¤ãƒ³ãƒ“ã‚¸ãƒ¥ã‚¢ãƒ« */
    .MainVisual {
        height: auto !important;
        width: calc(100% - 17vw) !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        margin-bottom: 10px !important;
        padding: 8px !important;
    }

    /* ã‚¿ã‚¤ãƒˆãƒ«æž  */
    .TitleBox {
        width: 100% !important;
        height: 35px !important;
        margin-bottom: 10px !important;
        padding: 0 10px;
        box-sizing: border-box;
        display: block;
    }

    .MainTitle {
        font-size: 15px !important;
        white-space: nowrap;
        line-height: 35px !important;
    }

    /* ç”»åƒã‚¨ãƒªã‚¢ */
    .Pictures {
        margin-top: 5px !important;
        height: auto !important; 
        flex-direction: column !important; 
        width: 100% !important;
    }

    .Pictures img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        margin-bottom: 5px !important;
        border: 2px solid #333333;
    } 

    /* ä¼šç¤¾æ¡ˆå? & çµŒå–¶ç?¿µ */
    .CompanyGuide {
        flex-direction: column !important;
        width: calc(100% - 17vw) !important; 
        margin-left: 0 !important;
        margin-right: auto !important;
        gap: 20px !important;
        padding: 5px 0 !important;
    }

    .CompanyProfile, .ManagementPhilosophy {
        width: 100% !important;
        margin-left: 0 !important;
        padding: 15px !important;
    }

    .CompanyProfile .SubTitle:not(:first-child),
    .ManagementPhilosophy .SubTitle:not(:first-child) {
        margin-top: 15px !important;
    }

    .CompanyProfile > .SubTitle:first-child,
    .ManagementPhilosophy > .SubTitle:first-child {
        width: 100%;
        font-size: 24px !important;
        text-align: center;
    }

  
    .linkidou {
        width: 15vw;
        position: fixed;
        top: 50%;
        right: 0;
        transform: translateY(-75%); 
        z-index: 9999;
    }
    
    /* å…±é€šã?ã‚¹ãƒžã?ãƒœã‚¿ãƒ³èª¿æ•´?ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³5ã®é‡è¤?‚’ã‚«ãƒã??? */
    .p4, .p5, .p6 {
        height: 25vw;
        font-size: 11px;
    }
} /* ðŸ’¡ ä¸?ç•ªæœ?å¾Œã?ä¸è¶³ã—ã¦ã?Ÿé–‰ã˜ã‚«ãƒ?‚³ã‚’è£œã„ã¾ã—ãŸ */

