@charset "UTF-8";
/* common.css */

/* ----- ↓ ver 1.0 reset ----- */
/* ヘッダー */
header {
	border-top: none;
}

/* ヘッダー 言語切り替え */
#qtranslate-chooser {
	width: auto;
	font-size: inherit;
	display: inline;
	border: none;
	transform: inherit !important;
}
#qtranslate-chooser li {
	width: auto;
}

#qtranslate-chooser li.active {
	background-color: inherit;
	color: inherit;
}

/* ヘッダー　検索ボックス */
.search_container input[type="text"] {
	padding: 0;
}
.search_container input[type="image"] {
	left: inherit;
	transform: inherit;
}
/* メインコンテンツ */
section {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.card {
	margin:  0;
	padding: 0;
	border: none;
}
.due-date,
.dd_date p.event-status {
	position: inherit;
	top: inherit;
	font-size: 12px !important;
	font-weight: inherit !important;
}
.due-date span {
	font-size: inherit;
}
.dd_date p.event-status:before,
.dd_date p.event-status:after  {
	content: none;
}
/* 見出し */
h3 {
	padding-left: 0;
}
h3:before {
	content: none;
}


/* ----- ↑ ver 1.0 reset ----- */



header *,
header *::before,
header *::after,  
main *,
main *::before,
main *::after,  
footer *,
footer *::before,
footer *::after {
	font-family: 'Noto Sans JP', sans-serif;
	font-family: heisei-kaku-gothic-std, sans-serif;
	box-sizing: border-box;
	border-collapse: collapse;
}
body {
	position: relative;
	background-color:#f8f8f8;
	opacity: 0;
	transition: opacity .4s;
}
body.loaded {
	opacity: 1;
	transition: opacity .4s;
}




/* fontの再描画ちらつき(FOUT)対策 */
h1,
h2,
h3,
h4,
li,
dd,
dt,
a,
p {
 visibility: hidden;
}
.wf-active h1,
.wf-active h2,
.wf-active h3,
.wf-active h4,
.wf-active li,
.wf-active dd,
.wf-active dt,
.wf-active a,
.wf-active p {
 visibility: visible;
}
.line_inherit {
	line-height: 1 !important;
}

h4 {
	font-size: 16px !important;
}

/* --- maxWidth --- */
/* ( section > .wrap )( .bg_wrap > .wrap ) etc */

.bg_wrap,
.wrap {
	width: 100%;
	margin: auto;
	padding: 0 60px;
	padding: 0 clamp(40px,3.901vw,60px);
}
.bg_wrap-PadNone {
	padding: 0;
}
.bg_wrap,
.bg_wrap-PadNone {
	padding-top:    80px;
	padding-bottom: 80px;
	padding-top:    clamp(40px,6.502vw,80px);
	padding-bottom: clamp(40px,6.502vw,80px);
}
.wrap {
	max-width: 1500px;
}
.bg_wrap > .wrap,
.wrap > .wrap   {
	padding: 0;
}
.flex_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.page_link {
	margin-top: -120px;
	padding-top: 120px;
}

/* --- text --- */
html,
h1,
h2,
h3,
h4,
a { color:inherit; }

/* heading */
h1,
h2,
h3,
h4 {
	font-family:'Noto Sans JP', sans-serif !important;
	font-weight: bold;
	line-height:   1.75em;
	letter-spacing: .15em;
}

/* content_text  */
ul,
li,
dl,
dd,
dt,
a,
p {
	font-size: 16px;
	font-size: min(1.821vw,16px);
	line-height:   2em;
	letter-spacing: .1em;
}

span       { letter-spacing:.1em;  }
a          { text-decoration:none; }
a:hover    { color:inherit; text-decoration:none; }

a.a_linkNone { pointer-events:none; }

.fb_300    { font-weight:300;    }
.fb_N      { font-weight:normal; }
.fb_500    { font-weight:500;    }
.fb_bold   { font-weight:bold !important;   }
.alignL    { text-align:left !important;    }
.alignR    { text-align:right !important;   }
.alignC    { text-align:center !important;  }
.alignJ    { text-align:justify !important; }

.bold        { font-weight:bold; }
.text_indent { text-indent:-1em; padding-left:1em; }

.ff_go  { font-family:heisei-kaku-gothic-std, sans-serif !important; }
.ff_din { font-family: urw-din, sans-serif !important; }

.heading_blue { color:#1f5ba3 !important; }

/* 灰色の小さい文字 */
span.small { font-size:14px; }

/* --- others --- */
.pc_blk { display:block !important; }
.sp_blk { display:none  !important; }

.flex_box.pc_blk { display:flex !important; }
.flex_box.sp_blk { display:none !important; }


/* mar & pad */
.marXL_T  { margin-top:100px !important; }
.marL_T   { margin-top: 80px !important; }
.marM_T   { margin-top: 60px !important; }
.marS_T   { margin-top: 40px !important; }
.marXS_T  { margin-top: 20px !important; }
.marXXS_T { margin-top: 10px !important; }
.mar0_T   { margin-top:  0px !important; }

.marXL_B  { margin-bottom:100px !important; }
.marL_B   { margin-bottom: 80px !important; }
.marM_B   { margin-bottom: 60px !important; }
.marS_B   { margin-bottom: 40px !important; }
.marXS_B  { margin-bottom: 20px !important; }
.marXXS_B { margin-bottom: 10px !important; }
.mar0_B   { margin-bottom:  0px !important; }

/* marVW */
.marXL_T  { margin-top:min(10vw,100px) !important; }
.marL_T   { margin-top:min(8vw,80px) !important;   }
.marM_T   { margin-top:min(6vw,60px) !important;   }
.marS_T   { margin-top:min(4vw,40px) !important;   }
.marXS_T  { margin-top:min(2vw,20px) !important;   }
.marXXS_T { margin-top:min(1vw,10px) !important;   }

.marXL_B  { margin-bottom:min(10vw,100px) !important; }
.marL_B   { margin-bottom:min(8vw,80px) !important;   }
.marM_B   { margin-bottom:min(6vw,60px) !important;   }
.marS_B   { margin-bottom:min(4vw,40px) !important;   }
.marXS_B  { margin-bottom:min(2vw,20px) !important;   }
.marXXS_B { margin-bottom:min(1vw,10px) !important;   }


/* pad */
.padXL_T  { padding-top:100px !important; }
.padL_T   { padding-top: 80px !important; }
.padM_T   { padding-top: 60px !important; }
.padS_T   { padding-top: 40px !important; }
.padXS_T  { padding-top: 20px !important; }
.padXXS_T { padding-top: 10px !important; }
.pad0_T   { padding-top:  0px !important; }

.padXL_B  { padding-bottom:100px !important; }
.padL_B   { padding-bottom: 80px !important; }
.padM_B   { padding-bottom: 60px !important; }
.padS_B   { padding-bottom: 40px !important; }
.padXS_B  { padding-bottom: 20px !important; }
.padXXS_B { padding-bottom: 10px !important; }
.pad0_B   { padding-bottom:  0px !important; }

/* padVW */
.padXL_T  { padding-top:min(10vw,100px) !important; }
.padL_T   { padding-top:min(8vw,80px) !important;   }
.padM_T   { padding-top:min(6vw,60px) !important;   }
.padS_T   { padding-top:min(4vw,40px) !important;   }
.padXS_T  { padding-top:min(2vw,20px) !important;   }
.padXXS_T { padding-top:min(1vw,10px) !important;   }

.padXL_B  { padding-bottom:min(10vw,100px) !important; }
.padL_B   { padding-bottom:min(8vw,80px) !important;   }
.padM_B   { padding-bottom:min(6vw,60px) !important;   }
.padS_B   { padding-bottom:min(4vw,40px) !important;   }
.padXS_B  { padding-bottom:min(2vw,20px) !important;   }
.padXXS_B { padding-bottom:min(1vw,10px) !important;   }





.flex_box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
img {
	width: 100%;
	height: auto;
}

/* ===== ↓ header menu ↓ ===== */
header {
	position: relative;
	z-index: 9999;
	opacity: 0;
	transition: opacity .3s;
}
.loaded header {
	opacity: 1;
}
.header_wrap {
	width:  100%;
	height: 140px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
	position: fixed;
	top:  0;
	left: 0;
	padding: 20px 40px; 
	padding-left: min(3.901vw,40px);
	padding-left: min(3.901vw,40px);
	background-color: rgba(253,246,236,.95);
	transition: height .6s, background-color .6s;
}
.header_scroll .header_wrap {
	height: 100px;
	padding-top:    20px;
	padding-bottom: 20px;
	background-color: rgba(255, 255, 255,.95);
	transition: height .6s, background-color .6s;
}
.header_logo {
	width:  25%;
	max-width: 350px;
	height: auto;
	position: relative;
	margin-right: 50px;
	margin-right: min(2vw,30px);
	z-index: 2;
}
.header_logo > a {
	width:  auto;
	max-width: 300px;
	height: 100%;
	height: auto;
	letter-spacing: .05em;
	display: inline-block;
}
.header_logo img {
	width: 100%;
	object-fit: contain;
}
nav.pc_blk {
	width: 100%;
}

.navul_pc {
	width:  100%;
	height: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.navul_pc li:not(:first-of-type) {
	margin-left: 30px;
	margin-left: min(1.951vw,30px);
}
.navul_pc a {
	font-size: 14px; /* 12 */
	font-size: min(1.1vw,14px);
	font-weight: 400;
}

/* メニューテキスト hoverアクション */
.navul_pc a .hover_action {
	padding-bottom: 5px;
	background: linear-gradient(currentColor 0 0) 0 100% /var(--d, 0) 1px no-repeat;
	transition: background 0.5s;
}
.navul_pc a .hover_action.hover_active {
	--d: 100%;
}

/* 言語設定 */
.nav_language li {
	display: inline-block;
}
.nav_language li:not(:first-of-type) {
	margin-left: 0 !important;
}
.nav_language li:not(:first-of-type):before {
	content: "/";
	width:  1em;
	height: 1em;

	letter-spacing: 0;
	display: inline-block;
	margin-left:  .25em;
	margin-right: .25em;
}
.nav_language li a {
	color: #cbcbcb;
}
.nav_language li.active a {
	color: #000;
}
.nav_language a,
.nav_language a span {
	letter-spacing: 0;
}

/* 検索ボックス */
.search_container label {
	display: none;
}
.nav_search {
	width: 20%;
	max-width: 170px;
}
.search_container {
	box-sizing: border-box;
	position: relative;
	background-color: #fff;
}
.search_container input[type="text"] {
	width: calc(100% - 40px);
	max-width: 110px;
	height: 100%;
	font-size: 14px;
	border: none;
	margin-right: auto;
}
.search_container input[type="text"]:focus {
	outline: 0;
}
.search_container {
	width: 100%;
	height: 2.2em;
	padding: 0 10px;
	border: 1px solid #000;
	border-radius: 20px;
	overflow: hidden;
}
.search_container input[type="image"] {
	width: 40px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	padding: 8px;
	top:   0;
	right: 0;
	cursor: pointer;
	color: #fff;
	border: none;
	background: #000;
	outline : none;
}
.search_container ::-webkit-input-placeholder {
	color: #3879D9;
}
/* header add */
.menu-gnavi_about-container {
	width: 100%;
}

/* ===== ↑ header menu ↑ ===== */


/* ===== ↓ main_cont ↓ ===== */

/* ----- mv ----- */
#mv_wrap {
	padding-top: 140px;
	background-color: #fdf6ec;
}

/* ----- bg ----- */
.bg_grey {
	background-image: url(../../img/index/bg_grey.jpg);
	background-size: 800px;
}
.bg_orange {
	background-color: #f2977d;
}
.bg_grey-blue {
	background-color: #aabaca;
}
.bg_green {
	background-color: #b1cab7;
}

/* ----- 一覧を見る ボタン ----- */
.ichi_btn   {
	width: 100%;
	text-align: center;
}
.ichi_btn a {
	font-size: 16px; /* to 14 */
	font-size: min(1.821vw,16px);
	line-height: 1;
	letter-spacing: .05em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 15px 60px;
	color: #000;
	border: 1px solid #000;
	border-radius: 60px;
	background: #fff;
	transition: color .3s, background-color .3s;
	z-index: 1;
}
.ichi_btn .arrow {
	width:  1.5em;
	height: 1.5em;
	letter-spacing: 0;
	line-height: 1;
	display: flex;
	text-align: center;
	align-items:     center;
	justify-content: center;
	margin-left: 1em;
	border-radius: 60px;
	border: 1px solid #000;
}
.ichi_btn .arrow:before {
	content: "→";
	font-size: .75em;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* ----- banner ----- */
.big_banner {
	width: 100%;
	margin-left:  auto;
	margin-right: auto;
}
.big_banner .img_banner {
	width: calc(100%/3 - 50px/3);
	width: calc(100%/3 - min(5vw,50px)/3);
}
.little_banner {
	justify-content: center;
}
.little_banner .img_banner {
	width: calc(100%/4 - 20px);
}
.little_banner .img_banner {
	margin-left:  10px;
	margin-right: 10px;
}


/* ----- sec_menu ----- */
/* 親 */
#sec_menu .flex_box {
	flex-wrap: nowrap;
}
/* a common */
.act_title,
.div_act .act_child,
.ul_act-grandson a,
.ul_act.other_info a {
	letter-spacing: 0;
}
/* a_下線付きカテゴリ */
.act_title {
	width: 100%;
	font-size: 16px;
	font-weight:bold;
	line-height: 1;
	letter-spacing: .05em;
	display: inline-block;
	margin-bottom: 20px;
}
/* 子menu(線下 黒) */
#sec_menu .borderT:before {
	content: "";
	width: 100%;
	height: 1px;
	line-height: 1;
	display: block;
	background-color: #989898;
	margin-bottom: 20px;
}
.div_act {
	margin-bottom: 20px;
}
.div_act .act_child {
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	display: inline-block;
	margin-bottom: 15px;
}
/* 孫menu(灰色) */
.ul_act-grandson li {
	margin-left: 1em;
}
.ul_act-grandson a {
	font-size: 13px;
	font-weight: 300;
	color: #808080;
}
.ul_act-grandson li a:before {
	content: "> ";
}
/* flex 子 */
.navwrapL {
	width: calc(100% - 100%/3);
}
.navwrapR {
	width: calc(100%/3 - 50px);
}
.navwrapL .actL,
.navwrapL .actR {
	width: calc(100%/2 - 50px/2);
}
.navwrapR .nav_honbu-sien {
	width: 100%;
}
/* 子menu(線下 黒) */
#sec_menu .borderT:before {
	margin-bottom: 10px;
}

