@charset "utf-8";  
/*------------------------------------------------------------ 
	デフォルトスタイル	全ページ共通css
------------------------------------------------------------*/  

@font-face{
	font-family: 'DINPro';
	src: url("../font/DINPro-Medium.woff"), url("../font/DINPro-Medium.otf");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face{
	font-family: 'DINPro';
	src: url("../font/DINPro-Regular.woff"), url("../font/DINPro-Regular.otf");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face{
	font-family: 'HelveticaNeue';
	src: url("../font/HelveticaNeueMedium.woff") format("woff");
	font-weight: 500;
	font-display: swap;
}

@font-face{
	font-family: 'HelveticaNeue';
	src: url("../font/HelveticaNeue.ttf") format("truetype");
	font-weight: 400;
	font-display: swap;
}

:root {
	--base: #d1d3d4;
	--accent: #F6EC00;
	--gray: #F0F0F0;
	--ja: 'DINPro', Arial, Helvetica, sans-serif;
	--din:'DINPro', Arial, Helvetica, sans-serif;
	--en:'HelveticaNeue',  Helvetica, Arial,sans-serif;
	--en_ja:'DINPro',dnp-shuei-gothic-gin-std,sans-serif;
}

html,
body { margin: 0; padding: 0;}
body {
	font-size: 1.2rem;
	color: #242424;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	overflow-y:scroll;
}

.bg-gray{ background-color:var(--gray);}

html {
	font-size: 62.5%;
}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-family: var(--ja);
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: normal;
    font-style: normal;
	vertical-align: baseline;
	background: transparent;
}  

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main,picture {
    display: block;
}

blockquote,
q { quotes: none;}

a {
	text-decoration: none;
	outline: none;
}

ins {
	background-color: #ff9;
	color: #242424;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #242424;
	font-style: italic;
	font-weight: 500;
}

del { text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select,
textarea {
	color:#242424;
	outline:none;
	font-size: 100%;
	vertical-align: middle;
	font-family: var(--ja);
	border-radius:0;
}

input[type=text],
input[type=tel],
input[type=password],
input[type=email],
textarea{ -webkit-appearance:none;}

input[type=checkbox],
input[type=radio]{
	position:relative;
	top:-1px;
}

ul,ol { list-style-type: none;}
img,svg { vertical-align: middle;}

.img-responsive{
	width:100%;
	height:auto;
}

.img-cover{
	width:100%;
	height:100%;
	object-fit: cover;
}

.opacity { transition:all 0.2s ease-out;}
.opacity:hover { opacity: .7;}

.txtl { text-align: left;}
.txtr { text-align: right;}
.txtc { text-align: center;}

strong,
strong *,
.fwb { font-weight: 500;}

.pt-0 { padding-top: 0 !important;}

/*------------------------------------------------------------ 
    ANIMATION 
------------------------------------------------------------*/

.animation{
	opacity:0;
	transform: translate3d(0,60px,0);
	transition: transform .8s cubic-bezier(.43,.05,.17,1),opacity .6s ease-out;
}

.animation-image,
.animation-fade{
	transform: translate3d(0,0,0);
	transition: opacity .6s  ease-out;
}

.animation-image{ overflow: hidden;}
.animation-image img{
	transition: transform .8s ease-out;
	transform: scale(1.4);
}

.view .animation.in-view{
	transform: translate3d(0,0,0);
	opacity:1;
}

.view .animation-image.in-view img{ transform:scale(1);}

.delay1{ transition-delay:100ms;}
.delay2{ transition-delay:200ms;}
.delay3{ transition-delay:300ms;}
.delay4{ transition-delay:400ms;}
.delay5{ transition-delay:500ms;}
.delay6{ transition-delay:600ms;}
.delay7{ transition-delay:700ms;}
.delay8{ transition-delay:800ms;}
.delay9{ transition-delay:900ms;}
.delay10{ transition-delay:1000ms;}
.delay11{ transition-delay:1100ms;}
.delay12{ transition-delay:1200ms;} 


/* loading */

#overlay{
	display:none;
	width:100%;
	height:100%;
	background:rgba(255,255,255,.7);
	position:fixed;
	top:0;
	left:0;
	z-index:10000;
}

#loader{
	width:50%;
	height:50%;
	border: 6px solid rgba(100, 100, 100, 0.6);
	border-top: 6px solid rgba(255, 255, 255, 1);
	border-radius:50%;
	height: 50px;
	width: 50px;
	-webkit-animation: fancybox-rotate .8s infinite linear;
	animation: fancybox-rotate .8s infinite linear;
	background: transparent;
	position: absolute;
	top: 45%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
	z-index: 99999;
}

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/*------------------------------------------------------------ 
    STYLE 
------------------------------------------------------------*/

.inner {
	width:auto;
	max-width: 1480px;
	margin: 0 auto;
	padding-right:100px;
	padding-left:100px;
}

.flex{
	display:flex;
	justify-content:space-between;
    flex-wrap: wrap;
}

.flex-center{ justify-content: center;}
.flex-start{ justify-content: flex-start;}
.flex-end{ justify-content: flex-end;}

.flex-align{ align-items: center;}
.flex-align-start{ align-items: flex-start;}
.flex-align-end{ align-items: flex-end;}

.flex-column{ flex-direction: column;}
.flex-reverse{ flex-direction: row-reverse;}

.flex-auto{ flex:1;}

.hover{
	display: block;
	transition:all 0.3s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.hover:hover{ transform:scale(1.05);}

.hover-thumb figure{ overflow: hidden;}
.hover-thumb figure img{ transition:all 0.3s cubic-bezier(0.485, 0.135, 0, 0.995);}
.hover-thumb:hover figure img{ transform:scale(1.1);}
.hover-thumb:hover figure img.parallax{ transform:scale(1.5)!important;}

.tel-link,
.tel-link a{
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	font-family:inherit;
}

.d-block{ display: block;}
.d-none{ display: none;}

.text-link{
	color:inherit;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.text-link:hover{ text-decoration: none;}

.grecaptcha-badge{
	bottom:120px!important;
	z-index: 10;
}

.disabled{
	pointer-events: none;
	opacity:.25;
}

.cursor-pointer{ cursor:pointer;}

/* mouseover */
.btn-hover{
	transition:color 0.3s cubic-bezier(0.78, 0.07, 0, 1);
	position: relative;
    z-index: 1;
}

.btn-hover::before{
    content:"";
    display: block;
    width:0;
    height:100%;
    position:absolute;
    left:auto;
    top:0;
    right:0;
    background-color: #242424;
    transition: all 0.3s cubic-bezier(0.78, 0.07, 0, 1);
    z-index: -1;
}

.btn-hover:hover{ color:#fff;}
.btn-hover:hover::before{
	width:100%;
	left:0;
	right: auto;
}

/*------------------------------------------------------------ 
    HEADER 
------------------------------------------------------------*/

html,body,#wrap{ height:100%;}

#wrap{
	width:100%;
	padding-right:120px;
	box-sizing: border-box;
}

#header {
	width:100%;
	position:relative;
	z-index: 100;
}

#hdInner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width:calc(100% + 120px);
	height:120px;
	padding:0 150px 0 60px;
	background-color: var(--accent);
	box-sizing: border-box;
	position: relative;
	top:0;
	left:0;
	z-index: 1010;
}

#hdInner::after{ border-width: 0 0 120px 120px;}

.logo{ width:369px;}
#hdInner-txt{ width:204px;}

#menuArea{
	width:120px;
	padding:66px 0;
}

/*.open #menuArea{ box-shadow:none;}*/

#navBtn{
	width:60px;
	height:60px;
}

#navBtn a{
	display:flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width:100%;
	height:100%;
	position:relative;
}

.top-bar,
.middle-bar,
.bottom-bar{
	width: 100%;
	height:1px;
	background-color:#242424;
	transition: transform .1s 0s ease-in-out,top .1s .1s ease-in-out;
	transform-origin: 50% 50%;
}

