@charset "UTF-8";

/*reset*/
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
/*resetここまで*/

/*common*/
html { font-size: 62.5%; /* 1rem = 10px */ scroll-behavior: smooth;}
@media (max-width: 768px) {
  html { font-size: 56.25%; /* 1rem = 9px */}
}
@media (max-width: 480px) {
  html { font-size: 50%; /* 1rem = 8px */ }
}
:root {
 /* --font-en: "InterWeb", sans-serif;*/
  --font-en: "Copperplate", sans-serif;
  --font-jp: "Zen Kaku Gothic New", '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
body { position: relative; background-color: #eeeceb; min-height: 150%; font-size: 1.6rem; font-family: var(--font-jp); color: #111111;}
* { margin: 0; padding: 0; box-sizing: border-box; font-feature-settings: "palt"; letter-spacing: 0;}
h1, .h1, h2, .h2, h3, .h3 { font-family: var(--font-en); font-weight: 600; letter-spacing: 0; position: relative;}
h4, .h4, h5, .h5, h6, .h6, a, p , li { font-family: var(--font-en); font-weight: normal; position: relative;}
img {width: 100%;}
a {	transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease;}
a:hover { opacity:0.6;}
a.button { width: 30rem; height: 6rem}
dl, dd, dt, ul, li {margin:0; padding:0; margin-inline-start:0 !important;}
a img {	opacity:1.0; transition: all 0.3s ease;	-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease;}

@media screen and (min-width: 769px) {
  .sp_only { display: none !important;}
}
@media screen and (max-width: 768.98px) {
  body {font-size: 1.5rem;}
  .pc_only { display: none !important; }
}
html[lang="en"] :is(
  h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, a, p , li
  ) { word-break: keep-all; overflow-wrap: break-word;}

/*--------------------------------
            header
---------------------------------*/
#header {
    height: 5rem;
    position: sticky;
    top: 0;
    right: 0;
}
#header nav ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
#header nav ul li {
    padding: 2rem;
}
#header nav ul li a {
    font-family: var(--font-en);
    font-weight: 600;
    letter-spacing: 0;
}
#logo_area {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 2rem;
    margin-top: -5rem;
}
.logo {
    max-width: 100%;
    height: auto;
    display: block;
    width: 340px;
    margin: auto;
}
.hamburger,
.mobile-menu-overlay,
.mobile-menu,
.close-button {
    display: none;
}

@media screen and (max-width:768px) {
    .mobile-menu-overlay {
        display: block;
    }
    .mobile-menu {
        display: block;
    }
    #logo_area {
        padding: 8rem;
    }
    .logo {
        width: 210px;
    }
    /* スマホでPCメニューを非表示 */
    #header nav ul {
        display: none;
    }
    #header {
        padding: 1rem;
        z-index: 1004;
    }
    #header nav {
        position: relative;
        height: 5rem;
    }
    /* ハンバーガーボタン */
    .hamburger {
        display: flex;
        flex-direction: column;
        cursor: pointer;
        padding: 0.5rem;
        background: none;
        border: none;
        width: 40px;
        height: 40px;
        justify-content: center;
        align-items: center;
        position: fixed;
        right: 1.5rem;
        top: 1rem;
        z-index: 1005;
    }
    .hamburger span {
        width: 35px;
        height: 2px;
        background: #333;
        margin: 2px 0;
        transition: all 0.3s ease;
        border-radius: 2px;
    }
    /* アクティブ時のアニメーション */
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(4px, 4px);
    }
    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }
    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(4px, -4px);
    }

    /* オーバーレイ */
    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.7);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        z-index: 999;
    }
    .mobile-menu-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* モバイルメニュー */
    .mobile-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background: #fff;
        padding: 1rem 4rem 2rem;
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        z-index: 1000;
        box-shadow: -5px 0 20px rgba(0, 0, 0, 0.15);
    }
    .mobile-menu.active {
        right: 0;
    }
    .mobile-menu ul {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: 7rem;
        margin-bottom: 10rem;
    }
    .mobile-menu ul li a {
        display: block;
        text-decoration: none;
        color: #333;
        font-size: 2rem;
        font-weight: 500;
        padding: 2.5rem 0;
        border-bottom: 1px solid #eee;
        transition: all 0.3s ease;
        letter-spacing: 0.05em;
    }
    .mobile-menu ul li:last-child a {
        border-bottom: none;
    }
    .mobile-menu #logo_area {
        min-height: unset;
        margin: 0 auto 5rem;
        padding: 0;
    }
    .mobile-menu .jp_area a {
        width: 100%;
    }
}