/* --- 左 --- */
.navL_flex {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

/* --- 右 --- */
.navwrapR {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.ul_act.other_info li:not(:first-of-type) {
	margin-top: 10px;
}
/* ===== ↑ main_cont ↑ ===== */


/* ===== ↓ footer menu ↓ ===== */
footer .footer_content {
	padding: 80px 60px;
	padding: min(6.502vw,80px) min(3.901vw,60px);
	background-color: #000;
}


.footer_content > * { color:#fff; }

.footer_wrap {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

/* 左 ロゴ */
.footer_logo {
	max-width: 400px;
	margin-right: 50px;
}

/* 右 文章 */
.footer_nav {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
}
.footer_nav a {
	font-size: 14px;
	line-height: 1;
	font-weight: 300;
}
.footer_nav li:not(:first-of-type) {
	margin-left: 40px;
}
.footer_copy {
	font-size: 12px;
	font-weight: 300;
	text-align: right;
	line-height: 1;
}


/* ===== ↑ footer menu ↑ ===== */















@media screen and (max-width:1100px) {
	/* ----- sec_menu ----- */
	#sec_menu .flex_box {
		width: 100%;
		max-width: 1220px;
		flex-wrap: wrap;
		margin-left:  auto;
		margin-right: auto;
	}
	.navwrapL,
	.navwrapR {
		width: 100%;
	}
	.navwrapL {
		margin-bottom: 20px;
		padding-top: 20px;
	}
	.nav_honbu-sien {
		max-width: 100%;
	}
	#sec_menu .flex_box {
		width: 100%;
	}
	/* ===== ↓ footer menu ↓ ===== */
	.navwrapR .nav_honbu-sien {
		width: calc(100%/2 - 50px/2);
	}
	/* ===== ↑ footer menu ↓ ===== */
}
@media screen and (max-width: 1023px) {
	/* ===== ↓ header menu ↓ ===== */
	nav.pc_blk { display:none !important;  }
	nav.sp_blk { display:block !important; }

	.header_wrap,
	.header_scroll .header_wrap {
		padding: 15px;
		padding-left:  min(4vw,30px);
		padding-right: min(4vw,30px);
	}
	.header_wrap,
	.header_scroll .header_wrap {
		height: 16vw;
		min-height: 60px;
		max-height: 80px;
	}
	.header_wrap { 
		background-color: rgba(253,246,236,.8);
	}
	.header_logo {
		width: 50%;
		max-width: 240px;
		min-width: 200px;
	}
	/* ハンバーガーボタン */
	.openbtn1{
		width:  50px;
		height: 50px;
		position: relative;
		text-align: center;
		top:   0;
		right: 0;
		cursor: pointer;
		z-index: 9999;
	}
	/* ハンバーガーボタン ×に変化 */  
	.openbtn1 span {
		display: inline-block;
		transition: transform .4s, background-color .4s;
		position: absolute;
		left: 25%;
		height: 1px;
		background-color: #444;
		width: 50%;
	}
	.openbtn1.active span {
		background-color: #000;
	}
	.openbtn1 span:nth-of-type(1) {
		top:13px; 
	}
	.openbtn1 span:nth-of-type(2) {
		top:23px;
	}
	.openbtn1 span:nth-of-type(3) {
		top:34px;
	}
	.openbtn1.active span:nth-of-type(1) {
		width: 50%;
		top: 17px;
		left: 13px;
		transform: translateY(6px) rotate(-45deg);
	}
	.openbtn1.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openbtn1.active span:nth-of-type(3){
		top: 29px;
		left: 13px;
		transform: translateY(-6px) rotate(45deg);
		width: 50%;
	}
	/* ハンバーガーメニューの中身 */
	.header_wrap {
		transition: background-color .6s;
	}
	.overflowY .header_wrap {
		background-color: #f8f8f8;
	}	
	#g-nav {
		width:  100%;
		height: 100vh;
		position: fixed;
		top:  0;
		left: 0;
		margin-top: 0;
		opacity: 0;
		pointer-events: none;
		background: #000;
		background: #f8f8f8;
		transform: translateY(0%);
		transition: opacity .6s;
		z-index: -2;
		padding: 60px 0px 0;
	}
	#g-nav.panelactive {
		pointer-events: auto;
		opacity: 1;
		z-index:990;
		transform: translateY(0%);
		transition: opacity .6s;
	}
	#g-nav-list {
		width: 100%;
		margin-left:  auto;
		margin-right: auto;
		
	}
	.navul_sp li {
		width: 100%;
	}
	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list{
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	/* スマホメニューの中身 */
	#g-nav ul  {
		width: 100%;
		display: flex;
		text-align: center;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: center;
		border-top: .5px solid rgba(0,0,0,.5);
	}
	#g-nav ul:first-of-type {
		border-top: none;
	}
	#g-nav-list > ul > li {
		width: 100%;
		text-align: left;
		margin-right: 0;
	}
	#g-nav-list > ul > li > a,
	#g-nav-list .child_menuSP .menu-item > a {
		width: 100%;
		font-size: 13px;
		letter-spacing: .075em;
		line-height: 1.5em;
		display: inline-block;
		padding: 10px 0 10px min(4vw,30px);
		border-bottom: 1px solid #e5e5e5;
	}
	#g-nav .nav_language,
	#g-nav .nav_search   {
		padding: 0;
		border-bottom: none;
	}
	/* 言語切り替え */
	#g-nav .nav_language li {
		width: auto;
		margin-top: 20px !important;
	}
	/* 検索窓 */
	.search_container {
		margin: 20px 0 0;
	}
	.search_container,
	.search_container input[type="text"] {
		text-align: left;
	}
	.nav_search,
	.search_container input[type="text"] {
		max-width: 80%;
	}
	.search_container input[type="text"] {
		max-width: 100%;
	}

	/* メニュー開いている時overflow 解除 */
	body           { overflow-y:auto;   }
	body.overflowY { overflow-y:hidden; }


	/* ----- child menu ----- */
	#g-nav-list > ul > li.has-children {
		padding-bottom: 0;
	}
	.child_menuSP {
		width: 100%;
	}
	.child_menuSP li,
	.child_menuSP li a {
		width: 100%;
		text-align: left;
	}
	.child_menuSP li {
		background-color: #f1f1f1;
	}
	.child_menuSP li:last-of-type a {
		border-bottom: none !important;
	}
	/* アコーディオン用　▼アイコン */
	#g-nav-list .has-children {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#g-nav-list .has-children {
		margin-bottom: -1px;
		border-bottom: 1px solid #e5e5e5;
	}
	#g-nav-list .has-children > a {
		width: calc(100% - 65px);
		border-bottom: none;
	}
	#g-nav-list .child_menuSP .menu-item:first-of-type > a {
		border-top: 1px solid #e5e5e5;
	}
	#g-nav-list .accordion_icon {
		width:  65px;
		height: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		padding-right: min(3.5vw,30px);
	}
	#g-nav-list .accordion_icon span {
		width:  13px;
		height: 13px;
		display: block;
		margin-bottom: 10%;
		border:  1px solid;
		border-color:  transparent transparent #000 #000;
		transform: rotate(-45deg);
	}
	#g-nav-list .accordion_icon.close span {
		transform: rotate(135deg);
		margin-bottom: -12%;
	}
	#g-nav-list .child_menuSP {
		display: none;
	}
	/* ===== ↑ header menu ↑ ===== */
}
@media screen and (max-width:1000px) {
	/* ===== ↓ footer menu ↓ ===== */
	.footer_wrap {
		flex-wrap: wrap;
	}
	.footer_cont {
		width: 100%;
	}
	/* ===== ↑ footer menu ↑ ===== */
}


