@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:	 cocoon-master
Version:		1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
	/*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
	/*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
	/*必要ならばここにコードを書く*/
}

/* vegas style */

.header-cover {
		margin: 0 auto;
		width: 100%;
		background: #fff;
}

.slider {
		width: 100%;
	 min-height: 100vh;
		background-position:center center;
		background-size: cover;
		display: flex;
		align-items: center;
		justify-content: center;
}

/* 調整 */

.home #header-container {
		position: absolute;
		width: 100%;
		top: 0;
		background: transparent;
}

.home .header-container-in.hlt-top-menu .navi {
		background: transparent;
}

#header-container .navi, #navi .navi-in>.menu-header .sub-menu {
		background-color: transparent;
}
.vegas-slide-inner {
	background-attachment: fixed;
}


/*---------------------------------
親テーマの修正
--------------------------------*/
.article h2 {background-color:transparent;}

.entry-content {
	margin-top: 0;/* margin-top: 1em */
		margin-bottom:0;/* margin-bottom: 3em; */
}

.body .article{margin-bottom:0!important;}

@media print {
#container .header-container,
#container .ad-area,
#container .breadcrumb-category,
#container .entry-footer,
#container .footer{
		display: block !important;
}}

@font-face {
	font-family: "MrsSaintDelafield";
	font-display: swap;
	src:
	url("https://kurogane-htcp.com/wp-includes/fonts/MrsSaintDelafield-Regular.woff2")format("woff2"),
	url("https://kurogane-htcp.com/wp-includes/fonts/MrsSaintDelafield-Regular.woff")format("woff"),
	url("https://kurogane-htcp.com/wp-includes/fonts/MrsSaintDelafield-Regular.eot")format("eot"),
	url("https://kurogane-htcp.com/wp-includes/fonts/MrsSaintDelafield-Regular.ttf")format("truetype")
	;
}

.content {
		margin-top: 0px;
}
.main {
		padding: 0px;
		border: none;
		border-radius: 0;
		position: relative;
		z-index: 0;
}
@media screen and (max-width: 834px){
main.main, div.sidebar {
		padding: 0px;
		margin: 10px 0;
		border-width: 0;
	}}

/*--------------------------------
基本
---------------------------------*/
/* 1) これだけは入れてOK（崩れにくい） */
*, *:before, *:after {
		-webkit-box-sizing: border-box;
			 -moz-box-sizing: border-box;
				 -o-box-sizing: border-box;
				-ms-box-sizing: border-box;
						box-sizing: border-box;
}

/* 2) 画像のはみ出し防止 */
img { max-width: 100%; height: auto; }

/* 3) フォントはbodyで統一（*には入れない） */
body:not(.wp-admin) {
	font-family: "Noto Sans JP", sans-serif;
		font-weight: 400;
		font-size: 1rem;
		letter-spacing: .04em;
		line-height: 1.7;
		color: #28283c;
		font-feature-settings: "palt";
		overflow-x: hidden
}

.mainbox{padding-bottom:0!important;}


/*---------------------------------
p
--------------------------------*/
p:not(.wp-admin){
	margin:0;
	padding:0;
	font-size:1rem;
	line-height:1.7rem;
	font-weight:400;
	color:#28283c;
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 550px) {p:not(.wp-admin){font-size:0.95rem;}}

@media screen and (max-width: 1279px) {
		body:not(.wp-admin) {font-size: 1rem}}

@media screen and (max-width: 767px) {
		body:not(.wp-admin) {font-size: 1rem}}

/* ブロックエディターの本文エリアだけに反映（右カラムUIには当たらない） */
.block-editor-page .editor-styles-wrapper{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: .04em;
	line-height: 1.7;
	color: #28283c;
}
.block-editor-page .editor-styles-wrapper p{
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
}

.en {
		font-family: "Poppins", sans-serif;
		font-weight: 700;
		letter-spacing: .02em
}

