@charset "UTF-8";
/* common.css */

/* 
	・min-width 1200pxを基準としてclamp
 */

*,
*::before,
*::after  {
	font-feature-settings: "palt";
	letter-spacing: .12em;
	box-sizing: border-box;
	border-collapse: collapse;
}
#wpadminbar * {
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif !important;
}
#wpadminbar *:before,
#wpadminbar .ab-icon,
#wpadminbar .ab-item:before,
#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon,
.wp-admin-bar-arrow {
	font: normal 20px/1 dashicons !important;	
}

/* ===== hover animation ===== */
.hover_zoom {
	position: relative;
	overflow: hidden;
}
.hover_zoom img {
	transform: scale(1);
	transform-origin: center;
	transition: transform .3s;
	transition-timing-function: ease-out;
}
a:hover .hover_zoom img {
	transform: scale(1.1);
}
div.cf-turnstile {
    display: flex !important;
    justify-content: center !important;
    margin-top: 40px;
}


/* ===== Wrap ===== */
body {
	position: relative;
}
main {
	padding-bottom: 100px;
}
.bg_wrap,
.wrap {
	width: 100%;
	margin: auto;
	padding: 0 40px;
	padding: 0 clamp(40px,5vw,60px);
}
.wrap {
	max-width: 1200px;
}
section > .wrap {
	max-width: 1360px;
}

.bg_wrap > .wrap,
.wrap > .wrap   {
	padding: 0;
}
.flex_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}


/* ===== Font Family ===== */
.ff_notos { font-family:'Noto Sans JP', noto-sans-cjk-jp, sans-serif !important; }
.ff_swiss { font-family:"swiss-721-bt-condensed", sans-serif !important; }

/* ===== text ===== */
html,
h1,
h2,
h3,
h4,
a {
	color:#070a4a;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
	font-family:'Noto Sans JP', noto-sans-cjk-jp, sans-serif;
	line-height: 1.5em;
	letter-spacing: .15em;
	color: #070a4a;
}

ul,
li,
dl,
dd,
dt,
a,
p {
	font-size: clamp(13px,1.5vw,16px);
	font-family:'Noto Sans JP', noto-sans-cjk-jp, sans-serif;
	line-height:   2em;
	letter-spacing: .15em;
}
p { font-weight:500; }

h3 .head_tag {
	font-size: clamp(13px,1.5vw,16px);
}
.head_tag {
	line-height: 1;
	display: inline-block;
	padding: .5em;
	color: #fff;
	background-color: #070a4a;
	margin-left: .75em;
	transform: translateY(-.5em);
}
.icon_head {
	font-size: 37px;
	font-size: min(3.7vw,37px);
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	margin-bottom: .75em;
}
.icon_head:before {
	content: "";
	width:  2.5em;
	height: 2.5em;
	min-width:  2.5em;
	min-height: 2.5em;
	display: block;
	background-image: url(../../img/index/head_icon.svg);
	background-repeat: no-repeat;
	background-position: center;
	margin-right: .25em;
}


p       { text-align:justify; }
span    { letter-spacing:.1em;  }
a       { text-decoration:none; }
a:hover { color:inherit; text-decoration:none; }

.fw_normal { font-weight:normal !important; }
.fw_500    { font-weight:500 !important;    }
.fw_bold   { font-weight:bold !important;   }

.align_left    { text-align:left !important;    }
.align_right   { text-align:right !important;   }
.align_center  { text-align:center !important;  }
.align_justify { text-align:justify !important; }

