/*
Theme Name: Maruhan West
Description: Maruhan Original WordPress theme
Version: 1.0
*/
@charset "utf-8";


/* Define
---------------------------------------------------------------------------*/
:root {

    --active-yellow: rgba(255, 245, 0, 0.9);

	--min-5: clamp(5px, 1.33vw, 6px);
	--min-6: clamp(6px, 1.60vw, 8px);
	--min-7: clamp(7px, 1.87vw, 9px);
	--min-8:  clamp(8px,  2.13vw, 10px);
	--min-9:  clamp(9px,  2.40vw, 11px);
	--min-10: clamp(10px, 2.67vw, 13px);
	--min-11: clamp(11px, 2.93vw, 14px);
	--min-12: clamp(12px, 3.20vw, 16px);
	--min-13: clamp(13px, 3.47vw, 17px);
	--min-14: clamp(14px, 3.73vw, 18px);
	--min-15: clamp(15px, 4.00vw, 19px);
	--min-16: clamp(16px, 4.27vw, 20px);
	--min-17: clamp(17px, 4.53vw, 22px);
	--min-18: clamp(18px, 4.80vw, 23px);
	--min-19: clamp(19px, 5.07vw, 24px);
	--min-20: clamp(20px, 5.33vw, 25px);
	--min-21: clamp(21px, 5.60vw, 26px);
	--min-22: clamp(22px, 5.87vw, 28px);
	--min-23: clamp(23px, 6.13vw, 29px);
	--min-24: clamp(24px, 6.40vw, 30px);
	--min-25:  clamp(25px,  6.67vw, 32px);
	--min-30:  clamp(30px,  8.00vw, 38px);
	--min-35:  clamp(35px,  9.33vw, 44px);
	--min-40:  clamp(40px, 10.67vw, 50px);
	--min-45:  clamp(45px, 12.00vw, 56px);
	--min-50:  clamp(50px, 13.33vw, 63px);
	--min-55:  clamp(55px, 14.67vw, 69px);
	--min-60:  clamp(60px, 16.00vw, 75px);
	--min-65:  clamp(65px, 17.33vw, 81px);
	--min-70:  clamp(70px, 18.67vw, 88px);
	--min-75:  clamp(75px, 20.00vw, 94px);
	--min-80:  clamp(80px, 21.33vw, 100px);
	--min-85:  clamp(85px, 22.67vw, 106px);
	--min-90:  clamp(90px, 24.00vw, 113px);
	--min-95:  clamp(95px, 25.33vw, 119px);
	--min-100: clamp(100px, 26.67vw, 125px);

	--max-5: clamp(4px, 0.36vw, 5px);
	--max-6: clamp(5px, 0.43vw, 6px);
	--max-7: clamp(5px, 0.50vw, 7px);
	--max-8: clamp(6px, 0.57vw, 8px);
	--max-9: clamp(7px, 0.64vw, 9px);
	--max-10: clamp(8px, 0.71vw, 10px);
	--max-11: clamp(8px, 0.79vw, 11px);
	--max-12: clamp(9px, 0.86vw, 12px);
	--max-13: clamp(10px, 0.93vw, 13px);
	--max-14: clamp(11px, 1.00vw, 14px);
	--max-15: clamp(11px, 1.07vw, 15px);
	--max-16: clamp(12px, 1.14vw, 16px);
	--max-17: clamp(13px, 1.21vw, 17px);
	--max-18: clamp(14px, 1.29vw, 18px);
	--max-19: clamp(14px, 1.36vw, 19px);
	--max-20: clamp(15px, 1.43vw, 20px);
	--max-21: clamp(16px, 1.50vw, 21px);
	--max-22: clamp(17px, 1.57vw, 22px);
	--max-23: clamp(17px, 1.64vw, 23px);
	--max-24: clamp(18px, 1.71vw, 24px);
	--max-25: clamp(19px, 1.79vw, 25px);
	--max-30: clamp(23px, 2.14vw, 30px);
	--max-35: clamp(26px, 2.50vw, 35px);
	--max-40: clamp(30px, 2.86vw, 40px);
	--max-45: clamp(34px, 3.21vw, 45px);
	--max-50: clamp(38px, 3.57vw, 50px);
	--max-55: clamp(41px, 3.93vw, 55px);
	--max-60: clamp(45px, 4.29vw, 60px);
	--max-65: clamp(49px, 4.64vw, 65px);
	--max-70: clamp(53px, 5.00vw, 70px);
	--max-75: clamp(56px, 5.36vw, 75px);
	--max-80: clamp(60px, 5.71vw, 80px);
	--max-85: clamp(64px, 6.07vw, 85px);
	--max-90: clamp(68px, 6.43vw, 90px);
	--max-95: clamp(71px, 6.79vw, 95px);
	--max-100: clamp(75px, 7.14vw, 100px);
}


/* Google Fonts Load
---------------------------------------------------------------------------*/
@font-face {
    font-family: 'M PLUS 1';
    src: url('../fonts/M_PLUS_1/MPLUS1-VariableFont_wght.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url('../fonts/Josefin_Sans/JosefinSans-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Josefin Sans';
    src: url('../fonts/Josefin_Sans/JosefinSans-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}


/* opa1のキーフレーム設定
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/* animation1のキーフレーム設定（開閉ブロックのアニメーションに使用）
---------------------------------------------------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}


/* 全体の設定
---------------------------------------------------------------------------*/
body * {box-sizing: border-box;}
html,body {
	font-size: 13px;	/*基準となるフォントサイズ。*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	html, body {
		font-size: 14px;	/*基準となるフォントサイズ。*/
	}

	}/*追加指定ここまで*/

body {
	font-family: "M PLUS 1", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-weight: 300;
	font-optical-sizing: auto;
	letter-spacing: 0.1rem;
	text-indent: 0.1rem;
	-webkit-text-size-adjust: none;
	margin: 0;padding: 0;
	line-height: 2.5;
	background: #000;
	color: #fff;
	background: #fff;
	background-color:#000;
	/* perspective: 1000px; */
}

body.no-scroll {
	overflow:hidden;
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav,ul,li {margin: 0;padding: 0;}
nav ul {list-style: none;}
h1,h2,h3,h4 {font-weight: 400;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*Buttonタグ*/
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/*他*/
input {font-size: 1rem;}
strong {font-weight: 500;}
header,#backmain,#backimage,main,#footer,section,section div,h2 {
	box-sizing:border-box;
}
h2 {
	max-width:100%;
}
@media screen and (max-width: 899px) {
	html, body,
	#result,
	#fvisual,#opv-wrap,#opv-wrap video {
	    height:100dvh;
	}
}


/* リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #fff;	/*文字色*/
	transition: 0.3s;	/*hoverまでにかける時間。0.3秒。*/
}

/*マウスオン時*/
a:hover {
	text-decoration: none;
}


/* Tools
---------------------------------------------------------------------------*/
.only_pc {display:none;}
.only_sp {display:block;}


/* header（ロゴとメニューが入ったブロック）
---------------------------------------------------------------------------*/
header {
	width: 100%;       		/*幅*/
	padding: 15px 2vw; 		/*ヘッダー内の余白。上下、左右への順番。*/
	margin-top: 0;     	/*ヘッダーの上に空けるスペース*/
	text-align: center;	/*テキストをセンタリング*/
	position:fixed;
	top:0; left:0; z-index:999999;
	display:inline-block;
	background-color:rgba(0,0,0,0.7);
	height:75px;
}

/*ロゴ*/
header #logo img {
	display: block;
	width:70vw;
	max-width:70vw;
}
.small-screen #menubar.display-block {
	text-align:left;
}
header #logo2 {
	display: inline;
	padding: 0 0 0 2vw;
	text-align: left;
}
header #logo2 img {
	display: inline-block;
	width:70vw;
	max-width:70vw;
}

header #logo {
	padding: 0;
	margin: 0;
	z-index:101;

	position:absolute;
	top:15px; left:15px; 
}

/*ロゴ下の小文字*/
header #logo span {
	display: block;
	font-size: 0.7rem;	/*文字サイズを70%に*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	header {
		position: fixed;	/*スクロールしても動かないようにする設定*/
		left: 0px;
		top: 0px;
	}

	}/*追加指定ここまで*/

	/*画面の高さが500px以下の追加指定*/
	@media screen and (max-height:500px) {

	header {
		position: absolute;	/*メニューが切れて見えなくならないように、fixedを中止する*/
	}

	}/*追加指定ここまで*/


@media screen and (min-width:460px) and (max-width:899px) {
	header #logo {
		top: 0;
		left: 0;
		height: 100%;
		padding: 10px;
	}
	header #logo img {
		display: block;
		width: auto;
		max-width: inherit;
		height: 100%;
	}
}


/*mainブロック（右側のsectionを囲むブロック）
---------------------------------------------------------------------------*/

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	main {
		margin-left: 250px;	/*headerのwidthに合わせる*/
	}

	}/*追加指定ここまで*/


/*main内のh2*/
main h2 {
	font-size: 2.5rem;	/*文字サイズを2.5倍*/
}

/*main内のh3*/
main h3 {
	font-size: 1.5rem;	/*文字サイズを1.5倍*/
}


/* =================================================================================================
/*
/*  Category Label
/*
/* =================================================================================================*/

.category-label {
	font-size: var(--min-14);
	display: inline-block;
	text-decoration: none;
	color: #FFF;
	background: #CCC;
	width: var(--min-90);
	text-align: center;
	line-height: 25px;
	white-space: nowrap;
	border-radius: 25px;
	margin-right: 20px;
	font-weight: 500;
}

