@charset "utf-8";

@media (max-width: 1730px) {
	/* content */
	.greeting-letter { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); }
	.asia-description {grid-template-columns: 1fr 55%;}
	.asia-cards--aligned .asia-card p br {display: none;}
	.asia-description br.only-wide, .asia-card h3 br.only-wide {display: none;}
}

@media (max-width: 1460px) {
	/* header */
	.sitelogo img, #footer.p1-footer .footer-brand img {max-height: clamp(36px, calc(52 / var(--inner) * 100vw), 52px);}
	/* main */
	.main-visual .visual-func {bottom: var(--space-40);}
	.fp-scroll-hint {right:30px; bottom: var(--space-40)}
	.p1-main .biz-showcase__copy.contain {margin-left: 0; padding-left: var(--container-space);}
	/* footer */
	/* layout */
	.sub-visual .lnb ul li a {min-height: auto;}
	/* content */
	/* board */
}

@media (max-width: 1280px) {
	/* main */
	.p1-main .biz-gallery { --biz-slide-h: clamp(300px, 62vw, 640px); --biz-slide-w-peek: 100px; }
	.fp-hero__title {margin-bottom: 16px;}
	.fp-hero__sub {margin-bottom: 20px;}
	
	/* layout */
	.sub-visual {height: 350px;}

	/* content */
	.company-vision {min-height: auto;}
	.asia-description {grid-template-columns: 1fr; gap: var(--space-40);}
	.history-layout { grid-template-columns: .7fr 1.3fr; }
	.history-year { grid-template-columns: 85px minmax(0, 1fr); }
	.brand-logo-grid > li { width: 200px; }
	.brand-logo-box { height: 120px; }
	.brand-channel-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.company-values__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* board */
	.partner-inquiry__grid {grid-template-columns: 40% 1fr;}

}

@media (max-width: 1024px) {
	/* header */
	#gnb { display: none; }
	.btn-m-menu { display: block; }
	/* main */
	
	/* footer */
	.footer-sitemap__grid { grid-template-columns: repeat(3, 1fr); }
	#footer.p1-footer .footer-main__grid {display: flex; justify-content: space-between; flex-wrap: wrap;}
	#footer.p1-footer .footer-info {width: 100%; order: 1;}
	/* content */
	.greeting-letter {grid-template-columns: 1fr; gap: var(--space-60);}
	.asia-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.asia-cards--aligned .asia-card p {min-height: auto;}
	.location-office__details > div {grid-template-columns: 70px 1fr;}
	.partner-inquiry__meta {display: grid; grid-template-columns: 1fr 1fr;}

	.input { height: 40px; }
	.product-list ul li { width: 25%; }
	.product-image { width: 350px; }
	.store-search .map-area { width: 280px; }
	.store-search .map-img .local { line-height: 22px; }
	.result-group .gall li { width: 25%; }
	.agree-wrap .agree-tit { font-size: 18px; }
	.goods-cate-wrap .depth ul li { padding: 6px 20px; }
	.goods-cate-wrap .depth ul li a { font-size: 14px; }
	.goods-sort .total { font-size: 13px; }
	.goods-sort .sort ul li a { font-size: 13px; }
	.goods-list ul li .tit { font-size: 18px; }
	.goods-photo { width: 45%; }
	.goods-info .table table tbody th { padding: 10px 0; font-size: 14px; }
	.goods-info .table table tbody td { padding: 10px 0; font-size: 14px; }
	.goods-info .btns .row { margin: 0 -3px; }
	.goods-info .btns .col { padding: 0 3px; }
	.goods-info .btns .btn { font-size: 15px; line-height: 48px; }
	.goods-info .btns .btn img { height: 48px; }
	.shop-guide .tit { padding: 14px 18px; font-size: 14px; }
	.shop-guide .tit h4 { width: 130px; font-size: 16px; }
	.shop-guide .cnt { font-size: 14px; }
	.shop-guide .qa dl { padding: 18px 18px; }
	.shop-guide .qa dt { width: 220px; }
	.goods-detail-table { font-size: 14px; }
	.goods-detail-table th { padding: 10px; }
	.goods-detail-table td { padding: 10px; }
	.total-price { padding: 30px; font-size: 15px; }
	.total-price h3 { font-size: 20px; }
	.partner-inquiry__grid { grid-template-columns: 1fr;  gap: 40px;}
	.partner-inquiry__photo { height: 420px; }
	.partner-inquiry__slogan { white-space: normal; }
	.partner-form { width: 100%; }
	.value-cards2, .region-cards2 { grid-template-columns: 1fr 1fr; }
	.about-split2, .global-infra2, .contact-intro2 { grid-template-columns: 1fr; }
	.global-infra2__figure { height: 240px; }
	.about-split { grid-template-columns: 1fr; }
	.biz-grid { grid-template-columns: 1fr; }
	.contact-split { grid-template-columns: 1fr; }
	.global-region-grid { grid-template-columns: repeat(2, 1fr); }
	.about-values { grid-template-columns: repeat(2, 1fr); }
	/* board */
	.board-search .search input.input { width: 240px; }
	.board-list colgroup col { width: auto; }
	.simple-list .link-item .num { max-width: 80px; }
	.simple-list .link-item .num .notice { width: 48px; height: 48px; }
	.simple-list .link-item .arrow { max-width: 80px; }
	.news-list .thumb { width: 200px; }
	.faq .tit a:after { top: 14px; }
	.faq .q { flex: 0 0 32px; width: 32px; height: 32px; line-height: 32px; }
	.calendar-head .cal-btn { width: 40px; height: 40px; }
	.calendar table td { height: 110px; }
	.calendar ul li:before { top: 7px; }
	.btn-pack.medium { height: 40px; line-height: 38px; }
	.btn-pack.large { min-width: 140px; height: 50px; line-height: 48px; }
}