.color_blue { color:#070a4a; }

.text_indent { text-indent:-1em; padding-left:1em; }

.small { font-size:.75em; }

span.small { font-size:12px; }

.cont {
	font-weight: 500;
}

/* ===== 表示・非表示 ===== */
.pc_blk  { display:block !important; }
.sp_blk  { display:none !important;  }
.tab_blk { display:none !important;  }

.pc_inline  { display:inline !important; }
.sp_inline  { display:none !important;   }

.pc_flex  { display:flex !important }
.sp_flex  { display:none !important }

.pc_table { display:table !important; }
.sp_table { display:none !important;  }

.flex_box.pc_blk { display:flex !important; }
.flex_box.sp_blk { display:none !important; }

/* ===== 余白 ===== */
.marXXL_T { margin-top:100px !important; }
.marXL_T  { margin-top: 80px !important; }
.marL_T   { margin-top: 60px !important; }
.marM_T   { margin-top: 40px !important; }
.marS_T   { margin-top: 30px !important; }
.marXS_T  { margin-top: 20px !important; }
.marXXS_T { margin-top: 10px !important; }
.mar0_T   { margin-top:  0px !important; }

.marXXL_B { margin-bottom:100px !important; }
.marXL_B  { margin-bottom: 80px !important; }
.marL_B   { margin-bottom: 60px !important; }
.marM_B   { margin-bottom: 40px !important; }
.marS_B   { margin-bottom: 30px !important; }
.marXS_B  { margin-bottom: 20px !important; }
.marXXS_B { margin-bottom: 10px !important; }
.mar0_B   { margin-bottom:  0px !important; }

.padXXL_T { padding-top:100px !important; }
.padXL_T  { padding-top: 80px !important; }
.padL_T   { padding-top: 60px !important; }
.padM_T   { padding-top: 40px !important; }
.padS_T   { padding-top: 30px !important; }
.padXS_T  { padding-top: 20px !important; }
.padXXS_T { padding-top: 10px !important; }

.padXXL_B { padding-bottom:100px !important; }
.padXL_B  { padding-bottom: 80px !important; }
.padL_B   { padding-bottom: 60px !important; }
.padM_B   { padding-bottom: 40px !important; }
.padS_B   { padding-bottom: 30px !important; }
.padXS_B  { padding-bottom: 20px !important; }
.padXXS_B { padding-bottom: 10px !important; }


/* ===== btn ( div.btn > a ) ===== */
.btn a {
	width: 400px;
	display: block;
	margin-left:  auto;
	margin-right: auto;
	opacity: 1;
	transition: opacity .3s;
}
.btn a:hover {
	opacity: .7;
}
.btn img {
	width: 100%;
	max-width: inherit;
}



/* ===== 画像 ===== */
img { width:100%; height:auto; }


/* ===== Header menu ===== */
.hnav_pc { display:block !important; }
.hnav_sp { display:none !important;  }

body {
	width: 100%;
}
.main_footer_wrap {
	width: calc(100% - clamp(160px,16vw,180px));
	margin-left:  auto;
	margin-right: 0;
}
.hnav_pc {
	width: 16vw;
	max-width: 180px;
	min-width: 160px;
	height: 100vh;
	min-height: 100%;
	position: fixed;
	padding: 30px 0;
	background-color: #fff;
	border-right: 1px solid rgba(0,0,0,0.1);
	overflow-y: scroll;
}
.hnav_scroll {
	width:  100%;
	margin: auto;
}
.hnav_pc .header_logo {
	width: 55%;
	display: block;
	margin: 0 auto 10px;
	opacity: 1;
	transition: opacity .3s;
}
.hnav_pc .header_logo:hover {
	opacity: .7;
}
.hnav_pc li,
.hnav_pc li a {
	font-size: 14px;
	font-size: clamp(12px,1.6vw,16px);
	line-height: 1.3;
	font-family: "swiss-721-bt-condensed", sans-serif;
	font-weight: bold;
	color: #070a4a;
}
.hnav_pc li a.ff_notos {
	font-size: 12px;
	font-size: clamp(12px,1.4vw,14px);
}
.hnav_pc li a {
	width: 100%;
	display: inline-block;
	padding-left: .5em;
	padding-top:    .65em;
	padding-bottom: .65em;
	padding-left:  clamp(25px,2.5vw,30px);
	padding-right: clamp(25px,2.5vw,30px);
	transition: background-color .3s;
}
.hnav_pc li a:hover {
	background-color: rgba(170,170,170,0.1);
}


/* header sns */
.header_sns {
	margin-top: 30px;
	padding-left:  clamp(25px,2.5vw,30px);
	padding-right: clamp(25px,2.5vw,30px);
}
.header_sns li {
	width:  fit-content;
	height: fit-content;
}
.header_sns li a {
	width:  1em;
	height: 1em;
	min-width:  1em;
	min-height: 1em;
	font-size: clamp(23px,2.083vw,25px) !important;
	line-height: 1;
	display: inline-block;
	padding: 0 !important;
	opacity: 1;
	transition: opacity .3s;
}
.header_sns li a:hover {
	opacity: .7;
	background-color: transparent !important;
}


/* ===== Footer menu ===== */
footer {
	border-top: 1px solid rgba(0,0,0,.1);
}
.footer_wrap {
	padding: min(8vw,80px) clamp(40px,5vw,60px) min(6vw,60px);
}
.footer_img {
	width: 60%;
	max-width: 600px;
	display: block;
	margin-left:  auto;
	margin-right: auto;
	padding-bottom: min(10vw,100px);
}
.footer_flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.copyright,
.footer_nav li,
.footer_nav a {
	font-size: clamp(12px,1.2vw,14px);
	font-weight: 500;
}
.copyright {
	letter-spacing: 0.05em;
}

.copyright,
.footer_nav {
	margin-bottom: .5em;
}
.footer_nav {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
}
.footer_nav li + li {
	margin-left: 1.5em;
}


/* ===== 右下追従 「トップへ戻る」 ===== */
.fixed_totop {
	width: 90px;
	display: flex;
	position: fixed;
	right:  0;
	bottom: 0;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
	z-index: 500;
}
.fixed_totop.sticky {
	right:  0;
	bottom: 0;
}

/* ===== hoverアクション ===== */
/* パートナー企業一覧 */
#sec_partner a {
	opacity: 1;
	transition: opacity .3s;
}
#sec_partner a:hover {
	opacity: .7;
}