/* News Category Colors */
.category-label.category-company, .category-filter .category-label.category-company.active { background-color: #40C8E0; }
.category-label.category-ps, .category-filter .category-label.category-ps.active { background-color: #FF453A; }
.category-label.category-la, .category-filter .category-label.category-la.active { background-color: #FF453A; }
.category-label.category-csr, .category-filter .category-label.category-csr.active { background-color: #30D158; }
.category-label.category-group, .category-filter .category-label.category-group.active { background-color: #FF9F0A; }
.category-label.category-etc, .category-filter .category-label.category-etc.active { background-color: #87888A; }


/* =================================================================================================
/*
/*  Navigation
/*
/* =================================================================================================*/
#pcnavi { display:none; }


/* メニューブロック初期設定
---------------------------------------------------------------------------*/
/*メニューをデフォルトで非表示*/
#menubar {display: none;}

/*上で非表示にしたメニューを表示させる為の設定*/
.large-screen #menubar {display: block;}
.small-screen #menubar.display-block {display: block;}

/*3本バーをデフォルトで非表示*/
#menubar_hdr.display-none {display: none;}


/* メニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#menubar ul {
	margin: 3rem 0;	/*メニューブロックの外側に空けるスペース*/
}

/*メニュー一個あたり*/
#menubar nav a {
	text-decoration: none;
	display: block;
	background: rgba(0,0,0,0.5);         	/*背景色。0,0,0は黒のことで0.5は色が50%出た状態。*/
	border: 1px solid rgba(50,0,127,0.8);	/*枠線の幅、線種、色。255,255,255は白のことで0.3は色が30%出た状態。*/
	color: #fff;                         		/*文字色*/
	padding: 0.5rem 1rem;                	/*余白*/
	margin: 0.5rem 0;                    	/*メニューの外側に空けるスペース。上下、左右。*/
	border-radius: 5px;                  	/*角を丸くする指定*/

	font-size:16px;
}

/*マウスオン次*/
#menubar nav a:hover {
	background: rgba(0,0,0,0.9);	/*背景色。透明度を変更して濃くします。*/
	border: 1px solid rgba(255,255,255,0.9);	/*枠線。透明度を変更して濃くします。*/
}

#menubar nav .sub a {
	font-size:13px;
	display: inline-block;
	padding: 1rem 1.2rem;
	margin: 0;
	border: 1px solid rgba(255,255,255,0.3);
}
#menubar nav .sub li {
	display:inline-block;
	margin: 0.3rem 0; padding:0;
	line-height:1em;
}

i.icn_blank {
	display: inline-block;
	width: 23px;
	height: 23px;
	background-image: url(../img/icn_blank_g.svg);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-top: -2px;
}


/* 900px以下画面でのメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 80px;
	background: rgba(0,0,0,0.9);
	background-color:transparent;
	background-color: rgba(50, 0, 128, 0.7);
	animation: animation1 0.5s both;	/*animation1を実行する。0.2sは0.2秒の事。*/

	padding-top: 60px;
}
.small-screen #menubar ul {
	margin: 3rem;	/*メニューブロックの外側に空けるスペース*/
}


/* ３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	animation: opa1 0s 0.2s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 15px;                   			/*右からの配置場所指定*/
	top: 15px;                     				/*上からの配置場所指定*/
	padding: 16px 14px;            		/*上下、左右への余白*/
	width: 46px;                   			/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;                  			/*高さ*/
	display: flex;                 					/*flexボックスを使う指定*/
	flex-direction: column;        			/*子要素（３本バー）部分。flexはデフォルトで横並びになるので、それを縦並びに変更。*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background: #32007F;           	/*背景色*/
}
body.no-scroll #menubar_hdr {
	margin-top:-1000px;
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 1.5px solid #fff;	/*線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1) {
	transform: rotate(45deg) translate(3.8px, 5px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3) {
	transform: rotate(-45deg) translate(3.8px, -5px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2) {
	display: none;	/*２本目は使わないので非表示にする*/
}


/* メニュー内にあるソーシャルメディアのアイコン
---------------------------------------------------------------------------*/
ul.icons {
	list-style: none;
	margin: 0;padding: 0;
	display: flex;
	justify-content: center;
}
ul.icons li {
	margin-right: 10px;	/*アイコン同士の余白*/
}
ul.icons i {
	font-size: 20px;	/*Font Awesomeのアイコンサイズ*/
}


/* SP Nav Active 
---------------------------------------------------------------------------*/
@media screen and (min-width: 900px) {
    #mainnav li.is-active a {
        position: relative;
    }

    #mainnav li.is-active a::after {
        content: "";
        position: absolute;
        right: 10px;
        bottom: 0;
        left: 10px;
        height: 4px;
        background: var(--active-yellow);
    }
}


/* section
---------------------------------------------------------------------------*/
/*フェード設定*/
.section::before {
	opacity: 0; /* 初期状態では非表示 */
	transition: opacity 1s; /* 1秒かけてフェードイン/フェードアウト */
}
.section.active::before {
	opacity: 1; /* フェードイン状態 */
}
.section.inactive::before {
	opacity: 0; /* フェードアウト状態 */
}

/*section要素*/
section {
	padding: 2vw 5vw;	/*ボックス内の余白。上下、左右への順番。*/
}

section#section5 {
	padding: 2vw 0 50px;	/*ボックス内の余白。上下、左右への順番。*/
}

/*４つのsectionブロックの共通設定*/
#section1, #section2, section.section-news, #section4, #section5 {
	/* min-height: calc(100dvh - 50px); */
	margin-bottom:50px;
	margin-bottom:70px;
	padding: 5vw;
}
/*
#section4 {
	margin-bottom: 0;
}
*/
#section5 {
	min-height: auto;
	padding: 0;
	/*
	margin-bottom: 0;
	*/
}
	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {
	#section1,#section2,#section3,#section4,#section5 {
		border-radius: 3vw 0 0 3vw;	/*角丸の指定。左上、右上、右下、左下への順番。*/
		border-radius: 0;
	}
	#section5 {
		border-radius: 0;
	}
	}/*追加指定ここまで*/

/*section4の設定*/
#section4,
#section5 {
	color: #fff;	/*文字色*/
	background:rgba(0,0,0,0.7);
	background:rgba(255,255,255,0.1);
	background:rgba(255,255,255,0.3);
}
#section2,
#section4 {
	background-color: rgba(0,0,0,0.5);
	backdrop-filter: blur(4px);
}


/*背景色を入れない場合（画像だけを表示したい場合）*/
.no-bgcolor {background-color: transparent !important;}

body #backimage {
	position:fixed;
	z-index:1;
	background-size:cover;
	background-repeat:no-repeat;
	color: #000;
	width:100vw; height:100svh;
	max-width:100vw; max-height:100svh;
	top:0; left:0;
	margin:0; padding:0;
	overflow:hidden;

	background-position:center left;
	transition:all 3s;
}

body #backimage.blurstyle6 {
	width:100vw;
	height:100svh;
	position:fixed;
	top: 0;
	left: 0;
	background-image: url(../img/section1_portrait.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	z-index:1;
	overflow:hidden;

	background-position:center right;
	transition: all 3s;
}
body.menuon #backimage {
	width:100vw;
	height:100svh;
	position:fixed;
	top: 0;
	left: 0;
	background-image: url(../img/section1_portrait.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	z-index:-1;
	overflow:hidden;

	background-position:center left;
	transition: 0.5s;
}

#backmain {
	position:relative;
	top:0; left:0; right:0; bottom:0;
	z-index:2;
	width:100%;
	max-width:100%;
	margin:0; padding:0;
}

#section1 {
	margin:0; padding:0;
	z-index:-1;
}
#section2 {
	z-index:4;
}
#section4 {
	z-index:5;
}
#section5 {
	z-index:6;
}
#section5 .thumbnail-slide a,.slick-dotted.slick-slider,.slick-track,.slick-dots {
	z-index:999;
}


/* お知らせブロック
---------------------------------------------------------------------------*/
/*記事の下に空ける余白*/
.new dd {
	padding-bottom: 1rem;
}

/*ブロック内のspan。日付の横のアイコン的な部分の共通設定*/
.new dt span {
	display: inline-block;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	border-radius: 3px;		/*角を丸くする指定*/
	padding: 0 0.5rem;		/*上下、左右へのブロック内の余白*/
	width: 6rem;			/*幅。６文字分。*/
	transform: scale(0.8);	/*80%のサイズに縮小*/
	background: rgba(255,255,255,0.8);		/*背景色*/
	color: #333;			/*文字色*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.new {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}

	}/*追加指定ここまで*/


/* list-grid（gallery.htmlでサムネイルを表示している部分の設定です）
---------------------------------------------------------------------------*/
/*listブロックを囲む外側のボックス*/
.list-grid-trimming {
	display: grid;
	grid-template-columns: repeat(4, 1fr);	/*ここの「4」の数字が横に並べる数です。3列がいいなら(3, 1fr)です。*/
	gap: 1rem;	/*マージン的な数値。サムネイル間を１文字分あけます。*/
}

/*ボックスを正方形にトリミングする為の指定なので変更しない。*/
.list-grid-trimming .list {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-top: 100%;
}
.list-grid-trimming .list a {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}
.list-grid-trimming .list img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: 0.5s;	/*マウスオン時にかける時間。0.5秒。*/
}

/*マウスオン時の画像*/
.list-grid-trimming .list img:hover {
	transform: scale(1.1);	/*1.1倍に拡大*/
	filter: contrast(1.3);	/*コントラストを1.3倍*/
}


/* PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	animation: opa1 0.2s 0.2s both;	/*一瞬ボタンが出ちゃうのを隠す為の応急措置*/
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}

/* その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #000;border: 1px solid #fff;border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.color-check, .color-check a {color: #ffcf0d;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

		.ws {width: 48%;display: inline;}
		.sh {display: none;}
		.pc {display: block;}

	}/*画面幅900px以上の追加指定ここまで*/


/* First Visual - Opening
---------------------------------------------------------------------------*/
#fvisual {
	position: fixed;
	width: 100%;
	height:100svh;
	z-index: 2;
}
#opv-wrap {
	z-index: 1;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(-45deg, rgba(4, 114, 124, 0.4),rgba(17, 66, 99, 0.6));*/
}
#opv-wrap video {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	display: block;
	margin: 0;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%,-50%);
	background-size: cover;
	object-fit: cover;
}


/* First Visual - After Intro
---------------------------------------------------------------------------*/
#fvisual2 {
	position: fixed;
	width: 100%;
	height:100vh;
	z-index:1;
}
#opv-wrap2 {
	z-index: 1;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(-45deg, rgba(4, 114, 124, 0.4),rgba(17, 66, 99, 0.6));
	/*perspective: 1000;*/
}
#opv-wrap2 video {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	display: block;
	margin: 0;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%,-50%);
	background-size: cover;
	object-fit: cover;
}


/* Backmain - Wrapper
---------------------------------------------------------------------------*/
#backmain {
	display:block;
	height:100%;
	margin:0; padding:0;
	top:0; left:0; bottom:0;
	position:relative;
	overflow:visible;
	/*max-width: 100%;
	overflow-x: hidden;*/
	/*overflow-y: scroll;*/
}

body main {
	position:relative;
	overflow:visible;
	transition: 0.5s;
	margin-left:0;
	margin:0;
}
body main section div {
	opacity:1;
}
body.menuon main section div {
	opacity:0;
}


/* =================================================================================================
/*
/*  [Section 1] Opening
/*
/* =================================================================================================*/

body section#section1 {
	overflow:hidden;
	padding:0;
	height: 100%;
	width: 100%;
	min-height:100svh;
	margin:0;
}
#section1 { 
	text-align:center;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100svh;
	color: #fff;	/*文字色*/
}