.middle-bar{ transition:opacity 0s .15s linear ;}

.middle-bar,
.bottom-bar{ margin-top:10px;}

.open .top-bar{
	position: absolute;
	transform: rotate(45deg);
	left:0;
	top: 50%;
	margin:0;
}

.open .middle-bar{ opacity: 0;}

.open .bottom-bar{
	position: absolute;
	transform: rotate(-45deg);
	left:0;
	top: 50%;
	margin:0;
}

#langMenu{
	width:66px;
	height:66px;
	position:absolute;
	bottom:66px;
	left:50%;
	transform:translateX(-50%);
	transition:bottom 0.6s cubic-bezier(0.485, 0.135, 0, 0.995);	
}

.is-opened #langMenu,
.scroll #langMenu{ bottom:180px;}

#langMenu::before{
	display:block;
	content:"";
	width:120%;
	height:1px;
	background:#242424;
	position:absolute;
	left:-10%;
	top:50%;
	transform:rotate(-45deg);
}

#langMenu li{
	height:20px;
	line-height:20px;
	font-size:1.6rem;
	font-family:var(--din);
	font-weight:500;
}

#langMenu li + li{
	text-align:right;
	margin-top:26px;
}

#langMenu a,
#langMenu span{
	color:inherit;
	line-height:inherit;
	font:inherit;
}

#langMenu a{
	color:#242424;
	transition:color .2s ease-out;
}

.naviItem a:hover,
.naviItem__service li a:hover,
#langMenu a:hover{ color:var(--accent);}

#pagetop{
	width:60px;
	height: 40px;
	transform:translateY(100%);
	position: absolute;
	bottom:60px;
	left:50%;
	transform:translate(-50%,120px);
	transition: transform 0.6s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.is-opened #pagetop,
.scroll #pagetop{ transform: translate(-50%,0);}

/* NAVI */
#gNavi{
	width:100%;
	padding:220px 220px 100px 100px;
	height:100%;
	position:fixed;
	right:0;
	top:0;
	z-index: 1000;
	background-color:#fff;
	overflow: auto;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}

.gnavi-inner{
	display: flex;
	gap:120px;
	min-height: 100%;
}

.gnavi-side{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width:360px;
}

.gnavi-side__mark{
	width:216px;
}

.gnavi-side__mark path{
	transition:fill .2s ease-out;
}

.gnavi-side__mark a:hover path{
	fill:var(--accent);
}

.gnavi-side__menu{
	display: flex;
	align-items: center;
	gap:28px;
}

.gnavi-side__news{
	flex:1;
	max-width:262px;
	height: 70px;
}

.gnavi-side__news a{
	display: flex;
	align-items: center;
	width:100%;
	height: 100%;
	color:#333;
	font-family: var(--din);
	font-size: 22px;
	font-weight: 400;
	padding-left: 38px;
	letter-spacing: .02em;
	background-color: var(--accent);
	border-radius:35px;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}

.gnavi-side__news a::after{
	content:"";
	height: 100%;
	aspect-ratio: 1;
	background: #fff url(../img/icon-arrow.svg) no-repeat 50%;
	background-size: 16px;
	box-sizing: border-box;
	border:1.5px solid #242424;
	border-radius:50%;
	position: absolute;
	right:0;
	top:0;
}

.gnavi-linkedin{
	width:70px;
	height: 70px;
}

.gnavi-linkedin a{
	display: flex;
	align-items: center;
	justify-content: center;
	width:100%;
	height: 100%;
	border-radius:50%;
	background-color: #fff;
	border:1px solid #242424;
	box-sizing: border-box;
}

.gnavi-main{
	flex:1;
	display: flex;
}

.gnavi-main__menu{
	display: flex;
	gap:12px;
	width:214px;
}

.gnavi-main__menu-navi{
	flex:1;
	display: flex;
	flex-direction: column;
	gap:40px;
}

.gnavi-main__menu-navi a{
	color:#242424;
	transition: color 0.3s cubic-bezier(0.78, 0.07, 0, 1);
}

.gnavi-main__enttl{
	font-size: 30px;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1;
	font-family: var(--din);
}

.gnavi-main__jpttl{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .04em;
	margin-top: 10px;
}

.gnavi-main__clm{
	flex:1;
	display: flex;
	flex-direction: column;
}

.gnavi-main__boxWrapper{
	display: flex;
	justify-content: space-between;
	margin:40px 0 auto;
	padding-bottom: 40px;
}

.gnavi-main__box{
	width:calc((362/782) *100%);
}

.gnavi-main__link{
	width:100%;
	height: 58px;
	border-top:1.5px solid;
	border-bottom:1.5px solid;
}

.gnavi-main__link a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width:100%;
	height: 100%;
	gap:10px;
	line-height: 1.2;
	padding:0 18px 0 5px;
	font-size: 21px;
	font-weight: 400;
	color:#242424;
	letter-spacing: .02em;
	box-sizing: border-box;
	transition: color 0.3s cubic-bezier(0.78, 0.07, 0, 1);
}

.gnavi-main__link a::after{
	content: "";
	width:16px;
	min-width: 16px;
	aspect-ratio: 1;
	background: url(../img/icon-arrow.svg) no-repeat 50%;
	background-size: cover;
}

.gnavi-main__navi li{
	width:100%;
	height: 56px;
	background: url(../img/border.svg) repeat-x 0% bottom;
    background-size: auto 2px;
}

.gnavi-main__navi a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width:100%;
	height: 100%;
	color:#242424;
	padding:0 18px 0 5px;
	font-size: 21px;
	font-weight: 400;
	letter-spacing: .02em;
	box-sizing: border-box;
	transition: color 0.3s cubic-bezier(0.78, 0.07, 0, 1);
}

.gnavi-main__menu-navi a:hover,
.gnavi-main__link a:hover,
.gnavi-main__navi a:hover{
	color:var(--accent);
}

.gnavi-main__navi .is-blank::after{
	content:"";
	width: 16px;
    aspect-ratio: 1;
    background: url(../img/icon-arrow.svg) no-repeat 50%;
	background-size: cover;
}

.gnavi-main__btn{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width:100%;
	max-width: 570px;
	height: 142px;
	color:#fff;
	padding-left:40px;
	box-sizing: border-box;
	border-radius:30px;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition:border-radius 0.6s cubic-bezier(0, 0, 0, 1);
}

.gnavi-main__btn::before{
	content:"";
	width:100%;
	height: 100%;
	will-change: transform;
    transition: transform 0.6s cubic-bezier(0, 0, 0, 1);
	background: url(../img/bg-sustainability.webp?ver=1) no-repeat 50%;
	background-size: cover;
	position: absolute;
	left: 0;
	top:0;
	z-index: -1;
}

.gnavi-main__btn::after{
	content:"";
	width:76px;
	aspect-ratio: 1;
	background:var(--accent) url(../img/icon-arrow.svg) no-repeat 50%;
	background-size: 16px;
	position: absolute;
	right:33px;
	top:50%;
	translate: 0 -50%;
	box-sizing: border-box;
	border-radius: 50%;
	transition: background 0.6s cubic-bezier(0, 0, 0, 1);
}