/* リンクの色 */
a {color: #1a1a1a;}
a.blueunder {color: #0071BC!important; border-bottom:1px solid #0071BC;}
a.blueunder:hover {color: #bbb!important; border-bottom:1px solid #bbb;}
a.blueunder_light {color: #06A2B7!important; border-bottom:1px solid #06A2B7;}
a.blueunder_light:hover {color: #bbb!important; border-bottom:1px solid #bbb;}


@media print {p{font-size:14px;}}
p.p16,.p16{
	font-size:1.6rem;
	line-height:1.6em;
	font-weight:400;
}
p.p15,.p15{
	font-size:1.5rem;
	line-height:1.6em;
	font-weight:400;
}
@media screen and (max-width: 768px) {p.p16,p.p15,.p15,.p16{font-size:1.5rem;}}
@media screen and (max-width: 550px) {p.p16,p.p15,.p15,.p16{font-size:1.4rem;}}
@media print {p.p16,p.p15{font-size:14px;}}

.em12{font-size:1.2em;}
.em09{font-size:0.9em;}
.em08{font-size:0.8em;}
.em07{font-size:0.7em;}
.em06{font-size:0.6em;}
.em05{font-size:0.5em;}
.em04{font-size:0.4em;}
.em03{font-size:0.3em;}


.bigbigbig{font-size:3rem!important; line-height:1.5em; margin:0; padding:0;}
	@media screen and (max-width: 600px) {.bigbigbig{font-size:2.2rem!important;}}
	@media screen and (max-width: 400px) {.bigbigbig{font-size:2.0rem!important;}}

.bigbig{font-size:2.4rem!important; line-height:1.5em; margin:0; padding:0;}
	@media screen and (max-width: 960px) {.bigbig{font-size:2.2rem!important;}}
	@media screen and (max-width: 480px) {.bigbig{font-size:1.9rem!important;}}
	@media print {p.bigbig{font-size:17px;}}	

.bigbig_mini{font-size:2.2rem!important; line-height:1.5em; margin:0; padding:0;}
	@media screen and (max-width: 960px) {.bigbig_mini{font-size:2.0rem!important;}}
	@media screen and (max-width: 480px) {.bigbig_mini{font-size:1.7rem!important;}}
	@media print {p.bigbig{font-size:17px;}}
	
.big{font-size:2rem!important; line-height:1.5em; margin:0; padding:0;}
	@media screen and (max-width: 960px) {.big{font-size:1.7rem!important;}}	
	@media screen and (max-width: 480px) {.big{font-size:1.6rem!important;}}	
	
	
.littlebig{font-size:1.8rem!important; line-height:1.5em; margin-bottom:0;}
.littlebig02{font-size:1.8rem!important; line-height1.5em; margin-bottom:0;}
@media screen and (max-width: 960px) {
	.littlebig{font-size:1.7rem!important;}
	.littlebig02{font-size:1.7rem!important;}
}
@media screen and (max-width: 768px) {
	.littlebig{font-size:1.6rem!important;}
	.littlebig02{font-size:1.5rem!important;}
}		
@media screen and (max-width: 750px) {
	.littlebig02{font-size:1.5rem!important;}
}
@media screen and (max-width: 480px) {
	.littlebig{font-size:1.5rem!important;}
	.littlebig02{font-size:1.4rem!important;}
}
@media print {.littlebig{font-size:1.4rem!important;}}
		
p.mini,.mini{
	font-size:0.9rem!important;
	margin:0;
	padding:0;
}
@media screen and (max-width: 750px) {p.mini,.mini{font-size:0.9rem!important;}}		
@media screen and (max-width: 480px) {p.mini,.mini{font-size:1.8rem!important;}}		

p.mini02,.mini02{
	font-size:0.9em!important;
	line-height:1.4em;
	margin:0;
	padding:0;
}
@media screen and (max-width: 750px) {p.mini02,.mini02{font-size:0.9rem!important;}}		
@media screen and (max-width: 480px) {p.mini02,.mini02{font-size:11px!important;}}	

		
p.minimini,.minimini{
	font-size:12px!important;
	margin:0;
	padding:0;
}
.mincyo{font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif!important;}
.yugo{font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif!important;}
.futogo{font-family:"Gothic MB101","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Osaka,sans-serif!important;}
.midago{font-family:"Midashi Go MB31","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Osaka,sans-serif!important;}
.gob{font-family:"Gothic Medium BBB","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Osaka,sans-serif!important;}

.p_kage_white{text-shadow: 0.5px 0.5px 1px #fff; }

/*--------------------------------
改行
---------------------------------*/
@media screen and (max-width: 1060px) {.br-1060 { display:none; }}

/* 960px以下は改行しない */
@media screen and (max-width: 960px) {.br-960 { display:none; }}

/* 900px以下は改行しない */
@media screen and (max-width: 900px) {.br-900 { display:none; }}

/* 768px以下は改行しない 大きいタブレット縦は改行*/
@media screen and (max-width: 768px) {.br-768 { display:none; }}

@media screen and (max-width: 750px) {.br-750 { display:none; }}
@media screen and (max-width: 700px) {.br_700 { display:none; }}
@media screen and (max-width: 600px) {.br_600 { display:none; }}
@media screen and (max-width: 480px) {.br_480 { display:none!important; }}
@media screen and (max-width: 400px) {.br_400 { display:none!important; }}

@media screen and (min-width: 1263px) {.br1263 { display: none;}}
@media screen and (min-width: 1180px) {.br1180 { display: none;}}
@media screen and (min-width: 1150px) {.br1150 { display: none;}}
@media screen and (min-width: 1080px) {.br1080 { display: none;}}
@media screen and (min-width: 1032px) {.br1032 { display: none;}}
@media screen and (min-width: 970px) {
	.br970 { display: none;}}

@media screen and (min-width: 960px) {
	.br960 { display: none;}}

@media screen and (min-width: 875px) {
	.br875 { display: none;}}

@media screen and (min-width: 851px) {
	.br850 { display: none;}}

@media screen and (min-width: 801px) {
	.br800 { display: none;}}

@media screen and (min-width: 768px) {
	.br768 { display: none;}}

@media screen and (min-width: 750px) {
	.br750 { display: none;}}

@media screen and (min-width: 700px) {
	.br700 { display: none;}}

@media screen and (min-width: 650px) {
	.br650 { display: none;}}

@media screen and (min-width: 600px) {
	.br600 { display: none;}}

@media screen and (min-width: 550px) {
	.br550 { display: none;}}

@media screen and (min-width: 481px) {
	.br480 { display: none;}}

@media screen and (min-width: 461px) {
	.br460 { display: none;}}

@media screen and (min-width: 430px) {
	.br430 { display: none;}}

@media screen and (min-width: 420px) {
	.br420 { display: none;}}

@media screen and (min-width: 400px) {
	.br400 { display: none;}}

@media screen and (min-width: 390px) {
	.br390 { display: none;}}

@media screen and (min-width: 376px) {
	.br375 { display: none;}}
@media screen and (min-width: 361px) {
	.br360 { display: none;}}

@media screen and (min-width: 351px) {
	.br350 { display: none;}}

@media screen and (min-width: 321px) {
	.br320 { display: none;}}

/*--------------------------------
画像の切り替え（スマホとPC)
---------------------------------*/
.pc960 { display: block !important; margin:0;}
.sp960 { display: none !important;}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 960px) {
.pc960 { display: none !important; }
.sp960 { display: block !important; }
}

.pc850 { display: block !important; }
.sp850 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 850px) {
.pc850 { display: none !important; }
.sp850 { display: block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc820 { display: block !important; }
.sp820 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 820px) {
.pc820 { display: none !important; }
.sp820 { display: block !important; }
}



/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc768 { display: block !important; }
.sp768 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc768 { display: none !important; }
.sp768 { display: block !important; }
}

@media (max-width: 768px){
	.pc768{ display:none !important; }
	.sp768{ display:block !important; }
}
@media (min-width: 769px){
	.pc768{ display:block !important; }
	.sp768{ display:none !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc750 { display:block !important; }
.sp750 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc750 { display: none !important; }
.sp750 { display: block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc640 { display:block !important; }
.sp640 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 640px) {
.pc640 { display: none !important; }
.sp640 { display: block !important; }
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc480 { display:block !important; }
.sp480 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 480px) {
.pc480 { display: none !important; }
.sp480 { display: block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc420 { display:block !important; }
.sp420 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 421px) {
.pc420 { display: none !important; }
.sp420 { display: block !important; }
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される ★★文中で改行をいれないときに使用！！ */
.pc800il { display: inline-block !important; }
.sp800il { display: none !important; }
@media only screen and (max-width: 800px){
.pc800il { display: none !important; }
.sp800il { display: inline-block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される ★★文中で改行をいれないときに使用！！ */
.pc768il { display: inline-block !important; }
.sp768il { display: none !important; }
@media only screen and (max-width: 768px){
.pc768il { display: none !important; }
.sp768il { display: inline-block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される ★★文中で改行をいれないときに使用！！ */
.pc600il { display: inline-block !important; }
.sp600il { display: none !important; }
@media only screen and (max-width: 600px){
.pc600il { display: none !important; }
.sp600il { display: inline-block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される ★★文中で改行をいれないときに使用！！ */
.pc480il { display: inline-block !important; }
.sp480il { display: none !important; }
@media only screen and (max-width: 480px) {
.pc480il { display: none !important; }
.sp480il { display: inline-block !important; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される ★★文中で改行をいれないときに使用！！ */
.pc375il { display: inline-block !important; }
.sp375il { display: none !important; }
@media only screen and (max-width: 375px) {
.pc375il { display: none !important; }
.sp375il { display: inline-block !important; }
}

/*--------------------------------
文字の色
---------------------------------*/
.whitemoji{color:#fff!important;}
.redmoji{color:#bc1515!important;}
.vividredmoji{color:#ff0000!important;}
.greenmoji{color:#146066!important;}
.orangemoji{color:#c1401e!important;}
.brownmoji{color:#562928!important;}
.momomoji{color:#dd8585!important;}
.goldmoji{color:#b28e34!important;}
.macchamoji{color:#6c8e5f!important;}
.murasakimoji{color:#dd8585!important;}
.bluemoji{color:#1f82bf!important;}
.murasakimoji{color:#662d91!important;}
.goldmoji_morinoutage{color:#cc9f52!important;}
/*--------------------------------
背景色
---------------------------------*/
.grayback{background: #f9f9f7!important; width:100%; margin:0; padding:0;}
.beigeback{background: #f8f4f1!important; width:100%; margin:0; padding:0;}
.mizuiroback{background:#eff3f4!important; width:100%; margin:0; padding:0;}
.orangeback{background:#fff6f5!important; width:100%; margin:0; padding:0;}
.whiteback{background:#ffffff!important; width:100%; margin:0; padding:0;}

/*-----------------------------------
サイトマップ
------------------------------------*/
.article h2.wsp-pages-title,.article h2.wsp-posts-title {
	padding:7px;
	margin-bottom:0;
	background:#ccc;}

.article ul li.wsp-post{
	font-size:0.8em;
}
/*---------------------------------
共通設定
--------------------------------*/
a.nolink_all{pointer-events: none;}
a.nolink{pointer-events: none;}
@media only screen and (max-width: 1024px) {
a.nolink{
pointer-events: initial;
}
}

.palt{font-feature-settings: "palt";}
.one, .two, .three {
	position: relative;
}

.one	{
	z-index: 30;
}
.two {
	z-index:20;
}
.three {
	z-index:10;
}
.ten {
	z-index:100;
}

.font07{font-size:0.7em!important;}	
.span7{font-size:0.7em;}
.span8{font-size:0.8em;}
.span9{font-size:0.9em;}


@media screen and (min-width: 1300px) {
.lh20_1300{line-height:2em;}
}

.img90{width:90%; margin:0 auto;}
.img80{width:80%; margin:0 auto;}
.img70{width:70%; margin:0 auto;}
.img30{width:30%; margin:0 auto;}
.img20{width:20%; margin:0 auto;}

@media screen and (max-width: 768px) {
.tab90{width:90%; margin:0 auto;}
.tab90_0{width:90%; margin:0;}
.tab80{width:80%; margin:0 auto;}
.tab80_0{width:80%; margin:0;}
.tab75{width:75%; margin:0 auto;}
.tab70{width:70%; margin:0 auto;}
.tab70{width:70%; margin:0 auto;}
.tab60{width:60%; margin:0 auto;}
.tab50{width:50%; margin:0 auto;}
.tab40{width:40%; margin:0 auto;}
.tab30{width:30%; margin:0 auto;}
.tab20{width:20%; margin:0 auto;}}

@media screen and (max-width: 480px) {
.sma90{width:90%; margin:0 auto;}
.sma80{width:80%; margin:0 auto;}
.sma75{width:75%; margin:0 auto;}
.sma70{width:70%; margin:0 auto;}
.sma70{width:70%; margin:0 auto;}
.sma60{width:60%; margin:0 auto;}
.sma50{width:50%; margin:0 auto;}}

@media print {
.sma90{width:90%; margin:0 auto;}
.sma80{width:80%; margin:0 auto;}
.sma75{width:75%; margin:0 auto;}
.sma70{width:70%; margin:0 auto;}
.sma60{width:60%; margin:0 auto;}
.sma50{width:50%; margin:0 auto;}}
	
	
.kadomaru10 img{
	border-radius: 10px;				/* CSS3草案 */	
		-webkit-border-radius: 10px;		/* Safari,Google Chrome用 */	
		-moz-border-radius: 10px;	 /* Firefox用 */
}
.kadomaru20 img{
	border-radius: 20px;				/* CSS3草案 */	
		-webkit-border-radius: 20px;		/* Safari,Google Chrome用 */	
		-moz-border-radius: 20px;	 /* Firefox用 */
}
.kadomaru10{
	border-radius: 10px;				/* CSS3草案 */	
		-webkit-border-radius: 10px;		/* Safari,Google Chrome用 */	
		-moz-border-radius: 10px;	 /* Firefox用 */
}
.kadomaru20{
	border-radius: 20px;				/* CSS3草案 */	
		-webkit-border-radius: 20px;		/* Safari,Google Chrome用 */	
		-moz-border-radius: 20px;	 /* Firefox用 */
}
.kadomaru30{
	border-radius: 30px;				/* CSS3草案 */	
		-webkit-border-radius: 30px;		/* Safari,Google Chrome用 */	
		-moz-border-radius: 30px;	 /* Firefox用 */
}


.mk_y{ background: #ffffc0; }
.mk_b{ background: #e3f3ff; }
.mk_r{ background: #ffe3e3; }
.mk_g{ background: #e8ffe8; }
.marker{
	background: linear-gradient(transparent 90%, #9e005d 0%);
	display: inline;
	/*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
	padding: 0 2px 4px;
}
.marginauto{margin:0 auto!important;}
.margin0{margin:0!important;}
.margin0_auto_960{margin:0!important;}
@media screen and (max-width: 960px) {.margin0_auto_960{margin:0 auto!important;}}
.margin0_auto{margin:0!important;}
@media screen and (max-width: 768px) {.margin0_auto{margin:0 auto!important;}}
.textshadow_black{text-shadow:2px 2px 3px #3e3f3f;}
.haba{text-align: justify!important;}
.zindex1{z-index:1!important;}
.zindex2{z-index:2!important;}
.zindex100{z-index:100!important;}
.bbb{border-bottom:4px double #003280!important;}
.bbr{border-bottom:4px solid #aa2222!important;}
.bbgray{border-bottom:4px solid #b3b3b3!important;}
.bbred{border-bottom:4px solid #bc1515!important;}
.bbred1{border-bottom:1px solid #bc1515!important;}
.bbnone{border-bottom:none!important;}
.bgg{background-color:#f2f2f2!important;}
.hidden{visibility:hidden!important;}
.displaynone{display:none!important;}
img.size-full, img.size-large {margin-bottom: 0px;}
.relative{position:relative;}
.absolute{position:absolute;}
.white{color:#ffffff!important;}
.inlineblock{display:inline-block;}
hr.style{border-top: 1px solid #42210b; border-bottom:none; margin:5px 0;}
hr.black{border-top: 1px solid #000; border-bottom:none; margin:2px 0;}
hr.black2{border-top: 2px solid #000; border-bottom:none; margin:2px 0;}
hr.green{border-top: 1px solid #146066; border-bottom:none; margin:2px 0;}
hr.orange{border-top: 1px solid #c1401e; border-bottom:none; margin:2px 0;}
hr.orange2{border-top: 2px solid #c1401e; border-bottom:none; margin:2px 0;}
hr.gold2{border-top: 2px solid #b28e34; border-bottom:none; margin:2px 0;}
hr.momo2{border-top: 2px solid #dd8585; border-bottom:none; margin:2px 0;}
hr.maccha2{border-top: 2px solid #6c8e5f; border-bottom:none; margin:2px 0;}
hr.murasaki2{border-top: 2px solid #662d91; border-bottom:none; margin:2px 0;}
hr.blue2{border-top: 2px solid #1f82bf; border-bottom:none; margin:2px 0;}
hr.gold2{border-top: 2px solid #d19e39; border-bottom:none; margin:2px 0;}
hr.footer{border-top: 5px solid #18082b; border-bottom:none; margin:0; padding:0;}
hr.dot{border-top: 2px dotted #a9a9a9; border-bottom:none; margin:2px 0;}
.img{max-width:100%;}
.width100{width:100%;}
.width100 img{width:100%;}
.width80{width:80%; margin:0 auto;}
a{text-decoration:none; }
a:hover{color:#ccc!important;}
a.header{color:#42210b!important;}
a.header:hover{color:#42210b;!important;}
a[href^="tel:"] { cursor: default; }
a[href^="tel:"] img:hover { -moz-opacity: 1; opacity: 1; }
.left{float:left!important;}
.right{float:right!important;}
.right_left480{float:right!important;}
.text_right{text-align:right!important;}
.text_left{text-align:left!important;}
.text_right480{text-align:right;}
.bottom{vertical-align: bottom;}
.center {text-align: center!important; padding-bottom: 0; margin:0 auto;}
.center768{text-align: center!important; padding-bottom: 0; float:none!important;}
.center_from960{text-align: left!important; padding-bottom: 0; float:none!important;}
.center_from768{text-align: left!important; padding-bottom: 0; float:none!important;}
.center_from750{text-align: left!important; padding-bottom: 0; float:none!important;}
.left_from960{text-align: center!important;}
.left_from768{text-align: center!important;}
.left_from750{text-align: center!important;}
.left_from550{text-align: center!important;}
.left_from480{text-align: center!important;}
.right_from768{text-align: center!important;}
@media screen and (max-width: 768px) {.right_from768{text-align: right!important;}}
.torikeshi{text-decoration: line-through;}
.textindent{padding-left:1em; text-indent:-1em;}
.textindent1{padding-left:1.2em; text-indent:-0.6em;}
.textindent16{padding-left:1em; text-indent:-1.6em;}
.textindent19{padding-left:1em; text-indent:-1.9em;}
.textindent2{padding-left:2em; text-indent:-2em;}
.textindent_edu{padding-left:2em; text-indent:-0.6em;}
.textshadow{text-shadow: 1px 2px 3px #ffffff;}
.width75{width:75%;}
.image100 img{width:100%;}
.image75 img{width:75%; margin:0 auto;}
.bold{font-weight:bold;}
.bolder{font-weight: bolder;}
.block{display:inline-block;}
.bb{border-bottom:1px solid #000;}
.pt5{padding-top:5%;}
.pt5p{padding-top:5px!important;}
.pt10{padding-top:10px!important;}
.pt15{padding-top:15px!important;}
.pt20{padding-top:20px!important;}
.pt30{padding-top:30px!important;}
.pt40{padding-top:40px!important;}
.pt50{padding-top:50px!important;}
.pt60{padding-top:60px!important;}
.pt70{padding-top:70px!important;}
.pt80{padding-top:80px!important;}
.pt90{padding-top:90px!important;}
.pt100{padding-top:100px!important;}
.pr-10{padding-right:-10px!important;}
.pr5{padding-right:5px!important;}
.pr1em{padding-right:1em!important;}
.pr2em{padding-right:2em!important;}
.pr3em{padding-right:3em!important;}
.pr10{padding-right:10px!important;}
.pr20{padding-right:20px!important;}
.pr30{padding-right:30px!important;}
.pr40{padding-right:40px!important;}
.pr50{padding-right:50px!important;}
.pl05em{padding-left:0.5em!important;}
.pl1em{padding-left:1em!important;}
.pl5{padding-left:5px!important;}
.pl-10{padding-left:-10px!important;}
.pl7{padding-left:7px!important;}
.pl10{padding-left:10px!important;}
.pl15{padding-left:15px!important;}
.pl20{padding-left:20px!important;}
.pl30{padding-left:30px!important;}
.pl40{padding-left:40px!important;}
.pl50{padding-left:50px!important;}
.pl60{padding-left:60px!important;}
.pb5{padding-bottom:5px!important;}
.pb5p{padding-bottom:5px!important;}
.pb10{padding-bottom:10px!important;}
.pb15{padding-bottom:15px!important;}
.pb20{padding-bottom:20px!important;}
.pb30{padding-bottom:30px!important;}
.pb40{padding-bottom:40px!important;}
.pb50{padding-bottom:50px!important;}
.pb60{padding-bottom:60px!important;}
.pb70{padding-bottom:70px!important;}
.pb80{padding-bottom:80px!important;}
.pb100{padding-bottom:100px!important;}
.pb120{padding-bottom:120px!important;}
.ml-1em{margin-left:-1em!important;}
.ml10{margin-left:10px!important;}
.mr10{margin-right:10px!important;}
.mr20{margin-right:20px!important;}
.mr30{margin-right:30px!important;}
.mr40{margin-right:40px!important;}
.mr50{margin-right:50px!important;}
.mr60{margin-right:60px!important;}
.mr70{margin-right:70px!important;}
.mr100{margin-right:100px!important;}
.mt5{margin-top:5%!important;}
.mt5p{margin-top:5px!important;}
.mt6p{margin-top:6px!important;}
.mt8p{margin-top:8px!important;}
.mt10{margin-top:10px!important;}
.mt15{margin-top:15px!important;}
.mt20{margin-top:20px!important;}
.mt25{margin-top:25px!important;}
.mt30{margin-top:30px!important;}
.mt30_750{margin-top:30px!important;}
.mt40{margin-top:40px!important;}
.mt50{margin-top:50px!important;}
.mt60{margin-top:60px!important;}
.mt70{margin-top:70px!important;}
.mt80{margin-top:80px!important;}
.mt90{margin-top:90px!important;}
.mt100{margin-top:100px!important;}
.mt110{margin-top:110px!important;}
.mt120{margin-top:120px!important;}
.mt-10{margin-top:-10px!important;}
.mt-20{margin-top:-20px!important;}
.mt-30{margin-top:-30px!important;}
.mt-40{margin-top:-40px!important;}
.mt-50{margin-top:-50px!important;}
.mt-180{margin-top:-180px!important;}
.mb2{margin-bottom:2%!important;}
.mb0{margin-bottom:0!important;}
.mb5{margin-bottom:5%!important;}
.mb10p{margin-bottom:10%!important;}
.mb5p{margin-bottom:5px!important;}
.mb10{margin-bottom:10px!important;}
.mb15{margin-bottom:15px!important;}
.mb20{margin-bottom:20px!important;}
.mb30{margin-bottom:30px!important;}
.mb40{margin-bottom:40px!important;}
.mb50{margin-bottom:50px!important;}
.mb60{margin-bottom:60px!important;}
.mb70{margin-bottom:70px!important;}
.mb80{margin-bottom:80px!important;}
.mb90{margin-bottom:90px!important;}
.mb100{margin-bottom:100px!important;}

.mt30_0{margin-top:30px!important;}
@media screen and (max-width: 768px) {.mt30_0{margin-top:0px!important;}}
.mt30_20{margin-top:30px!important;}
@media screen and (max-width: 768px) {.mt30_20{margin-top:20px!important;}}
.mt70_0{margin-top:70px!important;}
@media screen and (max-width: 768px) {.mt70_0{margin-top:0px!important;}}
.mt70_40{margin-top:70px!important;}
@media screen and (max-width: 768px) {.mt70_40{margin-top:40px!important;}}
.mt60_40{margin-top:60px!important;}
@media screen and (max-width: 768px) {.mt60_40{margin-top:40px!important;}}
.mt80_40{margin-top:80px!important;}
@media screen and (max-width: 768px) {.mt80_40{margin-top:40px!important;}}
.mt40_20{margin-top:40px!important;}
@media screen and (max-width: 768px) {.mt40_20{margin-top:20px!important;}}


.pl10_0{padding-left:10px!important;}
@media screen and (max-width: 768px) {.pl10_0{padding-left:0px!important;}}
.pl20_0{padding-left:20px!important;}
@media screen and (max-width: 768px) {.pl20_0{padding-left:0px!important;}}
.pl0_60{padding-left:0px!important;}
@media screen and (max-width: 768px) {.pl0_60{padding-left:60px!important;}}


.pr20_0_960{padding-right:20px!important;}
@media screen and (max-width: 768px) {.pr20_0_960{padding-right:0px!important;}}
.pr30_0_960{padding-right:30px!important;}
@media screen and (max-width: 768px) {.pr30_0_960{padding-right:0px!important;}}
.pl30_0_960{padding-left:30px!important;}
@media screen and (max-width: 768px) {.pl30_0_960{padding-left:0px!important;}}
.mt0_10_768{margin-top:0px!important;}
@media screen and (max-width: 768px) {.mt0_10_768{margin-top:10px!important;}}
.mt0_20_768{margin-top:0px!important;}
@media screen and (max-width: 768px) {.mt0_20_768{margin-top:20px!important;}}
.mt0_30_768{margin-top:0px!important;}
@media screen and (max-width: 768px) {.mt0_30_768{margin-top:30px!important;}}
.mt0_40_768{margin-top:0px!important;}
@media screen and (max-width: 768px) {.mt0_40_768{margin-top:40px!important;}}
.mt10_0{margin-top:10px!important;}
@media screen and (max-width: 768px) {.mt10_0{margin-top:0px!important;}}
.mt10_20_960{margin-top:10px!important;}
@media screen and (max-width: 768px) {.mt10_20_960{margin-top:20px!important;}}
.mt20_50_768{margin-top:20px!important;}
@media screen and (max-width: 768px) {.mt20_50_768{margin-top:50px!important;}}
.mt20_0_768{margin-top:20px!important;}
@media screen and (max-width: 768px) {.mt20_0_768{margin-top:0px!important;}}
.mt50_20_768{margin-top:50px!important;}
@media screen and (max-width: 768px) {.mt50_20_768{margin-top:20px!important;}}
.mt50_40_768{margin-top:50px!important;}
.mt50_30_768{margin-top:50px!important;}
@media screen and (max-width: 768px) {.mt50_30_768{margin-top:30px!important;}}
.mt50_40_768{margin-top:50px!important;}
@media screen and (max-width: 768px) {.mt50_40_768{margin-top:40px!important;}}

.pt10_0{padding-top:10px!important;}
@media screen and (max-width: 768px) {.pt10_0{padding-top:0px!important;}}
.pt30_15{padding-top:30px!important;}
@media screen and (max-width: 768px) {.pt30_15{padding-top:15px!important;}}
.pt30_0{padding-top:30px!important;}
@media screen and (max-width: 768px) {.pt30_0{padding-top:0px!important;}}
.pt50_30{padding-top:50px!important;}
@media screen and (max-width: 768px) {.pt50_30{padding-top:30px!important;}}
.pt50_40{padding-top:50px!important;}
@media screen and (max-width: 768px) {.pt50_40{padding-top:40px!important;}}
.pt70_40{padding-top:70px!important;}
@media screen and (max-width: 768px) {.pt70_40{padding-top:40px!important;}}
.pb80_40{padding-bottom:70px!important;}
@media screen and (max-width: 768px) {.pb80_40{padding-bottom:40px!important;}}

.lh10{line-height:1em!important;}
.lh12{line-height:1.2em!important;}
.lh15{line-height:1.5em!important;}
.lh16{line-height:1.6em!important;}
.lh17{line-height:1.7em!important;}
.lh18{line-height:1.8em!important;}
.lh19{line-height:1.9em!important;}
.lh20{line-height:2em!important;}
.lh25{line-height:2.5em!important;}
.lh30{line-height:3em!important;}
.lh20_17_768{line-height:2em!important;}
@media screen and (max-width: 768px) {.lh20_17_768{line-height:1.7em!important;}}
.lh20_17_960{line-height:2em!important;}
@media screen and (max-width: 960px) {.lh20_17_960{line-height:1.7em!important;}}
@media screen and (max-width: 768px) {.lh20_17_960{line-height:2em!important;}}
.lh20_1717_960{line-height:2em!important;}
@media screen and (max-width: 960px) {.lh20_1717_960{line-height:1.7em!important;}}
@media screen and (max-width: 768px) {.lh20_1717_960{line-height:1.7em!important;}}
.ls0{letter-spacing:0;}
.ls01{letter-spacing:0.1em;}

.yumincyo{font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",'Noto Serif JP', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif!important;}

@media screen and (max-width: 960px) {
.center_from960{text-align: center!important;}
.left_from960{text-align: left!important;}
.mt10_960{margin-top:10px!important;}}
@media screen and (max-width: 768px) {
.center768{text-align: left!important;}
.center_from768{text-align: center!important;}
.left_from768{text-align: left!important;}}
@media screen and (max-width: 750px) {
.center_from750{text-align: center!important;}
.left_from750{text-align: left!important;}
.right_from750{text-align:right;}
.mt30_750{margin-top:0px!important;}
.pt15_750{padding-top:15px!important;}}
@media screen and (max-width: 550px) {
.left_from550{text-align: left!important;}}
@media screen and (max-width: 480px) {
.center_from480{text-align: center!important;}
.text_right480{text-align: center!important;}
.left_from480{text-align: left!important;}
.right_left480{float:left!important;}}

/*flex、center*/
@media screen and (max-width: 960px) {
.wraper_flex,.wraper_flex960,.wraper_flexbaseline{flex-direction: column;}
.order960_1 {order: 1;}
.order960_2 {order: 2;}
.order960_3 {order: 3;}
.order960_4 {order: 4;}
.order960_5 {order: 5;}
.center_960{margin:0 auto; float:none!important; padding:0;}
}
@media screen and (max-width: 768px) {
.wraper_flex768,.flex_and{flex-direction: column; margin:0 auto}
.order768_1 {order: 1;}
.order768_2 {order: 2;}
.order768_3 {order: 3;}
.order768_4 {order: 4;}
.order768_5 {order: 5;}
.center_768{margin:0 auto; float:none!important;}
}
@media screen and (max-width: 750px) {
.wraper_flex750{flex-direction: column; margin:0 auto}
.wraper_flexbaseline_750{flex-direction: row-reverse; margin:0 auto}
.center_750{margin:0 auto; float:none!important;}
.order750_1 {order: 1;}
.order750_2 {order: 2;}
.order750_3 {order: 3;}
.order750_4 {order: 4;}
.order750_5 {order: 5;}
.order750_6 {order: 6;}
}
@media screen and (max-width: 480px) {
.order480_1 {order: 1;}
.order480_2 {order: 2;}
.order480_3 {order: 3;}
.order480_4 {order: 4;}
.order480_5 {order: 5;}
.center_480{margin:0 auto; float:none!important;}
}

/*---------------------------------
幅
--------------------------------*/
.post100{width:100%; margin:0 auto; max-width:1100px;}
.post95all{width:95%; margin:0 auto;}
.post90all{width:90%; margin:0 auto; max-width:1200px;}
.post90{width:90%; margin:0 auto; max-width:1200px;}
.post80all{width:80%; margin:0 auto; max-width:1200px;}/* どの幅でも80%統一 */

.post80_about{width:90%; margin:0 auto; max-width:1200px;}
@media screen and (max-width: 960px) {.post80_about{width:96%; margin:0 auto; max-width:1200px;}}
.post85{width:85%; margin:0 auto; max-width:1100px;}
.post90_768_80{width:90%; margin:0 auto; max-width:1200px;}
@media screen and (max-width: 768px) {.post90_768_80{width:80%;}}
.post90_768{width:90%; margin:0 auto; max-width:1200px;}
.post95_1200{width:95%; margin:0 auto; max-width:1200px;}
.post90_1300{width:90%; margin:0 auto; max-width:1300px;}
.post90_1200{width:90%; margin:0 auto; max-width:1200px;}
.post90_1100{width:90%; margin:0 auto; max-width:1100px;}
.post90_1100_768100{width:90%; margin:0 auto; max-width:1100px;}
@media screen and (max-width: 768px) {.post90_1100_768100{width:100%;}}
.post90_1000{width:90%; margin:0 auto; max-width:1000px;}
.post90_1000_80{width:90%; margin:0 auto; max-width:1000px;}
@media screen and (max-width: 768px) {.post90_1000_80{width:80%; max-width:500px;}}
.post90_1000_85{width:90%; margin:0 auto; max-width:1000px;}
@media screen and (max-width: 768px) {.post90_1000_85{width:85%; max-width:700px;}}
.post90_1000_95{width:90%; margin:0 auto; max-width:1000px;}
@media screen and (max-width: 768px) {.post90_1000_95{width:90%; max-width:500px;}}
.post90_800_80{width:90%; margin:0 auto; max-width:800px;}
@media screen and (max-width: 768px) {.post90_800_80{width:80%; max-width:500px;}}
.post90_900_80{width:90%; margin:0 auto; max-width:900px;}
@media screen and (max-width: 768px) {.post90_900_80{width:80%; max-width:500px;}}
.post90_900_80_550{width:90%; margin:0 auto; max-width:900px;}
@media screen and (max-width: 550px) {.post90_900_80_550{width:80%; max-width:500px;}}
.post90_900_85_550{width:90%; margin:0 auto; max-width:900px;}
@media screen and (max-width: 768px) {.post90_900_85_550{width:85%; max-width:500px;}}
.post90_900_78_500{width:90%; margin:0 auto; max-width:900px;}
@media screen and (max-width: 768px) {.post90_900_78_500{width:78%; max-width:500px;}}
.post90_1000_960{width:90%; margin:0 auto; max-width:1000px;}
@media screen and (max-width: 960px) {.post90_1000_960{width:80%; max-width:500px;}}

.post90_80_1000{width:90%; margin:0 auto; max-width:1000px;}
@media screen and (max-width: 768px) {.post90_80_1000{width:80%;}}

.post90_900{width:90%; margin:0 auto; max-width:900px;}
.post90_800{width:90%; margin:0 auto; max-width:800px;}
.post90_740{width:90%; margin:0 auto; max-width:740px;}
.post90_700{width:90%; margin:0 auto; max-width:700px;}
.post90_600{width:90%; margin:0 auto; max-width:600px;}
.post90_500{width:90%; margin:0 auto; max-width:500px;}
.post90_400{width:90%; margin:0 auto; max-width:400px;}
.post85_1000{width:85%; margin:0 auto; max-width:1000px;}
.post85_900{width:85%; margin:0 auto; max-width:900px;}
.post85_800{width:85%; margin:0 auto; max-width:800px;}
.post85_700{width:85%; margin:0 auto; max-width:700px;}
.post85_600{width:85%; margin:0 auto; max-width:600px;}
.post85_400{width:85%; margin:0 auto; max-width:400px;}
.post80_1100{width:80%; margin:0 auto; max-width:1100px;}
.post80_1000{width:80%; margin:0 auto; max-width:1000px;}
.post80_900{width:80%; margin:0 auto; max-width:900px;}
.post80_850{width:80%; max-width:850px; margin:0 auto; padding:0;}
.post80_800{width:80%; margin:0 auto; max-width:800px;}
.post80_700{width:80%; margin:0 auto; max-width:700px;}
.post80_640{width:80%; margin:0 auto; max-width:640px;}
.post80_600{width:80%; margin:0 auto; max-width:600px;}
.post80_500{width:80%; margin:0 auto; max-width:500px;}
.post80_400{width:80%; margin:0 auto; max-width:400px;}
.post90_500{width:90%; margin:0 auto; max-width:500px;}
.post75_800{width:75%; margin:0 auto; max-width:800px;}
.post70_800{width:70%; margin:0 auto; max-width:800px;}

/*---------------------------------
幅調整
--------------------------------*/
.width100vw{width: 100vw;}
.width1400{width:100%; max-width:1400px; margin:0 auto; padding:0;}
.width1300{width:100%; max-width:1300px; margin:0 auto; padding:0;}
.width1200{width:100%; max-width:1200px; margin:0 auto; padding:0;}
.width1100{width:100%; max-width:1100px; margin:0 auto; padding:0;}
.width1000{width:100%; max-width:1000px; margin:0 auto; padding:0;}
.width900{width:100%; max-width:900px; margin:0 auto; padding:0;}
.width800{width:100%; max-width:800px; margin:0 auto; padding:0;}
.width700{width:100%; max-width:700px; margin:0 auto; padding:0;}
.width650{width:100%; max-width:650px; margin:0 auto; padding:0;}
.width600{width:100%; max-width:600px; margin:0 auto; padding:0;}
.width550{width:100%; max-width:500px; margin:0 auto; padding:0;}
.width500{width:100%; max-width:500px; margin:0 auto; padding:0;}
.width450{width:100%; max-width:450px; margin:0; padding:0;}
.width400{width:100%; max-width:400px; margin:0 auto; padding:0;}
.width350{width:100%; max-width:350px; margin:0 auto; padding:0;}
.width300{width:100%; max-width:300px; margin:0 auto; padding:0;}
.width250{width:100%; max-width:250px; margin:0 auto; padding:0;}

.width800_600{width:100%; max-width:800px; margin:0 auto; padding:0;}
@media screen and (max-width: 768px) {.width800_600{width:85%; max-width:600px; margin:0 auto; padding:0;}}

.width550_100_768{width:100%; max-width:550px; margin:0 auto; padding:0;}
@media screen and (max-width: 768px) {.width550_100_768{width:100%; max-width:700px; margin:0 auto; padding:0;}}
.width470_100_768{width:100%; max-width:470px; margin:0 auto; padding:0;}
@media screen and (max-width: 768px) {.width470_100_768{width:100%; max-width:700px; margin:0 auto; padding:0;}}
.width450_100_768{width:100%; max-width:450px; margin:0 auto; padding:0;}
@media screen and (max-width: 768px) {.width450_100_768{width:100%; max-width:700px; margin:0 auto; padding:0;}}
.width400_100_768{width:100%; max-width:400px; margin:0 auto; padding:0;}
@media screen and (max-width: 768px) {.width400_100_768{width:100%; max-width:700px; margin:0 auto; padding:0;}}
.width400_90_768{width:100%; max-width:400px; margin:0 auto; padding:0;}
@media screen and (max-width: 768px) {.width400_90_768{width:90%; max-width:700px; margin:0 auto; padding:0;}}


.width10{width:10%; padding:0; margin:0;}
.width20{width:20%; padding:0; margin:0;}
.width25{width:25%; padding:0; margin:0;}
.width30{width:30%; padding:0; margin:0;}
.width40{width:40%; padding:0; margin:0;}
.width43{width:43%; padding:0; margin:0;}
.width45{width:45%; padding:0; margin:0;}
.width47{width:47%; padding:0; margin:0;}
.width48{width:48%; padding:0; margin:0;}
.width50{width:50%; padding:0; margin:0;}
.width55{width:55%; padding:0; margin:0;}
.width60{width:60%; padding:0; margin:0;}
.width70{width:70%; padding:0; margin:0;}
.width75{width:75%; padding:0; margin:0;}
.width80{width:80%; padding:0; margin:0;}
.width90{width:90%; padding:0; margin:0;}

.width10_960{width:10%; padding:0; margin:0;}
.width15_960{width:15%; padding:0; margin:0;}
.width20_960{width:20%; padding:0; margin:0;}
.width30_960{width:30%; padding:0; margin:0;}
.width65_960{width:65%; padding:0; margin:0;}
.width70_960{width:70%; padding:0; margin:0;}
@media screen and (max-width: 960px) {
	.width10_960{width:90%; padding:0; margin:0;}
	.width15_960{width:90%; padding:0; margin:0;}
	.width20_960{width:90%; padding:0; margin:0;}
	.width30_960{width:90%; padding:0; margin:0 auto;}
	.width65_960{width:90%; padding:0; margin:0;}
	.width70_960{width:90%; padding:0; margin:0 auto;}}


.width10_768{width:10%; padding:0; margin:0;}
.width10_768_100{width:10%; padding:0; margin:0;}
.width20_768{width:20%; padding:0; margin:0;}
.width25_768{width:25%; padding:0; margin:0;}
.width25_768_90{width:25%; padding:0; margin:0;}
.width30_768{width:30%; padding:0; margin:0;}
.width35_768{width:35%; padding:0; margin:0;}
.width40_768{width:40%; padding:0; margin:0;}
.width40_768_100{width:40%; padding:0; margin:0;}
.width43_768{width:43%; padding:0; margin:0;}
.width43_768_100{width:43%; padding:0; margin:0;}
.width45_768{width:45%; padding:0; margin:0;}
.width45_768_100{width:45%; padding:0; margin:0;}
.width47_768{width:47%; padding:0; margin:0;}
.width47_768_100{width:47%; padding:0; margin:0;}
.width50_768{width:50%; padding:0; margin:0;}
.width50_768_100{width:50%; padding:0; margin:0;}
.width55_768{width:55%; padding:0; margin:0;}
.width55_768_100{width:55%; padding:0; margin:0;}
.width55_768_85{width:55%; padding:0; margin:0;}
.width60_768{width:60%; padding:0; margin:0;}
.width65_768{width:65%; padding:0; margin:0;}
.width70_768{width:70%; padding:0; margin:0;}
.width70_768_100{width:70%; padding:0; margin:0;}
.width80_768{width:80%; padding:0; margin:0;}
.width80_768_100{width:80%; padding:0; margin:0;}
.width90_768{width:90%; padding:0; margin:0;}
.width90_768_100{width:90%; padding:0; margin:0;}
@media screen and (max-width: 768px) {
	.width10_768{width:90%; padding:0; margin:0 auto;}
	.width10_768_100{width:100%; padding:0; margin:0 auto;}
	.width20_768{width:90%; padding:0; margin:0 auto;}
	.width25_768{width:90%; padding:0; margin:0 auto;}
	.width25_768_90{width:90%; padding:0; margin:0 auto;}
	.width30_768{width:90%; padding:0; margin:0 auto;}
	.width35_768{width:90%; padding:0; margin:0 auto;}
	.width40_768{width:90%; margin:0 auto;}
	.width40_768_100{width:98%; margin:0 auto;}
	.width43_768{width:90%; margin:0 auto;}
	.width43_768_100{width:98%; margin:0 auto;}
	.width45_768{width:90%; margin:0 auto;}
	.width45_768_100{width:98%; margin:0 auto;}
	.width47_768{width:90%; margin:0 auto;}
	.width47_768_100{width:98%; margin:0 auto;}
	.width50_768{width:90%; margin:0 auto;}
	.width50_768_100{width:98%; margin:0 auto;}
	.width55_768{width:90%; margin:0 auto;}
	.width55_768_85{width:85%; margin:0 auto;}
	.width55_768_100{width:98%; margin:0 auto;}
	.width60_768{width:90%; margin:0 auto;}
	.width65_768{width:90%; margin:0 auto;}
	.width70_768{width:90%; padding:0; margin:0 auto;}
	.width70_768_100{width:100%; padding:0; margin:0;}
	.width80_768{width:90%; padding:0; margin:0 auto;}
	.width80_768_100{width:100%; padding:0; margin:0 auto;}
	.width90_768{width:90%; padding:0; margin:0 auto;;}
	.width90_768_100{width:100%; padding:0; margin:0 auto;}}

/*---------------------------------
 フレックス
--------------------------------*/
.flex_center{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.flex_center_hasi{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.flex_center_center{
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
}

.flex_top{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap:wrap;
}

.flex_top_hasi{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap:wrap;
}

.flex_top_center{
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap:wrap;
}

.flex_end{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap:wrap;
}

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

.flex_end_hasi{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap:wrap;
}

.row-gap20{row-gap:20px;}
.row-gap30{row-gap:30px;}
.row-gap40{row-gap:40px;}
.row-gap50{row-gap:50px;}
.row-gap30_10{row-gap:30px;}
@media screen and (max-width: 768px) {.row-gap30_10{row-gap:10px;}}



/*--------------------------------
PCヘッダー設定
---------------------------------*/
.wraper_header{
	width:100%;
	margin:0 auto;
	padding:10px 0 0;
	position:relative;
	background:#ffffff;
	position: fixed;
	top: 0;
	left:0;
	right:0;
	z-index: 9999;
}
/* グローバルメニューを固定した高さの分だけコンテンツを下げる */
body:not(.home){
	padding-top:80px;
}
@media screen and (max-width: 960px) {
	body:not(.home){
	padding-top:63px;
}}

.header40{
	width:30%;
	max-width:500px;
	margin:0;
	padding:10px 20px 0 70px;
	position:relative;
}

.header40 img{width:90%; max-width:300px;}
.header60{
	width:70%;
	margin:0;
	padding:10px;
}



@media screen and (max-width: 1160px) {
	.header40{width:25%;}
	.header60{width:75%;}}

.fixed-header {box-shadow:none;}

/* 固定ヘッダーの高さ（必要に応じて調整） */
:root{
	--headerH: 140px;			/* PCの固定ヘッダー高 */
	--adminBarH: 0px;		 /* ログイン時のWP管理バー分（自動で入れる） */
}
@media (max-width: 960px){
:root{
	--headerH: 65px;}}

/* ログイン時（管理バーが出る時） */
body.admin-bar{
	--adminBarH: 32px;
}
@media (max-width: 782px){
	body.admin-bar{
		--adminBarH: 46px;
	}
}

/* ページ内リンク（#〜）ジャンプ時に、ヘッダー分だけ余白を確保 */
html{
	scroll-padding-top: calc(var(--headerH) + var(--adminBarH));
}

/* id を持つ要素（見出し等）がヘッダー下に隠れないようにする */
[id]{
	scroll-margin-top: calc(var(--headerH) + var(--adminBarH));
}

/*--------------------------------
グローバルナビ固定
---------------------------------*/
.fixed {
		position: fixed;
		top: 0;
		width: 100%;
 	z-index: 1000000;
}


/* =========================================================
	 SP Header / Hamburger Menu（安定版）
	 - 表示/非表示は transform/opacity/visibility で制御
	 - inline の display:none に負けないよう display:flex!important を使う
	 - 背景は毎回「上→下」で出現
========================================================= */

:root{
	--spHeaderH: 70px;
	--spMenuBg: #214566;
	--spMenuMaxW: 24rem;
	--spMenuOffset: 100px; /* ← これを増やすとハンバーガーメニューが下がる（例 12px〜40px） */
}

header0{ display:block; }
nav0{ display:block; }

@media (max-width: 960px){

	/* ヘッダー固定 */
	.header-wrap{
		height: var(--spHeaderH);
		padding: 0;
		margin: 0;
		background: #fff;
		position: fixed;
		top: 0; left: 0; right: 0;
		z-index: 10030;
	}

	.header_sp_name{
		position: absolute;
		top: 10px;
		left: 10px;
		width: 180px;
		z-index: 10040;
	}

	.accbox{
		position: absolute;
		top: 8px;
		right: 10px;
		height: 50px;
		width: 50px;
		font-size: 20px;
		line-height: 20px;
		padding: 16px 0;
		cursor: pointer;
		z-index: 10050;
	}

	/* ハンバーガー */
	#nav_toggle{
		display:block;
		width:30px;
		height:30px;
		position:relative;
		z-index:10060;
	}
	#nav_toggle div{ position:relative; }

	#nav_toggle span{
		display:block;
		height:2px;
		background:#214566;
		position:absolute;
		width:100%;
		left:11px;
		transition: transform .35s ease, top .35s ease, width .35s ease, left .35s ease, background .2s ease;
	}
	#nav_toggle span:nth-child(1){ top:0px; }
	#nav_toggle span:nth-child(2){ top:10px; }
	#nav_toggle span:nth-child(3){ top:20px; }

	/* open時：× */
	header0.open #nav_toggle span{ background:#fff; }
	header0.open #nav_toggle span:nth-child(1){ top:12px; transform:rotate(135deg); }
	header0.open #nav_toggle span:nth-child(2){ width:0; left:50%; }
	header0.open #nav_toggle span:nth-child(3){ top:12px; transform:rotate(-135deg); }

	header0.open .header-wrap{
		background: var(--spMenuBg);
	}

	/* メニュー背景（display は常にflexで固定）
		 ★inline style="display:none" が付いても必ず勝つため !important */
	header0 nav0{
		position: fixed;
		inset: 0;
		width: 100vw;
		height: 100dvh;
		background: var(--spMenuBg);
		z-index: 10010;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		transform: translate3d(0, -100%, 0);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			transform .42s ease,
			opacity	 .25s ease,
			visibility 0s linear .42s;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding-top: calc(env(safe-area-inset-top) + var(--spHeaderH) + var(--spMenuOffset));/* ← 1365行目の--spMenuOffsetのpaddingを変えるとpadding-topが変わる */
		padding-bottom: calc(env(safe-area-inset-bottom) + 24px);
		box-sizing: border-box;
	}

	header0.open nav0{
		transform: translate3d(0, 0, 0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;

		transition:
			transform .42s ease,
			opacity	 .25s ease,
			visibility 0s;
	}

	/* メニューの“塊” */
	header0 nav0 .menu,
	header0 nav0 ul{
		width: min(var(--spMenuMaxW), 86vw);
		padding: 0 !important;
		list-style: none;
	}

	header0 nav0 ul{
		margin: auto 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	header0 nav0 li{
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		border-bottom: none !important;
		text-align: center !important;
	}

	header0 nav0 li a{
		display: block;
		width: 100%;
		padding: 14px 16px;
		text-align: center;
		color: #fff;
		font-weight: 700;
		text-decoration: none !important;
	}
	header0 nav0 li a:hover{ opacity: .85; }
}

/* 背面スクロール停止（JSで html に付く） */
html.is-menu-open,
html.is-menu-open body{
	overflow: hidden;
}


/*--------------------------------
PCヘッダー
---------------------------------*/
/* 初期値 グローバルメニューの幅のため変更 */
.wrap {
	width: 100%;/* 親テーマは1256px;*/
	margin: 0 auto;
}

.header-in {
	display:inline;
	flex-direction: row;
	justify-content: center;
}

.home .site-name-text-link,
.home .navi-in a ,
.navi-in a{
		color: #214566;
	font-weight:700;
	font-size:1.2rem;
}
.home .navi-in a :hover{
	background:none;
}

.navi-in > ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	text-align: center;
	/*サブメニュー*/
}

.navi-in > ul li {
	display: block;
	width: 130px;/* 親テーマは176px*/
	height: 50px;/* 親テーマは60px*/
	line-height: 50px;/* 親テーマは60px*/
	position: relative;
}
@media screen and (max-width: 1150px) {
	.navi-in a {font-size:17px;}
	.navi-in > ul li {width: 120px;}}

@media screen and (max-width: 1140px) {
	#navi .navi-in > .menu-mobile li {
		width: 25%;
		height: 40px;
		line-height: 40px;
	}
	#navi .navi-in > .menu-mobile li a {
		font-size: 14px;
	}}

.navi-in .has-icon {display:none;}

/*---------------------------------
投稿ページ
--------------------------------*/
#breadcrumb,#breadcrumb a {
		width: 100%;
		padding: 0;
		font-weight: 400;
		font-size: 0.75rem;
		letter-spacing: .08em;
		line-height: 1;
		color: #aaa!important;
	text-align:left;
}

.newsbox{
	margin:0;
	padding:0;
	font-weight:bold;
	display:flex;
	flex-wrap: wrap;
	gap: 5px 10px; /* 余白 */
}

.kdate time{
	font-family: "Noto Sans JP", sans-serif;
	color:#3d6033;
}
@media screen and (max-width: 480px) {.kdate time{font-size:0.9em;}}

.cat_area p,.cat_contents p{
	display:inline-block;
	color:#fff;
	font-weight:400;
	padding:0px 10px 0;
	border-radius:15px;
	font-size:1rem;
	height:1.5em;
	line-height:1.5em;
}
.cat_area p{background:#3f89c9;}
.cat_contents p{background:#78b5b5;}

@media screen and (max-width: 550px) {
	.kdate{width:100%; display:block;}
	div.cat_area{margin-left:-10px;}
}
.cat_main{text-align: justify}
.cat_ichiran{
	text-align: center;
	margin:0 auto ;
	padding:0;
}


a.sitelink-button{
	font-size:1rem;
	color:#0071bb;
}
@media screen and (max-width: 480px) {a.sitelink-button{font-size:0.9rem;}}

/* タクソノミーごとのまとまり */
.tax-group{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:0;
}
.tax-label{
	font-size:11px;
	padding:3px 10px;
	border-radius:999px;
	border:1px solid rgba(0,0,0,.2);
	background:#fff;
	line-height:1.2;
}
.tax-items{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

/* ボタン共通 */
.pill{
	display:inline-block;
	padding:5px 10px;
	border-radius:999px;
	text-decoration:none;
	font-size:12px;
	line-height:1.2;
	color:#fff;
}
@media screen and (max-width: 550px) {
.pill{
	padding:4px 10px;
	font-size:11px;
}}

/* 指定の色 */
.newsbox a.pill--area { background:#3f89c9; color:#fff; }
.newsbox a.pill--type { background:#78b5b5; color:#fff; }


.newsbox a.pill--area:hover,
.newsbox a.pill--type:hover{
	filter: brightness(0.92);
}

.linkbox{
	border:1px solid rgba(0,0,0,.15);
	border-radius:12px;
	padding:14px 16px;
	margin:16px 0;
	background:#fff;
}
.linkbox__title{
	font-size:14px;
	font-weight:700;
	margin:0 0 10px;
}
.linkbox__link{
	display:block;
	padding:12px 12px;
	border-radius:10px;
	background:rgba(0,0,0,.05);
	text-decoration:none;
}
.linkbox__text{
	display:block;
	font-weight:700;
	font-size:14px;
	margin-bottom:6px;
}
.linkbox__url{
	display:block;
	font-size:12px;
	opacity:.8;
	word-break:break-all;
}
.linkbox__link:hover{
	background:rgba(0,0,0,.09);
}

/* iPhoneで英字が不自然に広がる（両端揃え対策） */
@media (max-width: 768px){
	body.single-research_activities .cat_main,
	body.single-research_activities .cat_main p,
	body.single-research_activities .cat_main li{
		text-align: left !important;
		text-justify: auto !important;
	}

	/* ついでに英字の崩れを起こしにくくする保険 */
	body.single-research_activities .cat_main{
		letter-spacing: normal;
		word-break: normal;
		overflow-wrap: anywhere;
		hyphens: auto;
	}
}


/*---------------------------------
ボタン
--------------------------------*/
/*小*/
#button {
	display:block;
	width: 200px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	font-family: "Font Awesome 5 Free";
	font-size:1rem;
	margin:0 auto;
}
#button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#button,
#button::before,
#button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/*大*/
#button_big {
	display: block;
	width: 200px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	line-height: 50px;
	outline: none;
	float:left;
}
#button_big::before,
#button_big::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
#button_big,
#button_big::before,
#button_big::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.black{background-color: #ffffff; border: 2px solid #28283c; color: #28283c; font-weight:bold;}
.black:hover {background-color: #28283c; border-color: 28283c; color: #ffffff!important;}

.b_blue{background-color: #2082c0; border: 2px solid #2082c0; color: #fff; font-weight:bold;}
.b_blue:hover {background-color: #fff; border-color: #3f89c9; color: #3f89c9!important;}

.green {background-color: #6bdbab; border: 2px solid #6bdbab; color: #fff;}
.green:hover {background-color: #fff; border-color: #6bdbab; color: #6bdbab;}
.pink {background-color: #f9897a; border: 2px solid #f9897a; color: #fff;}
.pink:hover {background-color: #fff; border-color: #f9897a; color: #f9897a;}
.gray {background-color: #333333; border: 2px solid #333333; color: #fff;}
.gray:hover {background-color: #004B29; border-color: #004B29; color: #fff;}

/*-----------------------------------
ニュースページ
------------------------------------*/
/*-- 横並び化&関連記事ブロックのサイズ調整 --*/
.cat_photo img{
	width:100%!important;
}

.syukyaku{
	width:100%;}

.syukyaku ul{
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;	 /* ←ここがポイント（左詰め） */
	gap: 30px;										 /* ←カード間の余白（好みで調整） */
	padding: 0;
	list-style: none;
	margin: 0 1.6% 60px;
}

.syukyaku ul li{
	display:flex;
	flex-direction:column;
	width: calc((100% - 60px) / 3); /* 3列、gap30px×2ぶんを引く */
	margin: 0;											/* gapで余白管理するので0 */
}
@media (max-width: 900px){
	.syukyaku ul li{ width: calc((100% - 30px) / 2); }
}

.syukyaku ul li h5{flex-grow:1;}

/*-- 画像サイズの調整 --*/
.syukyaku .related-article-thumb {
	overflow: hidden;
		margin-bottom:10px;
}
.syukyaku .related-article-thumb img{
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
}

/*-- 文字色と文字サイズの調整 --*/
.syukyaku .related-article-title h5 {
	font-size: 1rem ;
	padding: 0px;
	margin-bottom: 10px;
	margin-top: 0px;
	text-align:left;
	line-height:1.6em !important;
}
.syukyaku .related-article-title h5 a {
	color: #28283c;
	text-decoration: none;
	line-height:1.6em;
	
}

.syukyaku .related-article-title h6 {
	font-size: 14px !important;
	font-weight: 400;
	padding: 0;
	margin:0;
	line-height:1.6em;
	color:#28283c;
}

.syukyaku .related-article-title .bassui{
	font-size: 1.3rem !important;
	padding: 0px;
	margin-bottom: 5px;
	margin-top: 5px;
	line-height:1.5em !important;
}



.syukyaku .related-article-title h5 a:hover {
	color: #bbb!important;
}

.more-link{
	font-size: 12px;
	margin-top:-5px;
}




/*--------------------------------
スマホのTOPNEWS（floatやめて崩れ防止）
---------------------------------*/
@media (max-width: 768px){
.smanews{
		padding-top: 10px;
	}

/* dlを横並びにする（画像左・テキスト右） */
.smanews dl{
		display:flex;
		gap:12px;
		margin-bottom:30px;
	}

	/* floatを無効化 */
	.smanews dt{
		float:none !important;
		width:35%;
	}

	.smanews dt img{
	width:100%;
	height:auto;
	aspect-ratio: 1 / 1; /* ←正方形 */
	object-fit: cover;
	display:block;
}

	/* float前提の余白を無効化して、右側を可変に */
	.smanews dd{
		padding-left:0 !important;
		flex:1;
		min-width:0;
	}

	.smanews dd h6{
		color: #28283c;
		font-size:12px;
		margin:0 0 6px;
		font-weight:400;
	}

	.smanews dd h5{
		line-height:1.5em !important;
		margin:0;
	}
	.smanews dd h5 a{
		color:#000;
		text-decoration:none;
		font-size:1rem;
		line-height:1.5em !important;
	}
	.smanews dd h5 a:hover{
		color:#bbb!important;
	}

	@media (max-width: 550px){
		.smanews dd h5 a{ font-size:0.9rem !important; }
	}
}

/*--------------------------------
pagenavi デザイン変更
---------------------------------*/
.wp-pagenavi {/* 全体 */
		margin: 20px 0;
		font-size: 12px;
}
.wp-pagenavi a {/* フォント色 */
		color: #4a4a4a;
}

.wp-pagenavi a, .wp-pagenavi span {
		text-decoration: none;
		border: solid 1px #eee;
		padding: 0!important;
		margin: 0; 
}

span.pages {/* 左の表記 */
		margin-right: 20px!important;
	border:none!important;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
		margin: 0 6px 6px 0;
		display: inline-block;
		border: solid 1px #eee;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		line-height: 40px;
		text-align: center;
}
.wp-pagenavi .current {/* カレント数字 */
		border: none;
		background: #333;
		color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
		background: #333;
		color: #fff!important;
}

.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
		margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
		display: none;
}

/*--------------------------------
タクソノミーヘッダー
---------------------------------*/
/* タクソノミーヘッダー：画像の上にタイトルを重ねる */
.headback.page-hero{
	position: relative;
	overflow: hidden;
}

.page-hero__img{
	width: 100%;
	height: clamp(220px, 26vw, 380px);
	object-fit: cover;
	display: block;
}

.page-hero__overlay{
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.28);
}

.page-hero__text{
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 16px;
	color: #fff;
}

.page-hero__title{
	margin: 0;
	font-size: clamp(24px, 4vw, 44px);
	font-weight: 700;
	letter-spacing: .08em;
	text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.page-hero__subtitle{
	margin: 8px 0 0;
	font-size: clamp(12px, 2vw, 16px);
	opacity: .95;
	text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
/* page-hero内のpは白に固定（p:not(.wp-admin)に勝つ） */
.page-hero__text p.page-hero__subtitle{
	color:#fff;
}

/*--------------------------------
TOPページの最新記事
---------------------------------*/
/* =========================================================
	 TOP：NEWS（research_activities） ※統合版
	 ・.index_news.news 内だけで完結
========================================================= */

/* セクション余白 */
.index_news.news .cnt{
	padding-inline: clamp(12px, 3vw, 32px);
}
@media (max-width: 1279px){
	.index_news.news .cnt{ padding-inline: 20px; }
}
@media (max-width: 767px){
	.index_news.news .cnt{ padding-inline: 0; }
}

/* 2カラム（左：見出し / 右：一覧） */
.index_news.news .nws-grd{
	display: grid;
	grid-template-columns: 300px 1fr;
	column-gap: clamp(24px, 5vw, 80px);
	align-items: start;
}
@media (min-width: 1024px){
	.index_news.news .nws-grd{
		grid-template-columns: 250px 1fr;
		column-gap: clamp(16px, 3vw, 48px);
	}
}
@media (max-width: 1023px){
	.index_news.news .nws-grd{
		grid-template-columns: 1fr;
		row-gap: 24px;
	}
	.index_news.news .txt-area{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		margin-bottom: 24px;
	}
}

/* 見出し（NEWS） */
.index_news.news .en-hd{
	margin: 0;
	line-height: 1;
}
.index_news.news .en-hd .en_news{
	display: block;
	white-space: nowrap;
	font-family: "Poppins", sans-serif;
	font-weight: 800;
	font-synthesis: none;
	font-size: clamp(42px, 5.4vw, 70px);
	line-height: .92;
	letter-spacing: -0.02em;
	margin: 0;
}
/* スマホ：元の大きさに戻す */
@media (max-width: 767px){.index_news.news .en-hd .en_news{font-size: clamp(48px, 5.4vw, 80px);}}

/* 「お知らせ一覧」ボタン */
.index_news.news .btn-line{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
	padding: 10px 42px 10px 16px;/* ←追加：右の▶分の余白元10px 16px*/
	border: 1px solid #28283c;
	border-radius: 2px;
	font-size: 0.9em;
	letter-spacing: .08em;
	text-decoration: none !important;
	color: inherit !important;
	background: transparent !important;
	width:200px;
	position: relative;	/* ←追加：擬似要素配置の基準 */
}
.index_news.news .btn-line:hover{
	border-color: rgba(0,0,0,.45);
}
.btn-line span {
	font-weight:500;
}

/* 右のオレンジ▶ */
.index_news.news .btn-line::after{
	content: "";
	position: absolute;
	right: 16px;									 /* ▶の右位置（好みで調整） */
	top: 50%;
	transform: translateY(-50%);

	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #f94c08;	/* ←色指定 */
}
@media (max-width: 767px){
	.index_news.news .btn-line{
		width: 140px;
		padding: 10px 34px 10px 12px; /* ▶分を残しつつ少し詰める */
	}
	.index_news.news .btn-line::after{
		right: 12px;}}


/* リスト */
.index_news.news .nws-list{
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid #d8d8d8;
}
.index_news.news .nws-list > li{
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #d8d8d8;
}

/* 1行（リンク） */
.index_news.news .nws-list > li > a,
.index_news.news .nws-list > li > a:visited,
.index_news.news .nws-list > li > a:hover,
.index_news.news .nws-list > li > a:focus{
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	text-decoration: none !important;
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* 日付 */
.index_news.news .nws-list .date{
	width: 78px;
	flex: 0 0 auto;
	line-height: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #28283c;
}
.index_news.news .nws-list .date .ym{
	font-size: 0.8rem;
	margin-bottom: .5em;
	opacity: .65;
	font-weight: 400;
}
.index_news.news .nws-list .date .day{
	font-size: 2.8rem;
	font-weight: 400;
}

/* 右側（カテゴリ＋タイトル） */
.index_news.news .nws-list .info{
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 16px;
	background: transparent !important;
	padding: 0;
}
@media (max-width: 1023px){
	.index_news.news .nws-list .info{ align-items: flex-start; }
}

/* タクソノミー（固定幅 9em） */
.index_news.news .nws-list .cat{
	flex: 0 0 9em;
	width: 9em;
}
.index_news.news .nws-list .cat span{
	width: 100%;
	display: inline-flex;
	justify-content: center;
	text-align: center;

	padding: .25em .6em .35em;
	background: #28283c;
	color: #fff;
	font-size: .875em;
	line-height: 1;
	white-space: nowrap;
}

/* タイトル：省略せず全文表示（折り返し） */
.index_news.news .nws-ttl{
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.7;
	overflow: visible;
	text-overflow: clip;
	display: block;
	white-space: normal;
	word-break: break-word;
}
@media (max-width: 550px){.index_news.news .nws-ttl{font-size: 0.9em;}}

/* SP */
@media (max-width: 767px){
	.index_news.news .nws-list > li > a{ align-items: flex-start; }
	.index_news.news .nws-list .info{
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}

	/* SPは固定幅解除 */
	.index_news.news .nws-list .cat{
		flex: 0 0 auto;
		width: auto;
	}
	.index_news.news .nws-list .cat span{
		width: auto;
		font-size:0.8em
	}
}

/* =========================================================
	 NEWS下部：背景写真＋左パネル（wp_about）
========================================================= */
.news-hero{
	width: 100%;
	margin: 100px calc(50% - 50vw) 0; /* ←左右だけ画面幅に広げる */
	background-image: var(--news-hero-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: clamp(48px, 6vw, 90px) 0;
	overflow: hidden;
}

/* 中身の横幅（左右余白を確保） */
.news-hero__inner{
	position: relative; /* ::beforeの上に出す */
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}

/* 左の半透明パネル */
.news-hero__panel{
	width: min(520px, 92vw);
	background: rgba(5, 33, 104, .46); /* #28283c系 */
	color: #fff;
	padding: clamp(30px, 3.0vw, 50px) clamp(18px, 2.2vw, 28px);
}

/* タイトル */
.news-hero__title{
	margin: 0 0 14px;
	font-size: clamp(26px, 2.8vw, 40px);
	font-weight: 700;
	letter-spacing: .04em;
	color:#ffffff;
	text-shadow: 0 2px 8px rgba(0,0,0,.55);
	text-align:center;
}

/* 本文 */
.news-hero__text{
	font-size: 13px;
	line-height: 1.9;
}
.news-hero__text p{
	margin: 0;
	color:#ffffff;
	text-shadow: 0 1px 2px rgba(0,0,0,.75),
				0 6px 16px rgba(0,0,0,.35);
	font-size:.9rem;
}
.news-hero__text p:last-child{
	margin-bottom: 0;
}

/* スマホ */
@media (max-width: 767px){
	.news-hero{
		margin-top: 80px;
		padding: 80px 0;
	}
	.news-hero__panel{
		width: 100%;
	}
}

/* =========================================================
	 スクロールでフェードイン（全セクション共通 / stagger対応）
	 - JSが動かない場合は表示されたまま（消えない）
========================================================= */

.js-fade,
.fadeUpTrigger{
	opacity: 1;
	transform: none;
}

/* JSが有効なときだけ最初は隠す */
html.js .js-fade,
html.js .fadeUpTrigger{
	opacity: 0;
	transform: translate3d(0, 16px, 0);
	transition: opacity .85s ease, transform .85s ease;
	transition-delay: var(--stagger, 0ms);
	will-change: opacity, transform;
}

/* 表示状態 */
html.js .js-fade.is-inview,
html.js .fadeUpTrigger.is-inview{
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* 動きを減らす設定の人にはアニメ無し */
@media (prefers-reduced-motion: reduce){
	html.js .js-fade,
	html.js .fadeUpTrigger{
		transition: none;
		opacity: 1;
		transform: none;
	}
}

/* =========================================================
	 RESEARCH（wp_reserch）	※整理版
	 - PC：4列均等（1fr）
	 - SP：2列（幅は80vw上限420px）
	 - 正方形統一／文字は中央／3行まで
	 - オーバーレイ色：AREA=黒、TYPE=#102974
========================================================= */

.llc-research{
	padding: clamp(44px, 6vw, 84px) 0;
	background: #fff;
}

.llc-research__inner{
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

/* 見出し */
.llc-research__hd{
	margin: 0;
	font-family: "Poppins", sans-serif;
	font-weight: 800;
	letter-spacing: .02em;
	color: #28283c;
	font-size: clamp(34px, 4.2vw, 56px);
	line-height: 1.05;
}

.llc-research__lead{
	margin: 14px 0 34px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #28283c;
	opacity: .9;
	font-size: 14px;
	line-height: 1.9;
}

/* グループ間 */
.llc-research__group{
	margin-top: 30px;
}

/* AREA / TYPE の見出し（中央＋左右に細線） */
.llc-research__cap{
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 0 28px;
	margin: 0 0 18px;
}

.llc-research__cap::before,
.llc-research__cap::after{
	content: "";
	position: absolute;
	top: 16px;
	width: 120px;
	height: 1px;
	background: rgba(40,40,60,.15);
}
.llc-research__cap::before{ right: 100%; margin-right: 18px; }
.llc-research__cap::after { left: 100%;	margin-left: 18px;	}

.llc-research__cap-en{
	font-family: "Poppins", sans-serif;
	font-weight: 800;
	letter-spacing: .08em;
	color: #28283c;
	font-size: 26px;
	line-height: 1;
}

.llc-research__cap-jp{
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #f94c08;
	font-size: 12px;
	line-height: 1;
}

/* 4枚グリッド */
.llc-research__grid{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	justify-items: stretch;
}

/* カード（正方形） */
.llc-research__card{
	--llc-card-bg: none;

	position: relative;
	display: grid;
	place-items: center;

	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto !important;

	border-radius: 2px;
	overflow: hidden;
	text-decoration: none !important;

	background: #3b3b4f;
}

/* 背景画像（ここでグレー＋少し暗く） */
.llc-research__card::after{
	content: "";
	position: absolute;
	inset: 0;

	background-image: var(--llc-card-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	filter: grayscale(100%) brightness(.85);
	transform: scale(1.001);
	transition: filter .25s ease, transform .25s ease;
	z-index: 0;
}

/* 暗幕（共通：形だけ） */
.llc-research__card::before{
	content: "";
	position: absolute;
	inset: 0;
	transition: background .25s ease;
	z-index: 1;
}

/* AREA：黒オーバーレイ（現状のまま） */
.llc-research__group--area .llc-research__card::before{
	background: rgba(0,0,0,.30);
}

/* TYPE：濃い青（#102974） */
.llc-research__group--type .llc-research__card::before{
	background: rgba(16,41,116,.36);
}

/* テキスト（中央・3行固定） */
.llc-research__card-txt{
	position: relative;
	z-index: 2;

	max-width: 90%;
	text-align: center;
	color: #fff;

	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 1.55;
	text-shadow: 0 2px 10px rgba(0,0,0,.55);

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* ←希望どおり3行 */
	overflow: hidden;
}

/* hover/タップでカラー（画像を鮮やかに） */
.llc-research__card:hover::after,
.llc-research__card:focus::after,
.llc-research__card:active::after{
	filter: grayscale(0%) brightness(1);
	transform: scale(1.03);
}

/* hover/タップ：AREAの暗幕を薄く */
.llc-research__group--area .llc-research__card:hover::before,
.llc-research__group--area .llc-research__card:focus::before,
.llc-research__group--area .llc-research__card:active::before{
	background: rgba(0,0,0,.18);
}

/* hover/タップ：TYPEの暗幕を薄く（青のまま薄く） */
.llc-research__group--type .llc-research__card:hover::before,
.llc-research__group--type .llc-research__card:focus::before,
.llc-research__group--type .llc-research__card:active::before{
	background: rgba(16,41,116,.18);
}

/* スマホ：2列（幅を80vw・上限420pxに） */
@media (max-width: 767px){
	.llc-research__inner{
		padding: 0 14px;
	}

	.llc-research__grid{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(80vw, 420px);
		margin: 0 auto;
		gap: 20px;
	}

	.llc-research__cap::before,
	.llc-research__cap::after{
		width: 70px;
	}

	.llc-research__card-txt{
		font-size: 1rem;
	}
}

/* =========================================================
	 LINK BAR（wp_button）
========================================================= */

/* フル幅背景（親コンテナ制約を突破：安定版） */
.llc-linkbar{
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	position: relative;
	background-image: var(--llc-linkbar-bg);
	background-size: cover;
	background-position: bottom;;
	background-repeat: no-repeat;
	padding: clamp(56px, 7vw, 92px) 0;
	overflow: hidden;
}

/* 読みやすいように薄い暗幕（任意） */
.llc-linkbar::before{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.18); /* ←濃さ調整 */
	pointer-events: none;
}

/* 中央にボタン2つ */
.llc-linkbar__inner{
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(18px, 4vw, 64px);
}

/* ボタン（枠線＋右に >） */
.llc-linkbar__btn{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 260px;
	height: 64px;
	padding: 0 58px 0 34px; /* 右は矢印分広め */
	background: rgba(255,255,255,.92);
	border: 2px solid #222;
	border-radius: 2px;
	text-decoration: none !important;
	color: #222 !important;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	letter-spacing: .06em;
}

/* 右の「＞」 */
.llc-linkbar__btn::after{
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #222;
	border-right: 2px solid #222;
	transform: translateY(-50%) rotate(45deg);
}

/* hover */
.llc-linkbar__btn:hover{
	background: rgba(255,255,255,1);
}

/* スマホ：縦並びにする（図っぽく自然） */
@media (max-width: 767px){
	.llc-linkbar__inner{
		flex-direction: row;			 /* ← 2個横並びのままにしたいなら row */
		gap: 14px;
	}
	.llc-linkbar__btn{
		min-width: 0;
		width: min(44vw, 220px);	 /* 2個横並びでも大きすぎない */
		height: 56px;
		padding: 0 46px 0 18px;
		font-size: 14px;
	}
	.llc-linkbar__btn::after{
		right: 16px;
	}
}
/* =========================================================
	 Footer Main（tmp/footer-bottom.php 用）最終版
	 - 背景：白
	 - PC：3カラム（ロゴ/リンク/スポンサー）
	 - SP：縦積み＋リンクは押しやすいボタン化
	 - SP：© をフッター最下部に表示（フッター内）
========================================================= */

/* Cocoon側の余白を極力なくす（必要なら） */
.footer { padding: 0; }
.footer-bottom{
	padding: 0;
	margin: 0;
}

/* ---------- 共通（PC含む） ---------- */
.llc-footer-main{
	background: #fff;
	color: #28283c;
	padding: 22px 0; /* 上下を少し小さめ */
}

.llc-footer-main__inner{
	width: 90%;
	margin: 0 auto;
	padding: 0 20px;

	display: grid;
	grid-template-columns: 1.4fr 0.6fr 1fr;
	gap: clamp(18px, 3vw, 48px);
	align-items: center;
}

/* 左：ロゴ */
.llc-footer-main__brandtop{
	display: inline-block;
	text-decoration: none !important;
}

.llc-footer-main__logo{
	width: min(360px, 90%);
	height: auto;
	display: block;
}

.llc-footer-main__addr{
	margin-top: 14px;
	font-size: 12px;
	line-height: 1.8;
	color: #28283c;
}
.llc-footer-main__addr p{
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
}

/* ©（PCは通常フロー） */
p.llc-footer-main__credit{
	margin-top: 8px;
	opacity: 0.8;
}

/* 中央：リンク */
.llc-footer-main__nav{
	display: grid;
	gap: 10px;
	justify-items: start;
}

.llc-footer-main__navlink{
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none !important;
	color: #28283c !important;
	font-size: 1rem;
}
.llc-footer-main__navlink:hover{
	opacity: 0.65;
}

/* 右：ArCS III（スポンサー） */
.llc-footer-main__sponsor{
	justify-self: end;
	text-align: left;
}

.llc-footer-main__sponsorlink{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	border-radius: 8px;
	text-decoration: none;
	line-height: 1;
}
.llc-footer-main__sponsorlink:hover{
	background: rgba(40,40,60,.05);
}
.llc-footer-main__sponsorlink:focus-visible{
	outline: 2px solid rgba(40,40,60,.35);
	outline-offset: 3px;
}

/* PCで大きく：width:250px */
.llc-footer-main__sponsorlogo{
	display: block;
	width: 250px;
	max-width: 100%;
	height: auto;
}

p.llc-footer-main__sponsornote{
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: #28283c;
	opacity: 0.9;
}

/* ---------- スマホ最適化 ---------- */
@media (max-width: 767px){

	/* ©ぶんの余白を確保して、フッター内最下部に置く */
	.llc-footer-main{
		padding: 18px 0 56px;
		position: relative;
	}

	.llc-footer-main__inner{
		grid-template-columns: 1fr;
		gap: 14px;
		text-align: center;
	}

	/* ロゴ：中央寄せ */
	.llc-footer-main__brandtop{
		display: block;
		margin: 0 auto 6px;
		text-align: center;
	}
	.llc-footer-main__logo{
		margin: 0 auto;
		width: min(72vw, 320px);
	}

	/* セクション区切り */
	.llc-footer-main__nav,
	.llc-footer-main__sponsor{
		padding-top: 12px;
		border-top: 1px solid rgba(40,40,60,.14);
	}

	/* ナビ：ボタン風（押しやすい） */
	.llc-footer-main__nav{
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
		gap: 10px;
		justify-items: stretch;
	}

	.llc-footer-main__navlink{
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 10px 12px;
		border-radius: 10px;

		background: rgba(40,40,60,.05);
		border: 1px solid rgba(40,40,60,.14);
		font-size: 14px;
		line-height: 1.3;
	}
	.llc-footer-main__navlink:hover{
		opacity: 1;
		background: rgba(40,40,60,.08);
	}

	/* スポンサー：中央 */
	.llc-footer-main__sponsor{
		justify-self: center;
		text-align: center;
	}
	.llc-footer-main__sponsorlogo{
		width: min(60vw, 260px);
		margin: 0 auto;
	}

	/* ©：フッター内の最下部に固定（mt10 を潰す） */
	p.llc-footer-main__credit{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 12px;
		margin: 0 !important;
		text-align: center;
		font-size: 12px;
		line-height: 1.4;
		color: #28283c;
		opacity: 0.85;
	}
}

/* ===== Link page cards ===== */
.llc-links-section {
	margin: 28px auto 44px;
	width:90%;
	max-width:1100px;}

.llc-links-heading{
	display:flex; align-items:center;
	font-weight:700;
	font-size:18px;
	margin: 0 0 16px;
}
.llc-links-heading::before{
	content:"";
	display:inline-block;
	width:6px; height:22px;
	background:#0b2a6f; /* 濃紺 */
	border-radius:2px;
	margin-right:10px;
}

.llc-links-grid{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap:25px;
}
@media (max-width: 1023px){
	.llc-links-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
	.llc-links-grid{ grid-template-columns: 1fr; }
}

.llc-linkcard{
	display:block;
	background:#ffffff;
	border-radius:12px;
	overflow:hidden;
	border: 1px solid rgba(11, 42, 111, .18);
	/* 影を二段にして輪郭を出す */
	box-shadow:
		0 10px 20px rgba(0,0,0,.2);

	text-decoration:none;
	transform: translateY(0);
	transition: transform .15s ease, box-shadow .15s ease;
}

.llc-linkcard:hover{
	transform: translateY(-2px);
	box-shadow:
		0 14px 26px rgba(0,0,0,.12),
		0 0 0 1px rgba(11, 42, 111, .18);
}

/* キーボード操作でも分かるように（任意） */
.llc-linkcard:focus-visible{
	outline: 3px solid rgba(11, 42, 111, .25);
	outline-offset: 2px;
}

.llc-linkcard__img{
	padding:14px 16px 10px;
	min-height:88px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.llc-links-thumb{ max-height:60px; width:auto; height:auto; }

/* 画像なしの場合：プレースホルダに投稿タイトルを表示 */
.llc-links-thumb--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f2f4f7;
  padding:12px;
  text-align:center;
}

.llc-links-thumb__text{
  color:#0b2a6f;
  font-weight:700;
  letter-spacing:0.04em;
  font-size:14px;
  line-height:1.3;
  /* 長いタイトル対策：2行で省略 */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
}


.llc-linkcard__bar{
	background:#0b2a6f;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:10px 12px;
}
.llc-linkcard__title{
	font-weight:700;
	font-size:13px;
	letter-spacing:.02em;
}
.llc-linkcard__arrow{
	font-size:18px;
	line-height:1;
	opacity:.95;
}