/*
#section1 .sec1_box_base {
	width:100vw;
	height:100svh;
	position:fixed;
	top: 0;
	left: 0;
	background-image: url(../img/section1_portrait.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	z-index:-1;
	overflow:hidden;
	background-position:center left;
	transition:all 3s;
}
#section1 .sec1_box_base.blurstyle6 {
	width:100vw;
	height:100svh;
	position:fixed;
	top: 0;
	left: 0;
	background-image: url(../img/section1_portrait.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	z-index:1;
	overflow:hidden;

	background-position:center right;
	transition: all 3s;
}
body.menuon #section1 .sec1_box_base {
	width:100vw;
	height:100svh;
	position:fixed;
	top: 0;
	left: 0;
	background-image: url(../img/section1_portrait.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	z-index:-1;
	overflow:hidden;

	background-position:center left;
	transition: 0.5s;
}
*/

/* Section 1 Box
-----------------------------*/
.sec1_box {
	text-align:center;
	vertical-align:middle;
	width:100vw;
	height:100svh;
	margin-right:0;
	position:relative;
}
body #section1 .sec1_box{
	z-index:2;
}

/* LOGO
-----------------------------*/
.sec1_logo { 
	width:80%; 
	height:auto; 
	margin-top:300px; 
	margin-right:20px; 
}
.sec1_logo.fPC {display:none;}

/* LPGO SP
-----------------------------*/
.sec1_logo.fSP {
	text-align:center;
	width: 95vw;
	height: auto;
	margin:15vh 0 0 0;
}
#sec1_box .sec1_logo.fSP {
	text-align:center;
	transition:all 1s ease;
}
#sec1_box.move2 .sec1_logo.fSP {
	animation:elm3 3s 1 forwards;
}
@keyframes elm3 {
	from { margin-top:15vh; }
	20% { margin-top:15vh; }
	to { margin-top:40vh; }
}

/* Buton Scroll
-----------------------------*/
#sec1_box #btn_scr {
	display:none;
}
#sec1_box.on #btn_scr {
	position:absolute;
	z-index: 1;
	bottom:0;
	left: 50%;
	display:block;
	margin: 0;
  -webkit-transform: translate(0,-50%);
	transform: translate(0,-50%);
	
}
.demo{
	position:relative;
	display:inline-block;
}
.demo a {
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 2;
	display: inline-block;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fff;
	font : normal 400 20px/1 'Josefin Sans', sans-serif;
	letter-spacing: .1em;
	text-decoration: none;
	transition: opacity .3s;
	padding-top: 60px;
}
@media screen and (min-width:900px) {
	.demo a {
		bottom: 0;
		padding-top: 60px;
	}
}
.demo a:hover { opacity: .5; }
.demo a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 46px;
	height: 46px;
	margin-left: -23px;
	border: 1px solid #fff;
	border-radius: 100%;
	box-sizing: border-box;
}
.demo a span::after {
	position: absolute;
	top: 50%;
	left: 50%;
	content: '';
	width: 16px;
	height: 16px;
	margin: -12px 0 0 -8px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	box-sizing: border-box;
}
.demo a span::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: '';
	width: 44px;
	height: 44px;
	box-shadow: 0 0 0 0 rgba(255,255,255,.1);
	border-radius: 100%;
	opacity: 0;
	-webkit-animation: sdb03 3s infinite;
	animation: sdb03 3s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb03 {
	0% { opacity: 0; }
	30% { opacity: 1; }
	60% { box-shadow: 0 0 0 60px rgba(255,255,255,.1); opacity: 0; }
	100% { opacity: 0; }
}
@keyframes sdb03 {
	0% { opacity: 0; }
	30% { opacity: 1; }
	60% { box-shadow: 0 0 0 60px rgba(255,255,255,.1); opacity: 0; }
	100% { opacity: 0; }
}

/* Intor Open Door
-----------------------------*/
.sec1_msg_box {
	overflow: hidden;
	display: inline-block;
	width: 100%;
	height: auto;
	text-align: center;
	padding: 0;
	margin-top: 0px;
	line-height: 1em;
	position: absolute;
	bottom:30px; 
	left:0;
}
/*
.sec1_msg{  
	color:#fff; 
	mix-blend-mode:normal; 
	font-size:1.4em; 
	line-height:1.65em; 
	margin:20px 10px 20px 0; 
	letter-spacing:0.1em; 
	font-weight:500; 
	display:inline-block; 
}
*/
.sec1_img {
	text-align: center;
}
.sec1_img .btn {
	width: 35vw; height:35vw;
	min-width: 35vw; min-height:35vw;
	position:relative;
	display:inline-block; text-align:center;
	background-color:rgba(255,255,255,0.3);
	border-radius:100%;
	transition: background-image 1s;
}
.sec1_img .btn .btn_door1,
.sec1_img .btn .btn_door2 {
	position:absolute;
	top:0; left:0;
	width: 35vw; height:35vw;
	opacity:1;
	transition:opacity 1s;
}
@media screen and (min-width:900px) {
	.sec1_img .btn {
		width: 15vw; height:15vw;
		min-width: 15vw; min-height:15vw;
	}
	.sec1_img .btn .btn_door1,
	.sec1_img .btn .btn_door2{
		width: 15vw; height:15vw;
	}
}
.sec1_img .btn:hover .btn_door2 {
	opacity:0;
}

/* PC Style */
@media screen and (min-width:900px) {
	#section1 {
		text-align: center;
		display: flex;
		justify-content: right;
		align-items: center;
	}
	.sec1_box {
		text-align: right;
		vertical-align: middle;
		width: 50vw;
		margin-right:5vw;
		transition:all 2.0s ease;
	}
	#sec1_box.move {
		text-align: center;
		vertical-align: middle;
		width: 100vw;
		margin-right:0;
	}
	.sec1_logo.fSP {display:none;}
	.sec1_logo.fPC {
		display:inline-block;
		width: 50vw;
		height: auto;
		margin-top: 25vh;
		margin-right: 0px;
		margin-bottom: 5vh;
	}
	.sec1_logo.fPC .sec1_logo-1,
	.sec1_logo.fPC .sec1_logo-2 {
		height:10vw; width:auto;
		margin:0; padding:0;
	}
	#sec1_box .sec1_logo.fPC {
		text-align:right;
		transition:all 1s ease;
	}
	#sec1_box.move .sec1_logo.fPC .sec1_logo-1 {
		animation:elm1 2s 1 forwards;
	}
	#sec1_box.move .sec1_logo.fPC .sec1_logo-2 {
		animation:elm2 2s 1 forwards;
	}
	@keyframes elm1 {
		from { transform:cale(1.0);  }
		to { transform:scale(1.2);  }
	}
	@keyframes elm2 {
		from { transform:translateX(0%) scale(1.0);  }
		to { transform:translateX(-10%) scale(1.1);  }
	}
	.sec1_img {
		text-align: center;
	}
	.sec1_img .btn {
		position:relative;
		width: 15vw; height:15vw;
		min-width: 15vw; min-height:15vw;
		display:inline-block; text-align:center;
		background-color:rgba(255,255,255,0.3);
		border-radius:100%;
		transition: background-image 1s;
	}
	.sec1_img .btn .btn_door1,
	.sec1_img .btn .btn_door2 {
		position:absolute;
		top:0; left:0;
		width: 15vw; height:15vw;
		opacity:1;
	}
	.sec1_img .btn:hover .btn_door2 {
		opacity:0;
		cursor:pointer;
	}
	#sbtn{
		transition: opacity 0.5s;
	}
	
	#sbtn.btn_off {
		opacity:0;
	}
	.sec1_msg_box {
		display: inline-block;
		position:relative;
		bottom:auto; left:auto;
	}
}

@media screen and (max-width: 899px) {
  #backmain, body section#section1, body #section1 .sec1_box {
		height:100dvh;
	}
}


/* =================================================================================================
/*
/*  [Section 2] About
/*
/* =================================================================================================*/
#section2 {
	background-color: rgba(255,0,0,0.2);
	background-color: rgba(255,0,0,0.9);
	background-color:transparent;
	background-color: rgba(0,0,0,0.7);
	background-color: rgba(0,0,0,0.5);
	color: #fff;
	position:relative;
	padding: 5vw 0 5vw 0;
	overflow:visible;
	width: 100%;
	vertical-align:top;
}

#section2 .sec2_box {
	background-color:transparent;
	color: #fff;
}
/*
#section2 .sec2_box_img {
	position:absolute;
	top:0; left:0; right:0;
	width:100%; height:100%;
	background-color: rgba(255,0,0,0.9);
	mix-blend-mode:multiply;
	z-index:-1;
	background-image: url(../img/section1_portrait_blue.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	background-position:center center;
}
*/
#section2 .sec_2outer {
	position:relative;
	width:100%;
	max-width:100%;
	vertical-align:top;
}
#section2 h2 {
	margin:0;
	z-index: 2;
	position: relative;
	color: #fff;
	width: 100%;
}
#section2 .sec_ttl {
	/*position: -webkit-sticky;*/
	position:sticky;
	top:90px; left:0px;
	height:auto; z-index:1;
	width:15vw;
	float:right;
	overflow: hidden;
}
#section2 .sec_2in {
	position:relative;
	width:85vw;
	text-align:left;
	margin-right:15vw;
	top:0;
	overflow: hidden;
}
#section2 .sec_2in .sec2_box {
	padding:0 30px 0 20px;
}
#section2 .inner {
	direction:inline-block;
	position:relative;
	width:100%; margin:0;
	padding:0 0 70px 0;
	text-align: justify;
	line-height:1.8em;
	font-size:4vw;
	font-weight:300;
	overflow:hidden;
}
#section2 .inner .bars {
	margin:0; padding:0; letter-spacing:0.01em; line-height:1.0em;
	overflow:hidden;
	position:relative;
	display:inline-block;
	margin-bottom:2vw;
}
#section2 .inner .bars.on .mk {
	/*アニメーションの設定*/
	animation:mk_fadeIn 1.5s 0.5s;
	animation-fill-mode: both;
}
#section2 .inner .bars.on .mk:after {
	content: "";
	position: absolute;
	overflow: hidden;
	left: 0;
	top: 0;
	height: 100%;
	background-color:#F9CE00;
	background-color:rgba(50,0,127,1);
	mix-blend-mode:multiply;
	/*アニメーションの設定*/
	animation: secondaryImageOverlayIn 0.8s 0s cubic-bezier(.77,0,.175,1),
	secondaryImageOverlayOut 0.8s 0.8s cubic-bezier(.77,0,.175,1);
	animation-fill-mode: both;
	display:inline;
}
#section2 .inner .bars .mk {
	background-color:rgba(50,0,127,0.6); color:#fff;
	padding:0.4em 0.2em 0.4em;
	margin:0 0.1em 0;
	line-height:1.2em;
	opacity: 0;
	display:inline-block;
}
#section2 .inner .bars .mk0 {
	padding:0.4em 0.05em 0.4em;
	margin:0 0.1em 0;
	color:#fff;
	box-sizing: border-box;
}
#section2 .inner .bars .mk2 {
	padding:0.4em 0.05em 0.4em;
	margin:0 0.1em 0;
	color:#fff;
	text-decoration: underline;
	text-underline-offset:0.2em;
	text-decoration-thickness: 0.1em;
	text-decoration-color: rgba(255,245,0,0.8);
	text-decoration-skip-ink: none;
	box-sizing: border-box;
}
#section2 .inner .bars .mk3 {
	padding:0.4em 0.05em 0.4em;
	margin:0 0.1em 0;
	color:rgba(255,245,0,1);
	box-sizing: border-box;
}
#section2 .inner .bars.k_top {
	margin-top:5vw;
}
#section2 .inner .bars.k_top .mk img {
	width:100%;
	border:1px solid transparent;
}


