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

html {scroll-behavior:smooth;}

body,header,footer,section,div,img,p,ul,li,h1,h2,h3 {
    margin: 0;
    padding: 0;
	font-feature-settings: "palt" 1;}


.p_ja {font-family:'Zen Kaku Gothic New', sans-serif;}
/*font-weight:400,500;*/
.p_eng {font-family:'IBM Plex Sans', sans-serif;}
/*font-weight:300,400;font-style:italic;*/


img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    line-height:0;
	margin:0 auto;}

#contents {
    width: auto;
    /*overflow: hidden;*/
    padding: 0;}

.clearfix:after {
    display: block;
    clear: both;
    content: "";}

.pc{display: block;}
.sp{display: none !important;}
@media screen and (max-width: 768px){
    .pc{display: none !important;}
    .sp{display: block !important;}
}

ul {list-style: none;
    margin-left: 0;
    padding-left: 0;}
li {list-style: none;}

a {text-decoration:none;color:inherit;}





/* フレーム */
.sec, .sec_B {margin:0 auto;}
@media screen and (min-width:1440px){
	.sec, .sec_B {width:1280px;margin:0 auto;}}
@media screen and (max-width:1440px){
	.sec, .sec_B {width:88.88vw;margin:0 auto;}}
@media screen and (max-width: 768px){
	.sec {width:80.46vw;margin:0 auto;}
	.sec_B {width:100%;margin:0 auto;}
}

.flx_bx {width:100%;display:flex;
	justify-content:flex-start;
	align-content:flex-start;
	flex-wrap:wrap;
	gap:3.13%;margin:6.25% auto 3.13%;}
.flx_bx_item {width:22.65%;text-align:left;
	margin-bottom:3.13%;}
@media screen and (max-width:1068px){
	.flx_bx {gap:3.74%;}
	.flx_bx_item {width:30.52%;margin-bottom:3.74%;}}
@media screen and (max-width: 768px){
	.flx_bx {width:100%;display:block;gap:0;
		margin:10.41vw auto}
	.flx_bx_item {width:100%;margin:0 auto;}}

/* アンカーリンク余白調整 */
.flx_bx_item {padding-top:175px;margin-top:-175px;}
@media screen and (max-width: 768px){
	.flx_bx_item {padding-top:26.04vw;margin-top:-26.04vw;}
}

/* 画像拡大アニメーション */
.flx_bx_item div {
	overflow:hidden;
	transition:0.3s;}
.flx_bx_item a img {transition:0.3s;}
.flx_bx_item a:hover img {transform:scale(1.18,1.18);}
@media screen and (max-width: 768px){
	.flx_bx_item a:hover img {transform:none;}
}