.gnavi-main__btn:hover{ border-radius: 0;}
.gnavi-main__btn:hover::before{ transform:scale(1.05); }
.gnavi-main__btn:hover::after{ background-color:#fff; }

.gnavi-lang{
	width:50px;
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	text-align: center;
	gap:17px;
	margin-bottom: 26px;
}

.gnavi-lang a{
	font-size: 17px;
	font-family: var(--din);
	line-height: 1;
	font-weight: 500;
	color:#242424;
	letter-spacing: .04em;
}

.gnavi-lang .is-selected{
	font-size: 18px;
	font-family: var(--din);
	line-height: 1;
	font-weight: 500;
	letter-spacing: .04em;
	text-decoration: underline;
	text-underline-offset: 4px;
}



/*------------------------------------------------------------ 
    CONTENTS 
------------------------------------------------------------*/ 

.com-SectionHeader{ width:100%;}

.com-SectionHeader__subtitle{
	font-family:var(--din);
	font-size:5.5rem;
	font-weight: 500;
	line-height: 1.1;
	margin-bottom: .6em;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.com-SectionHeader__title{
	font-size: 28px;
	line-height: 1.25;
    font-weight: 500;
	padding-bottom: .6em;
	letter-spacing: 0.02em;
}

.com-SectionHeader__subtitle.is-small{ font-size: 3.2rem;}
.com-SectionHeader__title.is-small{ font-size: 2rem;}

.com-enttl{
	font-family:var(--din);
	font-size:4.6rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.02em;
	margin-bottom: .75em;
}

.com-Lead{
	font-size:25px;
	font-weight: 500;
	color:#333;
	margin-bottom: 0.5em;
	letter-spacing: 0.02em;
}

.com-Text{
	font-size:20px;
	line-height:1.6;
}

.com-Text__small{
	font-size:16px;
	line-height:1.375;
	font-weight: 400;
}

#visual{
	display: flex;
	align-items: center;
	justify-content: center;
	height:calc(100vh - 90px);
	box-sizing: border-box;
	background:var(--gray) url(../img/bg-visual.webp) no-repeat 50%;
	background-size:cover;
	position: sticky;
	top:0;
	left:0;
}

#visualImg{
	width:calc(100% * (926/1680));
	max-width:926px;
}

#contents{
	width:100%;
	padding:110px 0 90px;
	position: relative;
	z-index: 10;
}

#contents-Inner{
	width:100%;
	background-color: #fff;
	position: relative;
	z-index: 10;
}

.com-fv{
	width:100%;
	margin-bottom: 70px;
	aspect-ratio:1680/780;
}

/* DETAIL */
.com-Detail__head{
	display:flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap:wrap;
	width:100%;
	padding-bottom: 18px;
	border-bottom:1px solid #242424;
}

.com-Detail__head--title{
	font-family:var(--din);
	font-size: 5.5rem;
	line-height:.9;
	letter-spacing: .025em;
	font-weight: 500;
	color:#242424;
}

.com-Detail__head--pager{
	display: flex;
	justify-content: space-between;
	width:94px;
}

.com-Detail__head--pager li{ width:34px;}
.com-Detail__head--pager .cls-1{ transition: .2s ease-out;}
.com-Detail__head--pager a:hover .cls-1{ stroke:var(--accent);}

.com-Detail__head--pager a.disabled{
	opacity: 0.2;
	pointer-events: none;
}

#com-Post{
	display:flex;
	justify-content: space-between;
	width:100%;
	margin-top:76px;
}

#com-Post__image{
	order:1;
	width:calc(100% * (710/1480));
}

#com-Post__image li + li{ margin-top:2px;}

#com-Post__image img{
	border-radius: 5px;
}

#com-Post__body{
	order:2;
	width:calc(100% * (710/1480));
}

#com-Post__head{
	width:100%;
	margin-bottom: 48px;
}

#com-Post__head--cate{
	display:inline-flex;
	align-items: center;
	height: 46px;
	font-size:1.8rem;
	padding:0 1em;
	color:#333;
	border-radius:5px;
	margin-bottom: 26px;
	letter-spacing: .05em;
	font-family: var(--en);
	font-weight: 500;
	background-color: var(--accent);
}

#com-Post__head--title{
	font-size:2.6rem;
	font-weight: 500;
}

#com-Post__head--date{
	display: block;
	font-family: var(--din);
	font-size:1.8rem;
	margin-top:.85em;
	letter-spacing: .025em;
	font-weight: 400;
}


/* BUTTON */
.com-Button{
	max-width:250px;
	height:50px;
}

.com-Button + .com-Button{ margin-top:25px;}
#com-TxtField + .com-Button{ margin-top:80px;}

.com-Button.mt-auto{
    margin-top:auto;
    padding-top:24px;
}

.com-Button a{
	display: flex;
	align-items: center;
	width:100%;
	height:100%;
	color:#333;
	padding:0 22px;
	font-size:1.8rem;
	font-weight: 500;
	overflow: hidden;
	border-radius: 5px;
	font-family: var(--en_ja);
	background-color: var(--accent);
	box-sizing: border-box;
	position: relative;
}

.com-Button a::after{
	content:"";
	width:16px;
	height:16px;
	position:absolute;
	right:17px;
	top:50%;
	transform:translateY(-50%);
	transition:filter .2s ease-out;
	background:url(../img/icon-arrow.svg) no-repeat;
	background-size:contain;
	z-index: 10;
}

.com-Button .is-pdf::after{
	width:18px;
	height:18px;
	right:19px;
	background-image:url(../img/icon-external-link.svg);
}


.com-Button a:hover::after{ filter:invert(1);}


/* NEWS */
.com-NewsItem{
	display: flex;
	width:calc(100% * (460/1480));
}

.com-NewsItem__link{
    display: flex;
	flex-direction: column;
    width:100%;
    color:#242424;
    border-radius: 5px;
    overflow: hidden;
}

.com-NewsItem__cate{
    display: flex;
    align-items: center;
    width:46px;
	height: 100%;
    padding: 20px 0;
    font-size: 1.8rem;
	font-weight: 500;
	color:#333;
    font-family: var(--en);
	letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    text-orientation: mixed;
    background-color: var(--accent);
	position: absolute;
	left:0;
	top:0;
	z-index: 10;
	box-sizing: border-box;
}

.com-NewsItem__image{
	width:100%;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}

.com-NewsItem__image::before{
	content:"";
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,.15);
	position: absolute;
	left: 0;
	top:0;
	z-index: 5;
}

.com-NewsItem__title{
    font-size:26px;
    font-weight: 500;
    padding: 1em 0 .5em;
	line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space:nowrap;
}

.com-NewsItem__text{
    font-size:16px;
    line-height:1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.com-NewsItem__txtfield{
	flex:1;
	display: flex;
	flex-direction: column;
	width:100%;
	padding:24px 30px 28px;
	background-color: var(--accent);
	box-sizing: border-box;
}

.com-NewsItem__txtfield--cate{
    font-size: 1.8rem;
	font-weight: 500;
    font-family: var(--en);
	letter-spacing: 0.05em;
	line-height: 1.3;
}

.com-NewsItem__txtfield--cate + .com-NewsItem__title{padding-top:.65em;}

.com-NewsItem__txtfield--time{
	display: block;
	margin-top:auto;
	padding-top:76px;
	font-size:1.8rem;
	font-weight: 500;
	font-family: var(--din);
	line-height: 1.2;
	letter-spacing: 0.02em;
}

#com-More{
	display: block;
	width:60px;
	margin: calc(100% * (80/1480)) auto 0;
}

#com-More path{ transition:all .2s ease-out;}
#com-More:hover path{ stroke:var(--accent);}


/* RELATED */
.com-Related{
	width:100%;
	margin-top:76px;
	padding-top: 70px;
	border-top:1px solid #242424;
}

.com-Related__title{
	font-size:3.2rem;
	font-weight: 500;
	font-family: var(--din);
	margin-bottom: 1em;
	line-height: 1;
	letter-spacing: 0.02em;
}


/* CONFERENCES & INCENTIVE */
#com-Intro{
	display:flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-bottom: 80px;
	padding-top: 88px;
}

#com-Intro__txtfield{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width:calc(100% * (680/1480));
	padding-top: 80px;
}

#com-Intro__txtfield--subtitle{
	font-size:4.6rem;
	line-height: 1.15;
	font-family: var(--din);
	font-weight: 500;
	letter-spacing: .02em;
}

#com-Intro__txtfield--title{
	font-size:2.2rem;
	font-weight: 500;
	margin-top: 1.2em;
	letter-spacing: 0.025em;
}

#com-Intro__txtfield--text{
	font-size:2rem;
	line-height: 1.875;
	margin-top:.75em;
}

#com-Intro__image{
	width:calc(100% * (700/1480));
}