/*keyframesの設定*/

/* 文字が消えている状態から現れるアニメーション
---------------------------------------------------------------------------*/
@keyframes mk_fadeIn {
    0% {
	    opacity: 0;
    }
    100% {
	    opacity: 1;
    }
}


/* はじめにブロックを伸ばすアニメーション
---------------------------------------------------------------------------*/
@keyframes secondaryImageOverlayIn {
    0% {
	    width: 0;
    }
    100% {
	    width:  100%;
    }
}

/* のび太ブロックを横に追いやるアニメーション
---------------------------------------------------------------------------*/
@keyframes secondaryImageOverlayOut {
    0% {
	    transform: translateX(0);
    }
    100% {
	    transform: translateX(112%);
    }
}

/* Section 2 - Display PC
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
	#section2 .sec_ttl {
		position: -webkit-sticky;
		position: sticky;
		top: 90px;
		right: 20px;
		left:auto;
		width: 10%;
		height: auto;
		z-index: 1;
		overflow: hidden;
		/* float: right; */
	}
	#section2 .sec_2in {
		position: relative;
		width: calc(100% - (10% + 20px));
		text-align: left;
		margin-right: calc(10% + 20px);
		top: 0;
		left:0;
		overflow: hidden;
	}
	#section2 .sec_2in .sec2_box {
		padding: 0 40px 0 40px;
	}
	#section2 .inner {
		direction: inline-block;
		width: 100%;
		margin: 0;
		padding: 0 0 70px 0;
		text-align: justify;
		position: relative;
		line-height: 1.8em;
		overflow: hidden;
		font-weight:300;
		font-size:3.0vw;
		font-size: min(3.0vw,35px);
		text-align:center;
	}
	#section2 .inner .bars {
		margin:0; 
		padding:0; 
		letter-spacing:0.01em; 
		line-height:1.0em;
		overflow:hidden;
		position:relative;
		display:inline-block;
		margin-bottom:1vw;
	}
	#section2 .inner .bars .mk {
		background-color: rgba(50,0,127,0.6);
		color: #fff;
		padding: 0.4em 0.6em 0.4em;
		margin: 0 0.1em 0;
		line-height: 1.2em;
		opacity: 0;
		display: inline-block;
	}
	#section2 .inner .bars.k_top .mk {
		background-color: transparent;
		color: #fff;
		padding: 0.4em 0.2em 0.4em;
		margin: 0 0.1em 0;
		line-height: 1.2em;
		opacity: 0;
		display: inline-block;
	}
	#section2 .inner .bars .mk0 {
		padding: 0.4em 0.1em 0.4em;
		margin: 0 0.1em 0;
		color: #fff;
		box-sizing: border-box;
	}
	#section2 .inner .bars .mk2 {
		padding: 0.4em 0.1em 0.4em;
		margin: 0 0.1em 0;
		color: #fff;
		text-decoration: underline;
		text-underline-offset: 0.2em;
		text-decoration-thickness: 0.1em;
		text-decoration-color: rgba(255,245,0,0.8);
		text-decoration-skip-ink: none;
		box-sizing: border-box;
	}
	#section2 .inner .bars .mk3 {
		padding: 0.4em 0.1em 0.4em;
		margin: 0 0.1em 0;
		color: rgba(255,245,0,1);
		box-sizing: border-box;
	}
	#section2 .inner .bars .mk0,
	#section2 .inner .bars .mk2,
	#section2 .inner .bars .mk3 {
		padding: 0.4em 0.05em 0.4em;
		margin: 0 0.05em 0;
	}
	#section2 .inner .bars.k_top {
		margin-top:5vw;
	}
	#section2 .inner .bars.k_top .mk img {
		width:60vw;
	}
}


/* =================================================================================================
/*
/*  [Section 3] News
/*
/* =================================================================================================*/
section.section-news {
	color: #333;	/*文字色*/
}
section.section-news {
	/* background-color: rgba(23,45,52,0.7); */
	/* background-color: rgba(255,0,0,0.4); */
	background-color: rgba(255,255,255,0.4);
	color: #fff;
	position:relative;
	display: block;
	z-index:3;
	padding: 5vw 0 5vw 0;
	overflow:visible;
	/* width: 100%; */
}
section.section-news .section-outer {
	position:relative;
	width:100%; max-width:100%;
}
section.section-news .section-inner > h2 {
	margin: 0 0 0 0;
	padding-left:20px;
	z-index:2; position:relative;
	width:100%;
	color:#fff;
	color:rgba(50, 0, 128, 1);
}
section.section-news .sec_ttl {
	/*position: -webkit-sticky;*/
	position:sticky;
	top:90px;
	left:0px;
	height:auto;
	z-index:1;
	width: 15%;
	float:right;
	overflow:hidden;
}
section.section-news .section-inner {
	position:relative;
	width: 85%;
	text-align:left;
	margin-right: 15%;
	top:0;
	/*float:right;*/
	overflow:hidden;
	z-index: 2;
}

/* Read More Button
---------------------------------------------------------------------------*/
.news-controller {
	/* margin-top: 50px; */
	margin-bottom: 50px;
	text-align: center;
	padding-left:10px;
	padding-right:10px;
}
.readMoreBtn1 button {
	position:relative;
	display:inline-block;
	text-align:center;
	background:#fff;
	color:#555;
	font-size:16px;
	width:100%;
	line-height: 50px;
	height: 50px;
	border:1px solid #ccc;
	border-radius:100px;
}
.readMoreBtn1 button .btn_plus {
	position:absolute;
	top:15px; right:15px;
	width:20px; height:20px;
}


/* News $ CSR Common
---------------------------------------------------------------------------*/

@media screen and (min-width: 900px) {
	#section4 .sec_4in #tileList2 {
		gap: clamp(20px, 3vw, 60px) clamp(20px, 2.10vw, 40px);
		display: flex;
	}
}

/* =================================================================================================
/*
/*  [Section 4] CSR REPORT
/*
/* =================================================================================================*/

#section4, .page-section-csr {
	position:relative;
	padding: 5vw 0 5vw 0;
	overflow:visible;
	width: auto;
	vertical-align:top;
}
.section-csr .sectopm-outer,
.page-section-csr .sectopm-outer {
	position:relative;
	width:100%;
	max-width:100%;
	vertical-align:top;
}

/* コンテンツ横の縦並び文字デザイン */
#section4 .sec_ttl {
	/*position: -webkit-sticky;*/
	position:sticky;
	top:90px;
	left:0px;
	height:auto;
	z-index:1;
	width: 15%;
	float:right;
	overflow:hidden;
}

/* Contents Inner */
.section-csr .section-inner,
.page-section-csr .section-inner {
	position:relative;
	width: 85%;
	text-align:left;
	margin-right: 15%;
	top:0;
	overflow:hidden;
}

/* Contents Title */
.section-csr .section-inner > h2,
.page-section-csr .section-inner > h2 {
	margin:0;
	padding-left: 20px;
	z-index: 2;
	position: relative;
	color: #fff;
	width: 100%;
}


/* 表示アニメーション
---------------------------------------------------------------------------*/
@keyframes oiv_0 {
    0% {opacity: 0;}
    100% {opacity: 1;}
}

/* はじめにブロックを伸ばすアニメーション
---------------------------------------------------------------------------*/
@keyframes oiv_1 {
    0% {width: 0;}
    100% {width:  100%}
}

/* のび太ブロックを横に追いやるアニメーション
---------------------------------------------------------------------------*/
@keyframes oiv_2 {
    0% {transform: translateX(0);}
    100% {transform: translateX(300%);}
 }

/* Button - Read More
---------------------------------------------------------------------------*/
.news-controller2 {
	margin-top: 50px; 
	margin-bottom: 50px; 
	text-align: center;
	padding-left:10px;
	padding-right:10px;
}
.readMoreBtn2 button {
	position:relative;
	display:inline-block;
	text-align:center;
	background:#fff;
	color:#555;
	font-size:16px;
	width:100%;
	line-height: 50px;
	height: 50px;
	border:1px solid #ccc;
	border-radius:100px;
}
.readMoreBtn2 button .btn_plus {
	position:absolute;
	top:15px; right:15px;
	width:20px; height:20px;
}


/* =================================================================================================
/*
/*  [Section 5] Pick Up
/*
/* =================================================================================================*/

/* Contents Title */
#section5 h2 { 
	text-align:center;
}

/* Gap */
#section5 .thumbnail-slide a {
	margin:0 5px;
	position: relative;
}
#section5 .thumbnail-slide a:after {
	transition: all 0.4s;
	opacity: 0;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0; left:0;
	background: #FFF;
}
#section5 .thumbnail-slide a:hover:after {
	opacity: 0.3;
}


/* Slick Setting
---------------------------------------------------------------------------*/
.slick-prev:before, .slick-next:before { color: #333; }


/* =================================================================================================
/*
/*  Footer
/*
/* =================================================================================================*/

#footer {
	display:inline-block;
	width: 100%;
	margin: 0;
	padding: 30px 20px 40px 20px;
	text-align: left;
	font-size: 12px;
	margin: 0;
	background-color: #1a1212;
	border-top: 5px solid #e60012;
	position: relative;
	color:#5E554C;
}
#footer .logos {
	width:100%;
	margin:10px 0;
	max-width: 350px;
}
#footer hr { 
	border:0.5px solid #5E554C;  
}

/* フッター設定
---------------------------------------------------------------------------*/
footer {
	font-size: 0.8rem;
	margin:0; 
	color:#665C5C;
	display:inline-block;
	width:100%;
	text-align:center;
	padding:10px 0 10px;
	line-height:1em;
	background-color:#000;
}
footer small {
	display:inline-block;
	line-height:2em;
	font-size: 10px;
}