/* ===== クリックでズームイン ===== */
/* 背景レイヤー */
.smartphoto {
	background-color: rgba(0,0,0,.9) !important;
	z-index: 5000 !important;
}
.smartphoto-img-wrap {
	pointer-events: none !important;
}
.smartphoto-img {
	pointer-events: all !important;
}
.smartphoto-body,
.smartphoto-header {
	z-index: 5002 !important;
}
.smartphoto-list,
.smartphoto-loader {
	z-index: 5001 !important;
}
.smartphoto-loader-wrap {
	z-index: 5003 !important;
}
/* バツボタン */
.smartphoto-dismiss {
	width:  18px !important;
	height: 18px !important;
	right:  20px !important;
}
.smartphoto-nav {
	display: none !important;
}













@media screen and (max-width:850px) {
	/* ===== Wrap ===== */
	body.overflowY {
		overflow-y: hidden;
	}
	main {
		padding-bottom: 60px;
	}
	.bg_wrap,
	.wrap {
		width: 100%;
		margin: auto;
		padding: 0 20px;
		padding-left:  clamp(20px,5.333vw,40px);
		padding-right: clamp(20px,5.333vw,40px);
	}
	section > .wrap,
	.wrap {
		max-width: 640px;
	}
	.bg_wrap > .wrap {
		padding-left:  0;
		padding-right: 0;
	}


	/* ===== text ===== */
	ul,
	li,
	dl,
	dd,
	dt,
	a,
	p {
		font-size: 13px;
		letter-spacing: .1em;
	}
	.icon_head {
		font-size: 18px;	
	}

	.fb_normal-SP { font-weight:normal !important; }
	.fb_500-SP    { font-weight:500 !important;    }
	.fb_bold-SP   { font-weight:bold !important;   }

	.align_left-SP    { text-align:left !important;    }
	.align_right-SP   { text-align:right !important;   }
	.align_center-SP  { text-align:center !important;  }
	.align_justify-SP { text-align:justify !important; }


	/* ===== 余白 ===== */
	.marXXL_T { margin-top:80px !important; }
	.marXL_T  { margin-top:60px !important; }
	.marL_T   { margin-top:50px !important; }
	.marM_T   { margin-top:40px !important; }
	.marS_T   { margin-top:30px !important; }
	.marXS_T  { margin-top:20px !important; }
	.marXXS_T { margin-top:10px !important; }

	.marXXL_B { margin-bottom:80px !important; }
	.marXL_B  { margin-bottom:60px !important; }
	.marL_B   { margin-bottom:50px !important; }
	.marM_B   { margin-bottom:40px !important; }
	.marS_B   { margin-bottom:30px !important; }
	.marXS_B  { margin-bottom:20px !important; }
	.marXXS_B { margin-bottom:10px !important; }

	.padXXL_T { padding-top:80px !important; }
	.padXL_T  { padding-top:60px !important; }
	.padL_T   { padding-top:50px !important; }
	.padM_T   { padding-top:40px !important; }
	.padS_T   { padding-top:30px !important; }
	.padXS_T  { padding-top:20px !important; }
	.padXXS_T { padding-top:10px !important; }

	.padXXL_B { padding-bottom:80px !important; }
	.padXL_B  { padding-bottom:60px !important; }
	.padL_B   { padding-bottom:50px !important; }
	.padM_B   { padding-bottom:40px !important; }
	.padS_B   { padding-bottom:30px !important; }
	.padXS_B  { padding-bottom:20px !important; }
	.padXXS_B { padding-bottom:10px !important; }

	/* SP 余白 */
	.marXXL_T-SP { margin-top:80px !important; }
	.marXL_T-SP  { margin-top:60px !important; }
	.marL_T-SP   { margin-top:50px !important; }
	.marM_T-SP   { margin-top:40px !important; }
	.marS_T-SP   { margin-top:30px !important; }
	.marXS_T-SP  { margin-top:20px !important; }
	.marXXS_T-SP { margin-top:10px !important; }
	.mar0_T-SP   { margin-top: 0px !important; }

	.marXXL_B-SP { margin-bottom:80px !important; }
	.marXL_B-SP  { margin-bottom:60px !important; }
	.marL_B-SP   { margin-bottom:50px !important; }
	.marM_B-SP   { margin-bottom:40px !important; }
	.marS_B-SP   { margin-bottom:30px !important; }
	.marXS_B-SP  { margin-bottom:20px !important; }
	.marXXS_B-SP { margin-bottom:10px !important; }
	.mar0_B-SP   { margin-bottom: 0px !important; }

	.padXXL_T-SP { padding-top:80px !important; }
	.padXL_T-SP  { padding-top:60px !important; }
	.padL_T-SP   { padding-top:50px !important; }
	.padM_T-SP   { padding-top:40px !important; }
	.padS_T-SP   { padding-top:30px !important; }
	.padXS_T-SP  { padding-top:20px !important; }
	.padXXS_T-SP { padding-top:10px !important; }
	.pad0_T-SP   { padding-top: 0px !important; }

	.padXXL_B-SP { padding-bottom:80px !important; }
	.padXL_B-SP  { padding-bottom:60px !important; }
	.padL_B-SP   { padding-bottom:50px !important; }
	.padM_B-SP   { padding-bottom:40px !important; }
	.padS_B-SP   { padding-bottom:30px !important; }
	.padXS_B-SP  { padding-bottom:20px !important; }
	.padXXS_B-SP { padding-bottom:10px !important; }
	.pad0_B-SP   { padding-bottom: 0px !important; }

	


	/* ===== btn ( div.btn > a ) ===== */
	.btn {
		font-size: 14px;
	}
	.btn a {
		width: 90%;
		max-width: 350px;
	}
	.view_btn {
		width: 80%;
		max-width: 250px;
		margin-left:  auto;
		margin-right: auto;
	}
	.view_btn img {
		width: 100%;
	}





	/* ===== 表示・非表示 ===== */
	.pc_blk { display:none  !important; }
	.sp_blk { display:block !important; }

	.pc_inline  { display:none !important;   }
	.sp_inline  { display:inline !important; }

	.pc_flex { display:none !important; }
	.sp_flex { display:flex !important; }

	.pc_table { display:none !important;  }
	.sp_table { display:table !important; }

	.flex_box.pc_blk { display:none !important; }
	.flex_box.sp_blk { display:flex !important; }

	.flex_box { flex-wrap:wrap; }


	/* ===== main contents ===== */
	.main_footer_wrap {
		width: 100%;
	}




	/* ===== Header menu ===== */
	.hnav_pc { display:none !important;  }
	.hnav_sp { display:block !important; }

	header {
		width:  100%;
		height:  70px;
		position: fixed;
		padding: 0 20px 0 10px;
		padding-right: 80px;
		background-color: #fff;
		z-index: 1000;
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}
	main {
		padding-top: 70px;
	}

	header .header_logo,
	header .header_logo > a img {
		max-height: 80px;
	}
	header .header_logo {
		width: fit-content;
		position: relative;
		padding-top: 7px;
		z-index: 1000;
	}
	header .header_logo > a {
		width: fit-content;
		height: auto;
		display: block;
	}
	header .header_logo > a img {
		height: 100%;
		object-fit: contain;
		object-position: left;
	}
	#g-nav ul {
		display: flex;
		flex-wrap: nowrap;
	}
	#g-nav li:not(:first-of-type) {
		margin-left: 2em;
	}

	/* ハンバーガーボタン */
	.openbtn1 {
		width:  70px;
		height: 70px;
		display: flex;
		align-items: center;		
		justify-content: center;
		position: fixed;
		text-align: center;
		top:   0;
		right: 0;
		cursor: pointer;
		z-index: 1000;
		background-color: transparent;
	}
	/* ハンバーガーボタン 線 */  
	.openbtn1 span {
		width: 50%;
		height: 3px;
		display: inline-block;
		position: absolute;
		left: 25%;
		background-color: #444;
	}
	.openbtn1 span:nth-of-type(1) {
		background-color: #070a4a;
		transform: translateY(-10px);
	}
	.openbtn1 span:nth-of-type(2) {
		opacity: 1;
		background-color: #bf9c50;
		transition: opacity .3s;
	}
	.openbtn1 span:nth-of-type(3) {
		background-color: #d50e19;
		transform: translateY(10px);
	}
	/* ハンバーガーメニューの中身 */
	.header_wrap {
		transition: background-color .3s;
	}
	.overflowY .header_wrap {
		background-color: #fff;
	}	
	#g-nav {
		width:  100%;
		height: 100vh;
		position: fixed;
		top:  0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		background-image: linear-gradient(90deg, rgba(31, 44, 95, 1), rgba(1, 0, 50, 1));
		transition: opacity .2s;
		z-index: -2;
	}
	#g-nav.panelactive {
		pointer-events: auto;
		opacity: 1;
		z-index: 1200;
		overflow-y: scroll;
		transition: opacity .2s;
	}
	#g-nav-list {
		max-width: 400px;
		min-width: fit-content;
		margin-left:  auto;
		margin-right: auto;
		padding: 20px 30px 30px;
	}
	#g-nav > * {
		opacity: 0;
	}
	#g-nav.panelactive > * {
		opacity: 1;
	}
	#g-nav .spmenu_logo {
		width: 17%;
		display: block;
		margin-left:  0;
		margin-right: auto;
		margin-bottom: 20px;
		margin-bottom: clamp(20px,5.333vw,30px);
	}
	#g-nav ul {
		display: inline;
	}
	#g-nav li {
		line-height: 1;
	}
	#g-nav li:not(:first-of-type) {
		margin-left: 0;
		margin-top: 2em;
	}
	#g-nav li a {
		width: 100%;
		line-height: 1.3;
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#g-nav li a span {
		font-size: 18px;
		font-family: "Cambay", sans-serif;
		font-weight: bold;
		line-height: 1;
		display: inline-block;
		color: #bf9c50;
	}
	#g-nav li a small {
		min-width: 8.5em;
		font-size: 12px;
		font-weight: 500;
		display: inline-block;
		color: #fff;
	}
	#g-nav li a.ff_notos {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.3;
		color: #bf9c50;
	}
	/* SNS */
	.header_sns {
		width: 100%;
		line-height: 1;
		display: block;
		padding: 0;
	}
	.header_sns a {
		width:  35px !important;
		height: 35px !important;
		min-width:  35px !important;
		min-height: 35px !important;
	}
	/* header キャラクター */
	.sns_chara_wrap {
		width: 100%;
		display: inline-block !important;
		position: relative;
		margin-bottom: 10px;
		margin-bottom: clamp(10px,2.667vw,20px);
	}
	.sns_chara_wrap:before {
		content: "";
		width: 90%;
		height: 1px;
		display: block;
		margin: 30px auto 25px 0;
		background-color: #bf9c50;
	}
	.header_character {
		width: 23%;
		position: absolute;
		bottom: 0;
		right: 0;
		transform: translateY(-2%);
	}
	.header_character img {
		max-height: 150px;
		object-fit: contain;
	}
	/* close btn */
	.sp_header_closed {
		width: 50%;
		display: block !important;
		margin-left:  auto;
		margin-right: 0;
	}





	/* ===== Footer menu ===== */
	footer {
		border-top: none;
		background-color: #c8c9ca;
	}
	.footer_wrap {
		padding: 70px 20px 40px;
	}
	.footer_img  {
		width: 90%;
		max-width: 350px;
		padding-bottom: 60px;
	}
	.footer_flex {
		flex-direction: column-reverse;
		justify-content: center;
	}
	.copyright,
	.footer_nav li,
	.footer_nav li a {
		font-size: 10px;
	}
	.copyright,
	.footer_nav {
		margin-bottom: 0;
	}
	.copyright  {
		margin-top: 1em;
	}


	/* ===== 右下追従 「トップへ戻る」 ===== */
	.fixed_totop {
		width: 70px;
	}
}