/* ボタン */
.view_btn {text-align:center;font-weight:300;
	font-size:20px;color:#000;padding:15px 0;
	border:solid 0.5px #666;}
.view_btn_label_A {width:620px;margin:0 auto;}
.view_btn_label_B {width:100%;margin:0 auto;}
@media screen and (max-width:1068px){
	.view_btn_label_A {width:100%;margin:0 auto;}}
@media screen and (max-width: 768px){
	.view_btn {font-size:3.38vw;padding:1.95vw 0;}
	.view_btn_label_A {width:100%;margin:0 auto;}
}
/* ボタンアニメーション */
.view_btn {
	overflow:hidden;
	background-image:linear-gradient(to top, rgba(102, 102, 102, 1) 50%, rgba(0, 0, 0, 0) 50%);
	background-position:0 0;
	background-size:auto 200%;transition:0.3s;}
.view_btn:hover{
	background-position:0 100%;color:#fff;}
@media screen and (max-width: 768px){
	.view_btn {background:none;}
	.view_btn:hover{color:#000;}
}
/* フレーム */





/* メニュー */
.menu {margin:0 auto;padding:20px 0;background:#fff;
	position:-webkit-sticky;position:sticky;
	top:0;z-index:100;}
.menu_logo {width:250px;margin:0 auto;}
.menu_logo a:hover {opacity:0.3;transition:0.2s;}
@media screen and (max-width: 768px){
	.menu {padding:4.55vw 0;}
	.menu_logo {width:52.08vw;height:4.55vw;margin:0 auto;}
	.menu_logo a:hover {opacity:1;}
}
/* メニューPC用 */
.menu_pc {width:683px;margin:20px auto 0;
	display:flex;justify-content:space-between;
	font-weight:400;font-size:20px;line-height:1;}
.menu_pc p a {display:inline-block;
	position:relative;overflow:hidden;}
.menu_pc p a:after {position:absolute;bottom:0;left:0;
	width:100%;height:1px;background-color:#000;
	transform:translate(-100%, 0);
	transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
	content:"";}
.menu_pc p a:hover:after {transform:translate(0, 0);}
@media screen and (max-width: 768px){
	.menu_pc {display:none!important;}
}
/* メニューPC用 */

/* メニューSP用 */
@media screen and (max-width: 768px){
	.openbtn{position:absolute;z-index:9999;
		top:5.00vw;right:9.76vw;
    	width:5.85vw;height:3.38vw;
		transition:0.8s;}
}
/* ×に変化 */	
@media screen and (max-width: 768px){
	.openbtn span{position:absolute;
		display:inline-block;
    	transition:all 0.2s;width:100%;
    	height:2px;border-radius:2px;
		background-color:#000;}
	.openbtn span:nth-of-type(1) {top:0;}
	.openbtn span:nth-of-type(2) {top:1.69vw;}
	.openbtn span:nth-of-type(3) {top:3.38vw;}
}
@media screen and (max-width: 768px){
	.openbtn.active {position:fixed;z-index:9999;
		top:5.00vw;right:9.76vw;}
	.openbtn.active span {background-color:#fff;}
	.openbtn.active span:nth-of-type(1) {
    	top:0;right:0;
    	transform:translateY(1.69vw) rotate(-45deg);
    	width:100%;}
	.openbtn.active span:nth-of-type(2) {opacity:0;}
	.openbtn.active span:nth-of-type(3){
    	top:3.38vw;right:0;
    	transform:translateY(-1.69vw) rotate(45deg);
    	width:100%;}
}
@media screen and (max-width: 768px){
	#g-nav{
		/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    	position:fixed;z-index:-1;
		opacity:0;/*はじめは透過0*/
    	/*ナビの位置と形状*/
		top:0;left:-100%;width:100%;height:100vh;
		background-color:rgb(66,66,66,0.9);
		overflow:auto;
    	-webkit-overflow-scrolling:touch;
		/*動き*/
		transition:all 0.4s;}
	/*アクティブクラスがついたら透過なしにして最前面へ*/
	#g-nav.panelactive {left:0;opacity:1;z-index:999;}
	/*ナビゲーション*/
	#g-nav .g-nav_inner {display:none;
    	position:absolute;
    	z-index:999;top:18.22vw;
		width:100%;margin:0 auto;}
	#g-nav.panelactive .g-nav_inner
		{display:block;text-align:left;}
	#g-nav.panelactive ul
		{color:#fff;display:block;text-align:left;
		font-weight:300;font-size:6.51vw;line-height:1;}
	/*リストのレイアウト設定*/
	#g-nav li:not(:last-child) {margin-left:9.76vw;}
	#g-nav li:not(:last-child) {margin-bottom:6.51vw;}
	/*ロゴのレイアウト設定*/
	.g-nav_logo {width:54.42vw;padding:6.51vw 0;}
}
/* メニュー */



/* フッター */
footer {position:relative;}

.totop {position:absolute;width:27px;}
@media screen and (min-width:1440px){
	.totop {top:120px;right:66px;}}
@media screen and (min-width:1000px){
	.totop {top:120px;right:4.58vw;}}
@media screen and (max-width:1000px){
	.totop {top:12vw;right:3.6vw;}}
@media screen and (max-width: 768px){
	.totop {top:19vw;right:9vw;}}

.totop a:hover,
.ft_logo a:hover,
.ft_press_logo a:hover,
.ft_ingura_logo a:hover {opacity:0.3;transition:0.2s;}

.ft_bg {background:#b4b4b4;padding:150px 0 50px;}
.ft_content {display:flex;justify-content:space-between;
align-items:flex-end;}
footer p {color:#fff;}

.ft_menu {display:flex;}
.ft_logo {width:477px;margin-right:80px;}
.ft_menu ul {display:flex;}
.ft_menu li {display:block;margin-right:50px;}
.ft_menu p {
	font-weight:300;
	font-size:24px;
	margin-bottom:15px;}

.ft_ingura {text-align:right;}
@media screen and (min-width:1440px){
	.ft_ingura {margin-right:80px;}}
@media screen and (min-width:1000px){
	.ft_ingura {margin-right:5.55vw;}}
.ft_ingura ul {display:block;}
.p_press {font-weight:400;font-size:14px;line-height:1;}
.ft_press_logo img {width:100px;margin:12px 0 30px auto;}
.ft_ingura_logo {width:120px;margin-bottom:3px;}
.p_copyright {
	font-weight:300;
	font-size:11px;
	line-height:1;}

@media screen and (max-width:1000px){
	.ft_bg {padding:15vw 0 50px;}
	.ft_logo {width:47.69vw;margin-right:8vw;}
	.ft_menu li {margin-right:5vw;}
	.ft_menu p {
		font-size:2.4vw;
		margin-bottom:1.5vw;}
	.ft_ingura {margin-right:5vw;}
	.p_press {font-size:1.4vw;}
	.ft_press_logo img {width:10vw;
		margin:1.2vw 0 3.0vw auto;}
	.ft_ingura_logo {width:12vw;margin-bottom:0.3vw;}
	.p_copyright {font-size:1.1vw;line-height:1;}
}
@media screen and (max-width: 768px){
	.totop a:hover,
	.ft_logo a:hover,
	.ft_press_logo a:hover,
	.ft_ingura_logo a:hover {opacity:1;}
	.ft_bg {padding:19vw 0 6.5vw;}
	.ft_content {display:block;}
	.ft_menu {display:block;}
	.ft_logo {width:54.42vw;margin-right:0;}
	.ft_menu ul {display:flex;
		margin-left:9vw;margin-top:7.8vw;}
	.ft_menu li {display:block;margin-right:7.8vw;}
	.ft_menu p {
		font-size:3.38vw;
		margin-bottom:2.15vw;}
	.ft_ingura {margin:7.8vw 9vw 0;text-align:left;}
	.ft_ingura ul {display:flex;
		justify-content:space-between;
		align-items:flex-end;}
	.p_press {font-size:2.73vw;}
	.ft_press_logo img {width:20vw;margin:2.60vw 0 0;}
	.ft_ingura_logo {width:25vw;margin-bottom:1.30vw;}
	.ft_press_logo a, .ft_ingura_logo a {display:flex;}
	.p_copyright {font-size:2.34vw;margin-bottom:1.30vw;}
}

/* フッターmenuテキスト下線アニメーション */
.ft_menu p a {display:inline-block;
	position:relative;overflow:hidden;}
.ft_menu p a:after {position:absolute;bottom:0;left:0;
	width:100%;height:1px;background-color:#fff;
	transform:translate(-100%, 0);
	transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
	content:"";}
.ft_menu p a:hover:after {transform:translate(0, 0);}
@media screen and (max-width: 768px){
	.ft_menu p a:hover:after {display:none;}}
/* フッター */