/*リンクテキスト*/
footer a {
	width:100%;
	display:inline-block;
	color: inherit;
	text-decoration: none;
	line-height:2em;
	background-color:#000;
}


/* Company Nav
---------------------------------------------------------------------------*/
.cp_navi{ display:none; }


/* Company List
---------------------------------------------------------------------------*/
.cp_list .ls_1 {
	display:inline-block;
	font-weight:bold;
	float:left;
	line-height:1.4em;
	color:#807263;
	font-size:calc(100vw / 30);
	font-size: var(--min-14);
}
.cp_list .ls_2 {
	display:inline-block;
	font-weight:400;
	margin-left:20px;
	float:right;
	line-height:1.4em;
	color:#5E554C;
	font-size:calc(100vw / 30);
	font-size: var(--min-13);
}
.cp_list .ls_3 {
	width:100%;
	display:block;
	line-height:1.8em;
	float:left;
	margin-bottom:5px;
	font-size:calc(100vw / 30);
	font-size: var(--min-13);
}
.cp_name{ 
	margin:20px 0 10px 0;
	color:#807263; 
}
.cp_name .cp_ja{ 
	font-size:14px; 
	line-height:1em; 
}
.cp_name .cp_en{
	font-size:18px; 
	line-height:1em; 
	font-weight:bold; 
	margin-top:10px;
	font-size:calc(100vw / 22);
}


/* resp */
@media screen and (min-width:900px) {
/* =================================================================================================
/*
/*  Responsive - PC Design
/*
/* =================================================================================================*/

.only_pc {display:block;}
.only_sp {display:none;}

/* Navigation
---------------------------------------------------------------------------*/
#spnavi { display:none; }
#pcnavi {
	display:inline-block;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	width: 100%;
	height: 70px;
	background-color: rgba(255,255,255,0.7);
	background-color: rgba(50, 0, 128, 0.7);
	backdrop-filter: blur(10px);
}
#mainnav {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 500;
}
#mainnav .logo_m {
	display: inline-block;
	height: 65px;
	width: auto;
	margin-left: 20px;
	margin-top: 5px;
	float: left;
	vertical-align: top;
	text-align: left;
}
#mainnav .logo_m img { 
	display:inline-block; 
	height:100%; 
	width:auto;
}
#mainnav .panel {
	display:none;
	float: right;
	/* width: 60%; */
	vertical-align: top;
	text-align: right;
	opacity:0;
	transition:1s ease;
}
#mainnav.on .panel {
	animation-name:menu_mov;
	animation-duration: 3s;
	animation-fill-mode: forwards;
	display: inline-block;
	opacity:1;
}

@-webkit-keyframes menu_mov {
	from { opacity: 0; display:inline-block; }
	to { opacity:1; display:inline-block;}
}
@keyframes menu_mov {
	from { opacity:0; display:inline-block; }
	to { opacity:1; display:inline-block;}
}

#mainnav ul {
	display:inline-block;
	text-align: right;
	padding-right: 0;
	padding-top: 0;
	margin-bottom: 0;
	margin-right:40px;
	height:100%;
}
#mainnav li {
	display: inline-block;
	padding: 0 0 0 20px;
	font-size: 1.3vw;
	font-size: min(1.3vw, 20px);
	font-weight: 500;
	line-height: 70px;
}

#mainnav li a {
	position:relative;
	color:#fff;
	text-decoration:none;
	transition: border 0.5s;
	padding: 28px 10px 5px 10px;
	height:70px;
	min-height:70px;
	line-height: 70px;
}
#mainnav li a:before {
	content:"";
	position:absolute;
	top:0; right:0; left:0; height:0;
	background-color:rgba(255,255,255,0.2);
	transition: all 0.3s;
	z-index:-1;
}
#mainnav li a:hover:before { 
	height:70px; 
}

@media screen and (max-width:1450px) {
	#mainnav li {
		padding: 0 0 0 clamp(0px, 0.5vw,20px);
	}
	#mainnav li a {
		padding: 28px clamp(0px, 0.5vw,20px); 5px;
	}
}

@media screen and (min-width: 900px) and (max-width: 1200px) {
	#mainnav .logo_m {
		height: 70px;
		width: auto;
		margin-top: 0;
		display: flex;
		align-items: center;
		position: relative;
	}
	#mainnav .logo_m a {
		height: auto;
		width: 25vw;
	}
}


/* [Section 2] Message
---------------------------------------------------------------------------*/
#section2 .sec2_box_img {
	display:none;
}


/* [Section 3] News
---------------------------------------------------------------------------*/
section.section-news .sec_ttl, #section4 .sec_ttl {
	position: -webkit-sticky;
	position: sticky;
	top: 90px;
	left: auto;
	right: 20px;
	height: auto;
	z-index: 1;
	width: 10%;
	float: right;
	overflow: hidden;
}
section.section-news .sec_3in {
	position: relative;
	width: calc(100% - (10% + 20px));
	text-align: left;
	margin-right: calc(10% + 20px);
	top: 0;
	overflow: hidden;
	padding: 0 40px 0 40px;
	padding-right: calc(40px + clamp(20px, 2.10vw, 40px));
	z-index: 2;
}

.news-controller {
	margin-top: 0;
	margin-top: var(--max-50);
	margin-bottom: var(--max-50);
	text-align: center;
	/* padding-left: 10px; */
	/* padding-right: 40px; */
	padding: 0 10px;
}


/* [Section 4] CSR
---------------------------------------------------------------------------*/
.section-csr .section-inner > h2 {
	padding-left:0px;
}
.section-csr .section-inner {
	padding: 0 40px 0 40px;
}
.section-csr .section-inner #tileList2 li {
	list-style: none;
	position: relative;
	transition: all .4s ease 0s;
	padding-bottom: 0;
	padding-right: 0px;
	padding-left: 0;
	width: calc((100% - clamp(20px, 2.10vw, 40px) * 2) / 3);
	flex: inherit;
}
#section4 .sec_4in #tileList2 li .news-in {
	display: inline-block;
	background-color: rgba(255,255,255,1.0);
	margin: 0;
	border-radius: 20px;
	padding: 0;
	padding-bottom: 20px;
	width: 100%;
	max-width: auto;
	min-height: 34vw;
}
#section4 .sec_4in #tileList2 li .news-img-box {
	display: inline-block;
	/*width: calc(100% - 20px);
	height: calc(90vw - 20px);
	margin-right: 10px;
	margin-top: 10px;
	border-radius: 10px;
	width: calc(100% - 20px);
	height: calc(20vw - 20px);*/
}
.new {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
#section4 .sec_4in #tileList2 li .category-label {
	font-size: 1.1vw;
	line-height: 25px;
	padding: 0 1rem;
}
#section4 .sec_4in #tileList2 li h2.article-title {
	font-size: 1.1vw;
}
#section4 .sec_4in #tileList2 li .news-footer .place {
	font-size: 1.0vw; line-height:2em;
}
#section4 .sec_4in #tileList2 li .news-footer .date {
	font-size: 1.0vw; line-height:2em;
}
.news-controller2 {
	margin-top: 0;
	margin-bottom: 50px;
	text-align: center;
	padding-left: 10px;
	padding-right: 10px;
}


/* [Section 5] 
---------------------------------------------------------------------------*/
section#section5 {
	position:relative;
	max-width: 100%;
	overflow: hidden;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25;
}
.slick-prev:before,
.slick-next:before {
    font-family: 'slick';
    font-size: 50px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 0 0 0.3em black;
}
.slick-prev { left: 15px; }
	
[dir='rtl'] .slick-prev { right: 15px; left: auto; }
.slick-prev:before { content: '←'; }
[dir='rtl'] .slick-prev:before { content: '→'; }

.slick-next { right: 15px; }
[dir='rtl'] .slick-next { right: auto; left: 15px; }
.slick-next:before { content: '→'; }
[dir='rtl'] .slick-next:before { content: '←'; }

[dir='rtl'] .slick-prev:before,[dir='rtl'] .slick-next:before {
	padding:10px;
}
.slick-prev,
.slick-next {
	z-index:100;
	width: 50px;
	height: 50px;
}
.slick-list{
	margin: 0 50px 0;
}

	
/* Section Overweight 
---------------------------------------------------------------------------*/
#section2,#section4 {
	background-color: rgba(0,0,0,0.6);
}
section.section-news,#section5 {
	background-color: rgba(255,255,255,0.2);
	backdrop-filter: blur(4px);
}

/* Footer
---------------------------------------------------------------------------*/
#footer { 
	width: 100%; 
	margin: 0; 
	padding: 30px 20px 40px 20px; 
	text-align: left; 
	font-size: 12px; 
	position:relative; 
}
#footer .logos{ 
	width:22vw; 
	margin: 10px 0; 
}
.cp_navi { 
	display:inline-block; 
	position:absolute; 
	top:25px; 
	right:20px;  
	width:40%; 
	max-width:600px;
}
.cp_navi .sub { 
	list-style:none; 
}
.cp_navi .sub li { 
	width:45%; 
	display:inline-block; 
}
.cp_navi .sub a { 
	color:#808080; 
	text-decoration:none; 
	font-size:0.8vw;
}
.cp_navi .sub i.icn_blank { 
	width: 1.3vw; 
	height: 1.3vw; 
	margin-top: -2px; 
}
.cp_name { 
	margin: 20px 0 10px 0; 
	color: #807263; 
}
.cp_name .cp_ja { 
	font-size: 0.8vw; 
	line-height: 1em; 
}
.cp_name .cp_en { 
	font-size: 1.2vw; 
	line-height: 1em; 
	font-weight: bold; 
	margin-top: 10px; 
	font-size:1.2vw; 
	letter-spacing:0.15em; 
}
#footer .cp_list {
	width:auto;
	display:inline-block;
	position:relative;
	margin-right:20px;
}
.cp_list .ls_1 {
	float:none;
	text-align:left;
	display:inline-block;
	font-weight:bold;
	line-height:1.4em;
	color:#807263;
	font-size:0.8vw;
}
.cp_list .ls_2 {
	float:none;
	text-align:right;
	margin-left:0;
	position:absolute;
	top:7px; right:0;
	display:inline-block;
	font-weight:400;
	line-height:1.4em;
	color:#5E554C;
	font-size:0.8vw;
}
.cp_list .ls_3 {
	float:none;
	text-align:left;
	width:100%;
	display:block;
	line-height:1.8em;
	margin-bottom:5px;
	font-size:0.8vw;
}
/* ===============================================================================================
/* @media screen and (min-width:900px) End
/* ===============================================================================================*/
}