#com-Intro__image img{
	object-position: right 50%;
	border-radius: 5px;
}

#com-TabMenu{
	width:100%;
	background-color: #fff;
	position: sticky;
	top:0;
	z-index: 20;
}

#com-TabMenu ul{
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}

#com-TabMenu li:first-child{ padding-left:40px;}
#com-TabMenu li:not(:first-child){ margin-left:60px;}
#com-TabMenu a{
	display: flex;
	align-items: center;
	height: 60px;
	color:#969696;
	line-height: 1;
	font-size: 2.5rem;
	font-weight: 500;
	position: relative;
	transition:color .2s ease-out;
}

#com-TabMenu a::after{
	content: "";
	width:0%;
	height: 3px;
	background-color: #242424;
	position: absolute;
	left: auto;
	bottom: 0;
	right: 0;
	z-index: 1;
	transition:all 0.3s cubic-bezier(0.78, 0.07, 0, 1);
}

#com-TabMenu a:hover,
#com-TabMenu .is-active{ color: #242424;}

#com-TabMenu .is-active{ pointer-events: none;}
#com-TabMenu .is-active::after{
	width:100%;
	left:0;
	right: auto;
}

.com-TabColumn__inner{
	width:100%;
	padding:120px 0 80px;
	background-color: var(--gray);
}

.com-TabColumn__navi{
	width:100%;
	margin-top: -80px;/*メニューがないタブと揃えるため、メニューの高さを引く */
	padding:20px 40px;
	margin-bottom: 20px;
	box-sizing: border-box;
	display: flex;
	background-color: var(--gray);
	justify-content: flex-end;
	position: sticky;
	top:60px;
	z-index: 10;
}

.com-TabColumn__navi li:not(:first-child){ margin-left: 48px;}

.com-TabColumn__navi a{
	display: flex;
	align-items: center;
	height: 20px;
	padding-left: 30px;
	font-size: 2rem;
	font-weight: 500;
	color:#242424;
	position: relative;
}

.com-TabColumn__navi a::before{
	content:"";
	width:16px;
	height:16px;
	border:1px solid #242424;
	border-radius:50%;
	transition:background .2s ease-out;
	transform: translateY(-50%);
	box-sizing:border-box;
	position:absolute;
	left:0;
	top:50%;
}

.com-TabColumn__navi a:hover::before{ background-color: #242424;}

.com-TabColumn__section{
	width:100%;
	margin-top:80px;
}

.com-TabColumn__section--title{
	display: flex;
	align-items: center;
	width:100%;
	height:56px;
	border-radius:28px;
	color:#333;
	padding:0 40px;
	font-size:28px;
	font-weight: 500;
	background-color: var(--accent);
	box-sizing: border-box;
}

.com-TabColumn__item{
	display:flex;
	justify-content: space-between;
	width:100%;
	padding:27px 40px 0;
	box-sizing: border-box;

	padding-bottom: 29px;
	background: url(../img/border.svg) repeat-x 0% bottom;
	background-size:auto 2px;
}

.com-TabColumn__item--title{
	width:50%;
	font-size:25px;
	font-weight: 500;
	padding-right:1em;
	line-height: 1.2;
	box-sizing: border-box;
}

.com-TabColumn__item--title small{
	display: block;
	font-size: 1.4rem;
	margin-top: 6px;
}

.com-TabColumn__item--body{ flex:1;}
.com-TabColumn__item--body > .com-Button{
	margin-top:14px;
	padding-bottom: 8px;
}

.com-TabColumn__item--sub{
	display: flex;
	flex-wrap:wrap;
	margin-top:10px;
	padding-bottom: 8px;
}

.com-TabColumn__item--sub dl{ margin-top:12px;}
.com-TabColumn__item--sub dl:not(:last-child){ margin-right:60px;}
.com-TabColumn__item--sub .com-Button{ margin-top:8px;}

.com-TabColumn__works{
	padding-top:80px;
	padding-bottom: 80px;
}

/* COMPLETE */
.complete #wrap{
	height: 100%;
	display: flex;
	flex-direction: column;
}

.complete #contents{
	flex: 1;
	display: flex;
	align-content: center;
	flex-direction: column;
    justify-content: center;
}

.complete #ft-Contact{ display: none;}

/*------------------------------------------------------------ 
    FOOTER 
------------------------------------------------------------*/  

#footer {
	width:100%;
	position: relative;
	z-index: 10;
}

#ft-Contact{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width:100%;
	padding:70px 0;
	background-color: var(--gray);
}

.bg-gray #ft-Contact{ background-color:#fff;}

#ft-Contact__text{
	font-size: 4.4rem;
	font-family: var(--en);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0.02em;
}

.ft-Contact__button{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	margin-top:26px;
	color:#333;
	padding:0 1.25em;
	font-weight: 500;
	letter-spacing: 0.04em;
	font-size: 1.8rem;
	background-color: var(--accent);
}

#ft-Logo{ width:150px;}

#ft-Info{
	display: flex;
	justify-content: space-between;
	width:50%;
	padding:48px 50px 48px 60px;
	background-color: var(--accent);
	box-sizing: border-box;
}

#ft-Info__Address{
	display: flex;
	justify-content: space-between;
	width:100%;
	max-width:460px;
	padding-left: 40px;
	box-sizing: border-box;
}

#ft-Info__Address--text{
	flex:1;
	font-weight: 500;
	color:#333;
	letter-spacing: 0.04em;
	font-size:1.3rem;
	line-height: 1.77;
}

#ft-Info__Address--text .name{
	display: block;
	font:inherit;
	letter-spacing: inherit;
	line-height: inherit;
	transform: translateX(-.6em);
}

#ft-Info__Address--text .tel{
	display: block;
	font-family: var(--en);
	font-size:1.6rem;
	line-height: 1;
	font-weight: 500;
	margin-top:22px;
}

#ft-Info__Address--link{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	height:100%;
}

#ft-Info__MapBtn{
	display: block;
	font-size:1.6rem;
	color:#333;
	font-family: var(--din);
	font-weight: 500;
	line-height: 24px;
	padding-right: 16px;
	background: url(../img/icon-map.svg) no-repeat right 50%;
	background-size:10px auto;
}

#ft-Newsletter{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width:50%;
	padding:54px 84px;
	background-color: #242424;
	box-sizing: border-box;
}

#ft-Newsletter__en{
	color:#fff;
	font-family:var(--din);
	font-size:2.8rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin-bottom: .35em;
	line-height: 1;
}

#ft-Newsletter__jp{
	color:#fff;
	font-size:1.6rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.625;
}

#ft-Newsletter__link{
	display: flex;
	align-items: center;
	justify-content: center;
	width:92px;
	aspect-ratio: 1;
	background-color: #fff;
	border-radius: 50%;
	align-self: center;*
}

#ft-Newsletter__link:hover{
	background-color: var(--accent);
}

#ft-Newsletter__Form{
	display: flex;
	justify-content: space-between;
	width:100%;
	height: 40px;
	box-sizing: border-box;
}

#ft-Newsletter__Form--input{
	width:calc(100% - 96px);
	height: 100%;
	padding:0;
	font-size: 1.6rem;
	font-family: var(--ja) var(--en);
	font-weight: 500;
	color:#fff;
	outline:none;
	border:none;
	border-bottom:1px solid #fff;
	background-color:transparent;
	box-sizing: border-box;
}

#ft-Newsletter__Form--input.error,
#hd-Newsletter input.error{ color:var(--accent);}

#ft-Newsletter__Form--button{
	display: flex;
	align-items: center;
	justify-content: center;
	width:77px;
	color:#fff;
	font-weight: 500;
	letter-spacing: 0.04em;
	font-size: 1.6rem;
	transition:color .2s ease-out;
	border:1px solid #fff;
	box-sizing: border-box;
}

#ft-Newsletter__Form--button::before{ background-color: #fff;}

#ft-Newsletter__Form--button:hover{ color:#242424;}