/* 白いメニュー用のスタイル */
#header.white-menu nav ul li a {
    color: #cccccc !important;
}

#header.white-menu nav ul li a:hover {
    opacity: 0.5 !important;
}

/* 白いハンバーガーメニュー用のスタイル */
@media screen and (max-width: 768px) {
    .hamburger.white-hamburger span {
        background: #cccccc !important;
    }
}

/* スムーズな色変化 */
#header nav ul li a,
.hamburger span {
    transition: color 0.3s ease, opacity 0.3s ease;
}


/*--------------------------------
          main contants
---------------------------------*/
#main_content p, #main_content li {
    font-weight: 100;
    line-height: 1.5;
}
section {
    scroll-snap-align: start;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100%;
}
section .section_inner {
    padding: 20px;
    max-width: 120rem;
    margin: auto;
}
h2 {
    margin-bottom: 10rem;
    font-size: 6rem;
    text-align: center;
}
h3 {
    font-size: 3rem;
    margin-bottom: 1rem;
}
.section_inner__block {
    margin-bottom: 5rem;
}
#main_content p {
    margin-bottom: 15px;
}
#philosophy {
    background-color: #fbc826;
}
#aboutjapanesetea {
    background-color: #033e1d;
    color: #fff;
}
#company {
    background-color: #fbc826;
    text-align: center;
}
#company .section_inner__block .ceo {
    margin-top: 2rem;
}
#company .section_inner__block .ceo span:before {
    content: ':';
    margin-right: 1rem;
    margin-left: 0.5rem;
    vertical-align: middle;
}
#company .section_inner .section_inner__block:nth-of-type(2) {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#company .section_inner__block ul {
    text-align: left;
}
#company .section_inner__block ul li {
    list-style-type: square;
}
#contact {
    background-color: #fff;
}

@media screen and (max-width:767px) {
    h2 {
        margin-bottom: 5.3rem;
        font-size: 3rem;
        text-align: center;
    }
    h3 {
        font-size: 2rem;
    }
    .section_inner__block {
        margin-bottom: 3rem;
    }
    #main_content p, #main_content li {
        line-height: 1.4;
    }
}


/*--------------------------------
            contact
---------------------------------*/
.contact-form-container {
    background: white;
    padding: 0;
    margin-top: 2rem;
    width: 100%;
}
#contact-iframe {
    min-width: 800px;
}
#contact h2 {
    margin-bottom: 3rem;
}
#contact .section_inner > p {
    text-align: center;
}
@media screen and (max-width:767px) {
    #contact-iframe {
        min-width: 350px;
    }
    iframe {
        height: 550px;
    }
    #contact-iframe {
        min-width: calc(390px + 200 * (100vw - 431px) / 336);
    }
}
@media screen and (max-width: 430px) {
    #contact-iframe {
        min-width: calc(340px + 42 * (100vw - 376px) / 54);
    }
}
@media screen and (max-width: 375px) {
    #contact-iframe {
        min-width: 340px;
    }
}
@media screen and (max-width: 375px) {
    #contact-iframe {
        min-width: 340px;
    }
}
@media screen and (max-width: 360px) {
    #contact-iframe {
        min-width: 330px;
    }
}
@media screen and (max-width: 345px) {
    #contact-iframe {
        min-width: 285px;
    }
}


/*--------------------------------
            footer
---------------------------------*/
#footer {
    padding: 0 2rem;
    flex-direction: column;
}
#footer .section_inner {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8rem;
}
#footer .footer_logo {
    width: 34rem;
}
#footer .footer_nav ul {
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
}
#footer .footer_nav ul li {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 2.5rem;
}
.jp_area a {
    display: block;
    font-size: 1.5rem;
    border: 1px solid #403d3c;
    padding: 2rem 0;
    text-align: center;
    color: #403d3c !important;
    width: 34rem;
    margin: auto;
}
#footer .copyright {
    display: block;
    width: fit-content;
    font-family: "Zen Kaku Gothic New";
    font-size: 1.2rem;
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
}