/* =================================================================================================
/*
/*  Openninng
/*
/* =================================================================================================*/
#result {
	position:absolute;
	display:inline-block;
	top:0; bottom:0; left:0; right:0;
	width:100vw;
	height:100svh; height:100svh; 
	background-color:rgba(0,0,0,1);
	color:#fff;
	z-index:9999;
}
#result .result_in {
	background-color:rgba(255,255,255,1);
	color:#fff;
}
#result.finished .result_in {
	animation: fadeout 1.5s forwards ease;
}
#result.finished {
	animation: fadeout 1.5s forwards ease;
	animation-delay: 1.5s;
}
@keyframes fadeout {
	0% { opacity:1; }
	100% { opacity:0; display:none; }
}


/* Loader
---------------------------------------------------------------------------*/
.loader {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	margin: auto;
	width: 175px;
	height: 100px;
}
.loader span {
	display: block;
	background: #ccc;
	width: 7px;
	height: 10%;
	border-radius: 14px;
	margin-right: 5px;
	float: left;
	margin-top: 25%;
}
.loader span:last-child {
	margin-right: 0px;
}
.loader span:nth-child(1) { animation: load 2.5s 1.4s infinite linear; }
.loader span:nth-child(2) { animation: load 2.5s 1.2s infinite linear; }
.loader span:nth-child(3) { animation: load 2.5s 1s infinite linear; }
.loader span:nth-child(4) { animation: load 2.5s 0.8s infinite linear; }
.loader span:nth-child(5) { animation: load 2.5s 0.6s infinite linear; }
.loader span:nth-child(6) { animation: load 2.5s 0.4s infinite linear; }
.loader span:nth-child(7) { animation: load 2.5s 0.2s infinite linear; }
.loader span:nth-child(8) { animation: load 2.5s 0s infinite linear; }
.loader span:nth-child(9) { animation: load 2.5s 0.2s infinite linear; }
.loader span:nth-child(10) { animation: load 2.5s 0.4s infinite linear; }
.loader span:nth-child(11) { animation: load 2.5s 0.6s infinite linear; }
.loader span:nth-child(12) { animation: load 2.5s 0.8s infinite linear; }
.loader span:nth-child(13) { animation: load 2.5s 1s infinite linear; }
.loader span:nth-child(14) { animation: load 2.5s 1.2s infinite linear; }
.loader span:nth-child(15) { animation: load 2.5s 1.4s infinite linear; }

@keyframes load {
	0% {
		background: #ccc;
		margin-top: 25%;
		height: 10%;
	}
	50% {
		background: #444;
		height: 100%;
		margin-top: 0%;
	}
	100% {
		background: #ccc;
		height: 10%;
		margin-top: 25%;
	}
}


/* =================================================================================================
/*
/*  Overwright - Slip Intro Version
/*
/* =================================================================================================*/
body.is-skip-intro #sec1_box.move2 .sec1_logo.fSP {
    margin-top: 40vh;
    animation: none;
}
body.is-skip-intro #sec1_box.move .sec1_logo.fPC .sec1_logo-1 {
    transform: scale(1.2);
    animation: none;
}
body.is-skip-intro #sec1_box.move .sec1_logo.fPC .sec1_logo-2 {
    transform: translateX(-10%) scale(1.1);
    animation: none;
}
body.is-skip-intro #btn_scr .demo a span::before {
    opacity: 0;
    box-shadow: none;
    animation: none;
}
#sec1_box.is-intro-skipped {
    width: 100vw;
    margin-right: 0;
    text-align: center;
    vertical-align: middle;
}
#sec1_box.is-intro-skipped .sec1_logo.fSP {
    margin-top: 40vh;
}
#sec1_box.is-intro-skipped .sec1_logo.fPC .sec1_logo-1 {
    transform: scale(1.2);
}
#sec1_box.is-intro-skipped .sec1_logo.fPC .sec1_logo-2 {
    transform: translateX(-10%) scale(1.1);
}
#sec1_box.is-intro-skipped #btn_scr {
    display: block;
}
body.is-skip-intro #fvisual,
body.is-skip-intro #result,
body.is-skip-intro #sbtn_box {
    display: none;
}
body.is-skip-intro #sec1_box,
body.is-skip-intro #sec1_box.is-intro-skipped {
    width: 100vw;
    margin-right: 0;
    text-align: center;
    vertical-align: middle;
}
body.is-skip-intro #sec1_box .sec1_logo.fSP,
body.is-skip-intro #sec1_box.is-intro-skipped .sec1_logo.fSP {
    margin-top: 40vh;
}
body.is-skip-intro #sec1_box .sec1_logo.fPC .sec1_logo-1,
body.is-skip-intro #sec1_box.is-intro-skipped .sec1_logo.fPC .sec1_logo-1 {
    transform: scale(1.2);
}
body.is-skip-intro #sec1_box .sec1_logo.fPC .sec1_logo-2,
body.is-skip-intro #sec1_box.is-intro-skipped .sec1_logo.fPC .sec1_logo-2 {
    transform: translateX(-10%) scale(1.1);
}
body.is-skip-intro #sec1_box #btn_scr,
body.is-skip-intro #sec1_box.is-intro-skipped #btn_scr {
    display: block;
}
body.is-skip-intro #mainnav .panel {
    display: inline-block;
    opacity: 1;
    animation: none;
}


/* =================================================================================================
/*
/*  Overwright - PC Main Nav
/*
/* =================================================================================================*/

/* Subpages have no intro sequence, so show the PC nav panel immediately.
   (TOP waits for #mainnav.on via main.js after the opening movie.) */
body.subpage #mainnav .panel {
	display: inline-block;
	opacity: 1;
}

@media screen and (min-width: 900px) {
    body.page-top #mainnav .panel {
        position: relative;
        height: 70px;
    }

    body.page-top #mainnav li.is-active a::after {
        display: none;
    }

    body.page-top #mainnav .top-active-line {
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: block;
        width: 0;
        height: 4px;
        background: var(--active-yellow, rgba(255, 245, 0, 0.9));
        pointer-events: none;
        transition: transform 0.35s ease, width 0.35s ease;
        will-change: transform, width;
    }
	
}

body.small-screen #mainnav .panel {
	display: none;
}


/* =================================================================================================
/*
/*  Page - Common
/*
/* =================================================================================================*/

section.page-section {
	padding-top: 75px;
	margin: 0;
}
section.page-section .section-inner > h2 {
	font-size: clamp(22px, 6vw, 24px);
	line-height: 1.35;
	display: inline-block;
	width: 100%;
	text-align: justify;
	color: rgba(50, 0, 128, 1);
	padding-bottom: 10px;
	padding-left: 0;
}
section.page-section .section-outer {
	position: relative;
}
section.page-section .section-title-outer {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
section.page-section .section-outer,
section.page-section .section-title-outer {
	/* padding: 34px 0 54px 0; */
	padding-top: var(--max-35);
	padding-bottom: var(--max-50);
}

@media screen and (max-width: 899px) {
	section.page-section .section-inner {
		width: 100%;
		padding: 0 20px;
		position: relative;
		z-index: 2;
		margin: 0;
	}
}
@media screen and (min-width: 900px) {
	section.page-section {
		padding-top: 70px;
	}
	section.page-section .section-inner > h2 {
	    font-size: 2.5rem;
	    line-height: 1.35;
	    padding: 0;
	    padding-left: 20px;
	    /* padding-bottom: 20px; */
	    /* padding: 0; */
	    margin-bottom: var(--max-20);
	}
}


/* =================================================================================================
/*
/*  Single Page - Common
/*
/* =================================================================================================*/

body.wp-singular main.page-main,
body.archive main.page-main {
	background: #000;
}

@media screen and (min-width: 900px) {
	body.wp-singular main.page-main,
	body.archive main.page-main {
	    background: transparent;
	}
	body.wp-singular .section-outer,
	body.wp-singular .section-title-outer {
		padding: 40px 0 40px 0;
		padding-top: var(--max-30);
		padding-bottom: var(--max-50);
	}
	body.wp-singular section.page-section .section-inner {
	    padding: 0 40px;
	    width: calc(100% - (10% + 20px));
	}
}


/* =================================================================================================
/*
/*  Single Page - Article - Common
/*
/* =================================================================================================*/

article.page-article {
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	color: #262626;
	box-shadow: none;
    backdrop-filter: none;
}
article.page-article .article-img {
	width: 100%;
	aspect-ratio: 4/3;
	/* aspect-ratio: 3 / 4; */
	background-size: cover;
	background-position:center;
	border-radius: 10px 10px 0 0;
	position: relative;
}
article.page-article .new2 .article-img::after{
    content:"NEW";
    background-color:rgba(255,0,0,0.8);
    color:#fff;
    margin:0;
    border-radius: 5px;
    padding:0.5em 1em;
    font-size:14px; line-height:1em;
    font-weight:500;
    position:absolute;
    top:15px; left:15px;
}
article.page-article .article-body {
    padding: 0 18px 34px;
}
article.page-article .article-body .article-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
	margin: 10px 0 8px;
	color: #555;
	font-size: 15px;
}
article.page-article .category-label {
    font-size: 3.2vw;
    min-width: 90px;
    padding: 0;
    margin-left: -3px;
    margin-right: 0;
    font-size: clamp(12px, 3.2vw, 14px);
}
article.page-article .article-body .article-header .date {
    font-size: 3.2vw;
    color: #858585;
    font-weight: 500;
    line-height: 25px;
    font-size: clamp(12px, 3.2vw, 16px);
}
article.page-article .article-body .article-title {
    font-size: 6vw;
    line-height: 1.35;
    display: inline-block;
    width: 100%;
    text-align: justify;
    word-break: break-all;
    margin: 0;
    padding: 0;
    color: rgba(50, 0, 128, 1);
    font-weight: 700;
    font-size: var(--min-22);
    letter-spacing: 0.02em;
}
article.page-article .article-body .article-subtitle {
    margin: 0 0 30px;
    padding: 0 40px 0 0;
    color: #262626;
    font-weight: 400;
    line-height: 1.7;
    font-size: 3.5vw;
    font-size: var(--min-12);
}

@media screen and (min-width: 900px) {
	article.page-article .article-body {
		padding: 0 clamp(20px,2.22vw, 40px) clamp(20px,2.22vw, 40px);
	}
	article.page-article .article-body .article-header {
		/* margin: 30px 0px 10px; */
		/* margin-top: 20px; */
		margin-top: clamp(20px, 2.22vw ,30px);
	}
	article.page-article .category-label {
		font-size: 18px;
	}
	article.page-article .article-body .article-header .date {
		font-size: 20px;
	}
	article.page-article .article-body .article-title {
		/* font-size: 35px; */
		/* font-size: 25px; */
		font-size: clamp(25px, 2.7vw, 35px);
	}
	article.page-article .article-body .article-subtitle {
		/* font-size: 20px; */
		padding-right: 0;
		/* margin-bottom: 30px; */
		/* font-size: 18px; */
		font-size: clamp(18px, 2vw, 20px);
		margin-bottom: clamp(20px, 2.22vw, 30px);
	}
}