/* ----- maxWidth 768px ----- */
@media screen and (max-width:768px) {
	/* --- maxWidth --- */
	/* ( section > .wrap )( .bg_wrap > .wrap ) etc */
	#mv_wrap:has(+ #sec_staff),
	#mv_wrap:has(+ #sec_access),
	#mv_wrap:has(+ #sec_philo)  {
		padding-top: 20px;
	}
	.bg_wrap,
	.wrap {
		width: 100%;
		margin: auto;
		padding: 0 30px;
		padding: 0 clamp(20px,5.333vw,50px); 
	}
	.wrap {
		max-width: 600px;
	}
	.bg_wrap,
	.bg_wrap-PadNone {
		padding-top:    40px;
		padding-bottom: 40px;
		padding-top:    clamp(40px,16vw,60px);
		padding-bottom: clamp(40px,16vw,60px);
	}
	.bg_wrap > .wrap {
		padding-left:  0;
		padding-right: 0;
	}
	.page_link {
		margin-top: -60px;
		padding-top: 60px;
	}
	.navwrapL .actL,
	.navwrapL .actR,
	.navwrapR .nav_honbu-sien {
		width: 100%;
	}

	/* --- text --- */
	/* content_text */
	ul,
	li,
	dl,
	dd,
	dt,
	a,
	p { font-size: 14px; }

	.font10-SP { font-size:10px !important; }
	.font12-SP { font-size:12px !important; }
	.font14-SP { font-size:14px !important; }
	.font16-SP { font-size:16px !important; }
	.font18-SP { font-size:18px !important; }
	.font20-SP { font-size:20px !important; }
	.font22-SP { font-size:22px !important; }
	.font24-SP { font-size:24px !important; }

	/* mar & pad */
	/* mar */
	.marXL_T  { margin-top:50px !important; }
	.marL_T   { margin-top:40px !important; }
	.marM_T   { margin-top:30px !important; }
	.marS_T   { margin-top:20px !important; }
	.marXS_T  { margin-top:10px !important; }
	.mar0_T   { margin-top: 0px !important; }

	.marXL_B  { margin-bottom:50px !important; }
	.marL_B   { margin-bottom:40px !important; }
	.marM_B   { margin-bottom:30px !important; }
	.marS_B   { margin-bottom:20px !important; }
	.marXS_B  { margin-bottom:10px !important; }
	.mar0_B   { margin-bottom: 0px !important; }
	
	/* mar SP限定 */
	.marXL_T-SP  { margin-top:50px !important; }
	.marL_T-SP   { margin-top:40px !important; }
	.marM_T-SP   { margin-top:30px !important; } 
	.marS_T-SP   { margin-top:20px !important; } 
	.marXS_T-SP  { margin-top:10px !important; }
	.mar0_T-SP   { margin-top: 0px !important; }

	.marXL_B-SP  { margin-bottom:50px !important; }
	.marL_B-SP   { margin-bottom:40px !important; }
	.marM_B-SP   { margin-bottom:30px !important; }
	.marS_B-SP   { margin-bottom:20px !important; }
	.marXS_B-SP  { margin-bottom:10px !important; }
	.mar0_B-SP   { margin-bottom: 0px !important; }

	/* pad */
	.padXL_T  { padding-top:50px !important; }
	.padL_T   { padding-top:40px !important; }
	.padM_T   { padding-top:30px !important; }
	.padS_T   { padding-top:20px !important; }
	.padXS_T  { padding-top:10px !important; }

	.padXL_B  { padding-bottom:50px !important; }
	.padL_B   { padding-bottom:40px !important; }
	.padM_B   { padding-bottom:30px !important; }
	.padS_B   { padding-bottom:20px !important; }
	.padXS_B  { padding-bottom:10px !important; }

	/* pad SP限定 */
	.padXL_T-SP  { padding-top:50px !important; }
	.padL_T-SP   { padding-top:40px !important; }
	.padM_T-SP   { padding-top:30px !important; }
	.padS_T-SP   { padding-top:20px !important; }
	.padXS_T-SP  { padding-top:10px !important; }
	.pad0_T-SP   { padding-top: 0px !important; }

	.padXL_B-SP  { padding-bottom:50px !important; }
	.padL_B-SP   { padding-bottom:40px !important; }
	.padM_B-SP   { padding-bottom:30px !important; }
	.padS_B-SP   { padding-bottom:20px !important; }
	.padXS_B-SP  { padding-bottom:10px !important; }
	.pad0_B-SP   { padding-bottom: 0px !important; }

	/* --- others --- */
	.pc_blk { display:none  !important; }
	.sp_blk { display:block !important; }

	.flex_box.pc_blk { display:none !important; }
	.flex_box.sp_blk { display:flex !important; }

	.flex_box { flex-wrap:wrap; }


	/* ===== ↓ main_cont ↓ ===== */
	
	/* ----- #mv ----- */
	#mv_wrap {
		padding-top: 0;
	}

	/* ----- 一覧を見るボタン ----- */
	.ichi_btn   {
		width: 100%;
		text-align: center;
	}
	.ichi_btn a {
		width: 100%;
		max-width: 300px;
		font-size: 16px;
	}

	/* ----- SNS & Banner ----- */
	#sec_banner .bg_wrap {
		padding-top:    40px;
		padding-bottom: 40px;
	}
	.big_banner .img_banner {
		width: 100%;
	}
	.big_banner .img_banner:not(:first-of-type) {
		margin-top: 20px;
	}
	.little_banner {
		justify-content: space-between;
	}
	.little_banner .img_banner {
		width: calc(100%/2 - 15px/2);
		margin-left:  0;
		margin-right: 0;
	}
	.little_banner .img_banner:not(:nth-of-type(-n+2)) {
		margin-top: 15px;
	}

	/* ----- sec_menu list ----- */
	#sec_menu.bg_wrap {
		background-image: url(../../img/index/bg_grey.jpg);
		background-size: 800px;
		padding-top: 0;
		padding-bottom: 40px;
	}
	#sec_menu .wrap {
		max-width: 600px;
	}
	.navwrapL,
	.navwrapR,
	.navL_flex,
	.navR_flex,
	.actL,
	.actR,
	.nav_honbu-sien {
		width: 100%;
		flex-wrap: wrap;
		margin-right: 0;
	}
	.navwrapL {
		margin-bottom: 0;
	}
	.div_act .act_child,
	.ul_act-grandson li {
		margin-left: 10px;
	}
	.act_kaikaku,
	.act_honbu,
	.act_sien   {
		margin-bottom: 40px;
	}
	.act_honbu {
		margin-bottom: 0;
	}

	.other_info li,
	.other_info li a {
		line-height: 1;
	}
	.ul_act.other_info li:not(:first-of-type) {
		margin-top: 15px;
	}
	/* ===== ↑ main_cont ↑ ===== */


	/* ===== ↓ footer menu ↓ ===== */
	footer .footer_content {
		padding: 40px min(5.333vw,50px);
	}
	.nav_sns {
		width: fit-content;
		margin-left:  auto;
		margin-right: auto;
	}
	.footer_wrap {
		max-width: 600px;
		margin-left:  auto;
		margin-right: auto;
	}
	.footer_nav {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.footer_nav li {
		width: 100%;
		margin-left: 0 !important;
	}
	.footer_nav li:not(:first-of-type) {
		margin-top: 10px;
	}
	.footer_logo {
		max-width: 300px;
		display: inline-block;
		margin-left:  auto;
		margin-right: auto;
		margin-bottom: 20px;
	}
	.footer_copy {
		font-size: 12px;
		line-height: 1.7em;
		text-align: center;
	}
	/* ===== ↑ footer menu ↑ ===== */


	@media screen and (min-width: 650px) {
		/* ----- footer ----- */
		.footer_nav {
			margin-bottom: 40px;
		}
		.footer_nav li {
			width: auto;
		}
		.footer_nav li:not(:first-of-type) {
			margin-top: 0;
			margin-left: 20px !important;

		}
		.footer_logo {
			margin-bottom: 30px;
			transform: translateX(-3%);
		}
		.footer_copy br.sp_blk {
			display: none !important;
		}
	}
}

