@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

html{ /*font-size: 62.5%;*/ scroll-behavior: smooth;visibility: hidden;}
html.wf-active *{ visibility: visible;}

body {
	width: 100%;
	height: 100%;
	font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	color:#000;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: justify;
	background:#fcfbfb;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
}
img { -ms-interpolation-mode: bicubic; }

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

a:hover{
	text-decoration: none;
}

header {
	width: 100%;
}

main{
	width: 100%;
	contain: paint;
}

footer{
    width: 100%;
	line-height: 1;
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

/*デザイン1200px　テキストサイズが小さすぎるため、1200→1400 1.166%拡大*/

@media print, screen and (min-width: 744px){
	.sp{
		display: none!important;
	}
	
	.hamburger {
		display: none;
	}
	
	a.opacity {
		transition-duration: 0.5s;
		transition-property: opacity, color;
	}
	
	a.opacity:hover {
		opacity: 0.5;
	}
	
	header, main, footer {
		min-width: 100%;
	}
	
	header {
		width: 100%;
		height: 60px;
		padding-top: 27px;
		z-index: 99;
		background: #FFF;
		position: fixed;
		top: 0;
		left: 0;
	}
	
	header div.h_block{
		width: 91.6%;
		margin: 0 auto;
		position: relative;
	}
	
	header h1{
		width: 7%;
		max-width: 77px;
		line-height: 0;
		position: absolute;
		top: -10px;
		left: 0;
	}
	
	header h1{
		width: 7%;
		min-width: 77px;
		line-height: 0;
		position: absolute;
		top: -10px;
		left: 0;
	}
	
	header nav.globalMenu{
		width: 31.8%;
		min-width: 350px;
		margin: 0 auto;
		display: block;
	}
	
	header nav.globalMenu ul{
		list-style: none;
		display: flex;
		justify-content: space-between;
		line-height: 0;
	}
	
	header nav.globalMenu ul li:last-of-type{
		margin-right: 0;
    }
	
	header nav.globalMenu ul li.story{
        width: 8.2%;
		min-width: 26px;
    }
	
	header nav.globalMenu ul li.concept{
        width: 13.5%;
		min-width: 41px;
    }
	
	header nav.globalMenu ul li.brand{
        width: 9%;
		min-width: 28px;
    }
	
	header nav.globalMenu ul li.feauture{
        width: 14.14%;
		min-width: 43px;
    }
	
	header nav.globalMenu ul li.products{
        width: 14.1%;
		min-width: 43px;
    }
	
	header nav.globalMenu ul li.news{
        width: 8.3%;
		min-width: 25px;
    }
	
	header nav.globalMenu ul li.online{
		width: 7%;
		min-width: 77px;
		height: 24px;
		position: absolute;
		top: -10px;
		right: 0;
	}
	
	header nav.globalMenu ul li.online a{
		width: 100%;
		height: 100%;
		border: 1px solid #999;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		line-height: 0;
		position: relative;
		z-index: 0;
		padding-bottom: 4px;
	}
	
	header nav.globalMenu ul li.online a span{
		width: 77.9%;
		display: inline-block;
		transition: all .5s;
	}
	
	header nav.globalMenu ul li.online a:hover span{
		transform: scale(1.15, 1.15);
	}
	
	header nav.globalMenu ul.external_link_box {
		display: none;
	}
	
	
	article {
		width: 100%;
	}
	
	section {
		width: 91.66%;
		max-width: 1282px;
		margin: 0 auto;
		padding-left: 9%;
		position: relative;
		z-index: 0;
	}
	
	div.section_inner {
		
	}
	
	footer {
		padding: 70px 0 25px;
	}

	footer div.f_block{
        width: 91.66%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
    }
	
	footer div.f_block h2{
		width: 7.09%;
		min-width: 77px;
		line-height: 0;
    }
	
	footer div.f_block nav.nav_top{
		width: 90%;
		line-height: 1;
    }
	
	footer div.f_block nav.nav_top ul,
	footer div.f_block nav.nav_bottom ul {
        list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content:flex-start;
    }
	
	footer div.f_block nav.nav_top ul li{
        display: flex;
		flex-wrap: wrap;
		padding-top: 1%;
		margin-right: 2.6%;
    }
	
	footer div.f_block nav.nav_top ul li a{
        line-height: 0;
    }
	
	footer div.f_block nav.nav_top ul li.story{
        width: 2.7%;
		min-width: 26px;
    }
	
	footer div.f_block nav.nav_top ul li.concept{
        width: 4.4%;
		min-width: 41px;
    }
	
	footer div.f_block nav.nav_top ul li.brand{
        width: 2.9%;
		min-width: 28px;
    }
	
	footer div.f_block nav.nav_top ul li.feauture{
        width: 4.5%;
		min-width: 43px;
    }
	
	footer div.f_block nav.nav_top ul li.products{
        width: 4.6%;
		min-width: 43px;
    }
	
	footer div.f_block nav.nav_top ul li.news{
        width: 2.7%;
		min-width: 25px;
    }
	
	footer div.f_block nav.nav_bottom {
		width: 50%;
		margin-top: 25px;
	}
	
	footer div.f_block nav.nav_bottom ul li{
        display: inline-block;
		margin-right: 4.3%;
    }
	
	footer div.f_block nav.nav_bottom ul li a {
		font-size: 8px;
		font-size: clamp(0.5rem, 0.408rem + 0.2vw, 0.581rem);
		line-height: 1;
		color: #000;
		letter-spacing: 0.16em;
	}
	
    footer div.f_block small{
		width: 50%;
		font-size: 1.1rem;
		font-size: clamp(0.438rem, 0.36rem + 0.17vw, 0.506rem);
		line-height: 1;
		letter-spacing: 0.14em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: flex-end;
    }
}

@media screen and (max-width: 999px){
	footer div.f_block nav.nav_top{
		width: calc(100% - 100px);
    }
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 743px){
	
	.pc{
		display: none!important;
	}
	
	a:hover{
		text-decoration: none;
		opacity: 1;
	}
	
	header {
		width: 100%;
		height: 15vw;
		padding: 0 5%;
		background: #FFF;
		position: fixed;
		top: 0;
		left: 0;
		z-index : 9999;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	div.h_block {
		line-height: 0;
	}
	
	header h1{
		width: 17.5vw;
		font-size: 1px;
		line-height: 0;
		position: relative;
		z-index: 99999;
	}

	article {
		width: 100%;
	}
	
	section {
		width: 90%;
		margin: 0 auto;
		position: relative;
		z-index: 0;
	}

	
	footer {
		padding: 2.5vw 0 5.5vw;
	}

	footer div.f_block{
        width: 90%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content:space-between;
    }
	
	footer div.f_block h2{
		width: 15vw;
		line-height: 0;
    }
	
	footer div.f_block nav.nav_top{
		width: 100%;
		line-height: 1;
		margin-top: 5vw;
    }
	
	footer div.f_block nav.nav_top ul,
	footer div.f_block nav.nav_bottom ul {
        list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content:flex-start;
    }
	
	footer div.f_block nav.nav_top ul li{
        display: flex;
		flex-wrap: wrap;
		margin-right: 5.5vw;
    }
	
	footer div.f_block nav.nav_top ul li a{
        line-height: 0;
    }
	
	footer div.f_block nav.nav_top ul li.story{
        width: 6.8vw;
    }
	
	footer div.f_block nav.nav_top ul li.concept{
        width: 11.2vw;
    }
	
	footer div.f_block nav.nav_top ul li.brand{
        width: 7.5vw;
    }
	
	footer div.f_block nav.nav_top ul li.feauture{
        width: 11.6vw;
    }
	
	footer div.f_block nav.nav_top ul li.products{
        width: 11.7vw;
    }
	
	footer div.f_block nav.nav_top ul li.news{
        width: 6.8vw;
    }
	
	footer div.f_block nav.nav_bottom {
		width: 66%;
		margin-top:0.5vw;
	}
	
	footer div.f_block nav.nav_bottom ul li{
        display: inline-block;
		margin-right: 4.3%;
    }
	
	footer div.f_block nav.nav_bottom ul li a {
		font-size: 4px;
		font-size: clamp(0.4rem, 0.003rem + 1.99vw, 0.925rem);
		line-height: 1;
		color: #000;
		letter-spacing: 0.16em;
	}
	
    footer div.f_block small{
		width: 34%;
		font-size: 3.5px;
		font-size: clamp(0.35rem, 1.75vw, 0.813rem);
		line-height: 1;
		letter-spacing: 0.14em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: flex-end;
    }
	
}

/*ハンバーガーナビ*/
@media screen and (max-width: 743px){

    body.nav_open {
        overflow: hidden;
    }
	
    .hamburger {
		display : block;
		position: absolute;
		z-index : 9999;
		width : 12vw;
		height: 12vw;
		text-align: center;
        top: 1.1vw;
		right: 2.5%;
		cursor: pointer;
    }
	
    .hamburger span {
		display : block;
		position: absolute;
		width   : 62.5%;
		height  : 1px ;
		left    : 18.75%;
		background : #1a1a1a;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
    }
    .hamburger span:nth-child(1) {
		top: 26.4%;
    }
    .hamburger span:nth-child(2) {
		top: 46.8%;
    }
    .hamburger span:nth-child(3) {
		top: 67.8%;
    }

    .hamburger.active span:nth-child(1) {
		top: 48.4%;
		left: 18.75%;
		-webkit-transform: rotate(-28deg);
		-moz-transform   : rotate(-28deg);
		transform        : rotate(-28deg);
    }

    .hamburger.active span:nth-child(3) {
		width : 62.5%;
		top: 48.4%;
		-webkit-transform: rotate(28deg);
		-moz-transform   : rotate(28deg);
		transform        : rotate(28deg);
    }
	
	.hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	
	header nav.globalMenu {
        padding: 0 4.5%;
    }

    header nav.globalMenu {
        width: 100%;
        height: 130vh;
		height: calc(var(--vh, 1vh) * 130);
        position: fixed;
        z-index : 9998;
        top  : 0;
        right : 0;
        color: #1a1a1a;
        text-align: left;
        transform: translateX(110%);
        transition: all 0.6s;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        padding-left: 5%;
        background: #FFF;
    }

    header nav.globalMenu ul{
        list-style: none;
    }

    header nav.globalMenu ul.internal_link_box {
        margin-top: 18vw;
    }

    header nav.globalMenu ul.internal_link_box li {
        padding: 4.25vw 0;
    }
	
	header nav.globalMenu ul.internal_link_box li.story{
        width: 9.5vw;
    }
	
	header nav.globalMenu ul.internal_link_box li.concept{
        width: 15.5vw;
    }
	
	header nav.globalMenu ul.internal_link_box li.brand{
        width: 10.5vw;
    }
	
	header nav.globalMenu ul.internal_link_box li.feauture{
        width: 16vw;
    }
	
	header nav.globalMenu ul.internal_link_box li.products{
        width: 16.5vw;
    }
	
	header nav.globalMenu ul.internal_link_box li.news a{
        width: 9.5vw;
		display: inline-block;
		position: relative;
    }
	
	header nav.globalMenu ul.internal_link_box li.news a::after{
        content: "";
		width: 2.65vw;
		height: 2.65vw;
		background: url("../images/common/icon_insta.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		position: absolute;
		top: 1%;
		right: -4.9vw;
    }
	
	header nav.globalMenu ul.internal_link_box li.online{
		width: 30vw;
	}
	
	header nav.globalMenu ul.internal_link_box li.online a{
		width: 100%;
		height: 7.5vw;
		border: 1px solid #999;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		line-height: 0;
		position: relative;
		z-index: 0;
	}
	
	header nav.globalMenu ul.internal_link_box li.online a span{
		width: 80%;
		display: inline-block;
	}
	
	header nav.globalMenu ul.external_link_box {
		margin-top: 45vw;
		position: relative;
	}
	
	header nav.globalMenu ul.external_link_box li{
		font-size: 8px;
        font-size: clamp(0.5rem, 2.5vw, 1.161rem);
		line-height: 1;
		letter-spacing: 0.16em;
	}
	
	header nav.globalMenu ul.external_link_box li + li{
		margin-top: 3.5vw;
	}
	
	header nav.globalMenu ul.external_link_box li:last-of-type{
		display: inline-block;
		margin-top: 0;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	
	header nav.globalMenu ul.external_link_box li small{
		font-size: 3.5px;
		font-size: clamp(0.35rem, 1.75vw, 0.813rem);
		line-height: 1;
		letter-spacing: 0.14em;
    }
	
	header nav.globalMenu ul.external_link_box li a{
		color: #000;
	}
	
	nav.globalMenu.active {
      transform: translateY(0%);
    }
}