/* Page Back Link
---------------------------------------------------------------------------*/
.page-back-link {
	position: relative;
    z-index: 2;
    clear: both;
    width: 100%;
    margin: 46px auto 0;
    text-align: center;
}
.page-back-link a {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 14px 24px;
    border-radius: 999px;
    color: rgba(50, 0, 128, 1);
    background: var(--active-yellow);
    font-weight: 700;
    text-decoration: none;
}

@media screen and (min-width: 900px) {
	.page-back-link a:hover {
		opacity: 0.8;
	}
}


/* =================================================================================================
/*
/*  Archive - common
/*
/* =================================================================================================*/

body.archive h2.news-archive-heading {
	display: flex;
	align-items: flex-start;
	/* gap: 16px 24px; */
	flex-wrap: wrap;
	width: 100%;
	box-sizing: border-box;
	/* padding-right: 20px; */
	flex-direction: column;
	justify-content: flex-start;
	text-align: left;
	gap: var(--min-18);
	margin-bottom: var(--min-23);
	padding: 0;
}
body.archive .news-archive-heading__title {
	display: inline-block;
}
body.archive .news-category-filter {
	display: inline-flex;
	/* align-items: center; */
	/* margin-left: auto; */
	width: 100%;
	flex: 1;
}
body.archive .news-category-filter select {
	/* min-width: 180px; */
	width: 100%;
	max-width: 100%;
	padding: 10px 36px 10px 14px;
	border: 1px solid rgba(50, 0, 128, 0.25);
	border-radius: 999px;
	color: rgba(50, 0, 128, 1);
	background-color: rgba(255, 255, 255, 0.9);
	font: inherit;
	font-size: var(--min-12);
	line-height: 1.4;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(50,0,128,0.8)' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	cursor: pointer;
	font-weight: 300;
	outline: none;
}

@media screen and (max-width: 899px) {
	body.archive .screen-reader-text {
		border: 0;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
		word-wrap: normal !important;
		display: none;
	}

	body.archive .news-category-filter select:disabled {
		opacity: 0.65;
		pointer-events: none;
	}
}
@media screen and (min-width: 900px) {
	body.archive section.page-section .section-inner > h2.news-archive-heading {
	    justify-content: space-between;
	    flex-direction: row;
	    align-items: center;
	    margin-bottom: var(--max-30);
		display: flex;
	}
	body.archive .news-archive-heading__title {
	    padding-left: 20px;
	}
	.screen-reader-text {
	    font-size: 0.95rem;
	    font-weight: 700;
	    color: #fff;
	}
	body.archive .news-category-filter {
	    width: auto;
	    flex: inherit;
	    display: flex;
	    align-items: center;
	    justify-content: flex-end;
	    gap: 10px;
	    margin: 0;
	    white-space: nowrap;
	}
	body.archive .news-category-filter select {
	    width: 220px;
	    font-size: var(--max-14);
	}
}


/* =================================================================================================
/*
/*  Archive NEWS
/*
/* =================================================================================================*/

/* PC */
@media screen and (min-width: 900px) {
	section.page-section-news  .section-inner {
		padding: 0 40px 0 40px;
	}
}

/* =================================================================================================
/*
/*  Archive CSR
/*
/* =================================================================================================*/

/* SP */
@media screen and (max-width: 899px) {
	section.page-section-csr {
		background-color: #000;
	}
	body.archive section.page-section-csr .section-title-outer {
		z-index: -1;
		opacity: 0.4;
	}
	body.archive section.page-section-csr .section-title-outer .sec_ttl {
		z-index: -1;
	}
	body.archive section.page-section-csr .news-archive-heading {
		color: #FFF;
	}
}

/* PC */
@media screen and (min-width: 900px) {
	section.page-section-csr {
		background-color: rgba(0, 0, 0, 0.6);
	}
	section.page-section-csr  .section-inner {
		padding: 0 40px 0 40px;
		z-index: 2;
	}
	body.archive section.page-section-csr h2.news-archive-heading {
		color: #FFF;
	}
}


/* =================================================================================================
/*
/*  Article Body
/*
/* =================================================================================================*/

article.page-article .page-article-body {
	color: #262626;
}
.page-article-body p{font-size:1.2rem;line-height:1.75em;}
.page-article-body p.cap{ font-size:1.2rem; line-height:1.75em; font-weight:bold; margin-top:0.5em;}
.page-article-body h3{ font-size:1.4rem; font-weight:bold; line-height:1.5em; margin-bottom:0.5em; padding:0; }
.page-article-body .body_txt{ font-size:1.2rem; line-height:1.75em; }
.page-article-body .body_img{ text-align:center; margin:0 auto 0; }
.page-article-body p a{ font-size:1.2rem; line-height:1.75em; color:red; }



/* ==================================================================================================================================================================================================
/*
/*  Articl List
/*
/* ==================================================================================================================================================================================================*/

/* Top - Smart Phone Style - Panel Style */
/* Archive News - Smart Phone Style - List Style */
/* Top - PC Phone Style - Panel Style */
/* Top CSR - Smart Phone Style - Panel Style */
/* Archive CSR - Smart Phone Style - List Style */


/* Top - Smart Phone Style - Panel Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/
ul.article-list {
	z-index:4;
	position:relative;
	width:100%;
	margin:0;
	padding:0;
	text-align:right;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
ul.article-list li {
	list-style:none;
	position:relative;
	transition: all .4s ease 0s;
	padding-bottom:30px;
	padding-right:20px;
	padding-left:20px;
}
ul.article-list li a {
	text-decoration: none;
}
ul.article-list li .article-inner {
	display: block;
	background-color:rgba(255,255,255,0.8);
	margin:0;
	border-radius: 10px;
	padding:0;
	padding-bottom:20px;
	width:calc(85vw - 40px);
	max-width:calc(85vw - 40px);
	/* width: auto; */
}
ul.article-list li.is-hidden {
	visibility: hidden;
	opacity: 0;
	height: 0;
	margin: 0;
	padding:0;
}

/* Image */
ul.article-list li a .article-img-outer {
	position:relative;
	overflow:hidden;
	border-radius: 10px 10px 0 0;
}
ul.article-list li .article-img {
	width:100%;
	/* height:55vw; */
	display:block;
	overflow:hidden;
	margin:0;
	padding:0;
	background-image: url(../img/sample.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius:10px 10px 0 0;
	aspect-ratio: 4 / 3;
}

/* Body */
ul.article-list li .article-item-body {
	position:relative;
	padding:0; 
	margin:0; 
	text-align:left;
}

/* Header */
ul.article-list li .article-item-header { 
	display: flex; 
	align-items: center; 
	padding:10px;
}
ul.article-list li .article-item-header .date {
	font-size: var(--min-14);
	color: #858585;
	font-weight: 500;
}

/* Title */
ul.article-list li h2.article-title {
	font-size: var(--min-16);
	background: transparent;
	color: #262626;
	line-height: 1.4;
	margin: 0;
	padding: 0 40px 0 10px;
	margin-top: 0px;
	margin-bottom: 5px;
	font-weight:bold;
	word-break: break-all;
	overflow-wrap: anywhere;
}
ul.article-list li .article-subtitle {
	font-size: var(--min-12);
	padding: 0 40px 0 10px;
	font-weight: 400;
	line-height:1.4em;
	color: #262626;
}

/* New Label */
ul.article-list li .article-inner.new2 .news-img-outer::after {
	content:"NEW";
	background-color:rgba(255,0,0,0.8);
	color:#fff;
	margin:0;
	border-radius: 5px;
	padding:0.5em 1em;
	font-size:14px; line-height:1em;
	font-weight:500;
	position:absolute;
	top:15px; left:15px;
}

/* Arrow Icon - Top Page Only */
ul.article-list li i.icn_link {
	display: inline-block;
	width: 25px;
	height: 25px;
	background-image: url(../img/arrow_1.png);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-top: 0;
	right: 10px;
	background-position: center right;
	background-repeat: no-repeat;
	background-size: contain;
} 
/* END : Top - Smart Phone Style - Panel Style */



/* News Archive - Smart Phone Style - List Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width:899px) {
	.archive ul.article-list {
		display: block;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-bottom: clamp(20px, 3vw, 60px);
	}
	.archive ul.article-list.is-loading {
		opacity: 0.65;
		pointer-events: none;
	}
	.archive ul.article-list li {
		padding: 0;
		margin-bottom: var(--min-10);
		/*
		display: block;
		flex: 0 0 100%;
		box-sizing: border-box;
		*/
	}
	.archive ul.article-list li .article-inner {
		width: 100%;
		max-width: inherit;
		display: flex;
		padding: 0;
	}
	.archive ul.article-list li.is-hidden {
		display: none;
	}
	
	/* Image */
	.archive ul.article-list li a .article-img-outer {
		width: var(--min-95);
		aspect-ratio: 3/4;
		aspect-ratio: 1 / 1;
		border-radius: 10px 0 0 10px;
	}
	.archive ul.article-list li .article-img {
		border-radius: 10px 0 0 10px;
		background-position: center;
		background-size: cover;
		height: 100%;
	}
	
	/* Body */
	.archive ul.article-list li .article-item-body {
		flex: 1;
		padding: 0 var(--min-10) var(--min-10);
	}
	
	/* Header */
	.archive ul.article-list li .article-item-header {
		margin-top: var(--min-5);
		padding: 0;
		display: flex;
		justify-content: space-between;
	}
	.archive ul.article-list li .article-item-header .category-label {
		width: 60px;
		font-size: var(--min-8);
		margin: 0;
		line-height: var(--min-18);
	}
	.archive ul.article-list li .article-item-header .date {
		font-size: var(--min-12);
		font-weight: 400;
		color: #545454;
		line-height: var(--min-25);
	}
	
	/* Title */
	.archive ul.article-list li h2.article-title {
		padding: 0;
		font-size: var(--min-13);
		margin-bottom: var(--min-5);
	}
	.archive ul.article-list li .article-subtitle {
		padding: 0;
		font-size: var(--min-10);
	}
	
	/* New Label */
	.archive ul.article-list li .article-inner.new2 .news-img-outer::after {
		top: var(--min-5);
		left: var(--min-5);
		font-size: var(--min-12);
		padding: var(--min-6);
	}
	
	/* Arrow Icon - Top Page Only */
	.archive ul.article-list li i.icn_link {
		display: none;
	}
} /* END : News Archive - Smart Phone Style - List Style */