#ft-Inner{
	display: flex;
	align-items: center;
	flex-direction:row-reverse;
	justify-content: space-between;
	width:100%;
	height: 160px;
	padding:0 60px;
	background-color: #777778;
	box-sizing: border-box;
}

#copyright small{
	font-family: var(--en);
	font-weight: 500;
	font-size: 1rem;
	color:#212121;
	letter-spacing: 0.02em;
}

#ft-Inner__Link{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#ft-Inner__Link a{ transition:all .2s ease-out;}
#ft-Inner__Link a:hover{ filter: invert(.9);}

#ft-Inner__Link1{ width:204px;}
#ft-Inner__Link2{
	width:52px;
	margin-left: 34px;
}

#ft-Inner__Link3{
	width:173px;
	margin-left: 44px;
}

/*------------------------------------------------------------ 
    MediaQuery 
------------------------------------------------------------*/  

html{ scrollbar-width: thin;}

body::before{
	content:"";
	width:100%;
	height:100%;
	position:fixed;
	left:0;
	top:0;
	z-index: 50;
	opacity:0;
	visibility: hidden;
	transition:all .2s ease-out;
	background-color: rgba(0,0,0,.5);
}

body.open::before{
	opacity:1;
	visibility: visible;
}


@media screen and (max-width: 1800px) and (min-width: 1081px){

	.inner{
		padding-left:calc(100vw * (100/1800));
		padding-right:calc(100vw * (100/1800));
	}

	#hdInner{ padding-left:calc(100vw * (60/1800));}


	#ft-Info{ padding:calc(100vw * (48/1800)) calc(100vw * (50/1800)) calc(100vw * (48/1800)) calc(100vw * (60/1800));}
	#ft-Newsletter{ padding:calc(100vw * (54/1800)) calc(100vw * (60/1800)) calc(100vw * (54/1800)) calc(100vw * (84/1800));}

	#ft-Logo{ width:calc(100vw * (150/1800));}


}

/* 1800*.75 */
@media screen and (max-width: 1350px) and (min-width: 1025px){

	#hdInner{
		width:calc(100% + 90px);
		height: 90px;
		padding-right:calc(150px*.75);
	}

	#hdInner::after{ border-width:0 0 90px 90px;}

	.logo{ width:calc(369px*.75);}
	#hdInner-txt{ width:calc(204px*.75);}

	#menuArea{ width:90px;}
	#langMenu{ width:60px;}

	#gNavi{
		padding:calc(220px*.75) calc(220px*.75) calc(100px*.75) calc(100px*.75);
	}


	.gnavi-inner{
		gap:calc(120px*.6);
	}

	.gnavi-side{
		width: calc(358px* .9);
	}

	.gnavi-side__menu{
		gap:calc(28px*.75);
	}

	.gnavi-main__menu{
		width: calc(214px*.75);
	}
	
	.gnavi-main__boxWrapper{
		flex-direction: column;
		margin-top:calc(40px*.75);
		padding-bottom: calc(40px*.75);
	}

	.gnavi-main__box{
		width:100%;
	}

	.gnavi-main__box:not(:last-child) .gnavi-main__navi li:last-child{
		background: none;
		padding-bottom: 0;
	}

	#wrap{ padding-right:90px;}

	/* CONTENTS */
	#com-Intro__txtfield--subtitle{ font-size:calc(100vw * (50/1350));}
	#com-Intro__txtfield--title{ font-size:calc(100vw * (22/1350));}
	#com-Intro__txtfield--text{ font-size:calc(100vw * (16/1350));}

	.com-TabColumn__item--title{ font-size: calc(25px*.9);}
}

/* 1800*.6 */
@media screen and (max-width: 1080px) and (min-width: 1025px){

	.inner{
		padding-left:calc(100px*.6);
		padding-right:calc(100px*.6);
	}

	#hdInner{ padding-left:calc(60px*.6);}

	#ft-Info{ padding:calc(48px*.6) calc(50px*.6) calc(48px*.6) calc(60px*.6);}
	#ft-Newsletter{ padding:calc(54px*.6) calc(60px*.6) calc(54px*.6) calc(84px*.6);}

	#ft-Logo{ width:calc(150px*.6);}
	
}