@media (max-width: 900px) {
	/* header */
	.mobile-navigation .nav-menu > ul {display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 16px}
	/* main */
	.p1-main .biz-showcase { grid-template-columns: 1fr; }
	.p1-main .biz-showcase__copy.contain { margin-left: auto; margin-right: auto; padding-left: 0; width: min(100% - 48px, var(--container-wide)); max-width: var(--container-wide); }
	.p1-main .biz-showcase__visual { order: 2; }

	.fp-hero__title { white-space: normal; }
	.fp-scroll-hint { right: 20px; bottom: 24px; }
	.fp-slide { flex-basis: 260px; width: 260px; }
	.fp-closing__cards { grid-template-columns: 1fr; overflow-y: auto; }
	.fp-closing__top { flex-direction: column; align-items: flex-start; }
	.fp-global__inner { flex-direction: column; }
	.fp-global__regions { grid-template-columns: repeat(2, 1fr); }
	.fp-dots-nav { right: 12px; }
	.p1-main { --font-size-body: 18px; }
	.p1-main .biz-showcase__nav { max-width: none; }
	.p1-main .biz-showcase__panels { min-height: 180px; }
	.p1-main .sec-global {min-height: auto;}
	.p1-main .sec-global__inner {gap: 30px; min-height: auto;}
	.p1-main .pb-logo { width: 160px; height: 72px; }
    .p1-main .biz-gallery__slide img {height: var(--biz-slide-h) !important;}
	/* footer */
	.footer-sitemap__grid { grid-template-columns: repeat(2, 1fr); }
	.footer-main__inner { flex-direction: column; }
	.footer-bottom__inner { flex-direction: column; align-items: flex-start; }
	#footer .copyright, #footer.p1-footer .copyright { text-align: left; }
	body.page-main .sec-contact-band.site-footer-zone { margin-top: 0; }
	#footer.p1-footer .footer-top__inner { flex-direction: column; align-items: flex-start; }
	/* layout */
	.only-desktop { display: none; }
	.only-tablet { display: block; }
	.sub-visual { height: 270px; }
	.sub-visual .lnb { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;}
	.sub-visual .lnb::-webkit-scrollbar { display: none; }
	.sub-visual .lnb ul { width: max-content; min-width: 100%; }
	.sub-visual .lnb ul li { flex: 1 0 auto; max-width: none; }
	.sub-visual .lnb ul li a { min-height: 48px; padding: 12px 16px; }
	/* content */
	.store-search .map-area { display: none; }
	.store-search .search-area h3 { text-align: center; }
	.greeting-letter { grid-template-columns: 1fr; }
	.company-facts { grid-template-columns: 1fr; padding: 0; }
	.company-facts > div { border: 0; }
	.company-facts > div + div { border-top: 1px solid #eee; }
	.company-vision { min-height: 480px; }
	.history-layout { grid-template-columns: 1fr; }
	.history-intro { position: static; }
	.location-office { grid-template-columns: 1fr; }
	.location-office .location-office__info, .location-office .location-office__map { grid-column: 1; grid-row: auto; }
	.location-office .location-office__info {order: 1;}
	.location-office__map { position: static; height: auto; min-height: 0; }
	.location-office__map iframe { position: static; height: 400px; }
	.brand-content { --brand-content-start: 160px; }
	.brand-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.brand-country { grid-template-columns: minmax(0, 1fr); }
	.brand-country__channels { padding-top: 0; }
	.brand-channel-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.partner-form__row, .partner-form__row--full { grid-template-columns: 1fr; gap: 24px; }
	.partner-file { flex-wrap: wrap; }
	.partner-file__box { flex: 1 1 100%; }
	.partner-captcha { flex-wrap: wrap; }
	.partner-captcha input { flex: 1 1 160px; }
	.value-cards2, .biz-grid2, .region-cards2 { grid-template-columns: 1fr; }
	.contact-form2 .form-row { grid-template-columns: 1fr; }
	.inquiry-form .form-row { grid-template-columns: 1fr; }
	.global-region-grid { grid-template-columns: 1fr; }
	.about-values { grid-template-columns: 1fr; }
	.asia-stage { height: calc(100svh - 90px); min-height: 650px; }
	.is-enhanced .asia-stage { top: 90px; }
	.asia-description { grid-template-columns: 1fr; bottom: 9%; }
	.asia-description p { line-height: 1.8; }
	.partner-inquiry__photo {height: 330px;}
	.partner-inquiry__meta {grid-template-columns: 1fr; gap: 20px;}
	/* board */
	.gallery-list ul li { width: 33.33333333%; }
	.event-list ul li { width: 50%; }
	.page-news .gallery-list ul li { width: calc((100% - var(--space-40)) / 2); }
	.page-news .news-cate a { min-height: 40px; }
	.news-search { flex-direction: column; align-items: stretch; }
	.news-search__box input[type="search"] { width: 100%; }
	.page-news .board-toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
	.page-news .board-toolbar__total { line-height: 1.4em; }
	.page-news .news-search { flex-direction: row; align-items: center; width: 100%; max-width: none; height: 48px; }
	.page-news .news-search__input { height: 46px; flex: 1 1 auto; min-width: 0; }
	.news-card__link { flex-direction: column; }
	.news-card__thumb { width: 100%; flex-basis: auto; height: 200px; }
}

@media (max-width: 640px) {

	/* header */
	.mobile-navigation .nav-menu > ul {grid-template-columns: repeat(2, 1fr);}
    [lang="en"] .mobile-navigation .nav-menu > ul,
    [lang="ja"] .mobile-navigation .nav-menu > ul {grid-template-columns: 1fr;}
	/* layout */
	.input.datepicker { background-image: url("/images/bbs/datepicker_icon_x2.png"); background-size: 22px auto; }
	.ui-datepicker-prev, .ui-datepicker-next { background-size: 8px auto; }
	.ui-datepicker-prev { background-image: url("/images/bbs/datepicker_prev_x2.png"); }
	.ui-datepicker-next { background-image: url("/images/bbs/datepicker_next_x2.png"); }
	.ui-datepicker-trigger { width: 38px; height: 38px; }
	.only-desktop-tablet { display: none; }
	.only-tablet { display: none; }
	.only-mobile { display: block; }

	/* main */
	.main-visual .visual-func {left: var(--container-space); transform: none;}
	.p1-main .sec-global__stats {gap: 14px;}
	.p1-main .sec-global__stat-num {font-size: 42px;}
	.p1-main .sec-global__stat {min-width: auto;}
	.p1-main .sec-global__watermark {top: -48px;}
    [lang="en"] .p1-main .sec-global__stat-label {font-size: var(--font-size-20);}
    [lang="en"] .p1-main .sec-global__stats {gap: 7px;}
    [lang="zh"] .partner-inquiry__slogan {font-size: 23px;}
    [lang="ja"] .p1-main .sec-heading {font-size: 30px;}
    [lang="ja"] .p1-main .pb-head .sec-desc br {display: none;}

	/* footer */
	.p1-main .sec-contact-band__inner, .sec-contact-band.site-footer-zone .sec-contact-band__inner { flex-direction: column; align-items: flex-start; }

	/* content */
	.input { height: 38px; }
	select.input { background-position: right 8px center; background-size: 12px auto; }
	.form-agree .scroll-box { max-height: 110px; overflow: auto; }
	.paginate a, .paginate strong { width: 30px; height: 30px; line-height: 30px; }
	.paginate a.direction { margin: 0; }
	.comment-write { position: relative; }
	.comment-write .byte { position: absolute; bottom: 15px; left: 12px; }
	.comment-write .write { display: block; }
	.comment-write .write textarea { display: block; width: 100%; height: 65px; margin-right: 0; }
	.comment-write .write .btn { text-align: right; margin-top: 6px; }
	.comment-item.comment-reply { background-image: url("/images/bbs/icon_reply_x2.png"); background-position: 3px 18px; background-size: auto 13px; }
	.comment-ctr .bar { vertical-align: middle; }
	.comment-input textarea { height: 48px; }
	.product-list ul li { width: 50%; }
	.product-summary { display: block; }
	.product-image { width: 100%; margin-bottom: 20px; }
	.product-info { width: 100%; }
	.store-search { padding: 0; }
	.store-search .search-area h3 { padding: 15px 25px; background: #f4f4f4; }
	.store-search .search-area dl { display: block; padding: 0 15px; margin: 20px 0; }
	.store-search .search-area dl dt { width: auto; margin-bottom: 6px; }
	.store-search .search-area dl dd { width: auto; }
	.store-search .search-area input.input { width: calc(100% - 74px); }
	.store-search .search-area select.input { width: calc(50% - 39px); }
	.result-group .gall li { width: 50%; }
	.login-tab { border-bottom-width: 2px; margin-bottom: 35px; }
	.login-tab ul { padding: 0 1px; }
	.login-tab ul li { border-width: 2px; margin: 0 -1px; }
	.login-tab ul li a { font-size: 16px; line-height: 46px; }
	.login-content .group .input { height: 48px; font-size: 14px; }
	.sns-login .tit { margin-bottom: 20px; }
	.sns-login .tit span { padding: 0 20px; }
	.sns-login a { margin: 0 8px; }
	.sns-login img { width: 44px; }
	.agree-wrap { margin-bottom: 35px; }
	.agree-wrap .group { margin-top: 30px; }
	.agree-wrap .agree-tit { font-size: 16px; }
	.agree-wrap .agree-tit .checkbox label:before { background-image: url("/images/member/checkbox_x2.png"); background-size: 11px auto; }
	.agree-wrap .agree-tit .checkbox input:checked + label:before { background-image: url("/images/member/checkbox_on_x2.png"); }
	.agree-wrap .agree-box { margin-top: 7px; max-height: 130px; padding: 10px 13px; }
	.agree-wrap .agree-box .terms-wrap { line-height: 1.4em; word-break: break-all; }
	.terms-wrap .policy-contact { display: block; padding: 0 15px; }
	.terms-wrap .policy-contact dl { border-left: 0; padding: 20px 5px; border-top: 1px solid #e5e5e5; }
	.terms-wrap .policy-contact dl:first-child { border-top: 0; }
	.join-form table tbody { display: block; }
	.join-form table tr { display: block; padding: 12px 0; }
	.join-form table th { display: block; border: 0; text-align: left; padding: 0; margin-bottom: 7px; font-size: 16px; background: none; }
	.join-form table td { display: block; border: 0; padding: 0; }
	.join-form + .buttons { margin-top: 30px; }
	.join-form .help-text { display: block; clear: both; padding-top: 6px; margin-left: 0; font-size: 14px; line-height: 1.5em; }
	.join-form #user_id { float: left; width: calc(100% - 90px); }
	.join-form #user_pw, .join-form #user_pw2, .join-form #user_name { width: 100%; }
	.join-complete .tit { font-size: 22px; margin-bottom: 20px; }
	.join-complete .txt { font-size: 16px; }
	.join-complete .icon { width: 110px; height: 110px; background-size: 48px; }
	.find-tab { border-bottom-width: 2px; margin-bottom: 35px; }
	.find-tab ul { padding: 0 1px; }
	.find-tab ul li { border-width: 2px; margin: 0 -1px; }
	.find-tab ul li a { font-size: 16px; line-height: 46px; }
	.find-content .group .input { height: 48px; font-size: 14px; }
	.find-result { padding: 30px 15px; font-size: 16px; }
	.find-result h4 { font-size: 19px; }
	.find-result .name { font-size: 24px; }
	.member-leave .txt { margin-bottom: 27px; }
	.member-leave .txt .tit { font-size: 18px; }
	.member-leave .form { margin-bottom: 35px; padding: 35px 25px; font-size: 15px; }
	.member-leave .form .group .label-tt { width: 80px; }
	.greeting-panorama img { height: 220px; object-position: 80% center; }
	.greeting-letter__body p br,
	.asia-description p br {display: none;}
	.greeting-letter__body p br.only-mobile,
	.asia-description p br.only-mobile {display: block;}
	.company-values__media { aspect-ratio: 4 / 3; }
	.company-values__grid { grid-template-columns: 1fr; }
	.history-year { grid-template-columns: 64px minmax(0, 1fr); }
	.history-year__image { aspect-ratio: 4 / 3; }
	.location-office .location-office__info {padding-left: 15px; padding-right: 15px;}
	.location-office__info { border-radius: 20px; }
	.location-office__details > div { grid-template-columns: 65px minmax(0, 1fr); }
	.location-office__map iframe { height: 320px; }
	.location-office__actions { flex-direction: column; }
	.location-link { white-space: normal; }
	.brand-content { --brand-content-start: 136px; }
	.brand-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.brand-logo-box { height: 110px; }
	.brand-channel-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.brand-channel-grid .brand-logo-box { height: 80px; }
	.asia-cards { grid-template-columns: 1fr; }
    .asia-description h3 {font-size: 24px;}

    [lang="ja"] .asia-intro h2 {font-size: 24px;}
    [lang="ja"] .asia-description h3 {font-size: 28px;}
    [lang="ja"] .brand-slogan {font-size: 28px;}
	/* board */
	.board-search { display: flex; flex-direction: column; }
	.board-search .total-page { order: 3; float: none; }
	.board-search .cate { float: none; order: 1; margin-left: 0; margin-bottom: 5px; }
	.board-search .cate .input { display: block; width: 100%; }
	.board-search .search { float: none; order: 2; display: flex; }
	.board-search .search .input { flex: 1 1 auto; min-width: 0; width: 1%; }
	.board-list { display: none; }
	.board-list-m { display: block; }
	.simple-list .link-item .num { max-width: 50px; }
	.simple-list .link-item .num .notice { width: 40px; height: 40px; }
	.simple-list .link-item .arrow { display: none; }
	.gallery-list ul li { width: 50%; }
	.card-list { grid-template-columns: repeat(2, 1fr); }
	.card-list .link-item { border-radius: 10px; }
	.news-list .thumb { width: 38%; }
	.news-list .tit { max-height: 2.8em; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
	.news-list .txt { max-height: 3em; -webkit-line-clamp: 2; }
	.news-list .date { display: none; }
	.event-list ul li { width: 100%; }
	.faq .tit a:after { display: none; }
	.faq .q { flex: 0 0 26px; width: 26px; height: 26px; line-height: 26px; }
	.calendar-head .cal-btn { width: 34px; height: 34px; background-size: 9px auto; }
	.calendar-head .cal-prev { background-image: url("/images/bbs/cal_prev_x2.png"); }
	.calendar-head .cal-next { background-image: url("/images/bbs/cal_next_x2.png"); }
	.calendar table td { height: 60px; }
	.calendar ul li { padding-left: 0; }
	.calendar ul li:before { display: none; }
	.calendar .cal-date { font-size: 10px; }
	.board-white table { display: block; border-top: 0; border-bottom: 0; }
	.board-white table tbody { display: block; }
	.board-white table tr { display: block; padding: 12px 0; }
	.board-white table th { display: block; border: 0; text-align: left; padding: 0; margin-bottom: 7px; font-size: 16px; background: none; }
	.board-white table td { display: block; border: 0; padding: 0; }
	.board-white .editor { padding: 0; margin-top: -12px; }
	.board-white .item { margin: 3px 12px 3px 0; }
	.board-white #user_name { max-width: 100%; }
	.board-form table tbody { display: block; }
	.board-form table tr { display: block; padding: 12px 0; }
	.board-form table th { display: block; border: 0; text-align: left; padding: 0; margin-bottom: 7px; font-size: 16px; background: none; }
	.board-form table td { display: block; border: 0; padding: 0; }
	.board-prev-next dt { width: 70px; }
	.btn-pack.small { height: 26px; line-height: 24px; }
	.btn-pack.medium { height: 38px; line-height: 36px; }
	.btn-pack.large { min-width: 120px; height: 42px; line-height: 40px; }
	.btn-pack.xlarge { min-width: 120px; height: 50px; line-height: 48px; }
	.btn-pack.comment { width: 80px; height: 32px; }
	.store-search .search-area .btn-pack.medium { width: 70px; }
	.join-form #user_id + .btn-pack { width: 90px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	/* main */
	.p1-main .reveal { opacity: 1; transform: none; transition: none; }
	.p1-main .pb-track { animation: none; flex-wrap: wrap; width: 100%; justify-content: center; }
	.p1-main .pb-logo[aria-hidden="true"] { display: none; }
	.page-main .text-reveal.is-motion-ready .text-motion, .page-main .text-reveal.is-text-visible .text-motion { opacity: var(--text-motion-opacity, 1); transform: none; animation: none; }
	.hero-intro-curtain { display: none; animation: none; }
	.fp-hero.hero-desc-waiting .fp-hero__desc, .fp-hero.hero-desc-ready > .fp-hero__inner .fp-hero__desc { opacity: 1; animation: none; }
	/* content */
	.sub-scroll-motion { opacity: 1; transform: none; transition: none; }
	.greeting-panorama.sub-scroll-motion { clip-path: none; transition: none; }
	.is-history-active .history-year__body::before { animation: none; box-shadow: 0 0 0 6px #ffe2d2; }
	.brand-marquee { overflow-x: auto; }
	.brand-marquee__track { animation: none; }
	.brand-logo-grid[aria-hidden] { display: none; }
	.asia-story.is-enhanced { height: auto; }
	.is-enhanced .asia-stage { position: relative; top: 0; }
}

@media print {
	/* content */
	.sub-scroll-motion { opacity: 1; transform: none; transition: none; }
	.greeting-panorama.sub-scroll-motion { clip-path: none; transition: none; }
}