/* Top - PC Phone Style - Panel Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
	ul.article-list {
		gap: clamp(20px, 3vw, 60px) clamp(20px, 2.10vw, 40px);
	}
	ul.article-list li {
		display: inline-block;
		padding: 0;
		vertical-align: top;
		text-align: left;
		width: calc((100% - clamp(20px, 2.10vw, 40px) * 2) / 3);
		flex: inherit;
	}
	ul.article-list li .article-inner {
		display: inline-block;
		background-color: rgba(255,255,255,0.8);
		margin: 0;
		border-radius: 10px;
		padding: 0;
		padding-bottom: 20px;
		width: 100%;
	}
	
	/* Image */
	ul.article-list li .article-img {
		width: 100%;
		height: auto;
		aspect-ratio: 4/3;
		transition: all 0.3s;
	}
	ul.article-list li a:hover .article-img {
		transform: scale(1.1);
	}
	
	/* Body */	
	ul.article-list li .article-item-body {
		min-height: 10vw;
	}
	
	/* Header */
	ul.article-list .category-label {
		font-size: var(--max-15);
		width: var(--max-100);
	}
	ul.article-list li .news-header .date { 
		font-size: 1.1vw; 
	}
	
	/* Title */	
	ul.article-list li h2.article-title {
		font-size: 1.1vw;
		background: transparent;
		color: #262626;
		line-height: 1.4;
		margin: 0;
		padding: 0 40px 0 10px;
		margin-top: 0px;
		margin-bottom: 5px;
		font-weight: bold;
		padding: 0 10px;
	}
	ul.article-list li .article-subtitle {
		font-size: 0.9vw;
		padding: 0 40px 0 10px;
		font-weight: 400;
		line-height: 1.4em;
		color: #262626;
		padding: 0 10px;
	}
	
	/* Arrow Icon - Top Page Only */	
	ul.article-list li i.icn_link {
		display: none;
	}
} /* END : Top - PC Phone Style - Panel Style */



/* Top CSR - Smart Phone Style - Panel Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/
ul.article-list-csr {
	display: block;
	flex-wrap: wrap;
	align-items: flex-start;
	z-index:3;
	gap: clamp(20px, 2.10vw, 40px);
	margin-bottom: clamp(20px, 3vw, 60px);
}
ul.article-list-csr li {
	display: block;
	box-sizing: border-box;
	list-style: none;
	transition: all .4s ease 0s;
}
ul.article-list-csr li.is-hidden {
	display: none;
	visibility: hidden;
	opacity: 0;
	height: 0;
	margin: 0;
	padding:0;
}
ul.article-list-csr li .article-inner {
	display:inline-block;
	background-color:rgba(255,255,255,1.0);
	border-radius: 20px;
	padding-bottom:0px;
	width: calc(85vw - 40px);
}

/* Image */
ul.article-list-csr li a .article-img-outer {
	position:relative;
	overflow:hidden;
	border-radius: 10px;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 10px;
	width: calc(100% - 20px);
	/* height: calc(20vw - 20px); */
	/* height:calc(50vw - 20px); */
	/* aspect-ratio: 1 / 1; */
	aspect-ratio: 4 / 3;
}
ul.article-list-csr li a .article-img {
	background-size: cover;
	transition: all .3s ease-out;
}
ul.article-list-csr li a .article-img {
	transition:none;
	display:inline-block;
  	border-radius:10px;
  	background:url(../img/sample.jpg) ;
  	background-position: center center;
  	background-size:cover;
  	background-repeat: no-repeat;
  	width:100%; height:100%;
}
ul.article-list-csr li a:hover .article-img {
	transform: scale(1.1);
	transform: none;
}

/* Body */
ul.article-list-csr li .article-item-body { 
	position:relative; 
	padding:0; 
	margin:10px 0 0 0; 
	text-align:left;
}
ul.article-list-csr li .article-item-header,
ul.article-list-csr li .article-item-footer {
	text-align:left;
	padding: 0 10px 10px;
	line-height:2em;
}

/* Article Title */
ul.article-list-csr li h2.article-title {
	font-size: 18px; 
	background:transparent;
	color: #262626; 
	line-height:1.4em;
	margin: 0; 
	padding: 0 10px 0 10px;
	margin-top: 5px; 
	margin-bottom: 5px; 
	font-weight:bold;
	letter-spacing:0.02em;
}

/* Catregory Label */
ul.article-list-csr li .category-label,
article.article-csr .category-label {
	display:inline-block; 
	text-decoration:none; 
	color:#FFF;
	width:auto; 
	text-align:center; 
	line-height:25px; 
	padding:0 1rem;
	white-space:nowrap; 
	border-radius: 0; 
	background-color:#222; 
	margin:0; 
	font-size:3.5vw; 
	font-weight: 400;
}
ul.article-list-csr li .category-label.barx,
article.article-csr .category-label.barx {
	position:relative;
	overflow: hidden;
	opacity:0;
}
ul.article-list-csr li .category-label.barx.on,
article.article-csr .category-label.barx.on {
	/*アニメーションの設定*/
	animation:oiv_0 1.5s 0.5s;
	animation-fill-mode: both;
}
ul.article-list-csr li .category-label.barx.on:after,
article.article-csr .category-label.barx.on:after {
	content: "";
	position: absolute;
	overflow: hidden;
	left: 0;
	top: 0;
	height: 100%;
	background-color:rgba(0,0,0,1);
	mix-blend-mode:multiply;
	/*アニメーションの設定*/
	animation: oiv_1 0.8s 0s cubic-bezier(.77,0,.175,1),
	oiv_2 0.8s 0.8s cubic-bezier(.77,0,.175,1);
	animation-fill-mode: both;
	display:inline;
	z-index:99;
}
ul.article-list-csr li .new .category-label .bars_in:before,
article.article-csr.new .category-label .bars_in:before {
	content: "NEW";
	display: inline-block;
	color: white;
	font-size: 1em;
	font-weight: 400;
	/* font-size: 0.9vw; */
	line-height: 25px;
	padding: 0 .5em 0;
	margin-right: 1em;
	margin-left: -1em;
	background-color: red;
	z-index:1;
}

/* News Footer */
ul.article-list-csr li .article-item-footer .place {
	font-size: 3.2vw;
	color: #545454;
	font-weight: 400;
	margin:0;
	line-height: 2em;
}
ul.article-list-csr li .article-item-footer .date {
	font-size: 3.2vw;
	color: #545454;
	font-weight: 400;
	margin:0;
	line-height: 2em;
}
/* END : Top CSR - Smart Phone Style - Panel Style */



/* Archive CSR - Smart Phone Style - List Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width:899px) {
	.archive ul.article-list-csr li .article-inner {
	    background-color: rgba(255,255,255,0.9);
	    border-radius: 10px;
	}
	
	/* Image */
	.archive ul.article-list-csr li a .article-img-outer {
	    margin: 0;
	    border-radius: 10px 0 0 10px;
	    height: auto;
	}
	.archive ul.article-list-csr li a .article-img {
	    border-radius: 10px 0 0 10px;
	    height: auto;
	    width: 100%;
	    height: 100%;
	    display: block;
	}
	
	/* Body */
	.archive ul.article-list-csr li .article-item-header {
	    margin-top: 0;
	}
	.archive ul.article-list-csr li .article-item-footer {
	    padding: 0;
	}
	
	/* Article Title */
	.archive ul.article-list-csr li h2.article-title {
	    margin-top: var(--min-10);
	}
	
	/* Catregory Label */
	.archive ul.article-list-csr li .category-label.barx {
	    width: auto;
	    padding: 0 1em;
	    font-size: var(--min-10);
	}
	
	/* News Footer */
	.archive ul.article-list-csr li .article-item-footer .place {
	    font-size: var(--min-11);
	    line-height: 1.4;
	}
	.archive ul.article-list-csr li .article-item-footer .date {
	    font-size: var(--min-11);
	    line-height: 1.4;
	}
} /* END : Archive CSR - Smart Phone Style - List Style */



/* Top CSR - PC Style - Panel Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
	ul.article-list-csr {
	    display: flex;
	    gap: clamp(20px, 3vw, 60px) clamp(20px, 2.10vw, 40px);
	}
	ul.article-list-csr li {}
	ul.article-list-csr li .article-inner {
	    width: auto;
	    display: block;
	    padding: 10px 0 20px;
	}
	
	/* Image */
	ul.article-list-csr li a .article-img-outer {
		margin-top: 0;
		width: auto;
		height: auto;
		aspect-ratio: 4 / 3;
	}
	ul.article-list-csr li .article-img {}
	ul.article-list-csr li a:hover .article-img {}
	
	
	/* Body */	
	ul.article-list-csr li .article-item-body {}
	
	/* Header */
	ul.article-list-csr li .category-label {
		font-size: var(--max-14);
	}
	ul.article-list-csr li .news-header .date {}
	
	/* Title */	
	ul.article-list-csr li h2.article-title {
	    font-size: var(--max-20);
	    padding: 0 10px 0 10px;
	    color: #262626;
	}
	ul.article-list-csr li .article-subtitle {}

	ul.article-list-csr li .article-item-footer .place {
		font-size: var(--max-16);
	}
	ul.article-list-csr li .article-item-footer .date {
		font-size: var(--max-18);
	}
	
	/* Arrow Icon - Top Page Only */	
	ul.article-list-csr li i.icn_link {}
} /* Top CSR - PC Style - Panel Style */



/* CSR Archive - PC Style - Panel Style
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
} /* END : CSR Archive - PC Phone Style - Panel Style */



/* =================================================================================================
/*
/*  CSR - Article
/*
/* =================================================================================================*/

.wp-singular section.page-section-csr .section-title-outer {
	opacity: 0.4;
}
.wp-singular section.page-section-csr .section-inner > h2 {
	color: #FFF;
}

article.article-csr {
	border-radius: 20px;
	background-color: rgba(255,255,255,0.9);
}

/* Article Image */
article.article-csr .article-image-outer {
    padding: 10px 10px 0;
}
article.article-csr  .article-image-outer .article-img {
    border-radius: 10px;
}

/* Category Label */
article.article-csr .category-label {
	font-size: var(--min-11);
}

/* Sub Title */
article.article-csr .article-subtitle .place {
	margin-bottom: 10px;
}

/* PC Style */
@media screen and (min-width:900px) {
	.wp-singular section.page-section-csr .section-inner > h2 {
		margin-bottom: var(--max-20);
		color: #FFF;
	}
	article.article-csr.new {
		display: block;
	}
}