@media screen and (max-width: 600px) {
	#wpadminbar { position:fixed !important; }
}

@media screen and (max-width: 374px) {
	.nav_sns.sp_blk {
		width: 100%;
		overflow-x: scroll;
	}
}


/* ===== PC mega menu ===== */
@media screen and (min-width: 1024px){
	/* PCmenu 大枠 */
	.navul_pc .act_wrap {
		width: 100%;
		position: absolute;
		left:  0;
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
		overflow: hidden;
		transition: .5s;
		z-index: 990;
		background-color: rgba(255, 255, 255,.95);
	}
	.navul_pc .sub-menu {
		width: 100%;
		max-width: 1000px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		margin-left:  auto;
		margin-right: auto;
		padding: 20px 40px;
		padding-top:     min(2vw,20px);
		padding-bottom:  min(2vw,20px);
		z-index: 500;
	}

	/* hover時の斜め移動対策 */
	.navul_pc li > a ~ .hover_area {
		content: "";
		width:  100%;
		height: 160px;
		display: inline-block;
		position: absolute;
		top:  0%;
		left: 0%;
		transition: height .6s;
		z-index: 1;
		visibility: hidden;
	}
	.navul_pc li > a ~ .hover_area.appear {
		visibility: visible;
	}
	.header_scroll .navul_pc li > a ~ .hover_area {
		height: 100px;
	}

	/* hover時の設定 */
	.navul_pc .nav_btnbox {
		margin-top:    40px;
		margin-left:   40px;
		margin-bottom: 40px;
	}
	.navul_pc .nav_btnbox a {
		margin-left: 0 !important;
	}
	.navul_pc .hover_area:hover ~ .act_wrap,
	.navul_pc li > a:hover ~ .hover_area ~ .act_wrap,
	.navul_pc .has-children a:hover ~ .act_wrap,
	.navul_pc .has-children .act_wrap:hover {
		width: 100%;
		margin-top: 34px;
		visibility: visible;
		pointer-events: inherit;
		opacity: 1;
	}
	.navul_pc .nav_btnbox .hover_area:hover ~ .act_wrap,
	.navul_pc .nav_btnbox a:hover ~ .hover_area ~ .act_wrap,
	.navul_pc .nav_btnbox a:hover ~ .act_wrap,
	.navul_pc .nav_btnbox .act_wrap:hover {
		margin-top: 26px;
	}
	.navul_pc .pad_b,
	.navul_pc > li > a:hover {
		margin-bottom: 0;
		padding-bottom: 40px;
	}
	.navul_pc .pad_b,
	.navul_pc .nav_btnbox:hover {
		margin-bottom: 0;
		padding-bottom: 40px;
	}

	/* PC menu 一項目 */
	.navul_pc .menu_head {
		width: fit-content;
		font-size: 16px;
		font-size: min(1.4vw,16px);
		margin-right: 50px;
		margin-right: min(7vw,70px);
		align-self: flex-start;
	}
	.navul_pc .h3_menu-head {
		font-size: 16px;
		font-size: min(1.4vw,16px);
		min-width: 10em;
		margin-top: .25em;
	}
	.navul_pc li > a {
		position: relative;
		margin-top:    40px;
		margin-bottom: 40px;
		z-index: 2;
	}
	.navul_pc .nav_btnbox > a {
		margin-top: 0;
		margin-bottom: 0;
	}
	.navul_pc .nav_btnbox > a:hover {
		margin-top: 0;
		margin-bottom: 0;
		padding-bottom: 1em;
	}
	/* PC mega-menu 一項目 */
	.navul_pc .sub-menu .menu_head + div {
		width: auto;
		max-width: 660px;
	}
	.navul_pc .menu {
		width: fit-content;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.navul_pc li.menu-item {
		width: fit-content;
		line-height: 1em;
		position: relative;
		color: #333;
		margin: 10px 40px 10px 0 !important;
		margin: min(1vw,10px) min(4vw,40px) min(1vw,10px) 0 !important;
		padding-right: 20px;
		padding-right: min(2vw,20px);
	}
	.navul_pc li.menu-item:after {
		content: '';
		width: 0;
		height: 0;
		position: absolute;
		top: 50%;
		right: 0;
		border-style: solid;
		border-width: 6px 0 6px 8px;
		border-color: transparent transparent transparent #333;
		margin-top: -6px;
		margin-left: 15px;
	}

	.navul_pc .sub-menu img {
		display: inline-block;
	}
	.navul_pc .menu-item a {
		text-align: left;
		line-height: 1;
		display: inline-block;
		margin: 0 !important;
		padding: 0;
	}
}