/* PC */
@media screen and (min-width: 1025px){

	.pc-show{ display: none;}

	.com-Related .com-NewsItem:nth-child(n+4){ display: none;}

	.com-NewsItem:nth-child(n+4){ margin-top:calc(100% * (50/1480));}
	.com-NewsItem:nth-child(3n+2):last-child{ margin-right:calc(100% * (510/1480));}

	.ft-linkedin{
		display: flex;
		justify-content: center;
		align-items: center;
		width:46px;
		height: 46px;
		border:1px solid #333;
		box-sizing: border-box;
		transition: background .2s ease-out;
		border-radius: 50%;
	}

	.ft-linkedin svg{ transition:filter .2s ease-out;}

	.ft-linkedin:hover{ background-color:#333;}
	.ft-linkedin:hover svg{ filter: invert(65%) sepia(99%) saturate(498%) hue-rotate(12deg) brightness(111%) contrast(110%);}

}

@media screen and (max-width: 1024px){

	.pc-hide{ display:none;}

	.inner {
		padding-left: 50px;
		padding-right: 50px;
	}

	#wrap{ padding-right:96px;}

	#hdInner{
		width: calc(100% + 96px);
		height: 96px;
		padding: 0 120px 0 40px;
	}

	#hdInner::after { border-width: 0 0 96px 96px;}

	.logo{ width:295px;}
	#hdInner-txt{ width:162px;}

	#menuArea{
		width:96px;
		padding:30px 0;
	}

	#navBtn{ width:48px;}

	.middle-bar,
	.bottom-bar{ margin-top:8px;}	

	#langMenu{
		width:calc(66px*.8);
		height:calc(66px*.8);
		bottom:30px;
	}
	
	#langMenu li{
		height:calc(20px*.8);
		line-height:calc(20px*.8);
		font-size:1.3rem;
	}
	
	#langMenu li + li{ margin-top:calc(26px*.8);}

	#gNavi{
		padding:160px 146px 50px 50px;
	}

	.gnavi-inner{
		gap:96px;
	}

	.gnavi-side{
		width:182px;
	}

	.gnavi-side__mark{
		width:135px;
	}

	.gnavi-side__news{
		height: 50px;
	}

	.gnavi-side__news a{
		font-size: 15px;
		padding-left: 26px;
	}

	.gnavi-side__news a::after{
		background-size: 11.33px;
	}

	.gnavi-main{
		flex-direction: column;
		gap:49px;
	}

	.gnavi-main__menu{
		width:100%;
	}

	.gnavi-linkedin{
		width:49px;
		height: 49px;
		translate: 7px 0;
	}
	
	.gnavi-linkedin a{
		border-width:1.5px;
	}

	.gnavi-linkedin a svg{
		width:13.69px;
		height: auto;
	}

	.gnavi-main__menu-navi{
		gap:27px;
	}

	.gnavi-main__enttl{
		font-size: 27px;
	}
	
	.gnavi-main__jpttl{
		margin-top: 8px;
		font-size: 14px;
	}

	.gnavi-main__boxWrapper{
		flex-direction: column;
		margin-top: 28px;
		padding-bottom: 44px;
	}

	.gnavi-main__box{
		width:100%;
	}

	.gnavi-main__box:not(:last-child) .gnavi-main__navi li:last-child{
		background: none;
		padding-bottom: 0;
	}

	.gnavi-main__link{
		height: 53px;
		box-sizing: border-box;
	}
	
	.gnavi-main__link a,
	.gnavi-main__navi a{
		font-size: 18px;
	}
	
	.gnavi-main__link a::after{
		width:14.72px;
		min-width: auto;
	}
	
	.gnavi-main__navi li{
		height: 52px;
		box-sizing: border-box;
	}

	.gnavi-main__btn{
		max-width: 413px;
		height: 110px;
		padding-left:31px;
		border-radius: 20px;
	}
	
	.gnavi-main__btn::after{
		width:49px;
		background-size: 11.33px;
		right:32px;
	}

	.gnavi-main__btn .gnavi-main__enttl{
		font-size: 23px;
	}

	.gnavi-main__btn .gnavi-main__jpttl{
		font-size: 16px;
	}

	.gnavi-main__navi .is-blank::after{
		width:14.72px;
	}

	.com-fv{
		width:100%;
		margin-bottom: 44px;
		aspect-ratio:928/528;
	}

	/* CONTENTS */
	.com-SectionHeader__subtitle{
		font-size:3.9rem;
		margin-bottom: .44em;
	}

	.com-SectionHeader__subtitle.is-small{ font-size: 2.5rem;}

	.com-SectionHeader__title { font-size: 26px;}
	.com-SectionHeader__title.is-small{ font-size: 1.7rem;}

	.com-Lead{ font-size: 20px;}

	.com-enttl{
		font-size:35px;
		margin-bottom: 20px;
	}

	.com-Text {
		font-size: 16px;
		line-height: 1.5;
	}

	.com-Text__small{
		font-size: 14px;
        line-height: 1.42;
	}

	#com-Intro{
		flex-direction:column-reverse;
		margin-bottom: 60px;
		padding-top: 0;
	}

	#com-Intro__image {
		width: calc(100% + 100px);
		height: 528px;
		margin:0 -50px;
	}

	#com-Intro__txtfield{
		display: flex;
		width:100%;
		padding-top:33px;
	}
	
	#com-Intro__txtfield--subtitle{ font-size:3.5rem;}
	
	#com-Intro__txtfield--title{
		font-size:1.9rem;
		margin-top: 1em;
		line-height: 1.7;
		letter-spacing: 0.04em;
	}
	
	#com-Intro__txtfield--text{
        font-size: 1.6rem;
        line-height: 1.5;
	}

	#com-TabMenu li:first-child{ padding-left:30px;}
	#com-TabMenu li:not(:first-child){ margin-left:35px;}
	#com-TabMenu a{
		height: 46px;
		font-size: 1.6rem;
	}

	.com-TabColumn__inner{ padding:90px 0 60px;}
	
	.com-TabColumn__navi{
		justify-content: flex-start;
		margin-top: -60px;
		padding:20px 30px;
		margin-bottom: 0;
		top:46px;
	}
	
	.com-TabColumn__navi li:not(:first-child){ margin-left: 26px;}
	
	.com-TabColumn__navi a{
		padding-left: 20px;
		font-size: 1.4rem;
	}
	
	.com-TabColumn__navi a::before{
		width:14px;
		height:14px;
	}

	.com-TabColumn__section{ margin-top:45px;}
	
	.com-TabColumn__section--title{
		height:44px;
		border-radius:22px;
		padding:0 30px;
		font-size:22px;
	}
	
	.com-TabColumn__item{ padding:25px 30px 26px;}
	
	.com-TabColumn__item--title{ font-size:20px;} 
	.com-TabColumn__item--title small{ font-size: 1.2rem;}/* 不明 */
	
	.com-TabColumn__item--body > .com-Button{
		margin-top:12px;
		padding-bottom: 6px;
	}
	
	.com-TabColumn__item--sub{
		display:block;
		margin-top:22px;
	}
	
	.com-TabColumn__item--sub dl:not(:last-child){ margin:19px 0 0;}
	
	.com-TabColumn__works{
		padding-top:44px;
		padding-bottom: 55px;
	}

	/* RELATED */
	.com-Related{
		margin-top:76px;
		padding-top: 70px;
	}

	.com-Related__title{
		font-size:2.2rem;
		line-height: 1.59;
	}

	/* NEWS */
	.com-NewsItem{ width:calc(100% * (392/828));}
	.com-NewsItem:nth-child(n+3){ margin-top:calc(100% * (42/828));}

	.com-NewsItem__cate{
		width:37px;
		padding: 14px 0;
		font-size: 1.4rem;
		letter-spacing: 0.04em;
	}

	.com-NewsItem__title{
		font-size: 20px;
		padding:1.6em 0 0.7em;
	}

	.com-NewsItem__text{
		font-size:14px;
		line-height: 1.57;
	}

	.com-NewsItem__txtfield{ padding:25px 30px 26px;}

	.com-NewsItem__txtfield--cate{
		font-size: 1.5rem;
		letter-spacing: 0.04em;
	}

	.com-NewsItem__txtfield--cate + .com-NewsItem__title { padding-top: .75em;}

	.com-NewsItem__txtfield--time{
		padding-top:40px;
		font-size:1.5rem;
		line-height: 1.3;
	}

	#com-More{
		width:42px;
		margin-top:38px;
	}


	/* DETAIL */
	#contents{ padding:80px 0 55px;}
	.com-Detail__head{ padding-bottom: 14px;}
	.com-Detail__head--title{
		font-size: 3.9rem;
		letter-spacing: .02em;
	}

	.com-Detail__head--pager{ width:72px;}
	.com-Detail__head--pager li{ width:26px;}

	#com-Post{ margin-top:50px;}

	#com-Post__image,
	#com-Post__body{ width:calc(100% * (394/828));}
	
	#com-Post__head{ margin-bottom: 22px;}
	#com-Post__head--cate{
		height: 32px;
		font-size:1.4rem;
		margin-bottom: 18px;
		letter-spacing: .04em;
	}

	#com-Post__head--title{ font-size:1.7rem;}
	#com-Post__head--date{
		font-size:1.5rem;
		margin-top:.65em;
		letter-spacing: .04em;
	}

	/* BUTTON */
	.com-Button{
		max-width:200px;
		height:40px;
	}

	.com-Button + .com-Button{ margin-top:15px;}
	#com-TxtField + .com-Button{ margin-top:47px;}

	.com-Button.mt-auto{ padding-top:18px;}

	.com-Button a{
		padding:0 16px;
		font-size:1.5rem;
	}

	.com-Button a::after,
	.com-Button .is-pdf::after{
		width:14px;
		height:14px;
		right:16px;
	}



	/* FOOTER */
	#pagetop {
		width: calc(60px*.8);
		height: calc(40px*.8);
		bottom: 30px;
	}

	#ft-Contact{ padding:40px 0;}
	#ft-Contact__text{ font-size: 3.3rem;}
	.ft-Contact__button{
		padding:0 25px;
		height:40px;
		margin-top:13px;
		font-size: 1.5rem;
	}

	#ft-Info{ padding:26px 40px 20px 50px;}

	#ft-Logo{ width:104px;}
	
	#ft-Info__Address{
		display: block;
		padding-left: 20px;
		max-width: 224px;
	}

	#ft-Info__Address--text{
		font-size:1.1rem;
		line-height: 1.8;
	}

	#ft-Info__Address--text .name{
		display: block;
		font:inherit;
		letter-spacing: inherit;
		line-height: inherit;
		transform: translateX(-.6em);
	}

	#ft-Info__Address--text .tel{
		font-size:1.2rem;
		line-height: 17px;
		margin-top:28px;
	}

	#ft-Info__Address--link{
		flex-direction: row-reverse;
		justify-content: flex-start;
		align-items:flex-end;
		margin-top:-17px;
		height:17px;
	}

	.ft-linkedin svg{
		width:auto;
		height:17px;
	}

	#ft-Info__MapBtn{
		font-size:1.3rem;
		line-height: 17px;
		padding-right: 15px;
		background-size:11px auto;
		margin-right: 46px;
	}
	
	#ft-Newsletter{ padding:39.5px 50px 39.5px 30px;}
	
	#ft-Newsletter__en{
		font-size:2rem;
	}

	#ft-Newsletter__jp{
		font-size: 12px;
		font-weight: 400;
	}

	#ft-Newsletter__link{
		width:72px;
	}

	#ft-Newsletter__link img{
		width:18px;
		height: 18px;
	}
	
	#ft-Newsletter__Form{ height: 36px;}
	
	#ft-Newsletter__Form--input{
		width:calc(100% - 85px);
		font-size: 1.4rem;
	}
	
	#ft-Newsletter__Form--button{
		width:70px;
		font-size: 1.4rem;
	}
	
	#ft-Inner{
		flex-direction:column;
		width:100%;
		height: auto;
		padding:24px 30px 22px;
	}

	#ft-Inner__Link{
		width:100%;
		margin-bottom: 18px;
		justify-content: center;
	}
		
	#ft-Inner__Link1{ width:141px;}

	#ft-Inner__Link2{
		width:44px;
		margin-left: 36px;
	}
	
	#ft-Inner__Link3{
		width:145px;
		margin-left: 32px;
	}
	#copyright small{ font-weight: 400;}

}



/* TABLET */
@media screen and (min-width: 835px){

	.tb-show{ display:none;}

	#hdInner::after{
		content:"";
		width:0;
		height:0;
		border-style: solid;
		border-color: transparent transparent #fff transparent;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	#menuArea{
		display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
		height: 100vh;
		box-sizing: border-box;
		position:fixed;
		right:0;
		top:0;
		background-color: #fff;
		z-index: 1005;
		box-shadow: 0 0 30px rgba(0,0,0,.16);
		transition:box-shadow .2s ease-out;
	}

	.is-opened #gNavi,
	.scroll #gNavi{ padding-top:76px}

	.open #gNavi{
		box-shadow: 0 0 30px rgba(0,0,0,.16);
	}

}


#gNavi{
	transform:translateX(100%);
	transition: width 0.9s cubic-bezier(0.485, 0.135, 0, 0.995), transform 0.9s cubic-bezier(0.485, 0.135, 0, 0.995), background 0.4s cubic-bezier(0.485, 0.135, 0, 0.995), padding 0.6s cubic-bezier(0.485, 0.135, 0, 0.995);
}

.open #gNavi{
	transform:translateX(0);
}

@media screen and (max-width: 834px){

	.tb-delay1{ transition-delay:100ms;}
	.tb-delay2{ transition-delay:200ms;}
	.tb-delay3{ transition-delay:300ms;}
	.tb-delay4{ transition-delay:400ms;}
	.tb-delay5{ transition-delay:500ms;}
	.tb-delay6{ transition-delay:600ms;}
	.tb-delay7{ transition-delay:700ms;}
	.tb-delay8{ transition-delay:800ms;}
	.tb-delay9{ transition-delay:900ms;}
	.tb-delay10{ transition-delay:1000ms;}
	.tb-delay11{ transition-delay:1100ms;}
	.tb-delay12{ transition-delay:1200ms;} 

	.tb-hide{ display:none;}

	body{ padding-top:80px;}

	.inner{
		padding-left:30px;
		padding-right:30px;
	}

	#langMenu-sp{
		width:46px;
		text-align: center;
		margin-top:24px;
	}

	#langMenu-sp li{
		font-size:1.6rem;
		line-height: 1;
		color:#251E1C;
		font-family: var(--din);
		font-weight: 500;
	}

	#langMenu-sp li + li{ margin-top:20px;}

	#langMenu-sp a{
		color:inherit;
		font:inherit;
		line-height: inherit;
	}

	#langMenu-sp .is-selected{
		text-decoration: underline;
		text-underline-offset: 6px;
	}

	#header{
		height:80px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding:0 30px;
		box-sizing: border-box;
		background-color: var(--accent);
		position: fixed;
		top:0;
	}

	#hdInner{
		display: block;
		width: 289px;
		height: auto;
		padding: 0;
		z-index: 1;
	}

	.logo{ width:100%;}

	#menuArea {
		width: 26px;
		padding: 0;
	}

	#navBtn{
		width:26px;
		height:26px;
		position: relative;
		z-index: 100;
	}

	.middle-bar,
	.bottom-bar{ margin-top:7px;}

	#gNavi {
		height: calc(100% - 80px);
		top: 80px;
        padding: 44px 30px;
    }

	.gnavi-inner{
		gap:102px;
	}

	.gnavi-side__mark{
		width:132px;
	}

	#wrap{ padding-right:0;}

	.com-fv{
		margin-bottom: 30px;
		aspect-ratio:834/475;
	}

	/* CONTENTS */
	.com-SectionHeader__subtitle {
		letter-spacing: 0.02em;
	}

	#com-Intro{ margin-bottom: 28px;}
	#com-Intro__image {
		width: calc(100% + 60px);
		height: 475px;
		margin: 0 -30px;
	}

	#com-Intro__txtfield{
		padding-top:20px;
	}

	#com-TabMenu{ top:80px;}
	.com-TabColumn__navi {
		top: 126px;
	}

	#com-TabMenu li:first-child{ padding-left:30px;}
	#com-TabMenu li:not(:first-child){ margin-left:35px;}

	.com-TabColumn__inner{ padding:86px 0 50px;}

	.com-TabColumn__navi li:not(:first-child) {
		margin-left: 16px;
	}

	.com-TabColumn__section{ margin-top:40px;}

	.com-TabColumn__works {
		padding-top: 31px;
		padding-bottom: 50px;
	}

	.com-Button{
		max-width:357px;
		height:60px;
	}

	.com-TabColumn__item--sub .com-Button {
		margin-top: 4px;
	}

	.com-Button + .com-Button{ margin-top:15px;}
	#com-TxtField + .com-Button{ margin-top:39px;}

	.com-Button.mt-auto-wid,
	.com-Button.mt-auto{ padding-top:17px;}

	.com-Button a{
		padding:0 25px;
		font-size:17px;
	}

	.com-Button a::after,
	.com-Button .is-pdf::after{
		width:18px;
		height:18px;
		right:25px;
	}

	.com-TabColumn__item--body > .com-Button{ margin-top:15px;}

	.com-enttl {
        margin-bottom: 14px;
    }

	.com-SectionHeader__title {
        font-size: 24px;
    }
	
	/* NEWS */
	.com-NewsItem{ width:calc(100% * (372/774));}
	.com-NewsItem:nth-child(n+3){ margin-top:calc(100% * (30/774));}

	.com-NewsItem__title {
		padding: 1em 0 0.6em;
	}

	.com-NewsItem__text {
		font-size: 16px;
		line-height: 1.5;
	}

	.com-NewsItem__cate {
		width: 35px;
		padding: 13px 0;
	}

	.com-NewsItem__txtfield{ padding:28px 30px;}

	.com-NewsItem__txtfield--time{
		padding-top:35px;
	}

	.com-NewsItem__txtfield--cate + .com-NewsItem__title {
		padding-top: 0.8em;
	}

	#contents {
		padding: 28px 0 50px;
	}

	.com-Detail__head--pager{ width:68px;}

	#com-Post{
		display: block;
		margin-top: 30px;
	}

	#com-Post__body{ width:100%;}

	#com-Post__head--date{ margin-top:0.2em;}

	#com-TxtField{ margin-top:50px;}

	#com-Post__head {
		margin-bottom: 27px;
	}

	#com-Post__image-sp li + li{ margin-top:2px;}
	#com-Post__image-sp li{
		width:100%;
		aspect-ratio: 1/0.62;
	}
	

	.com-Related{
		width:auto;
		margin:50px -30px 0;
		padding:40px 30px 0;
	}

	.com-Related__title{
        font-size: 2.8rem;
		line-height: 1;
    }

	.com-Detail__head--title{ font-size:3.4rem;}

	/* FOOTER */
	.ft-Contact__button{
		width:180px;
		height:60px;
		margin-top:18px;
		font-size: 1.6rem;
		box-sizing: border-box;
	}

	#ft-Info{
		width:100%;
		padding:30px 50px;
	}

	#ft-Logo{ width:124px;}
	#ft-Info__Address{
		display: flex;
		justify-content: space-between;
		width:50%;
		max-width: unset;
		padding-left: 0;
	}

	#ft-Info__Address p{
		font-size:1.5rem;
		line-height:1.46;
		letter-spacing:0.04em;
	}

	#ft-Info__Address--text .tel {
		font-size:1.5rem;
		line-height:1.46;
		letter-spacing:0.04em;
		margin-top: 1.2em;
	}

	#ft-Info__Address div{
		margin-top:0;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-end;
		height: auto;
	}

	#ft-Info__MapBtn{
		font-size:1.6rem;
		line-height: 24px;
		padding-right:20px;
		background-size:15px auto;
		margin-right:0;
	}

	.ft-linkedin {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 46px;
		height: 46px;
		border: 1px solid #242424;
		border-radius:50%;
		box-sizing: border-box;
	}

	#ft-Newsletter{
		width:100%;
		padding:35px 50px;
	}

	#ft-Newsletter__en{
		width:100%;
		text-align: center;
		font-size: 2.4rem;
		line-height: 1;
	}

	#ft-Newsletter__jp{
		font-size: 16px;
	}

	#ft-Newsletter__Form{
		width:100%;
		max-width:356px;
		margin:0 auto;
	}

}


/* SP */
@media screen and (min-width: 481px){

	.sp-show{ display:none!important;}

}

@media screen and (max-width: 480px){

	.sp-hide{ display:none;}

	.inner {
		padding-left: 25px;
		padding-right: 25px;
	}
	
	body {
		padding-top: 70px;
	}

	#header {
		height: 70px;
		padding: 0 25px;
	}

	#hdInner{ width:230px;}
	#navBtn {
		width: 20px;
		height: 20px;
	}

	#gNavi{
		height: calc(100% - 70px);
		top:70px;
		padding:44px 25px;
	}

	.gnavi-inner{
		flex-direction: column-reverse;
		gap:35px;
	}

	.gnavi-main{
		gap:44px;
	}

	.gnavi-main__boxWrapper{
		padding-bottom: 33px;
	}

	.gnavi-main__link{
		height: 53px;
		box-sizing: border-box;
	}

	.gnavi-main__btn{
		max-width: 100%;
		height: 110px;
		padding-left:31px;
	}
	
	.gnavi-main__btn::after{
		width:49px;
		background-size: 11.33px;
		right:32px;
	}

	#langMenu-sp li{ font-size: 1.8rem;}

	.com-fv{
		margin-bottom: 30px;
		aspect-ratio:480/273;
	}

	/* CONTENTS */
	.com-enttl{
		font-size: 28px;
		line-height: 1.15;
	}

	.com-SectionHeader__subtitle {
		font-size: 3.2rem;
		white-space: wrap;
	}

	.com-SectionHeader__title {
        font-size: 24px;
    }

	/* ABOUT & SUSTAINABILITY */
	.com-fv__head .com-enttl{
		margin-bottom: 8px;
	}

	.com-fv__head .com-SectionHeader__title{
		margin-top: .75em;
	}

	.com-NewsItem{ width:100%;}
	.com-NewsItem:nth-child(n+2){ margin-top:30px;}

	.com-NewsItem__txtfield{ padding:18px 20px;}

	.com-NewsItem__cate {
		width: 40px;
		padding: 17px 0;
		font-size: 1.6rem;
	}

	#com-Intro__image {
		width: calc(100% + 50px);
		height: 274px;
		margin: 0 -25px;
	}

	#com-Intro__txtfield{
		padding-top:30px;
	}

	.com-Related__title,
	#com-Intro__txtfield--subtitle {
		font-size:2.8rem;
	}

	#com-Intro__txtfield--subtitle br{ display: block;}

	#com-Intro__txtfield--title{
		font-size:1.8rem;
		margin-top: .75em;
		line-height: 1.66;
	}

	#com-Intro__txtfield--text{ margin-top:.5em;}

	#com-TabMenu{ top:70px;}
	.com-TabColumn__navi {
		top: 110px;
		padding: 15px 0;
		margin-top: -56px;
	}

	#com-TabMenu li:first-child{ padding-left:0;}
	#com-TabMenu a {
		height: 40px;
        font-size: clamp(1.28rem,3.33vw,1.6rem);
	} 
	
	.com-TabColumn__navi a{
		font-size: clamp(1.12rem,2.916vw,1.4rem);
		white-space: nowrap;
	}
	
    #com-TabMenu li:not(:first-child) {
        margin-left: 27px;
    }

	.com-TabColumn__inner{ padding:66px 0 30px;}

	.com-TabColumn__navi li:not(:first-child) {
		margin-left: 18px;
	}

	.com-TabColumn__navi + section{ margin-top: 5px;}

	.com-TabColumn__section--title {
		text-align: center;
		justify-content: center;
		padding: 0 10px;
	}

	.com-TabColumn__item {
		display:block;
		padding: 16px 0 19px;
		background-image: url(../img/border-sp.svg);
	}

	.com-TabColumn__item--title {
		width: 100%;
		padding-right: 0;
		margin-bottom: .4em;
	}

	.com-TabColumn__works {
		padding-top: 14px;
		padding-bottom: 40px;
	}

	.com-Related__title {
		margin-bottom: .5em;
		line-height: 1.57;
	}

	.com-Button {
		max-width: 100%;
	}

	#contents {
		padding: 20px 0 40px;
	}

	.com-Detail__head{
		padding-bottom: 10px;
		font-size: 2.8rem;
	}

	#com-Post {
		margin-top:20px;
	}

	#com-Post__head--cate {
		margin-bottom: 1.28em;
	}

	#com-Post__head--title {
		font-size:1.8rem;
	}

	.com-Detail__head--title{ font-size:2.8rem;}

	.com-Detail__head--pager{ width:60px;}
	.com-Detail__head--pager li{ width:20px;}

	#com-TxtField {
		margin-top: 32px;
	}

	#com-TxtField + .com-Button {
		margin-top: 25px;
	}

	.com-Related {
		width: auto;
		margin: 40px -25px 0;
		padding: 30px 25px 0;
	}

	/* FOOTER */
	#ft-Contact{
		padding:30px 25px;
		box-sizing: border-box;
	}

	#ft-Contact__text{
		font-size:2.8rem;
	}

	.ft-Contact__button {
		width: 100%;
		margin-top:1em;
		font-size: 1.8rem;
	}

	#ft-Info {
		order:2;
		display: block;
		padding: 45px 25px 28px;
		margin-bottom: 80px;
		position: relative;
	}

	#ft-Logo{ margin-bottom: 20px;}

	#ft-Info__Address {
		align-items: flex-end;
		width: 100%;
	}

	#ft-Info__Address p {
		font-size: 1.4rem;
		line-height: 1.5;
		letter-spacing: 0.04em;
	}

	#ft-Info__Address--text .tel{
		margin-top:14px;
		font-size: 1.4rem;
	}

	#ft-Newsletter {
		order:1;
		padding:37.5px 25px;
	}

	#ft-Newsletter__link {
        width: 58px;
    }

	#ft-Newsletter__link svg{
		width:16px;
		height: 16px;
	}
	#ft-Newsletter__Form{ max-width: 100%;}

	#ft-Info__MapBtn {
		display: flex;
		align-items: center;
		justify-content: center;
		width:100%;
		height: 80px;
		line-height: 1;
		padding-right: 0;
		background:#fff;
		position: absolute;
		left: 0;
		bottom:-80px;
	}

	#ft-Info__MapBtn::after{
		display: block;
		content:"";
		width:15px;
		height: 22px;
		background:url(../img/icon-map.svg) no-repeat;
		background-size:100% auto;
		margin-left: 7px;
	}

	#ft-Inner {
		padding: 24px 25px 28px;
	}

	#ft-Inner__Link{
		margin-bottom: 14px;
	}
		
	#ft-Inner__Link1{ width:112px;}

	#ft-Inner__Link2{
		width:35px;
		margin-left: 28px;
	}
	
	#ft-Inner__Link3{
		width:115px;
		margin-left: 29px;
	}

	#ft-Newsletter__Form{ height:38px;}
	#ft-Newsletter__Form--input {
		width: calc(100% - 79px);
	}
	#ft-Newsletter__Form--button{
		width:65px;
	}
}

